zd1211rw-d80211: check IEEE80211_TXCTL_USE_CTS_PROTECT This makes zd1211 check for IEEE80211_TXCTL_USE_CTS_PROTECT and set things appropriately in the hardware TX header.
Signed-off-by: Michael Wu <[EMAIL PROTECTED]>
---
drivers/net/wireless/d80211/zd1211rw/zd_mac.c | 14 +++++---------
1 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/drivers/net/wireless/d80211/zd1211rw/zd_mac.c
b/drivers/net/wireless/d80211/zd1211rw/zd_mac.c
index dde972d..a76fa6a 100644
--- a/drivers/net/wireless/d80211/zd1211rw/zd_mac.c
+++ b/drivers/net/wireless/d80211/zd1211rw/zd_mac.c
@@ -248,15 +248,11 @@ static void cs_set_control(struct zd_mac
if ((fctl & IEEE80211_FCTL_STYPE) == IEEE80211_STYPE_PSPOLL)
cs->control |= ZD_CS_PS_POLL_FRAME;
- if (flags & IEEE80211_TXCTL_USE_RTS_CTS) {
- /* FIXME: check the logic */
- if (ZD_CS_TYPE(cs->modulation) == ZD_CS_OFDM) {
- /* 802.11g */
- cs->control |= ZD_CS_SELF_CTS;
- } else { /* 802.11b */
- cs->control |= ZD_CS_RTS;
- }
- }
+ if (flags & IEEE80211_TXCTL_USE_RTS_CTS)
+ cs->control |= ZD_CS_RTS;
+
+ if (flags & IEEE80211_TXCTL_USE_CTS_PROTECT)
+ cs->control |= ZD_CS_SELF_CTS;
/* FIXME: Management frame? */
}
pgpBccSMwivY3.pgp
Description: PGP signature
