diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-09-14 22:53:54 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-09-14 22:53:54 +0000 |
commit | e30b799cdce79c4fe33c8bd09d2f289baf788382 (patch) | |
tree | 0bfc5f31cc4ea54f7253c14f510eac831f1495d0 /package/mac80211/patches/510-ath9k_baw_fix.patch | |
parent | 872d5928d93dcbb73d86a06bfe3981cbd3e35baf (diff) |
mac80211: upgrade to wireless-testing 2010-09-14, replace the external carl9170 with the recently merged upstream version
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23061 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/510-ath9k_baw_fix.patch')
-rw-r--r-- | package/mac80211/patches/510-ath9k_baw_fix.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/package/mac80211/patches/510-ath9k_baw_fix.patch b/package/mac80211/patches/510-ath9k_baw_fix.patch new file mode 100644 index 000000000..50e4b99e4 --- /dev/null +++ b/package/mac80211/patches/510-ath9k_baw_fix.patch @@ -0,0 +1,36 @@ +--- a/drivers/net/wireless/ath/ath9k/ath9k.h ++++ b/drivers/net/wireless/ath/ath9k/ath9k.h +@@ -254,7 +254,7 @@ struct ath_atx_tid { + struct list_head buf_q; + struct ath_node *an; + struct ath_atx_ac *ac; +- struct ath_buf *tx_buf[ATH_TID_MAX_BUFS]; ++ unsigned long tx_buf[BITS_TO_LONGS(ATH_TID_MAX_BUFS)]; + u16 seq_start; + u16 seq_next; + u16 baw_size; +--- a/drivers/net/wireless/ath/ath9k/xmit.c ++++ b/drivers/net/wireless/ath/ath9k/xmit.c +@@ -168,9 +168,9 @@ static void ath_tx_update_baw(struct ath + index = ATH_BA_INDEX(tid->seq_start, seqno); + cindex = (tid->baw_head + index) & (ATH_TID_MAX_BUFS - 1); + +- tid->tx_buf[cindex] = NULL; ++ __clear_bit(cindex, tid->tx_buf); + +- while (tid->baw_head != tid->baw_tail && !tid->tx_buf[tid->baw_head]) { ++ while (tid->baw_head != tid->baw_tail && !test_bit(tid->baw_head, tid->tx_buf)) { + INCR(tid->seq_start, IEEE80211_SEQ_MAX); + INCR(tid->baw_head, ATH_TID_MAX_BUFS); + } +@@ -186,9 +186,7 @@ static void ath_tx_addto_baw(struct ath_ + + index = ATH_BA_INDEX(tid->seq_start, bf->bf_seqno); + cindex = (tid->baw_head + index) & (ATH_TID_MAX_BUFS - 1); +- +- BUG_ON(tid->tx_buf[cindex] != NULL); +- tid->tx_buf[cindex] = bf; ++ __set_bit(cindex, tid->tx_buf); + + if (index >= ((tid->baw_tail - tid->baw_head) & + (ATH_TID_MAX_BUFS - 1))) { |