提交 4d7ede7f 编写于 作者: J John W. Linville

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=14751Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
Acked-by: NIvo van Doorn <IvDoorn@gmail.com>
Cc: Gertjan van Wingerde <gwingerde@gmail.com>
上级 9714d315
...@@ -126,11 +126,6 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev, ...@@ -126,11 +126,6 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev,
* ANTENNA_SW_DIVERSITY state to the driver. * ANTENNA_SW_DIVERSITY state to the driver.
* If that happens, fallback to hardware defaults, * If that happens, fallback to hardware defaults,
* or our own default. * 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)) if (!(ant->flags & ANTENNA_RX_DIVERSITY))
config.rx = rt2x00lib_config_antenna_check(config.rx, def->rx); config.rx = rt2x00lib_config_antenna_check(config.rx, def->rx);
...@@ -142,9 +137,6 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev, ...@@ -142,9 +137,6 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev,
else else
config.tx = active->tx; config.tx = active->tx;
if (config.rx == active->rx && config.tx == active->tx)
return;
/* /*
* Antenna setup changes require the RX to be disabled, * Antenna setup changes require the RX to be disabled,
* else the changes will be ignored by the device. * else the changes will be ignored by the device.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册