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