1 From 2bffb6e16f938bd2eb89a277efd573534dd0d170 Mon Sep 17 00:00:00 2001
2 From: Sasha Levin <sashal@kernel.org>
3 Date: Fri, 5 Apr 2024 16:55:12 -0700
4 Subject: bnxt_en: Fix error recovery for RoCE ulp client
6 From: Vikas Gupta <vikas.gupta@broadcom.com>
8 [ Upstream commit b5ea7d33ba2a42b95b4298d08d2af9cdeeaf0090 ]
10 Since runtime MSIXs vector allocation/free has been removed,
11 the L2 driver needs to repopulate the MSIX entries for the
12 ulp client as the irq table may change during the recovery
15 Fixes: 303432211324 ("bnxt_en: Remove runtime interrupt vector allocation")
16 Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com>
17 Signed-off-by: Vikas Gupta <vikas.gupta@broadcom.com>
18 Signed-off-by: Michael Chan <michael.chan@broadcom.com>
19 Signed-off-by: David S. Miller <davem@davemloft.net>
20 Signed-off-by: Sasha Levin <sashal@kernel.org>
22 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 3 +++
23 1 file changed, 3 insertions(+)
25 diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c
26 index 7188ea81401de..7689086371e03 100644
27 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c
28 +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c
29 @@ -213,6 +213,9 @@ void bnxt_ulp_start(struct bnxt *bp, int err)
33 + if (edev->ulp_tbl->msix_requested)
34 + bnxt_fill_msix_vecs(bp, edev->msix_entries);
37 struct auxiliary_device *adev;