diff options
author | John W. Linville <linville@tuxdriver.com> | 2011-09-20 14:11:55 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-09-20 14:11:55 -0400 |
commit | 4d8b61490c14a36efdee4a8bf523e26809df05ac (patch) | |
tree | e8a37cac291bb64fa3d85ac27df45f56d493f2cb /drivers/net/wireless/rt2x00/rt2800lib.c | |
parent | c9df56b48e4ff003eaebd680ec7a45342dcd03ea (diff) | |
parent | 8c23516fbb209ccf8f8c36268311c721faff29ee (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.c | 47 |
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, ®); | 3769 | rt2800_regbusy_read(rt2x00dev, EFUSE_CTRL, EFUSE_CTRL_KICK, ®); |
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, ®); |
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, ®); |
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, ®); |
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, ®); |
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 | ||