* due to RTNL locking requirements.
         */
        struct work_struct intf_work;
-       struct work_struct filter_work;
 
        /*
         * Data queue arrays for RX, TX and Beacon.
 
                rt2x00link_start_tuner(rt2x00dev);
 }
 
-static void rt2x00lib_packetfilter_scheduled(struct work_struct *work)
-{
-       struct rt2x00_dev *rt2x00dev =
-           container_of(work, struct rt2x00_dev, filter_work);
-
-       rt2x00dev->ops->lib->config_filter(rt2x00dev, rt2x00dev->packet_filter);
-}
-
 static void rt2x00lib_intf_scheduled_iter(void *data, u8 *mac,
                                          struct ieee80211_vif *vif)
 {
         * Initialize configuration work.
         */
        INIT_WORK(&rt2x00dev->intf_work, rt2x00lib_intf_scheduled);
-       INIT_WORK(&rt2x00dev->filter_work, rt2x00lib_packetfilter_scheduled);
 
        /*
         * Allocate queue array.
        /*
         * Stop all work.
         */
-       cancel_work_sync(&rt2x00dev->filter_work);
        cancel_work_sync(&rt2x00dev->intf_work);
 
        /*
 
                return;
        rt2x00dev->packet_filter = *total_flags;
 
-       if (!test_bit(DRIVER_REQUIRE_SCHEDULED, &rt2x00dev->flags))
-               rt2x00dev->ops->lib->config_filter(rt2x00dev, *total_flags);
-       else
-               ieee80211_queue_work(rt2x00dev->hw, &rt2x00dev->filter_work);
+       rt2x00dev->ops->lib->config_filter(rt2x00dev, *total_flags);
 }
 EXPORT_SYMBOL_GPL(rt2x00mac_configure_filter);