summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ath/ath9k
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-06-28 23:58:09 (GMT)
committerDavid S. Miller <davem@davemloft.net>2012-06-28 23:58:09 (GMT)
commitca33c00fff12b15428003b7b0423b313190ef03a (patch)
tree379c58de3d8a04243e1a52f61d1eb22fa2c52f53 /drivers/net/wireless/ath/ath9k
parent9740e001932f59ee007d13ee3f39bb1b61086651 (diff)
parentde03309bd209b6fb025e9359266e0cbb441f7441 (diff)
downloadlinux-fsl-qoriq-ca33c00fff12b15428003b7b0423b313190ef03a.tar.xz
Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
John Linville says: ==================== Amitkumar Karwar gives us two mwifiex fixes: one fixes some skb manipulations when handling some event messages; and another that does some similar fixing on an error path. Avinash Patil gives us a fix for for a memory leak in mwifiex. Dan Rosenberg offers an NFC NCI fix to enforce some message length limits to prevent buffer overflows. Eliad Peller provides a mac80211 fix to prevent some frames from being built with an invalid BSSID. Eric Dumazet sends an NFC fix to prevent a BUG caused by a NULL pointer dereference. Felix Fietkau has an ath9k fix for a regression causing LEAP-authenticated connection failures. Johannes Berg provides an iwlwifi fix that eliminates some log SPAM after an authentication/association timeout. He also provides a mac80211 fix to prevent incorrectly addressing certain action frames (and in so doing, to comply with the 802.11 specs). Larry Finger provides a few USB IDs for the rtl8192cu driver -- should be harmless. Panayiotis Karabassis provices a one-liner to fix kernel bug 42903 (a system freeze). Randy Dunlap provides a one-line Kconfig change to prevent build failures with some configurations. Stone Piao provides an mwifiex sequence numbering fix and a fix to prevent mwifiex from attempting to include eapol frames in an aggregation frame. Finally, Tom Hughes provides an ath9k fix for a NULL pointer dereference. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k')
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.c2
-rw-r--r--drivers/net/wireless/ath/ath9k/recv.c7
2 files changed, 5 insertions, 4 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 1c68e56..995ca8e 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -622,7 +622,7 @@ static int __ath9k_hw_init(struct ath_hw *ah)
if (NR_CPUS > 1 && ah->config.serialize_regmode == SER_REG_MODE_AUTO) {
if (ah->hw_version.macVersion == AR_SREV_VERSION_5416_PCI ||
- ((AR_SREV_9160(ah) || AR_SREV_9280(ah)) &&
+ ((AR_SREV_9160(ah) || AR_SREV_9280(ah) || AR_SREV_9287(ah)) &&
!ah->is_pciexpress)) {
ah->config.serialize_regmode =
SER_REG_MODE_ON;
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index e1fcc68..0735aeb 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -695,9 +695,9 @@ static bool ath_edma_get_buffers(struct ath_softc *sc,
__skb_unlink(skb, &rx_edma->rx_fifo);
list_add_tail(&bf->list, &sc->rx.rxbuf);
ath_rx_edma_buf_link(sc, qtype);
- } else {
- bf = NULL;
}
+
+ bf = NULL;
}
*dest = bf;
@@ -822,7 +822,8 @@ static bool ath9k_rx_accept(struct ath_common *common,
* descriptor does contain a valid key index. This has been observed
* mostly with CCMP encryption.
*/
- if (rx_stats->rs_keyix == ATH9K_RXKEYIX_INVALID)
+ if (rx_stats->rs_keyix == ATH9K_RXKEYIX_INVALID ||
+ !test_bit(rx_stats->rs_keyix, common->ccmp_keymap))
rx_stats->rs_status &= ~ATH9K_RXERR_KEYMISS;
if (!rx_stats->rs_datalen) {