Before start beaconing cfg80211_reg_can_beacon() verifies the channel is CAC checked and available calling cfg80211_secondary_chans_ok(). Although the channel is marked NL80211_DFS_AVAILABLE after a CAC period, ieee80211_monitor_start_xmit() does not allow to inject mgmt frames on DFS channels causing association failures. Lorenzo 2013/10/2 Johannes Berg <johannes@xxxxxxxxxxxxxxxx>: > On Mon, 2013-09-30 at 14:52 +0200, Lorenzo Bianconi wrote: >> Allow management frame injection on DFS channels if the channel has been CAC >> checked and is available > >> +++ b/net/mac80211/tx.c >> @@ -1694,8 +1694,10 @@ netdev_tx_t ieee80211_monitor_start_xmit(struct sk_buff *skb, >> * radar detection by itself. We can do that later by adding a >> * monitor flag interfaces used for AP support. >> */ >> - if ((chan->flags & (IEEE80211_CHAN_NO_IBSS | IEEE80211_CHAN_RADAR | >> - IEEE80211_CHAN_PASSIVE_SCAN))) >> + if (((chan->flags & (IEEE80211_CHAN_PASSIVE_SCAN | >> + IEEE80211_CHAN_NO_IBSS))) || >> + ((chan->flags & IEEE80211_CHAN_RADAR) && >> + chan->dfs_state != NL80211_DFS_AVAILABLE)) > > This would be the only place where mac80211 is accessing > chan->dfs_state, does that make sense? Why is it not needed elsewhere? > > johannes > -- UNIX is Sexy: who | grep -i blonde | talk; cd ~; wine; talk; touch; unzip; touch; strip; gasp; finger; gasp; mount; fsck; more; yes; gasp; umount; make clean; sleep -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html