| From deefc285ac44c458554d81e47f71b4a28bf0e06a Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sun, 18 Jul 2021 15:36:27 -0400 |
| Subject: bnxt_en: Refresh RoCE capabilities in bnxt_ulp_probe() |
| |
| From: Michael Chan <michael.chan@broadcom.com> |
| |
| [ Upstream commit 2c9f046bc377efd1f5e26e74817d5f96e9506c86 ] |
| |
| The capabilities can change after firmware upgrade/downgrade, so we |
| should get the up-to-date RoCE capabilities everytime bnxt_ulp_probe() |
| is called. |
| |
| Fixes: 2151fe0830fd ("bnxt_en: Handle RESET_NOTIFY async event from firmware.") |
| Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> |
| Reviewed-by: Edwin Peer <edwin.peer@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 | 9 +++++---- |
| 1 file changed, 5 insertions(+), 4 deletions(-) |
| |
| diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c |
| index a918e374f3c5..187ff643ad2a 100644 |
| --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c |
| +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c |
| @@ -479,16 +479,17 @@ struct bnxt_en_dev *bnxt_ulp_probe(struct net_device *dev) |
| if (!edev) |
| return ERR_PTR(-ENOMEM); |
| edev->en_ops = &bnxt_en_ops_tbl; |
| - if (bp->flags & BNXT_FLAG_ROCEV1_CAP) |
| - edev->flags |= BNXT_EN_FLAG_ROCEV1_CAP; |
| - if (bp->flags & BNXT_FLAG_ROCEV2_CAP) |
| - edev->flags |= BNXT_EN_FLAG_ROCEV2_CAP; |
| edev->net = dev; |
| edev->pdev = bp->pdev; |
| edev->l2_db_size = bp->db_size; |
| edev->l2_db_size_nc = bp->db_size; |
| bp->edev = edev; |
| } |
| + edev->flags &= ~BNXT_EN_FLAG_ROCE_CAP; |
| + if (bp->flags & BNXT_FLAG_ROCEV1_CAP) |
| + edev->flags |= BNXT_EN_FLAG_ROCEV1_CAP; |
| + if (bp->flags & BNXT_FLAG_ROCEV2_CAP) |
| + edev->flags |= BNXT_EN_FLAG_ROCEV2_CAP; |
| return bp->edev; |
| } |
| EXPORT_SYMBOL(bnxt_ulp_probe); |
| -- |
| 2.30.2 |
| |