diff options
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2800lib.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c index eff0f56cf618..47ef81ba605d 100644 --- a/drivers/net/wireless/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/rt2x00/rt2800lib.c | |||
@@ -4442,11 +4442,17 @@ static inline void rt2800_set_vgc(struct rt2x00_dev *rt2x00dev, | |||
4442 | struct link_qual *qual, u8 vgc_level) | 4442 | struct link_qual *qual, u8 vgc_level) |
4443 | { | 4443 | { |
4444 | if (qual->vgc_level != vgc_level) { | 4444 | if (qual->vgc_level != vgc_level) { |
4445 | if (rt2x00_rt(rt2x00dev, RT5592)) { | 4445 | if (rt2x00_rt(rt2x00dev, RT3572) || |
4446 | rt2x00_rt(rt2x00dev, RT3593)) { | ||
4447 | rt2800_bbp_write_with_rx_chain(rt2x00dev, 66, | ||
4448 | vgc_level); | ||
4449 | } else if (rt2x00_rt(rt2x00dev, RT5592)) { | ||
4446 | rt2800_bbp_write(rt2x00dev, 83, qual->rssi > -65 ? 0x4a : 0x7a); | 4450 | rt2800_bbp_write(rt2x00dev, 83, qual->rssi > -65 ? 0x4a : 0x7a); |
4447 | rt2800_bbp_write_with_rx_chain(rt2x00dev, 66, vgc_level); | 4451 | rt2800_bbp_write_with_rx_chain(rt2x00dev, 66, vgc_level); |
4448 | } else | 4452 | } else { |
4449 | rt2800_bbp_write(rt2x00dev, 66, vgc_level); | 4453 | rt2800_bbp_write(rt2x00dev, 66, vgc_level); |
4454 | } | ||
4455 | |||
4450 | qual->vgc_level = vgc_level; | 4456 | qual->vgc_level = vgc_level; |
4451 | qual->vgc_level_reg = vgc_level; | 4457 | qual->vgc_level_reg = vgc_level; |
4452 | } | 4458 | } |