ice: Fix SRIOV LAG disable on non-compliant aggregate
authorDave Ertman <david.m.ertman@intel.com>
Tue, 10 Oct 2023 17:32:15 +0000 (10:32 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Nov 2023 10:59:35 +0000 (11:59 +0100)
commitcceeddd5caab4703feb56bfabdd969bb189fd9b9
tree7c77d6fe52e071dc42e8028e908bdcb8fb10e5fa
parent597ac160a4ad7c94e03ba1263ee219884c76c5d7
ice: Fix SRIOV LAG disable on non-compliant aggregate

[ Upstream commit 3e39da4fa16c9c09207d98b8a86a6f6436b531c9 ]

If an attribute of an aggregate interface disqualifies it from supporting
SRIOV, the driver will unwind the SRIOV support.  Currently the driver is
clearing the feature bit for all interfaces in the aggregate, but this is
not allowing the other interfaces to unwind successfully on driver unload.

Only clear the feature bit for the interface that is currently unwinding.

Fixes: bf65da2eb279 ("ice: enforce interface eligibility and add messaging for SRIOV LAG")
Signed-off-by: Dave Ertman <david.m.ertman@intel.com>
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
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_lag.c