Message ID | 20240409215431.41424-2-michael.chan@broadcom.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 17b0dfa1f35bf58c17ae75da4af99e6b2c51ed57 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | bnxt_en: Updates for net-next | expand |
On 4/9/2024 2:54 PM, Michael Chan wrote: > From: Pavan Chebbi <pavan.chebbi@broadcom.com> > > The current implementation requires the ifstate to be up when > configuring the RSS contexts. It will try to fetch the RX ring > IDs and will crash if it is in ifdown state. Return error if > !netif_running() to prevent the crash. > > An improved implementation is in the works to allow RSS contexts > to be changed while in ifdown state. > > Fixes: b3d0083caf9a ("bnxt_en: Support RSS contexts in ethtool .{get|set}_rxfh()") > Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> > Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> > Signed-off-by: Pavan Chebbi <pavan.chebbi@broadcom.com> > Signed-off-by: Michael Chan <michael.chan@broadcom.com> > --- Makes sense, though I think you could send this fix directly to net as its clearly a bug fix and preventing a crash is good. Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> Thanks, Jake > drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c > index 9c49f629d565..68444234b268 100644 > --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c > +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c > @@ -1876,6 +1876,11 @@ static int bnxt_set_rxfh_context(struct bnxt *bp, > return -EOPNOTSUPP; > } > > + if (!netif_running(bp->dev)) { > + NL_SET_ERR_MSG_MOD(extack, "Unable to set RSS contexts when interface is down"); > + return -EAGAIN; > + } > + > if (*rss_context != ETH_RXFH_CONTEXT_ALLOC) { > rss_ctx = bnxt_get_rss_ctx_from_index(bp, *rss_context); > if (!rss_ctx) {
On Tue, Apr 9, 2024 at 4:26 PM Jacob Keller <jacob.e.keller@intel.com> wrote: > > > > On 4/9/2024 2:54 PM, Michael Chan wrote: > > From: Pavan Chebbi <pavan.chebbi@broadcom.com> > > > > The current implementation requires the ifstate to be up when > > configuring the RSS contexts. It will try to fetch the RX ring > > IDs and will crash if it is in ifdown state. Return error if > > !netif_running() to prevent the crash. > > > > An improved implementation is in the works to allow RSS contexts > > to be changed while in ifdown state. > > > > Fixes: b3d0083caf9a ("bnxt_en: Support RSS contexts in ethtool .{get|set}_rxfh()") > > Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> > > Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> > > Signed-off-by: Pavan Chebbi <pavan.chebbi@broadcom.com> > > Signed-off-by: Michael Chan <michael.chan@broadcom.com> > > --- > > Makes sense, though I think you could send this fix directly to net as > its clearly a bug fix and preventing a crash is good. This RSS context feature in the driver is new and is only in net-next, so the patch only applies to net-next. Thanks.
On 4/9/2024 4:51 PM, Michael Chan wrote: > On Tue, Apr 9, 2024 at 4:26 PM Jacob Keller <jacob.e.keller@intel.com> wrote: >> >> >> >> On 4/9/2024 2:54 PM, Michael Chan wrote: >>> From: Pavan Chebbi <pavan.chebbi@broadcom.com> >>> >>> The current implementation requires the ifstate to be up when >>> configuring the RSS contexts. It will try to fetch the RX ring >>> IDs and will crash if it is in ifdown state. Return error if >>> !netif_running() to prevent the crash. >>> >>> An improved implementation is in the works to allow RSS contexts >>> to be changed while in ifdown state. >>> >>> Fixes: b3d0083caf9a ("bnxt_en: Support RSS contexts in ethtool .{get|set}_rxfh()") >>> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> >>> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> >>> Signed-off-by: Pavan Chebbi <pavan.chebbi@broadcom.com> >>> Signed-off-by: Michael Chan <michael.chan@broadcom.com> >>> --- >> >> Makes sense, though I think you could send this fix directly to net as >> its clearly a bug fix and preventing a crash is good. > > This RSS context feature in the driver is new and is only in net-next, > so the patch only applies to net-next. Thanks. Ah, even better fixing it before it hits a stable. Thanks, Jake
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c index 9c49f629d565..68444234b268 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c @@ -1876,6 +1876,11 @@ static int bnxt_set_rxfh_context(struct bnxt *bp, return -EOPNOTSUPP; } + if (!netif_running(bp->dev)) { + NL_SET_ERR_MSG_MOD(extack, "Unable to set RSS contexts when interface is down"); + return -EAGAIN; + } + if (*rss_context != ETH_RXFH_CONTEXT_ALLOC) { rss_ctx = bnxt_get_rss_ctx_from_index(bp, *rss_context); if (!rss_ctx) {