Regarding Jay's comment #4:
The reason igb_runtime_resume() runs without RTNL is commit ac8c58f5b535
("igb: fix deadlock caused by taking RTNL in RPM resume path"). It
dropped rtnl_lock() there to avoid deadlocks with runtime PM.
The issue is that __igb_open() still calls
netif_set_real_num_tx_queues() and netif_set_real_num_rx_queues()
unconditionally. Both functions have ASSERT_RTNL(), which triggers the
warning.
When resuming, the interface is already open and queue counts don't
change. We don't need to re-register them with net core.
Skipping these calls when resuming == true fixes the assertion and
doesn't re-introduce the RPM deadlock.
Tested the build on 6.8 (Ubuntu noble) and checked against upstream.
Patch attached.
** Patch added: "igb: do not set real queue counts when resuming"
https://bugs.launchpad.net/ubuntu/+source/linux-meta-lowlatency/+bug/2083151/+attachment/5999584/+files/lp-2083151-igb-resume-rtnl.patch
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2083151
Title:
igb assertion changing rx/tx queues
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-meta-lowlatency/+bug/2083151/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs