|
@@ -1784,16 +1784,16 @@ netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb,
|
|
|
break;
|
|
|
/* fall through */
|
|
|
case NL80211_IFTYPE_AP:
|
|
|
+ if (sdata->vif.type == NL80211_IFTYPE_AP)
|
|
|
+ chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
|
|
|
+ if (!chanctx_conf)
|
|
|
+ goto fail_rcu;
|
|
|
fc |= cpu_to_le16(IEEE80211_FCTL_FROMDS);
|
|
|
/* DA BSSID SA */
|
|
|
memcpy(hdr.addr1, skb->data, ETH_ALEN);
|
|
|
memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN);
|
|
|
memcpy(hdr.addr3, skb->data + ETH_ALEN, ETH_ALEN);
|
|
|
hdrlen = 24;
|
|
|
- if (sdata->vif.type == NL80211_IFTYPE_AP)
|
|
|
- chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
|
|
|
- if (!chanctx_conf)
|
|
|
- goto fail_rcu;
|
|
|
band = chanctx_conf->def.chan->band;
|
|
|
break;
|
|
|
case NL80211_IFTYPE_WDS:
|