diff options
author | Bob Copeland <me@bobcopeland.com> | 2014-04-16 08:32:41 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2014-04-22 17:08:30 +0200 |
commit | 311ab8e1c28659e16a6fe14a68929c3ced4a5757 (patch) | |
tree | 943f3152e01938c5b11e363f107b5d0511e04dc0 | |
parent | 062f1d6de01df545ca0df366c6133f0fa164bff6 (diff) | |
download | op-kernel-dev-311ab8e1c28659e16a6fe14a68929c3ced4a5757.zip op-kernel-dev-311ab8e1c28659e16a6fe14a68929c3ced4a5757.tar.gz |
mac80211: fixup radiotap tx flags for RTS/CTS
When using RTS/CTS, the CTS-to-Self bit in radiotap TX flags is
getting set instead of the RTS bit. Set the correct one.
Reported-by: Larry Maxwell <larrymaxwell@agilemesh.com>
Signed-off-by: Bob Copeland <bob@cozybit.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r-- | net/mac80211/status.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/net/mac80211/status.c b/net/mac80211/status.c index 00ba90b0..60cb7a6 100644 --- a/net/mac80211/status.c +++ b/net/mac80211/status.c @@ -314,10 +314,9 @@ ieee80211_add_tx_radiotap_header(struct ieee80211_local *local, !is_multicast_ether_addr(hdr->addr1)) txflags |= IEEE80211_RADIOTAP_F_TX_FAIL; - if ((info->status.rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS) || - (info->status.rates[0].flags & IEEE80211_TX_RC_USE_CTS_PROTECT)) + if (info->status.rates[0].flags & IEEE80211_TX_RC_USE_CTS_PROTECT) txflags |= IEEE80211_RADIOTAP_F_TX_CTS; - else if (info->status.rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS) + if (info->status.rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS) txflags |= IEEE80211_RADIOTAP_F_TX_RTS; put_unaligned_le16(txflags, pos); |