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

Reply via email to