On 9/24/2024 3:04 AM, Marcin Szycik wrote:
Caution: This message originated from an External Source. Use proper caution 
when opening attachments, clicking links, or responding.


netif_is_ice() works by checking the pointer to netdev ops. However, it
only checks for the default ice_netdev_ops, not ice_netdev_safe_mode_ops,
so in Safe Mode it always returns false, which is unintuitive. While it
doesn't look like netif_is_ice() is currently being called anywhere in Safe
Mode, this could change and potentially lead to unexpected behaviour.

Fixes: df006dd4b1dc ("ice: Add initial support framework for LAG")
Reviewed-by: Przemek Kitszel <przemyslaw.kits...@intel.com>
Signed-off-by: Marcin Szycik <marcin.szy...@linux.intel.com>
---
  drivers/net/ethernet/intel/ice/ice_main.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_main.c 
b/drivers/net/ethernet/intel/ice/ice_main.c
index 7a84d3c4c305..b1e7727b8677 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -87,7 +87,8 @@ ice_indr_setup_tc_cb(struct net_device *netdev, struct Qdisc 
*sch,

  bool netif_is_ice(const struct net_device *dev)
  {
-       return dev && (dev->netdev_ops == &ice_netdev_ops);
+       return dev && (dev->netdev_ops == &ice_netdev_ops ||
+                      dev->netdev_ops == &ice_netdev_safe_mode_ops);
  }

LGTM.

Reviewed-by: Brett Creeley <brett.cree...@amd.com>

  /**
--
2.45.0

Reply via email to