Message ID | 20170116030820.GA32255@makrotopia.org (mailing list archive) |
---|---|
State | Accepted |
Commit | e974f3acafe3c7cc84ceef35c8e6ab59dea2f91a |
Delegated to: | Kalle Valo |
Headers | show |
On Mon, Jan 16, 2017 at 04:08:38AM +0100, Daniel Golle wrote: > From: Serge Vasilugin <vasilugin@yandex.ru> > > Simple patch to correct HT20/HT40 filter setting. > Tested with Rt3290, Rt3352 and Rt5350 > > Signed-off-by: Serge Vasilugin <vasilugin@yandex.ru> > Signed-off-by: Daniel Golle <daniel@makrotopia.org> Acked-by: Stanislaw Gruszka <sgruszka@redhat.com>
Daniel Golle <daniel@makrotopia.org> wrote: > From: Serge Vasilugin <vasilugin@yandex.ru> > > Simple patch to correct HT20/HT40 filter setting. > Tested with Rt3290, Rt3352 and Rt5350 > > Signed-off-by: Serge Vasilugin <vasilugin@yandex.ru> > Signed-off-by: Daniel Golle <daniel@makrotopia.org> > Acked-by: Stanislaw Gruszka <sgruszka@redhat.com> 3 patches applied to wireless-drivers-next.git, thanks. e974f3acafe3 rt2x00: rt2800lib: correctly set HT20/HT40 filter b8c2db58d5a1 rt2x00: rt2800lib: fix rf id for RT3352 dab38e7d251d rt2x00: rt2800lib: support for for RT3352 with external PA
diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800.h b/drivers/net/wireless/ralink/rt2x00/rt2800.h index 02ed0d512734..8024fc1a6ae2 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt2800.h +++ b/drivers/net/wireless/ralink/rt2x00/rt2800.h @@ -2303,6 +2303,8 @@ struct mac_iveiv_entry { #define RFCSR30_RX_H20M FIELD8(0x04) #define RFCSR30_RX_VCM FIELD8(0x18) #define RFCSR30_RF_CALIBRATION FIELD8(0x80) +#define RF3322_RFCSR30_TX_H20M FIELD8(0x01) +#define RF3322_RFCSR30_RX_H20M FIELD8(0x02) /* * RFCSR 31: diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c index ff653f0d43d2..4f454e143266 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c @@ -3299,8 +3299,17 @@ static void rt2800_config_channel(struct rt2x00_dev *rt2x00dev, rt2x00_rf(rt2x00dev, RF5390) || rt2x00_rf(rt2x00dev, RF5392)) { rt2800_rfcsr_read(rt2x00dev, 30, &rfcsr); - rt2x00_set_field8(&rfcsr, RFCSR30_TX_H20M, 0); - rt2x00_set_field8(&rfcsr, RFCSR30_RX_H20M, 0); + if (rt2x00_rf(rt2x00dev, RF3322)) { + 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_read(rt2x00dev, 3, &rfcsr);