> 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