[SRU][N][PATCH 0/1] Fix ice driver RTNL assertion failed warning on shutdown/reboot

Jacob Martin jacob.martin at canonical.com
Thu Dec 5 17:39:34 UTC 2024


BugLink: https://bugs.launchpad.net/bugs/2091107

SRU Justification

[Impact]

An RTNL assertion failed warning is triggered from the Intel ice driver when a
PCIe device using the driver is removed or the system is shutdown/rebooted.
This was caused by commit "ice: move netif_queue_set_napi to rtnl-protected
sections" which was brought in through stable updates in 6.8.0-50-generic. The
commit adds a call to "ice_vsi_clear_napi_queues()" in "ice_vsi_close()", and
in K6.8 "ice_vsi_close()" is called via "ice_remove()". Function "ice_remove()"
is used as the PCI remove callback, and is also called via "ice_shutdown()".

[Fix]

This is resolved by cherry picking commit "ice: Remove and readd netdev during
devlink reload" from upstream. This commit refactors "ice_remove()" to not call
"ice_vsi_close()". Upstream was not affected because in mainline "ice: Remove
and readd netdev during devlink reload" is a parent to "ice: move
netif_queue_set_napi to rtnl-protected sections".

Only noble:linux and its derivative kernels are affected.

[Test Plan]

(1) Apply patch "ice: Remove and readd netdev during devlink reload", reboot
into patched kernel on system that utilizes the Intel ice driver.
(2) Reboot or shutdown the system. Observe in the system's console that the
warning splat from LP#2091107 no longer appears.

[Where problems could occur]

This change affects the Intel ice kernel module specifically. Issues with this
fix would manifest as misbehavior of that driver, which would be used with
select intel NICs, including "Intel Corporation Ethernet Controller E810-C for
QSFP".

Wojciech Drewek (1):
  ice: Remove and readd netdev during devlink reload

 drivers/net/ethernet/intel/ice/ice.h         |   2 +
 drivers/net/ethernet/intel/ice/ice_devlink.c |  68 ++++++-
 drivers/net/ethernet/intel/ice/ice_main.c    | 186 ++++++-------------
 3 files changed, 125 insertions(+), 131 deletions(-)

-- 
2.43.0




More information about the kernel-team mailing list