>  net/mac80211/offchannel.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/net/mac80211/offchannel.c b/net/mac80211/offchannel.c
> index 55a9c5b..2afd329 100644
> --- a/net/mac80211/offchannel.c
> +++ b/net/mac80211/offchannel.c
> @@ -819,7 +819,10 @@ int ieee80211_mgmt_tx(struct wiphy *wiphy,
> struct wireless_dev *wdev,
>                   mgmt->u.action.category ==
> WLAN_CATEGORY_SPECTRUM_MGMT)
>                       break;
>               rcu_read_lock();
> -             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?

johannes

Reply via email to