struct ieee80211_sub_if_data *sdata;
struct sta_info *sta;
- if (!local->open_count)
+ if (!local_read(&local->open_count))
goto suspend;
ieee80211_scan_cancel(local);
cancel_work_sync(&local->dynamic_ps_enable_work);
del_timer_sync(&local->dynamic_ps_timer);
- local->wowlan = wowlan && local->open_count;
+ local->wowlan = wowlan && local_read(&local->open_count);
if (local->wowlan) {
int err = drv_suspend(local, wowlan);
if (err < 0) {
WARN_ON(!list_empty(&local->chanctx_list));
/* stop hardware - this must stop RX */
- if (local->open_count)
+ if (local_read(&local->open_count))
ieee80211_stop_device(local);
suspend: