]> err.no Git - linux-2.6/blobdiff - drivers/net/wireless/rt2x00/rt2x00config.c
rt2x00: Add new D-Link USB ID
[linux-2.6] / drivers / net / wireless / rt2x00 / rt2x00config.c
index 72cfe00c1ed7385834e2574fe1e24349785d7dd2..07adc576db49dc28f92819c6ec46f04e926b4b48 100644 (file)
@@ -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,