diff options
author | Gertjan van Wingerde <gwingerde@gmail.com> | 2012-02-06 17:45:12 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-02-08 15:26:31 -0500 |
commit | 58b8ae14d58319bff63a30a9e1c0ebb9c07f2243 (patch) | |
tree | 9a5c8a3f799c4de4bfd40f9e79e70d069c551a79 /drivers | |
parent | 0cd461efcc1df6763b86b29ef4d6ee1cb923aa47 (diff) |
rt2x00: Fix RT3572 channel switch RFCSR 7 programming.
Align with the v2.5.0.0 Ralink RT3572 driver.
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Acked-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2800.h | 10 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2800lib.c | 7 |
2 files changed, 12 insertions, 5 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2800.h b/drivers/net/wireless/rt2x00/rt2800.h index 8aabd0dc02c3..c6648b02bf81 100644 --- a/drivers/net/wireless/rt2x00/rt2800.h +++ b/drivers/net/wireless/rt2x00/rt2800.h | |||
@@ -1819,10 +1819,12 @@ struct mac_iveiv_entry { | |||
1819 | * RFCSR 7: | 1819 | * RFCSR 7: |
1820 | */ | 1820 | */ |
1821 | #define RFCSR7_RF_TUNING FIELD8(0x01) | 1821 | #define RFCSR7_RF_TUNING FIELD8(0x01) |
1822 | #define RFCSR7_R02 FIELD8(0x07) | 1822 | #define RFCSR7_BIT1 FIELD8(0x02) |
1823 | #define RFCSR7_R3 FIELD8(0x08) | 1823 | #define RFCSR7_BIT2 FIELD8(0x04) |
1824 | #define RFCSR7_R45 FIELD8(0x30) | 1824 | #define RFCSR7_BIT3 FIELD8(0x08) |
1825 | #define RFCSR7_R67 FIELD8(0xc0) | 1825 | #define RFCSR7_BIT4 FIELD8(0x10) |
1826 | #define RFCSR7_BIT5 FIELD8(0x20) | ||
1827 | #define RFCSR7_BITS67 FIELD8(0xc0) | ||
1826 | 1828 | ||
1827 | /* | 1829 | /* |
1828 | * RFCSR 11: | 1830 | * RFCSR 11: |
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c index 135e8a40edd3..395453c41e23 100644 --- a/drivers/net/wireless/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/rt2x00/rt2800lib.c | |||
@@ -1865,7 +1865,12 @@ static void rt2800_config_channel_rf3052(struct rt2x00_dev *rt2x00dev, | |||
1865 | rt2800_rfcsr_write(rt2x00dev, 27, 0x00); | 1865 | rt2800_rfcsr_write(rt2x00dev, 27, 0x00); |
1866 | rt2800_rfcsr_write(rt2x00dev, 29, 0x9b); | 1866 | rt2800_rfcsr_write(rt2x00dev, 29, 0x9b); |
1867 | } else { | 1867 | } else { |
1868 | rt2800_rfcsr_write(rt2x00dev, 7, 0x14); | 1868 | rt2800_rfcsr_read(rt2x00dev, 7, &rfcsr); |
1869 | rt2x00_set_field8(&rfcsr, RFCSR7_BIT2, 1); | ||
1870 | rt2x00_set_field8(&rfcsr, RFCSR7_BIT3, 0); | ||
1871 | rt2x00_set_field8(&rfcsr, RFCSR7_BIT4, 1); | ||
1872 | rt2x00_set_field8(&rfcsr, RFCSR7_BITS67, 0); | ||
1873 | rt2800_rfcsr_write(rt2x00dev, 7, rfcsr); | ||
1869 | rt2800_rfcsr_write(rt2x00dev, 9, 0xc0); | 1874 | rt2800_rfcsr_write(rt2x00dev, 9, 0xc0); |
1870 | rt2800_rfcsr_write(rt2x00dev, 10, 0xf1); | 1875 | rt2800_rfcsr_write(rt2x00dev, 10, 0xf1); |
1871 | rt2800_rfcsr_write(rt2x00dev, 11, 0x00); | 1876 | rt2800_rfcsr_write(rt2x00dev, 11, 0x00); |