Blame SOURCES/0065-netdrv-bnxt_en-Register-buffers-for-VFs-before-reser.patch

f95c89
From 65fc42a0bb19a85798469eeb2c61b754029414ef Mon Sep 17 00:00:00 2001
f95c89
From: Jonathan Toppins <jtoppins@redhat.com>
f95c89
Date: Wed, 2 Oct 2019 18:23:20 -0400
f95c89
Subject: [PATCH 65/96] [netdrv] bnxt_en: Register buffers for VFs before
f95c89
 reserving resources
f95c89
f95c89
Message-id: <3494363ea29ad1d7fa4ad16dbe767e2c30222282.1570027456.git.jtoppins@redhat.com>
f95c89
Patchwork-id: 276480
f95c89
O-Subject: [RHEL-8.2 PATCH 58/78] bnxt_en: Register buffers for VFs before reserving resources.
f95c89
Bugzilla: 1724766
f95c89
RH-Acked-by: John Linville <linville@redhat.com>
f95c89
RH-Acked-by: Jarod Wilson <jarod@redhat.com>
f95c89
f95c89
When VFs need to be reconfigured dynamically after firmwware reset, the
f95c89
configuration sequence on the PF needs to be changed to register the VF
f95c89
buffers first.  Otherwise, some VF firmware commands may not succeed as
f95c89
there may not be PF buffers ready for the re-directed firmware commands.
f95c89
f95c89
This sequencing did not matter much before when we only supported
f95c89
the normal bring-up of VFs.
f95c89
f95c89
Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
f95c89
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
f95c89
Signed-off-by: David S. Miller <davem@davemloft.net>
f95c89
(cherry picked from commit 91b9be487001d344a39c453ade6cdbd125e06208)
f95c89
Bugzilla: 1724766
f95c89
Build Info: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=23809532
f95c89
Tested: build, boot, basic ping
f95c89
Signed-off-by: Jonathan Toppins <jtoppins@redhat.com>
f95c89
Signed-off-by: Bruno Meneguele <bmeneg@redhat.com>
f95c89
---
f95c89
 drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c | 10 +++++-----
f95c89
 1 file changed, 5 insertions(+), 5 deletions(-)
f95c89
f95c89
Index: src/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c
f95c89
===================================================================
f95c89
--- src.orig/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c	2020-02-06 16:23:18.878484072 +0100
f95c89
+++ src/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c	2020-02-06 16:23:19.013482833 +0100
f95c89
@@ -671,6 +671,11 @@
f95c89
 {
f95c89
 	int rc;
f95c89
 
f95c89
+	/* Register buffers for VFs */
f95c89
+	rc = bnxt_hwrm_func_buf_rgtr(bp);
f95c89
+	if (rc)
f95c89
+		return rc;
f95c89
+
f95c89
 	/* Reserve resources for VFs */
f95c89
 	rc = bnxt_func_cfg(bp, *num_vfs);
f95c89
 	if (rc != *num_vfs) {
f95c89
@@ -684,11 +689,6 @@
f95c89
 		*num_vfs = rc;
f95c89
 	}
f95c89
 
f95c89
-	/* Register buffers for VFs */
f95c89
-	rc = bnxt_hwrm_func_buf_rgtr(bp);
f95c89
-	if (rc)
f95c89
-		return rc;
f95c89
-
f95c89
 	bnxt_ulp_sriov_cfg(bp, *num_vfs);
f95c89
 	return 0;
f95c89
 }