]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/mac80211/tx.c
mac80211: don't drop nullfunc frames during software scan
[linux-2.6-omap-h63xx.git] / net / mac80211 / tx.c
index 038460b0a48a52602e9d0ffad434125c9c1277ac..f3f240c69018459ce59e4dac729c77f98c1921c7 100644 (file)
@@ -193,7 +193,19 @@ ieee80211_tx_h_check_assoc(struct ieee80211_tx_data *tx)
                return TX_CONTINUE;
 
        if (unlikely(tx->local->sw_scanning) &&
-           !ieee80211_is_probe_req(hdr->frame_control))
+           !ieee80211_is_probe_req(hdr->frame_control) &&
+           !ieee80211_is_nullfunc(hdr->frame_control))
+               /*
+                * When software scanning only nullfunc frames (to notify
+                * the sleep state to the AP) and probe requests (for the
+                * active scan) are allowed, all other frames should not be
+                * sent and we should not get here, but if we do
+                * nonetheless, drop them to avoid sending them
+                * off-channel. See the link below and
+                * ieee80211_start_scan() for more.
+                *
+                * http://article.gmane.org/gmane.linux.kernel.wireless.general/30089
+                */
                return TX_DROP;
 
        if (tx->sdata->vif.type == NL80211_IFTYPE_MESH_POINT)