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
Loading
Please register or sign in to comment