diff options
author | David S. Miller <davem@davemloft.net> | 2012-02-08 19:12:12 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-02-08 19:12:12 -0500 |
commit | 64db880e7488a6d31363ad17c4c0590f27fd48e5 (patch) | |
tree | b3705dea9d64b78f93db5f7bead545e5ee38b2aa /drivers/net/wireless/zd1211rw/zd_mac.c | |
parent | 5ca3b72c5da47d95b83857b768def6172fbc080a (diff) | |
parent | 7a73b08b50b075b114d0f608099e4634f9c73ae7 (diff) | |
download | talos-op-linux-64db880e7488a6d31363ad17c4c0590f27fd48e5.tar.gz talos-op-linux-64db880e7488a6d31363ad17c4c0590f27fd48e5.zip |
Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
Diffstat (limited to 'drivers/net/wireless/zd1211rw/zd_mac.c')
-rw-r--r-- | drivers/net/wireless/zd1211rw/zd_mac.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c index 0a70149df3fc..98a574a4a465 100644 --- a/drivers/net/wireless/zd1211rw/zd_mac.c +++ b/drivers/net/wireless/zd1211rw/zd_mac.c @@ -866,6 +866,14 @@ static int fill_ctrlset(struct zd_mac *mac, ZD_ASSERT(frag_len <= 0xffff); + /* + * Firmware computes the duration itself (for all frames except PSPoll) + * and needs the field set to 0 at input, otherwise firmware messes up + * duration_id and sets bits 14 and 15 on. + */ + if (!ieee80211_is_pspoll(hdr->frame_control)) + hdr->duration_id = 0; + txrate = ieee80211_get_tx_rate(mac->hw, info); cs->modulation = txrate->hw_value; |