ice: Block switchdev mode when ADQ is active and vice versa
authorMarcin Szycik <marcin.szycik@linux.intel.com>
Wed, 16 Aug 2023 19:34:05 +0000 (12:34 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 17 Aug 2023 18:55:40 +0000 (11:55 -0700)
commit43d00e102d9ecbe2635d7e3f2e14d2e90183d6af
treebc2d66283bd5a93ef30dace98b964970894f5449
parent2eb9625a3a32251ecea470cd576659a3a03b4e59
ice: Block switchdev mode when ADQ is active and vice versa

ADQ and switchdev are not supported simultaneously. Enabling both at the
same time can result in nullptr dereference.

To prevent this, check if ADQ is active when changing devlink mode to
switchdev mode, and check if switchdev is active when enabling ADQ.

Fixes: fbc7b27af0f9 ("ice: enable ndo_setup_tc support for mqprio_qdisc")
Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Tested-by: Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20230816193405.1307580-1-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/intel/ice/ice_eswitch.c
drivers/net/ethernet/intel/ice/ice_main.c