cancel_work_sync(®_work);
cancel_delayed_work_sync(®_timeout);
+ /* Lock to suppress warnings */
mutex_lock(&cfg80211_mutex);
mutex_lock(®_mutex);
-
reset_regdomains(true);
+ mutex_unlock(&cfg80211_mutex);
+ mutex_unlock(®_mutex);
dev_set_uevent_suppress(®_pdev->dev, true);
platform_device_unregister(reg_pdev);
- spin_lock_bh(®_pending_beacons_lock);
list_for_each_entry_safe(reg_beacon, btmp, ®_pending_beacons, list) {
list_del(®_beacon->list);
kfree(reg_beacon);
}
- spin_unlock_bh(®_pending_beacons_lock);
list_for_each_entry_safe(reg_beacon, btmp, ®_beacon_list, list) {
list_del(®_beacon->list);
kfree(reg_beacon);
}
- spin_lock(®_requests_lock);
list_for_each_entry_safe(reg_request, tmp, ®_requests_list, list) {
list_del(®_request->list);
kfree(reg_request);
}
- spin_unlock(®_requests_lock);
-
- mutex_unlock(®_mutex);
- mutex_unlock(&cfg80211_mutex);
}