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);
 }