ath9k: fall back to OTP ROM if the platform data does not contain valid eeprom data
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32044 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
7d6df5d239
commit
fd0573989c
|
@ -0,0 +1,25 @@
|
|||
--- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
|
||||
@@ -3260,10 +3260,20 @@ static int ar9300_eeprom_restore_interna
|
||||
int it;
|
||||
u16 checksum, mchecksum;
|
||||
struct ath_common *common = ath9k_hw_common(ah);
|
||||
+ struct ar9300_eeprom *eep;
|
||||
eeprom_read_op read;
|
||||
|
||||
- if (ath9k_hw_use_flash(ah))
|
||||
- return ar9300_eeprom_restore_flash(ah, mptr, mdata_size);
|
||||
+ if (ath9k_hw_use_flash(ah)) {
|
||||
+ u8 txrx;
|
||||
+
|
||||
+ ar9300_eeprom_restore_flash(ah, mptr, mdata_size);
|
||||
+
|
||||
+ /* check if eeprom contains valid data */
|
||||
+ eep = (struct ar9300_eeprom *) mptr;
|
||||
+ txrx = eep->baseEepHeader.txrxMask;
|
||||
+ if (txrx != 0 && txrx != 0xff)
|
||||
+ return 0;
|
||||
+ }
|
||||
|
||||
word = kzalloc(2048, GFP_KERNEL);
|
||||
if (!word)
|
Loading…
Reference in New Issue