mac80211: never drop injected frames even if normally not allowed
In ieee80211_tx_dequeue there is a check to see if the dequeued frame is allowed in the current state. Injected frames that are normally not allowed are being be dropped here. Fix this by checking if a frame was injected and if so always allowing it. Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@kuleuven.be> Link: https://lore.kernel.org/r/20200723100153.31631-1-Mathy.Vanhoef@kuleuven.be Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
fd17dba1c8
commit
1df2bdba52
|
@ -3619,7 +3619,7 @@ begin:
|
||||||
tx.skb = skb;
|
tx.skb = skb;
|
||||||
tx.sdata = vif_to_sdata(info->control.vif);
|
tx.sdata = vif_to_sdata(info->control.vif);
|
||||||
|
|
||||||
if (txq->sta) {
|
if (txq->sta && !(info->flags & IEEE80211_TX_CTL_INJECTED)) {
|
||||||
tx.sta = container_of(txq->sta, struct sta_info, sta);
|
tx.sta = container_of(txq->sta, struct sta_info, sta);
|
||||||
/*
|
/*
|
||||||
* Drop unicast frames to unauthorised stations unless they are
|
* Drop unicast frames to unauthorised stations unless they are
|
||||||
|
|
Loading…
Reference in New Issue