netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH iwl-net 0/2] ice: fix issues with loading certain older DDP packages
@ 2025-07-17 16:57 Jacob Keller
  2025-07-17 16:57 ` [PATCH iwl-net 1/2] ice: fix double-call to ice_deinit_hw() during probe failure Jacob Keller
  2025-07-17 16:57 ` [PATCH iwl-net 2/2] ice: don't leave device non-functional if Tx scheduler config fails Jacob Keller
  0 siblings, 2 replies; 12+ messages in thread
From: Jacob Keller @ 2025-07-17 16:57 UTC (permalink / raw)
  To: Anthony Nguyen, Intel Wired LAN, Aleksandr Loktionov
  Cc: Jacob Keller, vgrinber, netdev

This series contains two fixes to improve the software handling for certain
error conditions when loading an older DDP package on a device. In
particular, some combinations of DDP and firmware version can result in the
driver accidentally locking the device up due to blocking the global
configuration lock used for DDP programming.

Also, fix an error in the cleanup logic for a failed probe could result in
memory corruption due to a use-after-free from double-calling
ice_deinit_hw().

It is not clear if any publicly released DDP versions suffer from the exact
issues that caused the ice_cfg_tx_topo() failure. However, it is entirely
plausible that the error could be triggered in the future. Thus, it is
important to ensure the error flow is safe and won't make the device
inaccessible for such tasks as updating the firmware. Additionally,
degrading functionality simply because a user has not updated a DDP package
is wrong.

I settled on -ENODEV as the error code for handling ice_init_hw() failures,
to ensure probe stops in the rare cases where this fails. I am open to
alternative suggestions for how to handle errors from ice_cfg_tx_topo()
through into ice_init_tx_topology().

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
---
Jacob Keller (2):
      ice: fix double-call to ice_deinit_hw() during probe failure
      ice: don't leave device non-functional if Tx scheduler config fails

 drivers/net/ethernet/intel/ice/devlink/devlink.c | 10 +-----
 drivers/net/ethernet/intel/ice/ice_ddp.c         | 44 +++++++++++++++++-------
 drivers/net/ethernet/intel/ice/ice_main.c        | 38 ++++++++++----------
 3 files changed, 53 insertions(+), 39 deletions(-)
---
base-commit: dae7f9cbd1909de2b0bccc30afef95c23f93e477
change-id: 20250716-jk-ddp-safe-mode-issue-d6130b8c8205

Best regards,
--  
Jacob Keller <jacob.e.keller@intel.com>


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2025-08-18 22:38 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-17 16:57 [PATCH iwl-net 0/2] ice: fix issues with loading certain older DDP packages Jacob Keller
2025-07-17 16:57 ` [PATCH iwl-net 1/2] ice: fix double-call to ice_deinit_hw() during probe failure Jacob Keller
2025-07-18 16:50   ` Simon Horman
2025-07-21 15:00   ` Loktionov, Aleksandr
2025-08-18 10:27   ` Przemek Kitszel
2025-08-18 22:38     ` Jacob Keller
2025-08-18 16:21   ` [Intel-wired-lan] " Rinitha, SX
2025-07-17 16:57 ` [PATCH iwl-net 2/2] ice: don't leave device non-functional if Tx scheduler config fails Jacob Keller
2025-07-18 16:50   ` Simon Horman
2025-07-18 19:56     ` Jacob Keller
2025-07-18 20:08       ` Simon Horman
2025-08-18 16:21   ` [Intel-wired-lan] " Rinitha, SX

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).