]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
bnxt_en: Fix error recovery for RoCE ulp client
authorVikas Gupta <vikas.gupta@broadcom.com>
Fri, 5 Apr 2024 23:55:12 +0000 (16:55 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Apr 2024 09:19:29 +0000 (11:19 +0200)
[ 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 <andrew.gospodarek@broadcom.com>
Signed-off-by: Vikas Gupta <vikas.gupta@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c

index 7188ea81401de2b4af8fa74ac031bafad3fa9916..7689086371e03c0f17bebece3bb71ed0f3c94f68 100644 (file)
@@ -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;