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? */
 }

Attachment: pgpBccSMwivY3.pgp
Description: PGP signature

Reply via email to