diff options
author | Kai-Heng Feng <[email protected]> | 2018-09-11 01:51:43 +0800 |
---|---|---|
committer | David S. Miller <[email protected]> | 2018-09-12 00:05:33 -0700 |
commit | 6ad569019999300afd8e614d296fdc356550b77f (patch) | |
tree | a7a6ec1248a66f265fd71ee64358c3ac171e4e09 /scripts/bpf_helpers_doc.py | |
parent | 51dc63e3911fbb1f0a7a32da2fe56253e2040ea4 (diff) |
r8169: Clear RTL_FLAG_TASK_*_PENDING when clearing RTL_FLAG_TASK_ENABLED
After system suspend, sometimes the r8169 doesn't work when ethernet
cable gets pluggued.
This issue happens because rtl_reset_work() doesn't get called from
rtl8169_runtime_resume(), after system suspend.
In rtl_task(), RTL_FLAG_TASK_* only gets cleared if this condition is
met:
if (!netif_running(dev) ||
!test_bit(RTL_FLAG_TASK_ENABLED, tp->wk.flags))
...
If RTL_FLAG_TASK_ENABLED was cleared during system suspend while
RTL_FLAG_TASK_RESET_PENDING was set, the next rtl_schedule_task() won't
schedule task as the flag is still there.
So in addition to clearing RTL_FLAG_TASK_ENABLED, also clears other
flags.
Cc: Heiner Kallweit <[email protected]>
Signed-off-by: Kai-Heng Feng <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'scripts/bpf_helpers_doc.py')
0 files changed, 0 insertions, 0 deletions