On Tue, May 12, 2009 at 10:05 PM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > There's this internal wifi_wme_noack_test variable that > we use to set the QoS control if set. For one, it is > unlikely that it is set. Secondly, if set it needs to > influence the IEEE80211_TX_CTL_NO_ACK TX control flag, > and finally we should also be able to set it at all, so > make it available in debugfs. > > Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> > --- > net/mac80211/debugfs.c | 38 ++++++++++++++++++++++++++++++++++++++ > net/mac80211/ieee80211_i.h | 1 + > net/mac80211/tx.c | 5 ++++- > net/mac80211/wme.c | 2 +- > 4 files changed, 44 insertions(+), 2 deletions(-) > > --- wireless-testing.orig/net/mac80211/tx.c 2009-05-12 21:44:01.000000000 +0200 > +++ wireless-testing/net/mac80211/tx.c 2009-05-12 22:03:26.000000000 +0200 > @@ -1087,7 +1087,10 @@ __ieee80211_tx_prepare(struct ieee80211_ > info->flags |= IEEE80211_TX_CTL_NO_ACK; > } else { > tx->flags |= IEEE80211_TX_UNICAST; > - info->flags &= ~IEEE80211_TX_CTL_NO_ACK; > + if (unlikely(local->wifi_wme_noack_test)) > + info->flags |= IEEE80211_TX_CTL_NO_ACK; > + else > + info->flags &= ~IEEE80211_TX_CTL_NO_ACK; > } While you are at it, why not clean up this code completely? IMHO the unset-bit operations are useless, given that both TX_UNICAST and TX_CTL_NO_ACK are initialized to zero at the beginning of __ieee80211_tx_prepare. This also makes it possible to set TX_CTL_NO_ACK in a TX handler, which is IMO much nicer (not to mention that it significantly simplifies the work needed to support Radiotap's TX flags once they land). (BTW should we implement the already-stable parts of TX flags now, or is it a better idea to wait till it is final?) --Gábor -- Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-) -- 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