On Mon, Mar 18, 2013 at 08:26:08PM +0100, Johannes Berg wrote: > On Sun, 2013-03-17 at 22:55 +0100, Karl Beldan wrote: > > Hi, > > > > Some time ago the rate selection for radiotap injected frames did not > > make it essentially for mac80211 getting short in IEEE80211_TX_CTL_*s. > > > > Would it be acceptable to replace the originally proposed: > > > > > > - if (!(tx->local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL)) > > + if (!(tx->local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL) && > > + !(info->flags & IEEE80211_TX_CTL_NO_RC)) > > CALL_TXH(ieee80211_tx_h_rate_ctrl); > > > > with something like : > > > > - if (!(tx->local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL)) > > + if (!(tx->local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL) && > > + !(info->flags & IEEE80211_TX_CTL_INJECTED && info->control.rates[i])) > > CALL_TXH(ieee80211_tx_h_rate_ctrl); > > No, older wpa_supplicant/hostapd still use monitor interfaces for > management frame transmissions, and require rate control. > Since they require rate control, I guess they don't pass any radiotap IEEE80211_RADIOTAP_{RATE,MCS} ? In that case that wouldn't disturb them. And, oops typo, I meant : + !(info->flags & IEEE80211_TX_CTL_INJECTED && info->control.rates[0] != -1)) with info->control.rates[0] properly set in the radiotap header parsing, instead of : > > + !(info->flags & IEEE80211_TX_CTL_INJECTED && info->control.rates[i])) If that changes anything to what you guessed. Karl -- 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