static void ieee80211_restart_work(struct work_struct *work) { struct ieee80211_local *local = container_of(work, struct ieee80211_local, restart_work); rtnl_lock(); ieee80211_reconfig(local); rtnl_unlock(); }
static void ieee80211_restart_work(struct work_struct *work) { struct ieee80211_local *local = container_of(work, struct ieee80211_local, restart_work); /* wait for scan work complete */ flush_workqueue(local->workqueue); mutex_lock(&local->mtx); WARN(test_bit(SCAN_HW_SCANNING, &local->scanning), "%s called with hardware scan in progress\n", __func__); mutex_unlock(&local->mtx); rtnl_lock(); ieee80211_scan_cancel(local); ieee80211_reconfig(local); rtnl_unlock(); }