diff options
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00config.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00config.c b/drivers/net/wireless/rt2x00/rt2x00config.c index b4fad744503e..9f0733bc4fae 100644 --- a/drivers/net/wireless/rt2x00/rt2x00config.c +++ b/drivers/net/wireless/rt2x00/rt2x00config.c | |||
@@ -103,6 +103,13 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev, | |||
103 | libconf.ant.tx = tx; | 103 | libconf.ant.tx = tx; |
104 | 104 | ||
105 | /* | 105 | /* |
106 | * Antenna setup changes require the RX to be disabled, | ||
107 | * else the changes will be ignored by the device. | ||
108 | */ | ||
109 | if (test_bit(DEVICE_ENABLED_RADIO, &rt2x00dev->flags)) | ||
110 | rt2x00lib_toggle_rx(rt2x00dev, STATE_RADIO_RX_OFF); | ||
111 | |||
112 | /* | ||
106 | * Write new antenna setup to device and reset the link tuner. | 113 | * Write new antenna setup to device and reset the link tuner. |
107 | * The latter is required since we need to recalibrate the | 114 | * The latter is required since we need to recalibrate the |
108 | * noise-sensitivity ratio for the new setup. | 115 | * noise-sensitivity ratio for the new setup. |
@@ -112,6 +119,9 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev, | |||
112 | 119 | ||
113 | rt2x00dev->link.ant.active.rx = libconf.ant.rx; | 120 | rt2x00dev->link.ant.active.rx = libconf.ant.rx; |
114 | rt2x00dev->link.ant.active.tx = libconf.ant.tx; | 121 | rt2x00dev->link.ant.active.tx = libconf.ant.tx; |
122 | |||
123 | if (test_bit(DEVICE_ENABLED_RADIO, &rt2x00dev->flags)) | ||
124 | rt2x00lib_toggle_rx(rt2x00dev, STATE_RADIO_RX_ON); | ||
115 | } | 125 | } |
116 | 126 | ||
117 | void rt2x00lib_config(struct rt2x00_dev *rt2x00dev, | 127 | void rt2x00lib_config(struct rt2x00_dev *rt2x00dev, |