diff options
author | Vivek Natarajan <vnatarajan@atheros.com> | 2010-04-27 03:35:38 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-04-27 16:09:22 -0400 |
commit | 3a37495268ab45507b4cab9d4cb18c5496ab7a10 (patch) | |
tree | b6daf13c82dd724683d82d00d82596fed67a0b59 | |
parent | 8a8572a821e5763525f5e4ac104bc28fd798fd5e (diff) |
ath9k: Avoid corrupt frames being forwarded to mac80211.
If bit 29 is set, MAC H/W can attempt to decrypt the received aggregate
with WEP or TKIP, eventhough the received frame may be a CRC failed
corrupted frame. If this bit is set, H/W obeys key type in keycache.
If it is not set and if the key type in keycache is neither open nor
AES, H/W forces key type to be open. But bit 29 should be set to 1
for AsyncFIFO feature to encrypt/decrypt the aggregate with WEP or TKIP.
Cc: stable@kernel.org
Reported-by: Johan Hovold <johan.hovold@lundinova.se>
Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: Ranga Rao Ravuri <ranga.ravuri@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ar5008_initvals.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ar9002_initvals.h | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar5008_initvals.h b/drivers/net/wireless/ath/ath9k/ar5008_initvals.h index cd953f6c4628..025c31ac6146 100644 --- a/drivers/net/wireless/ath/ath9k/ar5008_initvals.h +++ b/drivers/net/wireless/ath/ath9k/ar5008_initvals.h | |||
@@ -249,7 +249,7 @@ static const u32 ar5416Common[][2] = { | |||
249 | { 0x00008258, 0x00000000 }, | 249 | { 0x00008258, 0x00000000 }, |
250 | { 0x0000825c, 0x400000ff }, | 250 | { 0x0000825c, 0x400000ff }, |
251 | { 0x00008260, 0x00080922 }, | 251 | { 0x00008260, 0x00080922 }, |
252 | { 0x00008264, 0xa8000010 }, | 252 | { 0x00008264, 0x88000010 }, |
253 | { 0x00008270, 0x00000000 }, | 253 | { 0x00008270, 0x00000000 }, |
254 | { 0x00008274, 0x40000000 }, | 254 | { 0x00008274, 0x40000000 }, |
255 | { 0x00008278, 0x003e4180 }, | 255 | { 0x00008278, 0x003e4180 }, |
diff --git a/drivers/net/wireless/ath/ath9k/ar9002_initvals.h b/drivers/net/wireless/ath/ath9k/ar9002_initvals.h index f06313d3bad6..dae7f3304eb8 100644 --- a/drivers/net/wireless/ath/ath9k/ar9002_initvals.h +++ b/drivers/net/wireless/ath/ath9k/ar9002_initvals.h | |||
@@ -793,7 +793,7 @@ static const u32 ar9280Common_9280_2[][2] = { | |||
793 | { 0x00008258, 0x00000000 }, | 793 | { 0x00008258, 0x00000000 }, |
794 | { 0x0000825c, 0x400000ff }, | 794 | { 0x0000825c, 0x400000ff }, |
795 | { 0x00008260, 0x00080922 }, | 795 | { 0x00008260, 0x00080922 }, |
796 | { 0x00008264, 0xa8a00010 }, | 796 | { 0x00008264, 0x88a00010 }, |
797 | { 0x00008270, 0x00000000 }, | 797 | { 0x00008270, 0x00000000 }, |
798 | { 0x00008274, 0x40000000 }, | 798 | { 0x00008274, 0x40000000 }, |
799 | { 0x00008278, 0x003e4180 }, | 799 | { 0x00008278, 0x003e4180 }, |
@@ -1963,7 +1963,7 @@ static const u32 ar9285Common_9285[][2] = { | |||
1963 | { 0x00008258, 0x00000000 }, | 1963 | { 0x00008258, 0x00000000 }, |
1964 | { 0x0000825c, 0x400000ff }, | 1964 | { 0x0000825c, 0x400000ff }, |
1965 | { 0x00008260, 0x00080922 }, | 1965 | { 0x00008260, 0x00080922 }, |
1966 | { 0x00008264, 0xa8a00010 }, | 1966 | { 0x00008264, 0x88a00010 }, |
1967 | { 0x00008270, 0x00000000 }, | 1967 | { 0x00008270, 0x00000000 }, |
1968 | { 0x00008274, 0x40000000 }, | 1968 | { 0x00008274, 0x40000000 }, |
1969 | { 0x00008278, 0x003e4180 }, | 1969 | { 0x00008278, 0x003e4180 }, |
@@ -3185,7 +3185,7 @@ static const u32 ar9287Common_9287_1_0[][2] = { | |||
3185 | { 0x00008258, 0x00000000 }, | 3185 | { 0x00008258, 0x00000000 }, |
3186 | { 0x0000825c, 0x400000ff }, | 3186 | { 0x0000825c, 0x400000ff }, |
3187 | { 0x00008260, 0x00080922 }, | 3187 | { 0x00008260, 0x00080922 }, |
3188 | { 0x00008264, 0xa8a00010 }, | 3188 | { 0x00008264, 0x88a00010 }, |
3189 | { 0x00008270, 0x00000000 }, | 3189 | { 0x00008270, 0x00000000 }, |
3190 | { 0x00008274, 0x40000000 }, | 3190 | { 0x00008274, 0x40000000 }, |
3191 | { 0x00008278, 0x003e4180 }, | 3191 | { 0x00008278, 0x003e4180 }, |
@@ -4973,7 +4973,7 @@ static const u32 ar9271Common_9271[][2] = { | |||
4973 | { 0x00008258, 0x00000000 }, | 4973 | { 0x00008258, 0x00000000 }, |
4974 | { 0x0000825c, 0x400000ff }, | 4974 | { 0x0000825c, 0x400000ff }, |
4975 | { 0x00008260, 0x00080922 }, | 4975 | { 0x00008260, 0x00080922 }, |
4976 | { 0x00008264, 0xa8a00010 }, | 4976 | { 0x00008264, 0x88a00010 }, |
4977 | { 0x00008270, 0x00000000 }, | 4977 | { 0x00008270, 0x00000000 }, |
4978 | { 0x00008274, 0x40000000 }, | 4978 | { 0x00008274, 0x40000000 }, |
4979 | { 0x00008278, 0x003e4180 }, | 4979 | { 0x00008278, 0x003e4180 }, |