Message ID | 20231207000551.138584-2-michael.chan@broadcom.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | bnxt_en: Misc. fixes | expand |
On Wed, 6 Dec 2023 16:05:48 -0800 Michael Chan wrote: > From: Somnath Kotur <somnath.kotur@broadcom.com> > > We are issuing HWRM_FUNC_RESET cmd to reset the device including > all reserved resources, but not clearing the reservations > within the driver struct. As a result, when the driver re-initializes > as part of resume, it believes that there is no need to do any > resource reservation and goes ahead and tries to allocate rings > which will eventually fail beyond a certain number pre-reserved by > the firmware. > > Fixes: b4c66425771d ("bnxt_en: refactor bnxt_cancel_reservations()") Are you sure this is the right tag? That commit looks like a noop refactoring. Keep in mind Fixes should point to whether the bug was first present, not where the patch applies.
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index d0359b569afe..72f2fc983940 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -13940,6 +13940,8 @@ static int bnxt_resume(struct device *device) if (rc) goto resume_exit; + bnxt_clear_reservations(bp, true); + if (bnxt_hwrm_func_drv_rgtr(bp, NULL, 0, false)) { rc = -ENODEV; goto resume_exit;