aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath5k
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath5k')
-rw-r--r--drivers/net/wireless/ath5k/base.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c
index 114520258b78..c1de1ef09e59 100644
--- a/drivers/net/wireless/ath5k/base.c
+++ b/drivers/net/wireless/ath5k/base.c
@@ -1540,7 +1540,7 @@ ath5k_rx_decrypted(struct ath5k_softc *sc, struct ath5k_desc *ds,
1540 struct sk_buff *skb, struct ath5k_rx_status *rs) 1540 struct sk_buff *skb, struct ath5k_rx_status *rs)
1541{ 1541{
1542 struct ieee80211_hdr *hdr = (void *)skb->data; 1542 struct ieee80211_hdr *hdr = (void *)skb->data;
1543 unsigned int keyix, hlen = ieee80211_get_hdrlen_from_skb(skb); 1543 unsigned int keyix, hlen;
1544 1544
1545 if (!(rs->rs_status & AR5K_RXERR_DECRYPT) && 1545 if (!(rs->rs_status & AR5K_RXERR_DECRYPT) &&
1546 rs->rs_keyix != AR5K_RXKEYIX_INVALID) 1546 rs->rs_keyix != AR5K_RXKEYIX_INVALID)
@@ -1549,6 +1549,7 @@ ath5k_rx_decrypted(struct ath5k_softc *sc, struct ath5k_desc *ds,
1549 /* Apparently when a default key is used to decrypt the packet 1549 /* Apparently when a default key is used to decrypt the packet
1550 the hw does not set the index used to decrypt. In such cases 1550 the hw does not set the index used to decrypt. In such cases
1551 get the index from the packet. */ 1551 get the index from the packet. */
1552 hlen = ieee80211_hdrlen(hdr->frame_control);
1552 if (ieee80211_has_protected(hdr->frame_control) && 1553 if (ieee80211_has_protected(hdr->frame_control) &&
1553 !(rs->rs_status & AR5K_RXERR_DECRYPT) && 1554 !(rs->rs_status & AR5K_RXERR_DECRYPT) &&
1554 skb->len >= hlen + 4) { 1555 skb->len >= hlen + 4) {