igc: Fix BUG: scheduling while atomic

backport from c80a29f0fe

Signed-off-by: Jim Ma <majinjing3@gmail.com>
This commit is contained in:
Jim Ma 2022-11-03 12:35:04 +00:00
parent c1c78aebc4
commit 2aa02d0b8f
3 changed files with 41 additions and 31 deletions

View File

@ -1,27 +0,0 @@
## 1.2.0
_Date 2022.10.27_
Backport fixes from upstream
* igc: Fix TX timestamp support for non-MSI-X platforms
* igc: Fix typo in i225 LTR functions
* igc: Update I226_K device ID
* igc: Reinstate IGC_REMOVED logic and implement it properly
* igc: Fix infinite loop in release_swfw_sync
* igc: Increase timeout value for Speed 100/1000/2500
* igc: Fix use-after-free error during reset
* igc: change default return of igc_read_phy_reg()
* igc: Fix an error handling path in 'igc_probe()'
## 1.1.0
_Date 2022.10.27_
* Support ethtool operations
## 1.0.0
_Date 2022.10.26_
* Backport from Linux Kernel v5.12, commit: 9f4ad9e425a1d3b6a34617b8ea226d56a119a717.

View File

@ -1,6 +1,12 @@
# Intel igc driver for Synology Kernel 4.4.180
> Backport from Linux Kernel v5.12, commit: 9f4ad9e425a1d3b6a34617b8ea226d56a119a717
> Backport from Linux Kernel v5.12, commit: https://github.com/torvalds/linux/commit/9f4ad9e425a1d3b6a34617b8ea226d56a119a717
## Prebuild module
https://github.com/fbelavenuto/arpl-modules
Eg: https://github.com/fbelavenuto/arpl-modules/blob/main/geminilake-4.4.180/igc.ko
## Build
@ -54,7 +60,38 @@ ip link set up eth1 # in my machine, the nic name is eth1
## TODO
1. tc support
2. igc: Enable internal i225 PPS - https://github.com/torvalds/linux/commit/64433e5bf40abf893c7edbc60899bdcdd7c70b76
## History
[History](HISTORY.md)
### 1.2.1
* igc: Fix BUG: scheduling while atomic
### 1.2.0
_Date 2022.10.27_
Backport fixes from upstream
* igc: Fix TX timestamp support for non-MSI-X platforms
* igc: Fix typo in i225 LTR functions
* igc: Update I226_K device ID
* igc: Reinstate IGC_REMOVED logic and implement it properly
* igc: Fix infinite loop in release_swfw_sync
* igc: Increase timeout value for Speed 100/1000/2500
* igc: Fix use-after-free error during reset
* igc: change default return of igc_read_phy_reg()
* igc: Fix an error handling path in 'igc_probe()'
### 1.1.0
_Date 2022.10.27_
* Support ethtool operations
### 1.0.0
_Date 2022.10.26_
* Backport from Linux Kernel v5.12, commit: 9f4ad9e425a1d3b6a34617b8ea226d56a119a717.

View File

@ -583,7 +583,7 @@ static s32 igc_read_phy_reg_mdic(struct igc_hw *hw, u32 offset, u16 *data)
* the lower time out
*/
for (i = 0; i < IGC_GEN_POLL_TIMEOUT; i++) {
usleep_range(500, 1000);
udelay(50);
mdic = rd32(IGC_MDIC);
if (mdic & IGC_MDIC_READY)
break;
@ -640,7 +640,7 @@ static s32 igc_write_phy_reg_mdic(struct igc_hw *hw, u32 offset, u16 data)
* the lower time out
*/
for (i = 0; i < IGC_GEN_POLL_TIMEOUT; i++) {
usleep_range(500, 1000);
udelay(50);
mdic = rd32(IGC_MDIC);
if (mdic & IGC_MDIC_READY)
break;