diff options
author | Michael Chan <michael.chan@broadcom.com> | 2018-04-11 11:50:17 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-04-11 14:42:00 -0400 |
commit | 11c3ec7bb940b6fa3f87f05f01b7f45eef08dfbb (patch) | |
tree | e0b1d0b960e7544968fdff5b88d5c34ed2f6ee15 | |
parent | 9d96465b111edd6c4f94345783e6e01db7f435d6 (diff) |
bnxt_en: Need to include RDMA rings in bnxt_check_rings().
With recent changes to reserve both L2 and RDMA rings, we need to include
the RDMA rings in bnxt_check_rings(). Otherwise we will under-estimate
the rings we need during ethtool -L and may lead to failure.
Fixes: fbcfc8e46741 ("bnxt_en: Reserve completion rings and MSIX for bnxt_re RDMA driver.")
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 1991f0c7bc0e..9cb8b4bd7312 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c | |||
@@ -7686,6 +7686,8 @@ int bnxt_check_rings(struct bnxt *bp, int tx, int rx, bool sh, int tcs, | |||
7686 | if (bp->flags & BNXT_FLAG_AGG_RINGS) | 7686 | if (bp->flags & BNXT_FLAG_AGG_RINGS) |
7687 | rx_rings <<= 1; | 7687 | rx_rings <<= 1; |
7688 | cp = sh ? max_t(int, tx_rings_needed, rx) : tx_rings_needed + rx; | 7688 | cp = sh ? max_t(int, tx_rings_needed, rx) : tx_rings_needed + rx; |
7689 | if (bp->flags & BNXT_FLAG_NEW_RM) | ||
7690 | cp += bnxt_get_ulp_msix_num(bp); | ||
7689 | return bnxt_hwrm_check_rings(bp, tx_rings_needed, rx_rings, rx, cp, | 7691 | return bnxt_hwrm_check_rings(bp, tx_rings_needed, rx_rings, rx, cp, |
7690 | vnics); | 7692 | vnics); |
7691 | } | 7693 | } |