diff options
author | Sasha Neftin <sasha.neftin@intel.com> | 2024-02-11 10:30:58 +0300 |
---|---|---|
committer | Tony Nguyen <anthony.l.nguyen@intel.com> | 2024-03-29 18:58:43 +0300 |
commit | 6f31d6b643a32cc126cf86093fca1ea575948bf0 (patch) | |
tree | df9216bbb7ddc2fac88bf5739be19ed3d0640ec1 /include/linux/isa-dma.h | |
parent | 75a3f93b53832449c2c58a527a3865394cc656ba (diff) | |
download | linux-6f31d6b643a32cc126cf86093fca1ea575948bf0.tar.xz |
igc: Refactor runtime power management flow
Following the corresponding discussion [1] and [2] refactor the 'igc_open'
method and avoid taking the rtnl_lock() during the 'igc_resume' method.
The rtnl_lock is held by the upper layer and could lead to the deadlock
during resuming from a runtime power management flow. Notify the stack of
the actual queue counts 'netif_set_real_num_*_queues' outside the
'_igc_open' wrapper. This notification doesn't have to be called on each
resume.
Test:
1. Disconnect the ethernet cable
2. Enable the runtime power management via file system:
echo auto > /sys/devices/pci0000\.../power/control
3. Check the device state (lspci -s <device> -vvv | grep -i Status)
Link: https://lore.kernel.org/netdev/20231206113934.8d7819857574.I2deb5804
ef1739a2af307283d320ef7d82456494@changeid/#r [1]
Link: https://lore.kernel.org/netdev/20211125074949.5f897431@kicinski-fedo
ra-pc1c0hjn.dhcp.thefacebook.com/t/ [2]
Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
Tested-by: Naama Meir <naamax.meir@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Diffstat (limited to 'include/linux/isa-dma.h')
0 files changed, 0 insertions, 0 deletions