Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 58b8ae14 authored by Gertjan van Wingerde's avatar Gertjan van Wingerde Committed by John W. Linville
Browse files

rt2x00: Fix RT3572 channel switch RFCSR 7 programming.



Align with the v2.5.0.0 Ralink RT3572 driver.

Signed-off-by: default avatarGertjan van Wingerde <gwingerde@gmail.com>
Acked-by: default avatarStanislaw Gruszka <sgruszka@redhat.com>
Acked-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 0cd461ef
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -1819,10 +1819,12 @@ struct mac_iveiv_entry {
 * RFCSR 7:
 */
#define RFCSR7_RF_TUNING		FIELD8(0x01)
#define RFCSR7_R02				FIELD8(0x07)
#define RFCSR7_R3				FIELD8(0x08)
#define RFCSR7_R45				FIELD8(0x30)
#define RFCSR7_R67				FIELD8(0xc0)
#define RFCSR7_BIT1			FIELD8(0x02)
#define RFCSR7_BIT2			FIELD8(0x04)
#define RFCSR7_BIT3			FIELD8(0x08)
#define RFCSR7_BIT4			FIELD8(0x10)
#define RFCSR7_BIT5			FIELD8(0x20)
#define RFCSR7_BITS67			FIELD8(0xc0)

/*
 * RFCSR 11:
+6 −1
Original line number Diff line number Diff line
@@ -1865,7 +1865,12 @@ static void rt2800_config_channel_rf3052(struct rt2x00_dev *rt2x00dev,
		rt2800_rfcsr_write(rt2x00dev, 27, 0x00);
		rt2800_rfcsr_write(rt2x00dev, 29, 0x9b);
	} else {
		rt2800_rfcsr_write(rt2x00dev, 7, 0x14);
		rt2800_rfcsr_read(rt2x00dev, 7, &rfcsr);
		rt2x00_set_field8(&rfcsr, RFCSR7_BIT2, 1);
		rt2x00_set_field8(&rfcsr, RFCSR7_BIT3, 0);
		rt2x00_set_field8(&rfcsr, RFCSR7_BIT4, 1);
		rt2x00_set_field8(&rfcsr, RFCSR7_BITS67, 0);
		rt2800_rfcsr_write(rt2x00dev, 7, rfcsr);
		rt2800_rfcsr_write(rt2x00dev, 9, 0xc0);
		rt2800_rfcsr_write(rt2x00dev, 10, 0xf1);
		rt2800_rfcsr_write(rt2x00dev, 11, 0x00);