From patchwork Mon Jan 28 18:05:06 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Manish Chopra X-Patchwork-Id: 1032112 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=marvell.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43pHfH33wTz9s3q for ; Tue, 29 Jan 2019 05:07:35 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727032AbfA1SHe (ORCPT ); Mon, 28 Jan 2019 13:07:34 -0500 Received: from mail-eopbgr820075.outbound.protection.outlook.com ([40.107.82.75]:17584 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726926AbfA1SHd (ORCPT ); Mon, 28 Jan 2019 13:07:33 -0500 Received: from DM5PR07CA0043.namprd07.prod.outlook.com (2603:10b6:3:16::29) by SN1PR0701MB1933.namprd07.prod.outlook.com (2a01:111:e400:517d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1558.17; Mon, 28 Jan 2019 18:07:31 +0000 Received: from BY2NAM05FT037.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e52::204) by DM5PR07CA0043.outlook.office365.com (2603:10b6:3:16::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1558.17 via Frontend Transport; Mon, 28 Jan 2019 18:07:30 +0000 Authentication-Results: spf=fail (sender IP is 199.233.58.38) smtp.mailfrom=marvell.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=fail action=none header.from=marvell.com; Received-SPF: Fail (protection.outlook.com: domain of marvell.com does not designate 199.233.58.38 as permitted sender) receiver=protection.outlook.com; client-ip=199.233.58.38; helo=CAEXCH02.caveonetworks.com; Received: from CAEXCH02.caveonetworks.com (199.233.58.38) by BY2NAM05FT037.mail.protection.outlook.com (10.152.100.174) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA) id 15.20.1580.2 via Frontend Transport; Mon, 28 Jan 2019 18:07:30 +0000 Received: from dut1171.mv.qlogic.com (10.112.88.18) by CAEXCH02.caveonetworks.com (10.67.98.110) with Microsoft SMTP Server (TLS) id 14.2.347.0; Mon, 28 Jan 2019 10:05:21 -0800 Received: from dut1171.mv.qlogic.com (localhost [127.0.0.1]) by dut1171.mv.qlogic.com (8.14.7/8.14.7) with ESMTP id x0SI5JHZ009951; Mon, 28 Jan 2019 10:05:19 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id x0SI5JAV009950; Mon, 28 Jan 2019 10:05:19 -0800 From: Manish Chopra To: CC: , , Subject: [PATCH net 3/5] qed: Fix VF probe failure while FLR Date: Mon, 28 Jan 2019 10:05:06 -0800 Message-ID: <20190128180508.9902-4-manishc@marvell.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20190128180508.9902-1-manishc@marvell.com> References: <20190128180508.9902-1-manishc@marvell.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131931724508169642; (abac79dc-c90b-41ba-8033-08d666125e47); (abac79dc-c90b-41ba-8033-08d666125e47) X-Forefront-Antispam-Report: CIP:199.233.58.38; IPV:CAL; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39860400002)(376002)(136003)(396003)(346002)(2980300002)(1109001)(1110001)(339900001)(189003)(199004)(486006)(2616005)(476003)(69596002)(126002)(11346002)(80596001)(36906005)(446003)(2906002)(42186006)(316002)(54906003)(36756003)(86362001)(14444005)(6862004)(1076003)(68736007)(336012)(16586007)(85426001)(26826003)(356004)(81166006)(6666004)(105606002)(50466002)(53936002)(4326008)(498600001)(8936002)(87636003)(48376002)(97736004)(81156014)(2351001)(26005)(106466001)(51416003)(76176011)(305945005)(8676002)(50226002)(47776003)(107886003); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR0701MB1933; H:CAEXCH02.caveonetworks.com; FPR:; SPF:Fail; LANG:en; PTR:InfoDomainNonexistent; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: 1; BY2NAM05FT037; 1:UsvFYory2IDkrK47RdFen/jQZtweVAKc8Ux/YHLt29Heq8a4q8/VrIhUYwCD4CFu4t0++fEl2tArPz+ww9Kmb2zL2EDs69A6hI+c1K75hEn3hR+cWdgFuKliTvnqW0CfzhH4/xiq5QNqBM+Z/lqT+l3LkLq8xnJp5RnYUsQSVts= X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e83a63e1-b0dc-4652-b77f-08d6854b7860 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(5600110)(711020)(4605077)(2017052603328); SRVR:SN1PR0701MB1933; X-Microsoft-Exchange-Diagnostics: 1; SN1PR0701MB1933; 3:tUNkouY6R8oDpdC3icQhwM1bH3fQXHvjynTQGxXPLXWewes7bzFaKd6ZWB55ftyCFUssCS1xl3CIUKWtJ+PkeKxY0szSCDBDAVClhEbacsmpJCTYDfX22kE3L/+tmNSxJdYmdTpJ3Y+s8KoKc784n0UdJhJrPKm1+Jn10h9ITHxRH44+MkGYqSkFE4VcHuzytUS/rOnGpXlZKATYSvZTrEypBrF6P14uWq8g/pcIvQQCVqjbED1Cs41vi4kxdxkdkwFMQF2vvtkMgpwhtsGyNrOuXJLaWBNbwpcKxZy16LGWfoc8dtz06bVkXrbljacPdotamOAErFrnuVcBc9ah6TcMWnBj+xRKcmcW5X1NmJENOMjqojZV+AsO1ajpIjhz; 25:mr1pB61jrFHoUbUUhoof1OJBisAN2AtIfiZiVb1hJL5ycQCW8qkZoGAbIvoLZPsFWwSrUalWhwVsp1wmd27akeCqa2oO7jNNFHfPxV+5TZpFVYC/s1HYIThZGb3fL6COaiCSbz8kjbSnUkBufTW7/KHI00PMzvsRYmRtHIOJg8wvPDkO8hhWsgoYzeOYkYJNMsEWsbPoWNvooDW1GPH6Xiwh5a85kL7Df7vq/N7AgoSHLsjez0paxleETyiTjn9x3jk9mpHsoSlS0dpw4GWPAN/3bTvjtjraT++preHgIn6CW7mD/EqPu0x0ysnCOWuOJcg/vrbFUtUnplRWWM1bjA== X-MS-TrafficTypeDiagnostic: SN1PR0701MB1933: X-Microsoft-Exchange-Diagnostics: 1; SN1PR0701MB1933; 31:MxfEJayKRqVuFbnA2hEqXQbkHVv5YXrQPhB6k/dGLNgwwZYkDYsmree8X+tIAqMa/iKfuLGhiT/op4PKAvQHlRGOR9eK5LJwJWELIDJUWU49zMHe/8fcgRl15AWcPtWkqk4seC0XFr/5mEq93BdvWAsZfKL3Ws/TbQ/21LxZ+MIF69a1fzw+qlIIeWpFW9Ez9DzsBpOJ9jHLOTMiUHvsoMcjEQYDcWUY+6wQPN0k3yo=; 4:421FL0R9rKqKmTjxUHLxFp3NAURrh/D32rMoY5KlGJ3NKQsnfl7LUq4cCj+X3/lfy3w6CHo+bNoXjIHhe+bgdeFFmUJsBxdd5EM3oOo18/AtVigqR8kiN1xXC6PJHBmv6VCbaduKoyzZiLRSqu8O4GoHLf9Dj+IU7W2Uuv6OGD8rMmmnupyDLr6MEa6DbcTe4W+awrsXW0ekB5YSou4Yx27gkr6PGAkTBi6Lz4CsawEIQkxQSqLZ5ynLKpnhPxfFThvhMVMSSmWf1jz72RJvPc5doZIWvyQZsJqIWen5N7vp90q+clf2k9se0+wAFgF4 X-Microsoft-Antispam-PRVS: X-Forefront-PRVS: 0931CB1479 X-Microsoft-Exchange-Diagnostics: 1; SN1PR0701MB1933; 23:bdgYDwXSwWzTHnr8Sgf3EeO/mrl2DdohZCHtJDuIExzaQFTrhdAGdYO6grcT7SA2eUJ2P8UaE2nX1CHcIGqkG+qRgEcBbEDnYSSdIMWkG5X3PvC27PBxzyIHuN2b/vUAXy5XPglGK/lK8R06+ttobgPGw++iCRWxtg8Zbqmgeskdzn7eJU4RX/3Z6j+7jHuGPEwaRVMiZ4D5euMYrubzi2lYMnLPhBAqi3bFw/dF6JMMRPJ/cGL9UYXdjYgnqXodqsWgi+W2rn5DP8qFhTQn/X1PkP2ICFzQfpVzY+z98D9JTjeXw77h0CEDa13s/1AfA/xNMzXBgw9FlVCdwMtzKf4kA3GsjKl0wP5j65bmd6FG5NmHgm7vbSb6AFOwZk+HrzJCbMU4gT013prn0Qo5rgYEPH+IGjO6n/YGpid8sUv1LgBFDtjIRbpIbyQ4ECYOhlKryoPBRmSgHt1HyPeH6yDxbbNNquUDr+UHJ5GL+SkJDG68FYS24Ng4KpXwJq3g1zLx8TVsNJ9iLrr5kukIw4vKnkXD1aq9Rc2CcGlDd+GWPKLw8EOYK7zzMYr50+YrvK7dBQ2zXjnEKO3Dy+/ETUyPX06bHd1mFqaPSFRt4Y9t8LGirINozui0ECytlLCg2WJyW8ls6tFIhKoaboR38Qz6yGcXgaInr4KppKvLMS5YDjLn6w7ezGm+8Zht+HZjPGc2Te+lvbRTSaxLmDxvM8DHxDyHVS6B7lkCKqZmDb7mLV+3+tCxJDBbUqoEcAOmIJTkq0N+gfLlzU0Ym3wQdSbVaNzIoiXDI3blnpQKiAkE2MTL9Ti2ENCPY2KxE18DFtpztW7B/fcNwpVDsQFi80sioAozsYnjSFZVXuOLHjVA51kbd9OVZQgAhKC2eMYxvYBQsXaWLxljvsqQh1FWypA+HiqTPrj48PdkrlTGTe0J/qahgxpwEL/5FxAPh2uNb6Z7zysFi0dONYj8F3AsowFrI2zOiHehH/Sxqp3F4CGLiSKbPjq1J5agXAI+xnv2Ho6hXtDlLiN9W9c8C8decnxp8J1uOhmDYOkXbOZPlYdZ3iUOYQ0yYCuAS5+0ucP1ZulxSdDZU0ZK0UA44uXJWGNs/iSSssN+1OI/+Zm2Q6OiJ2dXsZAO2HzMzTStSdGexkSmNVkD+0rWdGLPD//fmMOqEwJmKoqDxQMkJ5OuLqQcdB2QT3OTD7grd2tOucqHpBd6BHGmqqOw65fXG2ddctkZu+5+zaLXSAANnREk3oEgYVqdSHA+/6UmOPc4UhKx X-Microsoft-Antispam-Message-Info: a08ljSs9zSf+H+tvrTFIadSj4Arf0A0cf3PaKB6nFzfu1Deqz+sVArIJxVWWrXqJa1t7LXzT3KlQY5SVytb5ijwHuxoe5lZhAerEJ5XhxSlshHw79Vvlmx800BiLe1P71Jo9vDYCmsqPSiEBd1sKAgAraGIG/yIujM4lA83y9zTcB2cF5xdoVCM7pqBtRw6Hr+4eDkgBhXg3i7FmlOoI2ex7wcRFF0hviJFouAFzZMkwf+4LYKvtBdDXuZIhD7++vHRWlBFzJ+9xchUvawQGFNMyGCDl5v9nfq5effFt3ApSAxeP/MheuDk4g669vAh94P074aji+5bx3XGgTQFVY/rta/BEj3E8jg8Ny3rIs2BJK870zSy7DfVmn9T+hLc7CnDp33qEO9FA5AW2q3aGN23HiugsKvwYiQokza7IUJE= X-Microsoft-Exchange-Diagnostics: 1; SN1PR0701MB1933; 6:RD+tVFhG0DKgOpJICj4xif0di29CCnpsZUiEFnDzlBL7b+igTKTy3lDPHKj7WhAP5FZqL9JGG0SAr8hWuD1SMt+CHHTM3GW15D2xBerkzpuxm1dhot1ngGI9iKY0PlTE2kBvsaDFBeMk5GMEvlpM29XcdLVfGtgbWEvI0ROLK7psuApnumt0Scw2Dzb6QeDbvMqPz3TIbYkxt/ajvV+SbQh/UsWt1XuFmh/VrfkyPEFF2SOQePnRqse4+NNFtn4NWQ5s6qywAmgqgyHfZJgHx486i4nALe9hrxw3Y4ELqiV7H4IzGXfP9jrjSVhEE4TQ0EFs0o43Vfjz2K7hlxvcREypuliLNkgz4uPFg0RjEVN4Z4QjaJtzq1tS4FZVEZnYatyPUjqzPdn4PVs3zpeGhuknE6d9vww49IaGac/dNNjmM7eCIZZTl9nipo+vKDFPUoSJhKbGWd/bo5lF+RsenA==; 5:DiOSbM0KH2LHzkyLXRyZt3t3LwdaxMtjAlosr1LKQx6F6aBBWUA+wrUzySYouhTzsqAEINcYQh6qXp5tdjTRO6WmPDUWynY5fLaJB0Mdt8r1VhepBKqdvQ2ttJA2pgBaXRYIi6NqG63Pb1rBW4N0Cycx+bWi3y1byS5wkH7uMV6P+VDOR5NVqw+BnMD8H/5WbiEwNSLNRhCBJY9VicnRPQ==; 7:kBp5koM/FGlbQXUpKYJaZqV16F5Rgyz8kyim9LOHneMwy0YDooahAsJqdf2YLgcPgLwTmzNaE9TiMI+HyAxVNHHf+FCfBsotZmNTbpW2wkmApC0nm4QO/Wvmm1C9NXtPh9yNCQn+GRxRAEYcQnkI6A== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jan 2019 18:07:30.5627 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e83a63e1-b0dc-4652-b77f-08d6854b7860 X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[199.233.58.38]; Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR0701MB1933 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 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 --- 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 b6cccf4..5dda547 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;