Thread (3 messages) 3 messages, 1 author, 4d ago

[PATCH iwl-net 2/2] ixgbe: do not enable MDD without VFs

flat view
DORMANTno replies

From: Thomas Lamprecht <hidden>
Date: 2026-10-04 19:44:09
Also in: intel-wired-lan
Subsystem: intel ethernet drivers, networking drivers, the rest · Maintainers: Tony Nguyen, Przemek Kitszel, Andrew Lunn, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds

MDD is meant to be enabled only while VFs exist, see commit
d5e3152037f3 ("ixgbe: add MDD support"), and ixgbe_watchdog_link_is_up()
accordingly only enables it if there are VFs. But ixgbe_set_rx_drop_en(),
which disables MDD while rewriting SRRCTL, re-enables it
unconditionally. It runs on link up unless DCB with PFC is enabled, and
on DCB PFC changes, so MDD ends up enabled on X550 and E610 adapters
without VFs, where it can block PF queues and raise events for VFs that
do not exist.

Only re-enable MDD if there are VFs.

Fixes: 1a3ebc59f717 ("ixgbe: turn off MDD while modifying SRRCTL")
Reported-by: Melissa Romanus <redacted>
Closes: https://lore.kernel.org/netdev/bqzPMb-F5iRWe7S2DWkQDhsK8u9ZoIaK34sF2pHpAjP6WHFb70Weq3pc8ZIVUoIx2EbPHd6HLBzz1HHd3xb5rxRZ9F3w1L6TQAd87S18CPQ=@proton.me/ (local)
Reported-by: Viacheslav Tyryshkin <redacted>
Closes: https://lore.kernel.org/all/abc23ed3-f194-4546-bf99-7152464b93e2@intel.com/ (local)
Signed-off-by: Thomas Lamprecht <redacted>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index f91856498eb2d..e35265f96ac08 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -4132,7 +4132,7 @@ static void ixgbe_set_rx_drop_en(struct ixgbe_adapter *adapter)
 			ixgbe_disable_rx_drop(adapter, adapter->rx_ring[i]);
 	}
 
-	if (hw->mac.ops.enable_mdd)
+	if (adapter->num_vfs && hw->mac.ops.enable_mdd)
 		hw->mac.ops.enable_mdd(hw);
 }
 
-- 
2.47.3

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help