diff options
| author | Will Huang <wilhuang@codeaurora.org> | 2018-04-13 11:48:51 +0800 |
|---|---|---|
| committer | nshrivas <nshrivas@codeaurora.org> | 2018-10-09 01:59:26 -0700 |
| commit | 8343c5fe516da02da9ccd4d267694b5bb7bb3671 (patch) | |
| tree | a091759d1b5c7cafec4a2e3080f58461711df6b1 /scripts/gdb/linux/tasks.py | |
| parent | 1b1ab87aa3c429e50f22f9d6a1e97921a75e5de5 (diff) | |
qcacld-3.0: Move qdf_cancel_delayed_work to __hdd_module_exit
If hdd_wlan_stop_modules is called by hdd_iface_change_callback which
is invoke by a delayed worker, and a race condition happen that rmmod
call in during hdd_wlan_stop_modules, although cnss driver will
serialize wlan remove with the wlan shutdown invoked by delayed worker,
CNSS_DRIVER_UNLOADING still got set and wlan shutdown will invoke remove
wlan, which will try to sync cancel delayed worker and wait for each
other to deadlock.
If move qdf_cancel_delayed_work() from hdd_wlan_exit() to
__hdd_module_exit(), it will flush/wait in a different context of cnss
driver worker, so avoid deadlock hit.
Change-Id: I6bc58e8ae70291d5490560310e90abc52421b59f
CRs-Fixed: 2222381
Diffstat (limited to 'scripts/gdb/linux/tasks.py')
0 files changed, 0 insertions, 0 deletions
