aboutsummaryrefslogtreecommitdiff
path: root/lib/test-string_helpers.c
diff options
context:
space:
mode:
authorVladimir Davydov <[email protected]>2013-11-23 07:18:01 +0000
committerJeff Kirsher <[email protected]>2013-11-30 00:02:12 -0800
commit74a1b1ea8a30b035aaad833bbd6b9263e72acfac (patch)
treefe53864a1d67a052ebdf7f2730aa6e3a8be638de /lib/test-string_helpers.c
parentb2f963bfaebadc9117b29f806630ea3bcaec403d (diff)
e1000: fix possible reset_task running after adapter down
On e1000_down(), we should ensure every asynchronous work is canceled before proceeding. Since the watchdog_task can schedule other works apart from itself, it should be stopped first, but currently it is stopped after the reset_task. This can result in the following race leading to the reset_task running after the module unload: e1000_down_and_stop(): e1000_watchdog(): ---------------------- ----------------- cancel_work_sync(reset_task) schedule_work(reset_task) cancel_delayed_work_sync(watchdog_task) The patch moves cancel_delayed_work_sync(watchdog_task) at the beginning of e1000_down_and_stop() thus ensuring the race is impossible. Cc: Tushar Dave <[email protected]> Cc: Patrick McHardy <[email protected]> Signed-off-by: Vladimir Davydov <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
Diffstat (limited to 'lib/test-string_helpers.c')
0 files changed, 0 insertions, 0 deletions