*/
        __set_bit(DRIVER_REQUIRE_ATIM_QUEUE, &rt2x00dev->flags);
        __set_bit(DRIVER_REQUIRE_BEACON_GUARD, &rt2x00dev->flags);
-       __set_bit(DRIVER_REQUIRE_SCHEDULED, &rt2x00dev->flags);
        if (!modparam_nohwcrypt) {
                __set_bit(CONFIG_SUPPORT_HW_CRYPTO, &rt2x00dev->flags);
                __set_bit(DRIVER_REQUIRE_COPY_IV, &rt2x00dev->flags);
 
         * This device requires firmware.
         */
        __set_bit(DRIVER_REQUIRE_FIRMWARE, &rt2x00dev->flags);
-       __set_bit(DRIVER_REQUIRE_SCHEDULED, &rt2x00dev->flags);
        __set_bit(DRIVER_REQUIRE_L2PAD, &rt2x00dev->flags);
        if (!modparam_nohwcrypt)
                __set_bit(CONFIG_SUPPORT_HW_CRYPTO, &rt2x00dev->flags);
 
         */
        unsigned int delayed_flags;
 #define DELAYED_UPDATE_BEACON          0x00000001
-#define DELAYED_CONFIG_ERP             0x00000002
-#define DELAYED_LED_ASSOC              0x00000004
 
        /*
         * Software sequence counter, this is only required
        DRIVER_REQUIRE_FIRMWARE,
        DRIVER_REQUIRE_BEACON_GUARD,
        DRIVER_REQUIRE_ATIM_QUEUE,
-       DRIVER_REQUIRE_SCHEDULED,
        DRIVER_REQUIRE_DMA,
        DRIVER_REQUIRE_COPY_IV,
        DRIVER_REQUIRE_L2PAD,
 
 {
        struct rt2x00_dev *rt2x00dev = data;
        struct rt2x00_intf *intf = vif_to_intf(vif);
-       struct ieee80211_bss_conf conf;
        int delayed_flags;
 
        /*
         */
        spin_lock(&intf->lock);
 
-       memcpy(&conf, &vif->bss_conf, sizeof(conf));
        delayed_flags = intf->delayed_flags;
        intf->delayed_flags = 0;
 
 
        if (delayed_flags & DELAYED_UPDATE_BEACON)
                rt2x00queue_update_beacon(rt2x00dev, vif, true);
-
-       if (delayed_flags & DELAYED_CONFIG_ERP)
-               rt2x00lib_config_erp(rt2x00dev, intf, &conf);
-
-       if (delayed_flags & DELAYED_LED_ASSOC)
-               rt2x00leds_led_assoc(rt2x00dev, !!rt2x00dev->intf_associated);
 }
 
 static void rt2x00lib_intf_scheduled(struct work_struct *work)
 
                else
                        rt2x00dev->intf_associated--;
 
-               if (!test_bit(DRIVER_REQUIRE_SCHEDULED, &rt2x00dev->flags))
-                       rt2x00leds_led_assoc(rt2x00dev,
-                                            !!rt2x00dev->intf_associated);
-               else
-                       delayed |= DELAYED_LED_ASSOC;
+               rt2x00leds_led_assoc(rt2x00dev, !!rt2x00dev->intf_associated);
        }
 
        /*
         * When the erp information has changed, we should perform
         * additional configuration steps. For all other changes we are done.
         */
-       if (changes & ~(BSS_CHANGED_ASSOC | BSS_CHANGED_HT)) {
-               if (!test_bit(DRIVER_REQUIRE_SCHEDULED, &rt2x00dev->flags))
-                       rt2x00lib_config_erp(rt2x00dev, intf, bss_conf);
-               else
-                       delayed |= DELAYED_CONFIG_ERP;
-       }
+       if (changes & ~(BSS_CHANGED_ASSOC | BSS_CHANGED_HT))
+               rt2x00lib_config_erp(rt2x00dev, intf, bss_conf);
 
        spin_lock(&intf->lock);
        if (delayed) {
 
         * This device requires firmware.
         */
        __set_bit(DRIVER_REQUIRE_FIRMWARE, &rt2x00dev->flags);
-       __set_bit(DRIVER_REQUIRE_SCHEDULED, &rt2x00dev->flags);
        if (!modparam_nohwcrypt)
                __set_bit(CONFIG_SUPPORT_HW_CRYPTO, &rt2x00dev->flags);