diff options
author | John W. Linville <linville@tuxdriver.com> | 2010-05-26 13:33:31 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-08-16 15:23:42 -0400 |
commit | 4d7ede7f5ad58c5316335b9018ddef58bd687def (patch) | |
tree | ef1ba058539462d2372596af43fae96ecd17350e /drivers | |
parent | 9714d315d28aef77a097fe905b25cc273c3d72ad (diff) |
rt2x00: do not shortcut rt2x00lib_config_antenna
This function was exiting early if the existing diversity settings
were unchanged. Unfortunately, in some cases the antenna configuration
is not initialized at all.
https://bugzilla.kernel.org/show_bug.cgi?id=14751
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Cc: Gertjan van Wingerde <gwingerde@gmail.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00config.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00config.c b/drivers/net/wireless/rt2x00/rt2x00config.c index 953dc4f2c6af..fb23af40008b 100644 --- a/drivers/net/wireless/rt2x00/rt2x00config.c +++ b/drivers/net/wireless/rt2x00/rt2x00config.c | |||
@@ -126,11 +126,6 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev, | |||
126 | * ANTENNA_SW_DIVERSITY state to the driver. | 126 | * ANTENNA_SW_DIVERSITY state to the driver. |
127 | * If that happens, fallback to hardware defaults, | 127 | * If that happens, fallback to hardware defaults, |
128 | * or our own default. | 128 | * or our own default. |
129 | * If diversity handling is active for a particular antenna, | ||
130 | * we shouldn't overwrite that antenna. | ||
131 | * The calls to rt2x00lib_config_antenna_check() | ||
132 | * might have caused that we restore back to the already | ||
133 | * active setting. If that has happened we can quit. | ||
134 | */ | 129 | */ |
135 | if (!(ant->flags & ANTENNA_RX_DIVERSITY)) | 130 | if (!(ant->flags & ANTENNA_RX_DIVERSITY)) |
136 | config.rx = rt2x00lib_config_antenna_check(config.rx, def->rx); | 131 | config.rx = rt2x00lib_config_antenna_check(config.rx, def->rx); |
@@ -142,9 +137,6 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev, | |||
142 | else | 137 | else |
143 | config.tx = active->tx; | 138 | config.tx = active->tx; |
144 | 139 | ||
145 | if (config.rx == active->rx && config.tx == active->tx) | ||
146 | return; | ||
147 | |||
148 | /* | 140 | /* |
149 | * Antenna setup changes require the RX to be disabled, | 141 | * Antenna setup changes require the RX to be disabled, |
150 | * else the changes will be ignored by the device. | 142 | * else the changes will be ignored by the device. |