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

Commit e974f3ac authored by Serge Vasilugin's avatar Serge Vasilugin Committed by Kalle Valo
Browse files

rt2x00: rt2800lib: correctly set HT20/HT40 filter



Simple patch to correct HT20/HT40 filter setting.
Tested with Rt3290, Rt3352 and Rt5350

Signed-off-by: default avatarSerge Vasilugin <vasilugin@yandex.ru>
Signed-off-by: default avatarDaniel Golle <daniel@makrotopia.org>
Acked-by: default avatarStanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent feecb0cb
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -2286,6 +2286,8 @@ struct mac_iveiv_entry {
#define RFCSR30_RX_H20M			FIELD8(0x04)
#define RFCSR30_RX_H20M			FIELD8(0x04)
#define RFCSR30_RX_VCM			FIELD8(0x18)
#define RFCSR30_RX_VCM			FIELD8(0x18)
#define RFCSR30_RF_CALIBRATION		FIELD8(0x80)
#define RFCSR30_RF_CALIBRATION		FIELD8(0x80)
#define RF3322_RFCSR30_TX_H20M		FIELD8(0x01)
#define RF3322_RFCSR30_RX_H20M		FIELD8(0x02)


/*
/*
 * RFCSR 31:
 * RFCSR 31:
+11 −2
Original line number Original line Diff line number Diff line
@@ -3220,8 +3220,17 @@ static void rt2800_config_channel(struct rt2x00_dev *rt2x00dev,
	    rt2x00_rf(rt2x00dev, RF5390) ||
	    rt2x00_rf(rt2x00dev, RF5390) ||
	    rt2x00_rf(rt2x00dev, RF5392)) {
	    rt2x00_rf(rt2x00dev, RF5392)) {
		rt2800_rfcsr_read(rt2x00dev, 30, &rfcsr);
		rt2800_rfcsr_read(rt2x00dev, 30, &rfcsr);
		rt2x00_set_field8(&rfcsr, RFCSR30_TX_H20M, 0);
		if (rt2x00_rf(rt2x00dev, RF3322)) {
		rt2x00_set_field8(&rfcsr, RFCSR30_RX_H20M, 0);
			rt2x00_set_field8(&rfcsr, RF3322_RFCSR30_TX_H20M,
					  conf_is_ht40(conf));
			rt2x00_set_field8(&rfcsr, RF3322_RFCSR30_RX_H20M,
					  conf_is_ht40(conf));
		} else {
			rt2x00_set_field8(&rfcsr, RFCSR30_TX_H20M,
					  conf_is_ht40(conf));
			rt2x00_set_field8(&rfcsr, RFCSR30_RX_H20M,
					  conf_is_ht40(conf));
		}
		rt2800_rfcsr_write(rt2x00dev, 30, rfcsr);
		rt2800_rfcsr_write(rt2x00dev, 30, rfcsr);


		rt2800_rfcsr_read(rt2x00dev, 3, &rfcsr);
		rt2800_rfcsr_read(rt2x00dev, 3, &rfcsr);