mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-15 15:04:27 +08:00
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>
This commit is contained in:
parent
9714d315d2
commit
4d7ede7f5a
@ -126,11 +126,6 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev,
|
||||
* ANTENNA_SW_DIVERSITY state to the driver.
|
||||
* If that happens, fallback to hardware defaults,
|
||||
* or our own default.
|
||||
* If diversity handling is active for a particular antenna,
|
||||
* we shouldn't overwrite that antenna.
|
||||
* The calls to rt2x00lib_config_antenna_check()
|
||||
* might have caused that we restore back to the already
|
||||
* active setting. If that has happened we can quit.
|
||||
*/
|
||||
if (!(ant->flags & ANTENNA_RX_DIVERSITY))
|
||||
config.rx = rt2x00lib_config_antenna_check(config.rx, def->rx);
|
||||
@ -142,9 +137,6 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev,
|
||||
else
|
||||
config.tx = active->tx;
|
||||
|
||||
if (config.rx == active->rx && config.tx == active->tx)
|
||||
return;
|
||||
|
||||
/*
|
||||
* Antenna setup changes require the RX to be disabled,
|
||||
* else the changes will be ignored by the device.
|
||||
|
Loading…
Reference in New Issue
Block a user