From: Vikas Gupta Date: Fri, 5 Apr 2024 23:55:12 +0000 (-0700) Subject: bnxt_en: Fix error recovery for RoCE ulp client X-Git-Tag: v6.6.28~84 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4cbcf8cffa0176dae728e345ade345e6a89b83f6;p=thirdparty%2Fkernel%2Fstable.git bnxt_en: Fix error recovery for RoCE ulp client [ Upstream commit b5ea7d33ba2a42b95b4298d08d2af9cdeeaf0090 ] Since runtime MSIXs vector allocation/free has been removed, the L2 driver needs to repopulate the MSIX entries for the ulp client as the irq table may change during the recovery process. Fixes: 303432211324 ("bnxt_en: Remove runtime interrupt vector allocation") Reviewed-by: Andy Gospodarek Signed-off-by: Vikas Gupta Signed-off-by: Michael Chan Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c index 7188ea81401de..7689086371e03 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c @@ -213,6 +213,9 @@ void bnxt_ulp_start(struct bnxt *bp, int err) if (err) return; + if (edev->ulp_tbl->msix_requested) + bnxt_fill_msix_vecs(bp, edev->msix_entries); + if (aux_priv) { struct auxiliary_device *adev;