[mac80211] fixes #31068, rename 999-ath9k.patch to 501-ath9k-eeprom_endianess.patch
authorJohn Crispin <john@openwrt.org>
Sun, 25 Mar 2012 09:07:09 +0000 (09:07 +0000)
committerJohn Crispin <john@openwrt.org>
Sun, 25 Mar 2012 09:07:09 +0000 (09:07 +0000)
SVN-Revision: 31071

package/mac80211/patches/501-ath9k-eeprom_endianess.patch [new file with mode: 0644]
package/mac80211/patches/999-ath9k.patch [deleted file]

diff --git a/package/mac80211/patches/501-ath9k-eeprom_endianess.patch b/package/mac80211/patches/501-ath9k-eeprom_endianess.patch
new file mode 100644 (file)
index 0000000..25d5450
--- /dev/null
@@ -0,0 +1,48 @@
+--- a/drivers/net/wireless/ath/ath9k/eeprom_def.c
++++ b/drivers/net/wireless/ath/ath9k/eeprom_def.c
+@@ -267,7 +267,7 @@ static int ath9k_hw_def_check_eeprom(str
+       struct ar5416_eeprom_def *eep =
+               (struct ar5416_eeprom_def *) &ah->eeprom.def;
+       struct ath_common *common = ath9k_hw_common(ah);
+-      u16 *eepdata, temp, magic, magic2;
++      u16 *eepdata, temp, magic;
+       u32 sum = 0, el;
+       bool need_swap = false;
+       int i, addr, size;
+@@ -277,27 +277,15 @@ static int ath9k_hw_def_check_eeprom(str
+               return false;
+       }
+-      if (!ath9k_hw_use_flash(ah)) {
+-              ath_dbg(common, EEPROM, "Read Magic = 0x%04X\n", magic);
+-
+-              if (magic != AR5416_EEPROM_MAGIC) {
+-                      magic2 = swab16(magic);
+-
+-                      if (magic2 == AR5416_EEPROM_MAGIC) {
+-                              size = sizeof(struct ar5416_eeprom_def);
+-                              need_swap = true;
+-                              eepdata = (u16 *) (&ah->eeprom);
+-
+-                              for (addr = 0; addr < size / sizeof(u16); addr++) {
+-                                      temp = swab16(*eepdata);
+-                                      *eepdata = temp;
+-                                      eepdata++;
+-                              }
+-                      } else {
+-                              ath_err(common,
+-                                      "Invalid EEPROM Magic. Endianness mismatch.\n");
+-                              return -EINVAL;
+-                      }
++      if (swab16(magic) == AR5416_EEPROM_MAGIC) {
++              size = sizeof(struct ar5416_eeprom_def);
++              need_swap = true;
++              eepdata = (u16 *) (&ah->eeprom);
++
++              for (addr = 0; addr < size / sizeof(u16); addr++) {
++                      temp = swab16(*eepdata);
++                      *eepdata = temp;
++                      eepdata++;
+               }
+       }
diff --git a/package/mac80211/patches/999-ath9k.patch b/package/mac80211/patches/999-ath9k.patch
deleted file mode 100644 (file)
index 25d5450..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
---- a/drivers/net/wireless/ath/ath9k/eeprom_def.c
-+++ b/drivers/net/wireless/ath/ath9k/eeprom_def.c
-@@ -267,7 +267,7 @@ static int ath9k_hw_def_check_eeprom(str
-       struct ar5416_eeprom_def *eep =
-               (struct ar5416_eeprom_def *) &ah->eeprom.def;
-       struct ath_common *common = ath9k_hw_common(ah);
--      u16 *eepdata, temp, magic, magic2;
-+      u16 *eepdata, temp, magic;
-       u32 sum = 0, el;
-       bool need_swap = false;
-       int i, addr, size;
-@@ -277,27 +277,15 @@ static int ath9k_hw_def_check_eeprom(str
-               return false;
-       }
--      if (!ath9k_hw_use_flash(ah)) {
--              ath_dbg(common, EEPROM, "Read Magic = 0x%04X\n", magic);
--
--              if (magic != AR5416_EEPROM_MAGIC) {
--                      magic2 = swab16(magic);
--
--                      if (magic2 == AR5416_EEPROM_MAGIC) {
--                              size = sizeof(struct ar5416_eeprom_def);
--                              need_swap = true;
--                              eepdata = (u16 *) (&ah->eeprom);
--
--                              for (addr = 0; addr < size / sizeof(u16); addr++) {
--                                      temp = swab16(*eepdata);
--                                      *eepdata = temp;
--                                      eepdata++;
--                              }
--                      } else {
--                              ath_err(common,
--                                      "Invalid EEPROM Magic. Endianness mismatch.\n");
--                              return -EINVAL;
--                      }
-+      if (swab16(magic) == AR5416_EEPROM_MAGIC) {
-+              size = sizeof(struct ar5416_eeprom_def);
-+              need_swap = true;
-+              eepdata = (u16 *) (&ah->eeprom);
-+
-+              for (addr = 0; addr < size / sizeof(u16); addr++) {
-+                      temp = swab16(*eepdata);
-+                      *eepdata = temp;
-+                      eepdata++;
-               }
-       }