]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ice: Fix netif_is_ice() in Safe Mode
authorMarcin Szycik <marcin.szycik@linux.intel.com>
Tue, 24 Sep 2024 10:04:24 +0000 (12:04 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Oct 2024 13:11:56 +0000 (15:11 +0200)
[ Upstream commit 8e60dbcbaaa177dacef55a61501790e201bf8c88 ]

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.kitszel@intel.com>
Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
Reviewed-by: Brett Creeley <brett.creeley@amd.com>
Tested-by: Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/intel/ice/ice_main.c

index 3cc344d5228b6ca3201421a528cc827b967d686b..329bf24a3f0e597b04aa18b7659de1eb12f9faf6 100644 (file)
@@ -55,7 +55,8 @@ static void ice_vsi_release_all(struct ice_pf *pf);
 
 bool netif_is_ice(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);
 }
 
 /**