From: Luis R. Rodriguez Date: Mon, 30 Aug 2010 23:26:32 +0000 (-0400) Subject: ath9k_hw: Fix EEPROM uncompress block reading on AR9003 X-Git-Tag: v2.6.35.5~96 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5db688f45431d16ac961b441d4125f7b1243051d;p=thirdparty%2Fkernel%2Fstable.git ath9k_hw: Fix EEPROM uncompress block reading on AR9003 commit 803288e61e346ba367373bc7d5eeb6e11c81a33c upstream. The EEPROM is compressed on AR9003, upon decompression the wrong upper limit was being used for the block which prevented the 5 GHz CTL indexes from being used, which are stored towards the end of the EEPROM block. This fix allows the actual intended regulatory limits to be used on AR9003 hardware. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c index cb4e7daf87f1c..5543465a32dae 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c +++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c @@ -768,7 +768,7 @@ static bool ar9300_uncompress_block(struct ath_hw *ah, length = block[it+1]; length &= 0xff; - if (length > 0 && spot >= 0 && spot+length < mdataSize) { + if (length > 0 && spot >= 0 && spot+length <= mdataSize) { ath_print(common, ATH_DBG_EEPROM, "Restore at %d: spot=%d " "offset=%d length=%d\n",