aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/wireless/rt2x00/rt2x00config.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-29 08:29:55 -0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-29 08:29:55 -0800
commit219ff3ad611ecfe8a2fd29b8c50a5313c9d15383 (patch)
tree69a9ad12ed64d0966ec63bb5c4699e3effb5490f /drivers/net/wireless/rt2x00/rt2x00config.c
parent547598d3a91f11b1f802bf0b122f777c3c22f26d (diff)
parent2335f8ec27e125208d8d2d3e257a82862c4977d6 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (79 commits) [X25]: Use proc_create() to setup ->proc_fops first [WANROUTER]: Use proc_create() to setup ->proc_fops first [8021Q]: Use proc_create() to setup ->proc_fops first [IPV4]: Use proc_create() to setup ->proc_fops first [IPV6]: Use proc_create() to setup ->proc_fops first [SCTP]: Use proc_create() to setup ->proc_fops first [PKTGEN]: Use proc_create() to setup ->proc_fops first [NEIGHBOUR]: Use proc_create() to setup ->proc_fops first [LLC]: Use proc_create() to setup ->proc_fops first [IPX]: Use proc_create() to setup ->proc_fops first [SUNRPC]: Use proc_create() to setup ->proc_fops first [ATM]: Use proc_create() to setup ->proc_fops first [SCTP]: Update AUTH structures to match declarations in draft-16. [SCTP]: Incorrect length was used in SCTP_*_AUTH_CHUNKS socket option [SCTP]: Clean up naming conventions of sctp protocol/address family registration [APPLETALK]: Use proc_create() to setup ->proc_fops first [BNX2X]: add bnx2x to MAINTAINERS [BNX2X]: update version, remove CVS strings [BNX2X]: Fix Xmit bugs [BNX2X]: Prevent PCI queue overflow ...
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00config.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00config.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00config.c b/drivers/net/wireless/rt2x00/rt2x00config.c
index 72cfe00c1ed..07adc576db4 100644
--- a/drivers/net/wireless/rt2x00/rt2x00config.c
+++ b/drivers/net/wireless/rt2x00/rt2x00config.c
@@ -97,12 +97,16 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev,
libconf.ant.rx = rx;
libconf.ant.tx = tx;
+ if (rx == rt2x00dev->link.ant.active.rx &&
+ tx == rt2x00dev->link.ant.active.tx)
+ return;
+
/*
* Antenna setup changes require the RX to be disabled,
* else the changes will be ignored by the device.
*/
if (test_bit(DEVICE_ENABLED_RADIO, &rt2x00dev->flags))
- rt2x00lib_toggle_rx(rt2x00dev, STATE_RADIO_RX_OFF);
+ rt2x00lib_toggle_rx(rt2x00dev, STATE_RADIO_RX_OFF_LINK);
/*
* Write new antenna setup to device and reset the link tuner.
@@ -116,7 +120,7 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev,
rt2x00dev->link.ant.active.tx = libconf.ant.tx;
if (test_bit(DEVICE_ENABLED_RADIO, &rt2x00dev->flags))
- rt2x00lib_toggle_rx(rt2x00dev, STATE_RADIO_RX_ON);
+ rt2x00lib_toggle_rx(rt2x00dev, STATE_RADIO_RX_ON_LINK);
}
void rt2x00lib_config(struct rt2x00_dev *rt2x00dev,