]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-6.6/bnxt_en-fix-error-recovery-for-roce-ulp-client.patch
Linux 6.1.87
[thirdparty/kernel/stable-queue.git] / queue-6.6 / bnxt_en-fix-error-recovery-for-roce-ulp-client.patch
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
5
6 From: Vikas Gupta <vikas.gupta@broadcom.com>
7
8 [ Upstream commit b5ea7d33ba2a42b95b4298d08d2af9cdeeaf0090 ]
9
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
13 process.
14
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>
21 ---
22 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 3 +++
23 1 file changed, 3 insertions(+)
24
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)
30 if (err)
31 return;
32
33 + if (edev->ulp_tbl->msix_requested)
34 + bnxt_fill_msix_vecs(bp, edev->msix_entries);
35 +
36 if (aux_priv) {
37 struct auxiliary_device *adev;
38
39 --
40 2.43.0
41