Thread (17 messages) 17 messages, 5 authors, 1d ago

[PATCH 4/5] ice: clear DVM boost table before scanning package hints

flat view
WARM1d

From: Aaron Ma <hidden>
Date: 2026-10-19 10:53:12
Also in: intel-wired-lan, lkml
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

ice_init_pkg_hints() clears hw->tnl before enumerating package labels,
but leaves hw->dvm_upd untouched. Every subsequent call to
ice_init_pkg() during reset recovery appends duplicate DVM and SVM boost
entries to hw->dvm_upd.tbl[] until hw->dvm_upd.count saturates at
ICE_DVM_MAX_ENTRIES (48).

During package download, ice_set_dvm_boost_entries() then issues a
redundant Update Package Admin Queue command for every accumulated
duplicate while holding the firmware Global Configuration Lock.

Zero hw->dvm_upd alongside hw->tnl before enumerating package hints.

Fixes: a1ffafb0b4a4 ("ice: Support configuring the device to Double VLAN Mode")
Signed-off-by: Aaron Ma <redacted>
---
 drivers/net/ethernet/intel/ice/ice_ddp.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/intel/ice/ice_ddp.c b/drivers/net/ethernet/intel/ice/ice_ddp.c
index b71f3fb791db7..a86ef097826d5 100644
--- a/drivers/net/ethernet/intel/ice/ice_ddp.c
+++ b/drivers/net/ethernet/intel/ice/ice_ddp.c
@@ -2101,6 +2101,7 @@ static void ice_init_pkg_hints(struct ice_hw *hw, struct ice_seg *ice_seg)
 	int i;
 
 	memset(&hw->tnl, 0, sizeof(hw->tnl));
+	memset(&hw->dvm_upd, 0, sizeof(hw->dvm_upd));
 	memset(&state, 0, sizeof(state));
 
 	if (!ice_seg)
-- 
2.53.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help