bnxt_en: Check RSS contexts in bnxt_need_reserve_rings()
authorMichael Chan <michael.chan@broadcom.com>
Sat, 7 Feb 2026 23:51:18 +0000 (15:51 -0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 11 Feb 2026 04:17:42 +0000 (20:17 -0800)
bnxt_need_reserve_rings() checks all resources except HW RSS contexts
to determine if a new reservation is required.  For completeness, add
the check for HW RSS contexts.  This makes the code more complete after
the recent commit to increase the number of RSS contexts for a larger
RSS indirection table:

Fixes: 51b9d3f948b8 ("bnxt_en: Use a larger RSS indirection table on P5_PLUS chips")
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Reviewed-by: Joe Damato <joe@dama.to>
Link: https://patch.msgid.link/20260207235118.1987301-3-michael.chan@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt.c

index 98a1cbc..fb45e1d 100644 (file)
@@ -7961,6 +7961,7 @@ static void bnxt_get_total_resources(struct bnxt *bp, struct bnxt_hw_rings *hwr)
        hwr->rx = bp->rx_nr_rings;
        hwr->grp = hwr->rx;
        hwr->vnic = bnxt_get_total_vnics(bp, hwr->rx);
+       hwr->rss_ctx = bnxt_get_total_rss_ctxs(bp, hwr);
        if (bp->flags & BNXT_FLAG_AGG_RINGS)
                hwr->rx <<= 1;
        hwr->stat = bnxt_get_func_stat_ctxs(bp);
@@ -7990,6 +7991,7 @@ static bool bnxt_need_reserve_rings(struct bnxt *bp)
        if (hw_resc->resv_rx_rings != hwr.rx ||
            hw_resc->resv_vnics != hwr.vnic ||
            hw_resc->resv_stat_ctxs != hwr.stat ||
+           hw_resc->resv_rsscos_ctxs != hwr.rss_ctx ||
            (hw_resc->resv_hw_ring_grps != hwr.grp &&
             !(bp->flags & BNXT_FLAG_CHIP_P5_PLUS)))
                return true;