Am 30.09.2016 um 13:41 schrieb Johannes Berg: >> - sta = sta_info_get(sdata, mgmt->da); >> + if (ieee80211_vif_is_mesh(&sdata->vif)) >> + sta = sta_info_get(sdata, mgmt->da); >> + else >> + sta = sta_info_get_bss(sdata, mgmt->da); >> > I don't see why you need to distinguish between mesh and non-mesh > here? > get_bss() will ignore the BSS pointer if it's NULL, and that will > always be the case when the type is mesh, so ... why? because the in ieee80211_mgmt_tx the > case NL80211_IFTYPE_AP: > case NL80211_IFTYPE_AP_VLAN: > case NL80211_IFTYPE_P2P_GO: > ... > rcu_read_lock(); > if (ieee80211_vif_is_mesh(&sdata->vif)) > sta = sta_info_get(sdata, mgmt->da); > else > sta = sta_info_get_bss(sdata, mgmt->da); > rcu_read_unlock(); > does it the same way and I wanted to go safe and not change the mesh path. michael