Commit b4c66425 authored by Vikas Gupta's avatar Vikas Gupta Committed by Jakub Kicinski

bnxt_en: refactor bnxt_cancel_reservations()

Introduce bnxt_clear_reservations() to clear the reserved attributes only.
This will be used in the next patch to fix PCI AER handling.
Signed-off-by: default avatarVikas Gupta <vikas.gupta@broadcom.com>
Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 1118b204
...@@ -9983,17 +9983,12 @@ static int bnxt_try_recover_fw(struct bnxt *bp) ...@@ -9983,17 +9983,12 @@ static int bnxt_try_recover_fw(struct bnxt *bp)
return -ENODEV; return -ENODEV;
} }
int bnxt_cancel_reservations(struct bnxt *bp, bool fw_reset) static void bnxt_clear_reservations(struct bnxt *bp, bool fw_reset)
{ {
struct bnxt_hw_resc *hw_resc = &bp->hw_resc; struct bnxt_hw_resc *hw_resc = &bp->hw_resc;
int rc;
if (!BNXT_NEW_RM(bp)) if (!BNXT_NEW_RM(bp))
return 0; /* no resource reservations required */ return; /* no resource reservations required */
rc = bnxt_hwrm_func_resc_qcaps(bp, true);
if (rc)
netdev_err(bp->dev, "resc_qcaps failed\n");
hw_resc->resv_cp_rings = 0; hw_resc->resv_cp_rings = 0;
hw_resc->resv_stat_ctxs = 0; hw_resc->resv_stat_ctxs = 0;
...@@ -10006,6 +10001,20 @@ int bnxt_cancel_reservations(struct bnxt *bp, bool fw_reset) ...@@ -10006,6 +10001,20 @@ int bnxt_cancel_reservations(struct bnxt *bp, bool fw_reset)
bp->tx_nr_rings = 0; bp->tx_nr_rings = 0;
bp->rx_nr_rings = 0; bp->rx_nr_rings = 0;
} }
}
int bnxt_cancel_reservations(struct bnxt *bp, bool fw_reset)
{
int rc;
if (!BNXT_NEW_RM(bp))
return 0; /* no resource reservations required */
rc = bnxt_hwrm_func_resc_qcaps(bp, true);
if (rc)
netdev_err(bp->dev, "resc_qcaps failed\n");
bnxt_clear_reservations(bp, fw_reset);
return rc; return rc;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment