Received: by 2002:ac0:950c:0:0:0:0:0 with SMTP id f12csp2299906imc; Tue, 12 Mar 2019 10:54:41 -0700 (PDT) X-Google-Smtp-Source: APXvYqznihMUDOehiP3jZ3Eu3cwLEEUNa7k6V0nR3MkcJnEEyY8tQPexq6TD9l/pzkcUEsTl6L9Z X-Received: by 2002:aa7:8c8b:: with SMTP id p11mr13385713pfd.171.1552413281490; Tue, 12 Mar 2019 10:54:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552413281; cv=none; d=google.com; s=arc-20160816; b=0JDnbUsBZjmWmqpVfYswhpa1jg+OBRvDElAagNamERPilNl/JCzTxn1tIMcpyPdu2A d5zrBX3EVmNx49ocxB48Y9t/sAV5xAjMqv6AI+oC0JH1RtrqXS03oa429Z0u42ROs2qU 4hAQBE7SZEzIvZh9FJfWQCbSxBIpBQgk47pSQm+/12ZIK/2iqZxIl6CzCcujJJakchzX pZ+Rzn5vkO1wicO1j/GGaTI9uB3sPo8ccGWwvx4cgICP4j/Xwwo5K8Phplc+Q/pezBlB NrIpgldhyqcrEVkkfM+5c32PgkAixc4styooPvPZ2pA6UVFIqB1WaDK/FipBoi3IRAHx /heg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=SrXOSMrPNQZk5JsDcjJcvatwv9Xw3AKx929WCOiPG9s=; b=Kuc6uHr9kfF1sXK1ZR2szgMm4Dd8U3HeJGr6WvPrWW6vWXEV9BHDbGJx71S53xI6fC Ugbp6Q5WrvVP7Tad0URoo6k8Gq6BAOvy36igHzSZ8cdbHH2fIPS9h3QPRRDWwZ07zw2W LkEwe5MXiT1F3LBVZUYMbrcR4JyX8jTq4ixWDoXNrAKEUpD97v8V5+s7cz1WkTTLhtRL Ey3BKM7jQ5JNOwG8LnWPw5lr4j5glHdl8R4JC2EwnMBpIoT4eDyJQvJA2I1EVPp8aY4e fdQMS4lTstoDmsE2M9X8qgkcooOFmlOMQa/eQwgcGVd+AfrS9n9j06JkENGlWWwPeNiE xvUg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=qt0rmj7j; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k63si7712971pge.464.2019.03.12.10.54.26; Tue, 12 Mar 2019 10:54:41 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=qt0rmj7j; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729470AbfCLRxR (ORCPT + 99 others); Tue, 12 Mar 2019 13:53:17 -0400 Received: from mail.kernel.org ([198.145.29.99]:52852 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728317AbfCLROU (ORCPT ); Tue, 12 Mar 2019 13:14:20 -0400 Received: from localhost (unknown [104.133.8.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 88277217F9; Tue, 12 Mar 2019 17:14:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1552410859; bh=+nhsHJDvLPiMT/c9mOCmdWfjca6Q9dBGUhlpu2TmHp8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qt0rmj7jnlffOXg6bsYzWE1d1TLqnzveV+00l9Q88wkfHYLUDQgykMJWQuHXx8jSY zfd5BO8SX7E7vgPlm0Yasv5/K/Md90QdSWTpbCJ6nMTFSfbKeV3WrMZuv9aEQPkdfl 0LW0JESl0jsAszzULaR+GPCN0QrrIeOHdMg1DHsg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Manish Chopra , Ariel Elior , "David S. Miller" , Sasha Levin Subject: [PATCH 4.19 037/149] qed: Fix VF probe failure while FLR Date: Tue, 12 Mar 2019 10:07:35 -0700 Message-Id: <20190312170352.829259111@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190312170349.421581206@linuxfoundation.org> References: <20190312170349.421581206@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit 327852ec64205bb651be391a069784872098a3b2 ] VFs may hit VF-PF channel timeout while probing, as in some cases it was observed that VF FLR and VF "acquire" message transaction (i.e first message from VF to PF in VF's probe flow) could occur simultaneously which could lead VF to fail sending "acquire" message to PF as VF is marked disabled from HW perspective due to FLR, which will result into channel timeout and VF probe failure. In such cases, try retrying VF "acquire" message so that in later attempts it could be successful to pass message to PF after the VF FLR is completed and can be probed successfully. Signed-off-by: Manish Chopra Signed-off-by: Ariel Elior Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/qlogic/qed/qed_vf.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/ethernet/qlogic/qed/qed_vf.c b/drivers/net/ethernet/qlogic/qed/qed_vf.c index be118d057b92..6ab3fb008139 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_vf.c +++ b/drivers/net/ethernet/qlogic/qed/qed_vf.c @@ -261,6 +261,7 @@ static int qed_vf_pf_acquire(struct qed_hwfn *p_hwfn) struct pfvf_acquire_resp_tlv *resp = &p_iov->pf2vf_reply->acquire_resp; struct pf_vf_pfdev_info *pfdev_info = &resp->pfdev_info; struct vf_pf_resc_request *p_resc; + u8 retry_cnt = VF_ACQUIRE_THRESH; bool resources_acquired = false; struct vfpf_acquire_tlv *req; int rc = 0, attempts = 0; @@ -314,6 +315,15 @@ static int qed_vf_pf_acquire(struct qed_hwfn *p_hwfn) /* send acquire request */ rc = qed_send_msg2pf(p_hwfn, &resp->hdr.status, sizeof(*resp)); + + /* Re-try acquire in case of vf-pf hw channel timeout */ + if (retry_cnt && rc == -EBUSY) { + DP_VERBOSE(p_hwfn, QED_MSG_IOV, + "VF retrying to acquire due to VPC timeout\n"); + retry_cnt--; + continue; + } + if (rc) goto exit; -- 2.19.1