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
1 file changed
tree: 156bddd64d3f6acbda9e193662cfb2b7e35524c4
  1. components/
  2. core/
  3. uapi/
  4. Android.mk
  5. Kbuild
  6. Kconfig
  7. Makefile
  8. README.txt