aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2800lib.c
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2011-09-20 14:11:55 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-09-20 14:11:55 -0400
commit4d8b61490c14a36efdee4a8bf523e26809df05ac (patch)
treee8a37cac291bb64fa3d85ac27df45f56d493f2cb /drivers/net/wireless/rt2x00/rt2800lib.c
parentc9df56b48e4ff003eaebd680ec7a45342dcd03ea (diff)
parent8c23516fbb209ccf8f8c36268311c721faff29ee (diff)
Merge branch 'master' of git://git.infradead.org/users/linville/wireless
Conflicts: drivers/net/wireless/iwlwifi/iwl-pci.c drivers/net/wireless/iwlwifi/iwl-trans-pcie-tx.c drivers/net/wireless/rt2x00/rt2800usb.c drivers/net/wireless/wl12xx/main.c
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2800lib.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2800lib.c47
1 files changed, 26 insertions, 21 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
index a5ddb39ca4a..31c98509f7e 100644
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
@@ -3769,14 +3769,15 @@ static void rt2800_efuse_read(struct rt2x00_dev *rt2x00dev, unsigned int i)
3769 rt2800_regbusy_read(rt2x00dev, EFUSE_CTRL, EFUSE_CTRL_KICK, &reg); 3769 rt2800_regbusy_read(rt2x00dev, EFUSE_CTRL, EFUSE_CTRL_KICK, &reg);
3770 3770
3771 /* Apparently the data is read from end to start */ 3771 /* Apparently the data is read from end to start */
3772 rt2800_register_read_lock(rt2x00dev, EFUSE_DATA3, 3772 rt2800_register_read_lock(rt2x00dev, EFUSE_DATA3, &reg);
3773 (u32 *)&rt2x00dev->eeprom[i]); 3773 /* The returned value is in CPU order, but eeprom is le */
3774 rt2800_register_read_lock(rt2x00dev, EFUSE_DATA2, 3774 rt2x00dev->eeprom[i] = cpu_to_le32(reg);
3775 (u32 *)&rt2x00dev->eeprom[i + 2]); 3775 rt2800_register_read_lock(rt2x00dev, EFUSE_DATA2, &reg);
3776 rt2800_register_read_lock(rt2x00dev, EFUSE_DATA1, 3776 *(u32 *)&rt2x00dev->eeprom[i + 2] = cpu_to_le32(reg);
3777 (u32 *)&rt2x00dev->eeprom[i + 4]); 3777 rt2800_register_read_lock(rt2x00dev, EFUSE_DATA1, &reg);
3778 rt2800_register_read_lock(rt2x00dev, EFUSE_DATA0, 3778 *(u32 *)&rt2x00dev->eeprom[i + 4] = cpu_to_le32(reg);
3779 (u32 *)&rt2x00dev->eeprom[i + 6]); 3779 rt2800_register_read_lock(rt2x00dev, EFUSE_DATA0, &reg);
3780 *(u32 *)&rt2x00dev->eeprom[i + 6] = cpu_to_le32(reg);
3780 3781
3781 mutex_unlock(&rt2x00dev->csr_mutex); 3782 mutex_unlock(&rt2x00dev->csr_mutex);
3782} 3783}
@@ -3942,19 +3943,23 @@ int rt2800_init_eeprom(struct rt2x00_dev *rt2x00dev)
3942 return -ENODEV; 3943 return -ENODEV;
3943 } 3944 }
3944 3945
3945 if (!rt2x00_rf(rt2x00dev, RF2820) && 3946 switch (rt2x00dev->chip.rf) {
3946 !rt2x00_rf(rt2x00dev, RF2850) && 3947 case RF2820:
3947 !rt2x00_rf(rt2x00dev, RF2720) && 3948 case RF2850:
3948 !rt2x00_rf(rt2x00dev, RF2750) && 3949 case RF2720:
3949 !rt2x00_rf(rt2x00dev, RF3020) && 3950 case RF2750:
3950 !rt2x00_rf(rt2x00dev, RF2020) && 3951 case RF3020:
3951 !rt2x00_rf(rt2x00dev, RF3021) && 3952 case RF2020:
3952 !rt2x00_rf(rt2x00dev, RF3022) && 3953 case RF3021:
3953 !rt2x00_rf(rt2x00dev, RF3052) && 3954 case RF3022:
3954 !rt2x00_rf(rt2x00dev, RF3320) && 3955 case RF3052:
3955 !rt2x00_rf(rt2x00dev, RF5370) && 3956 case RF3320:
3956 !rt2x00_rf(rt2x00dev, RF5390)) { 3957 case RF5370:
3957 ERROR(rt2x00dev, "Invalid RF chipset detected.\n"); 3958 case RF5390:
3959 break;
3960 default:
3961 ERROR(rt2x00dev, "Invalid RF chipset 0x%x detected.\n",
3962 rt2x00dev->chip.rf);
3958 return -ENODEV; 3963 return -ENODEV;
3959 } 3964 }
3960 3965