drv_leave_ibss(local, sdata);
        }
 
-       presp = rcu_dereference_protected(ifibss->presp,
-                                         lockdep_is_held(&sdata->wdev.mtx));
+       presp = sdata_dereference(ifibss->presp, sdata);
        RCU_INIT_POINTER(ifibss->presp, NULL);
        if (presp)
                kfree_rcu(presp, rcu_head);
        rcu_read_unlock();
        cfg80211_put_bss(sdata->local->hw.wiphy, cbss);
 
-       old_presp = rcu_dereference_protected(ifibss->presp,
-                                         lockdep_is_held(&sdata->wdev.mtx));
+       old_presp = sdata_dereference(ifibss->presp, sdata);
 
        presp = ieee80211_ibss_build_presp(sdata,
                                           sdata->vif.bss_conf.beacon_int,
        sdata->vif.cfg.ssid_len = 0;
 
        /* remove beacon */
-       presp = rcu_dereference_protected(ifibss->presp,
-                                         lockdep_is_held(&sdata->wdev.mtx));
+       presp = sdata_dereference(ifibss->presp, sdata);
        RCU_INIT_POINTER(sdata->u.ibss.presp, NULL);
        if (presp)
                kfree_rcu(presp, rcu_head);
 
        sdata_assert_lock(sdata);
 
-       presp = rcu_dereference_protected(ifibss->presp,
-                                         lockdep_is_held(&sdata->wdev.mtx));
+       presp = sdata_dereference(ifibss->presp, sdata);
 
        if (ifibss->state != IEEE80211_IBSS_MLME_JOINED ||
            len < 24 + 2 || !presp)
 
        struct beacon_data *old_bcn;
        int ret;
 
-       old_bcn = rcu_dereference_protected(sdata->u.mesh.beacon,
-                                           lockdep_is_held(&sdata->wdev.mtx));
+       old_bcn = sdata_dereference(sdata->u.mesh.beacon, sdata);
        ret = ieee80211_mesh_build_beacon(&sdata->u.mesh);
        if (ret)
                /* just reuse old beacon */
        ieee80211_link_info_change_notify(sdata, 0, BSS_CHANGED_BEACON_ENABLED);
 
        /* remove beacon */
-       bcn = rcu_dereference_protected(ifmsh->beacon,
-                                       lockdep_is_held(&sdata->wdev.mtx));
+       bcn = sdata_dereference(ifmsh->beacon, sdata);
        RCU_INIT_POINTER(ifmsh->beacon, NULL);
        kfree_rcu(bcn, rcu_head);
 
        ifmsh->chsw_ttl = 0;
 
        /* Remove the CSA and MCSP elements from the beacon */
-       tmp_csa_settings = rcu_dereference_protected(ifmsh->csa,
-                                           lockdep_is_held(&sdata->wdev.mtx));
+       tmp_csa_settings = sdata_dereference(ifmsh->csa, sdata);
        RCU_INIT_POINTER(ifmsh->csa, NULL);
        if (tmp_csa_settings)
                kfree_rcu(tmp_csa_settings, rcu_head);