Commit 6f31d6b
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>1 parent 75a3f93 commit 6f31d6b
1 file changed
+15
-17
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5929 | 5929 | | |
5930 | 5930 | | |
5931 | 5931 | | |
5932 | | - | |
5933 | | - | |
5934 | | - | |
5935 | | - | |
5936 | | - | |
5937 | | - | |
5938 | | - | |
5939 | | - | |
5940 | | - | |
5941 | 5932 | | |
5942 | 5933 | | |
5943 | 5934 | | |
| |||
5958 | 5949 | | |
5959 | 5950 | | |
5960 | 5951 | | |
5961 | | - | |
5962 | | - | |
5963 | 5952 | | |
5964 | 5953 | | |
5965 | 5954 | | |
| |||
5976 | 5965 | | |
5977 | 5966 | | |
5978 | 5967 | | |
| 5968 | + | |
| 5969 | + | |
| 5970 | + | |
| 5971 | + | |
| 5972 | + | |
| 5973 | + | |
| 5974 | + | |
| 5975 | + | |
| 5976 | + | |
| 5977 | + | |
| 5978 | + | |
5979 | 5979 | | |
5980 | 5980 | | |
5981 | 5981 | | |
| |||
7181 | 7181 | | |
7182 | 7182 | | |
7183 | 7183 | | |
7184 | | - | |
7185 | | - | |
| 7184 | + | |
7186 | 7185 | | |
7187 | | - | |
7188 | | - | |
7189 | | - | |
7190 | | - | |
| 7186 | + | |
| 7187 | + | |
| 7188 | + | |
7191 | 7189 | | |
7192 | 7190 | | |
7193 | 7191 | | |
| |||
0 commit comments