ath9k: fix compile warning on ath9k_hw_AR9287_check_eeprom()
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Mon, 3 Aug 2009 20:51:49 +0000 (13:51 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 4 Aug 2009 20:44:35 +0000 (16:44 -0400)
CC [M]  drivers/net/wireless/ath/ath9k/eeprom.o
drivers/net/wireless/ath/ath9k/eeprom.c: In function ‘ath9k_hw_AR9287_check_eeprom’:
drivers/net/wireless/ath/ath9k/eeprom.c:2866: warning: comparison of distinct pointer types lacks a cast

Cc: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/eeprom.c

index 9a09cc8e704461e4af5168ddd1a7e694ab483ce1..4cb64a0900bb6740ce514441638a7e2094dca996 100644 (file)
@@ -2892,7 +2892,6 @@ static bool ath9k_hw_AR9287_fill_eeprom(struct ath_hw *ah)
 }
 static int ath9k_hw_AR9287_check_eeprom(struct ath_hw *ah)
 {
-#define SIZE_EEPROM_87 (sizeof(struct ar9287_eeprom) / sizeof(u16))
        u32 sum = 0, el, integer;
        u16 temp, word, magic, magic2, *eepdata;
        int i, addr;
@@ -2918,7 +2917,9 @@ static int ath9k_hw_AR9287_check_eeprom(struct ath_hw *ah)
                                need_swap = true;
                                eepdata = (u16 *)(&ah->eeprom);
 
-                               for (addr = 0; addr < SIZE_EEPROM_87; addr++) {
+                               for (addr = 0;
+                                    addr < sizeof(struct ar9287_eeprom) / sizeof(u16);
+                                    addr++) {
                                        temp = swab16(*eepdata);
                                        *eepdata = temp;
                                        eepdata++;
@@ -2938,8 +2939,13 @@ static int ath9k_hw_AR9287_check_eeprom(struct ath_hw *ah)
        else
                el = ah->eeprom.map9287.baseEepHeader.length;
 
+       if (el > sizeof(struct ar9287_eeprom))
+               el = sizeof(struct ar9287_eeprom) / sizeof(u16);
+       else
+               el = el / sizeof(u16);
+
        eepdata = (u16 *)(&ah->eeprom);
-       for (i = 0; i < min(el, SIZE_EEPROM_87); i++)
+       for (i = 0; i < el; i++)
                sum ^= *eepdata++;
 
        if (need_swap) {
@@ -2990,7 +2996,6 @@ static int ath9k_hw_AR9287_check_eeprom(struct ath_hw *ah)
        }
 
        return 0;
-#undef SIZE_EEPROM_87
 }
 
 static u32 ath9k_hw_AR9287_get_eeprom(struct ath_hw *ah,