]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/wireless/rt2x00/rt2x00dev.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6-omap-h63xx.git] / drivers / net / wireless / rt2x00 / rt2x00dev.c
index 1b7f87799a7ec31ee967487710cebf0d2da864e9..f42283ad7b023b697e4aa9375b5c01557ae54f2b 100644 (file)
@@ -434,13 +434,8 @@ static void rt2x00lib_intf_scheduled_iter(void *data, u8 *mac,
        if (!test_bit(DEVICE_ENABLED_RADIO, &rt2x00dev->flags))
                return;
 
-       if (delayed_flags & DELAYED_UPDATE_BEACON) {
-               struct ieee80211_if_conf conf;
-               conf.bssid = conf.ssid = NULL;
-               conf.ssid_len = 0;
-               conf.changed = IEEE80211_IFCC_BEACON;
-               rt2x00dev->ops->hw->config_interface(rt2x00dev->hw, vif, &conf);
-       }
+       if (delayed_flags & DELAYED_UPDATE_BEACON)
+               rt2x00queue_update_beacon(rt2x00dev, vif);
 
        if (delayed_flags & DELAYED_CONFIG_ERP)
                rt2x00lib_config_erp(rt2x00dev, intf, &conf);
@@ -1018,6 +1013,7 @@ int rt2x00lib_start(struct rt2x00_dev *rt2x00dev)
        rt2x00dev->intf_associated = 0;
 
        __set_bit(DEVICE_STARTED, &rt2x00dev->flags);
+       __set_bit(DEVICE_DIRTY_CONFIG, &rt2x00dev->flags);
 
        return 0;
 }
@@ -1242,9 +1238,9 @@ int rt2x00lib_resume(struct rt2x00_dev *rt2x00dev)
        /*
         * Reconfigure device.
         */
-       rt2x00lib_config(rt2x00dev, &rt2x00dev->hw->conf, 1);
-       if (!rt2x00dev->hw->conf.radio_enabled)
-               rt2x00lib_disable_radio(rt2x00dev);
+       retval = rt2x00mac_config(rt2x00dev->hw, &rt2x00dev->hw->conf);
+       if (retval)
+               goto exit;
 
        /*
         * Iterator over each active interface to