workqueue: deprecate flush[_delayed]_work_sync()
authorTejun Heo <tj@kernel.org>
Mon, 20 Aug 2012 21:51:24 +0000 (14:51 -0700)
committerTejun Heo <tj@kernel.org>
Mon, 20 Aug 2012 21:51:24 +0000 (14:51 -0700)
flush[_delayed]_work_sync() are now spurious.  Mark them deprecated
and convert all users to flush[_delayed]_work().

If you're cc'd and wondering what's going on: Now all workqueues are
non-reentrant and the regular flushes guarantee that the work item is
not pending or running on any CPU on return, so there's no reason to
use the sync flushes at all and they're going away.

This patch doesn't make any functional difference.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Mattia Dongili <malattia@linux.it>
Cc: Kent Yoder <key@linux.vnet.ibm.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Karsten Keil <isdn@linux-pingi.de>
Cc: Bryan Wu <bryan.wu@canonical.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Alasdair Kergon <agk@redhat.com>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: linux-wireless@vger.kernel.org
Cc: Anton Vorontsov <cbou@mail.ru>
Cc: Sangbeom Kim <sbkim73@samsung.com>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Eric Van Hensbergen <ericvh@gmail.com>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: Steven Whitehouse <swhiteho@redhat.com>
Cc: Petr Vandrovec <petr@vandrovec.name>
Cc: Mark Fasheh <mfasheh@suse.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Avi Kivity <avi@redhat.com>
81 files changed:
arch/arm/mach-pxa/sharpsl_pm.c
arch/arm/plat-omap/mailbox.c
arch/sh/drivers/push-switch.c
drivers/block/xen-blkfront.c
drivers/cdrom/gdrom.c
drivers/char/sonypi.c
drivers/char/tpm/tpm.c
drivers/gpu/drm/exynos/exynos_drm_g2d.c
drivers/gpu/drm/nouveau/nouveau_gpio.c
drivers/gpu/drm/radeon/radeon_irq_kms.c
drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
drivers/hid/hid-picolcd.c
drivers/input/touchscreen/wm831x-ts.c
drivers/isdn/mISDN/hwchannel.c
drivers/leds/leds-lm3533.c
drivers/leds/leds-lp8788.c
drivers/leds/leds-wm8350.c
drivers/macintosh/ams/ams-core.c
drivers/md/dm-mpath.c
drivers/md/dm-raid1.c
drivers/md/dm-stripe.c
drivers/media/dvb/dvb-core/dvb_net.c
drivers/media/dvb/mantis/mantis_evm.c
drivers/media/dvb/mantis/mantis_uart.c
drivers/media/video/bt8xx/bttv-driver.c
drivers/media/video/cx18/cx18-driver.c
drivers/media/video/cx231xx/cx231xx-cards.c
drivers/media/video/cx23885/cx23885-input.c
drivers/media/video/cx88/cx88-mpeg.c
drivers/media/video/em28xx/em28xx-cards.c
drivers/media/video/omap24xxcam.c
drivers/media/video/saa7134/saa7134-core.c
drivers/media/video/saa7134/saa7134-empress.c
drivers/media/video/tm6000/tm6000-cards.c
drivers/mfd/menelaus.c
drivers/misc/ioc4.c
drivers/mtd/mtdoops.c
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
drivers/net/ethernet/neterion/vxge/vxge-main.c
drivers/net/ethernet/sun/cassini.c
drivers/net/ethernet/sun/niu.c
drivers/net/wireless/hostap/hostap_ap.c
drivers/net/wireless/hostap/hostap_hw.c
drivers/power/collie_battery.c
drivers/power/tosa_battery.c
drivers/power/wm97xx_battery.c
drivers/power/z2_battery.c
drivers/regulator/core.c
drivers/scsi/arcmsr/arcmsr_hba.c
drivers/scsi/ipr.c
drivers/scsi/pmcraid.c
drivers/scsi/qla2xxx/qla_target.c
drivers/tty/hvc/hvsi.c
drivers/tty/ipwireless/hardware.c
drivers/tty/ipwireless/network.c
drivers/tty/serial/kgdboc.c
drivers/tty/serial/omap-serial.c
drivers/tty/tty_ldisc.c
drivers/usb/atm/speedtch.c
drivers/usb/atm/ueagle-atm.c
drivers/usb/gadget/u_ether.c
drivers/usb/host/ohci-hcd.c
drivers/usb/otg/isp1301_omap.c
fs/affs/super.c
fs/gfs2/lock_dlm.c
fs/gfs2/super.c
fs/hfs/inode.c
fs/ncpfs/inode.c
fs/ocfs2/cluster/quorum.c
fs/xfs/xfs_super.c
fs/xfs/xfs_sync.c
include/linux/workqueue.h
net/9p/trans_fd.c
net/dsa/dsa.c
sound/i2c/other/ak4113.c
sound/i2c/other/ak4114.c
sound/pci/oxygen/oxygen_lib.c
sound/soc/codecs/wm8350.c
sound/soc/codecs/wm8753.c
sound/soc/soc-core.c
virt/kvm/eventfd.c

index bdf4cb88ca0a60b10e368ffb1c1335b4b4a52277..7875ad6456bd895f5195f493cce33cb18ce80122 100644 (file)
@@ -579,8 +579,8 @@ static int sharpsl_ac_check(void)
 static int sharpsl_pm_suspend(struct platform_device *pdev, pm_message_t state)
 {
        sharpsl_pm.flags |= SHARPSL_SUSPENDED;
-       flush_delayed_work_sync(&toggle_charger);
-       flush_delayed_work_sync(&sharpsl_bat);
+       flush_delayed_work(&toggle_charger);
+       flush_delayed_work(&sharpsl_bat);
 
        if (sharpsl_pm.charge_mode == CHRG_ON)
                sharpsl_pm.flags |= SHARPSL_DO_OFFLINE_CHRG;
index 5e13c3884aa441c099bd274ef51d27acf36e06ab..42377ef9ea3d3fb4c5231622b21e4bc6714294ce 100644 (file)
@@ -310,7 +310,7 @@ static void omap_mbox_fini(struct omap_mbox *mbox)
                omap_mbox_disable_irq(mbox, IRQ_RX);
                free_irq(mbox->irq, mbox);
                tasklet_kill(&mbox->txq->tasklet);
-               flush_work_sync(&mbox->rxq->work);
+               flush_work(&mbox->rxq->work);
                mbox_queue_free(mbox->txq);
                mbox_queue_free(mbox->rxq);
        }
index 637b79b096576d556e42b5d20cd31d856dd3465f..5bfb341cc5c4ad71eefe29a8f5175f715d07c59b 100644 (file)
@@ -107,7 +107,7 @@ static int switch_drv_remove(struct platform_device *pdev)
                device_remove_file(&pdev->dev, &dev_attr_switch);
 
        platform_set_drvdata(pdev, NULL);
-       flush_work_sync(&psw->work);
+       flush_work(&psw->work);
        del_timer_sync(&psw->debounce);
        free_irq(irq, pdev);
 
index 2c2d2e5c15974c30755fd61715a189029dff7cd6..007db8986e84d3df91eb0a00707f14d4c02d0ed3 100644 (file)
@@ -670,7 +670,7 @@ static void xlvbd_release_gendisk(struct blkfront_info *info)
        spin_unlock_irqrestore(&info->io_lock, flags);
 
        /* Flush gnttab callback work. Must be done with no locks held. */
-       flush_work_sync(&info->work);
+       flush_work(&info->work);
 
        del_gendisk(info->gd);
 
@@ -719,7 +719,7 @@ static void blkif_free(struct blkfront_info *info, int suspend)
        spin_unlock_irq(&info->io_lock);
 
        /* Flush gnttab callback work. Must be done with no locks held. */
-       flush_work_sync(&info->work);
+       flush_work(&info->work);
 
        /* Free resources associated with old device channel. */
        if (info->ring_ref != GRANT_INVALID_REF) {
index 3ceaf006e7f080fabc94848e9fc3b53f3dd59f0a..75d485afe56c7bf685e4f83e76473ca3516a6f54 100644 (file)
@@ -840,7 +840,7 @@ probe_fail_no_mem:
 
 static int __devexit remove_gdrom(struct platform_device *devptr)
 {
-       flush_work_sync(&work);
+       flush_work(&work);
        blk_cleanup_queue(gd.gdrom_rq);
        free_irq(HW_EVENT_GDROM_CMD, &gd);
        free_irq(HW_EVENT_GDROM_DMA, &gd);
index f87780502b4199712a933103723128054eb5a5ab..320debbe32faf74032f5117cfaf461cbd65a63a3 100644 (file)
@@ -1433,7 +1433,7 @@ static int __devexit sonypi_remove(struct platform_device *dev)
        sonypi_disable();
 
        synchronize_irq(sonypi_device.irq);
-       flush_work_sync(&sonypi_device.input_work);
+       flush_work(&sonypi_device.input_work);
 
        if (useinput) {
                input_unregister_device(sonypi_device.input_key_dev);
index 817f0ee202b6861e87e146e2cc8864bc2de33ede..3af9f4d1a23f200a27d8c03de477131967d0cbfd 100644 (file)
@@ -1172,7 +1172,7 @@ int tpm_release(struct inode *inode, struct file *file)
        struct tpm_chip *chip = file->private_data;
 
        del_singleshot_timer_sync(&chip->user_read_timer);
-       flush_work_sync(&chip->work);
+       flush_work(&chip->work);
        file->private_data = NULL;
        atomic_set(&chip->data_pending, 0);
        kfree(chip->data_buffer);
@@ -1225,7 +1225,7 @@ ssize_t tpm_read(struct file *file, char __user *buf,
        int rc;
 
        del_singleshot_timer_sync(&chip->user_read_timer);
-       flush_work_sync(&chip->work);
+       flush_work(&chip->work);
        ret_size = atomic_read(&chip->data_pending);
        atomic_set(&chip->data_pending, 0);
        if (ret_size > 0) {     /* relay data */
index d2d88f22a037a8ace36fae877fd45dbf60357b6c..a40808e51338d08e829cc1db6a0e16a136e92b8b 100644 (file)
@@ -908,7 +908,7 @@ static int g2d_suspend(struct device *dev)
                /* FIXME: good range? */
                usleep_range(500, 1000);
 
-       flush_work_sync(&g2d->runqueue_work);
+       flush_work(&g2d->runqueue_work);
 
        return 0;
 }
index 82c19e82ff02e6914fd1b8923b87dd3fe44fe60e..0fe4e17c461d284db28dac9e8d76a5e4ad876f82 100644 (file)
@@ -302,7 +302,7 @@ nouveau_gpio_isr_del(struct drm_device *dev, int idx, u8 tag, u8 line,
                spin_unlock_irqrestore(&pgpio->lock, flags);
 
                list_for_each_entry_safe(isr, tmp, &tofree, head) {
-                       flush_work_sync(&isr->work);
+                       flush_work(&isr->work);
                        kfree(isr);
                }
        }
index afaa1727abd2dd198e4c3d68334c1f391b81ec6c..50b596ec7b7eec8bb2704d9455355ebbf22dd32e 100644 (file)
@@ -277,7 +277,7 @@ void radeon_irq_kms_fini(struct radeon_device *rdev)
                if (rdev->msi_enabled)
                        pci_disable_msi(rdev->pdev);
        }
-       flush_work_sync(&rdev->hotplug_work);
+       flush_work(&rdev->hotplug_work);
 }
 
 /**
index 3c447bf317cb23731e9309647238edffd1b3b997..a32f2e96dd02e2637b2b49d1b443250e412a161c 100644 (file)
@@ -594,7 +594,7 @@ int vmw_fb_off(struct vmw_private *vmw_priv)
        par->dirty.active = false;
        spin_unlock_irqrestore(&par->dirty.lock, flags);
 
-       flush_delayed_work_sync(&info->deferred_work);
+       flush_delayed_work(&info->deferred_work);
 
        par->bo_ptr = NULL;
        ttm_bo_kunmap(&par->map);
index 27c8ebdfad013f61c027a7e0990f6a128609fa27..3e90dee30ff6be0c4a38855a851770d0c7ef0d1c 100644 (file)
@@ -2737,7 +2737,7 @@ static void __exit picolcd_exit(void)
 {
        hid_unregister_driver(&picolcd_driver);
 #ifdef CONFIG_HID_PICOLCD_FB
-       flush_work_sync(&picolcd_fb_cleanup);
+       flush_work(&picolcd_fb_cleanup);
        WARN_ON(fb_pending);
 #endif
 }
index e83410721e38b79f6d9a7a93e6f6a689ef73f1ab..52abb98a8ae5cadcaa38091daf74ca39e65f354e 100644 (file)
@@ -221,7 +221,7 @@ static void wm831x_ts_input_close(struct input_dev *idev)
        synchronize_irq(wm831x_ts->pd_irq);
 
        /* Make sure the IRQ completion work is quiesced */
-       flush_work_sync(&wm831x_ts->pd_data_work);
+       flush_work(&wm831x_ts->pd_data_work);
 
        /* If we ended up with the pen down then make sure we revert back
         * to pen detection state for the next time we start up.
index ef34fd40867cb6b7f5b767542c4da2e173d6b9cc..4b85f7279f18ad67e35671d5e09b7fe0ae0d22fc 100644 (file)
@@ -116,7 +116,7 @@ mISDN_freedchannel(struct dchannel *ch)
        }
        skb_queue_purge(&ch->squeue);
        skb_queue_purge(&ch->rqueue);
-       flush_work_sync(&ch->workq);
+       flush_work(&ch->workq);
        return 0;
 }
 EXPORT_SYMBOL(mISDN_freedchannel);
@@ -157,7 +157,7 @@ mISDN_freebchannel(struct bchannel *ch)
        mISDN_clear_bchannel(ch);
        skb_queue_purge(&ch->rqueue);
        ch->rcount = 0;
-       flush_work_sync(&ch->workq);
+       flush_work(&ch->workq);
        return 0;
 }
 EXPORT_SYMBOL(mISDN_freebchannel);
index f56b6e7ffdac3ec36f3c2a5137f3ada6704f64ab..f6837b99908c46f6c963383aafb53a5c8e602198 100644 (file)
@@ -737,7 +737,7 @@ err_sysfs_remove:
        sysfs_remove_group(&led->cdev.dev->kobj, &lm3533_led_attribute_group);
 err_unregister:
        led_classdev_unregister(&led->cdev);
-       flush_work_sync(&led->work);
+       flush_work(&led->work);
 
        return ret;
 }
@@ -751,7 +751,7 @@ static int __devexit lm3533_led_remove(struct platform_device *pdev)
        lm3533_ctrlbank_disable(&led->cb);
        sysfs_remove_group(&led->cdev.dev->kobj, &lm3533_led_attribute_group);
        led_classdev_unregister(&led->cdev);
-       flush_work_sync(&led->work);
+       flush_work(&led->work);
 
        return 0;
 }
@@ -765,7 +765,7 @@ static void lm3533_led_shutdown(struct platform_device *pdev)
 
        lm3533_ctrlbank_disable(&led->cb);
        lm3533_led_set(&led->cdev, LED_OFF);            /* disable blink */
-       flush_work_sync(&led->work);
+       flush_work(&led->work);
 }
 
 static struct platform_driver lm3533_led_driver = {
index 53bd136f1ef070a1e045b97f8dbc6b55e30c0ca6..cb76bc46a021983f93b9e0c4eca80906641117dd 100644 (file)
@@ -172,7 +172,7 @@ static int __devexit lp8788_led_remove(struct platform_device *pdev)
        struct lp8788_led *led = platform_get_drvdata(pdev);
 
        led_classdev_unregister(&led->led_dev);
-       flush_work_sync(&led->work);
+       flush_work(&led->work);
 
        return 0;
 }
index 918d4baff1c7257c65276bfcf4cb05b73350553c..4c62113f7a77d04a0eb7fb50de7fb84e089514bf 100644 (file)
@@ -275,7 +275,7 @@ static int wm8350_led_remove(struct platform_device *pdev)
        struct wm8350_led *led = platform_get_drvdata(pdev);
 
        led_classdev_unregister(&led->cdev);
-       flush_work_sync(&led->work);
+       flush_work(&led->work);
        wm8350_led_disable(led);
        regulator_put(led->dcdc);
        regulator_put(led->isink);
index 5c6a2d876562dd73f4a6f71fa958353182012dc5..36a4fdddd64a7eccdd38d657d4f8ee99cf247092 100644 (file)
@@ -226,7 +226,7 @@ void ams_sensor_detach(void)
         * We do this after ams_info.exit(), because an interrupt might
         * have arrived before disabling them.
         */
-       flush_work_sync(&ams_info.worker);
+       flush_work(&ams_info.worker);
 
        /* Remove device */
        of_device_unregister(ams_info.of_dev);
index d8abb90a6c2fbecae99ae2de09ebc2f3d726731e..bb18eafcc85afc8045cd08bb1d5a7e0a7482ed69 100644 (file)
@@ -944,7 +944,7 @@ static void flush_multipath_work(struct multipath *m)
        flush_workqueue(kmpath_handlerd);
        multipath_wait_for_pg_init_completion(m);
        flush_workqueue(kmultipathd);
-       flush_work_sync(&m->trigger_event);
+       flush_work(&m->trigger_event);
 }
 
 static void multipath_dtr(struct dm_target *ti)
index bc5ddba8045b84a24e996235604a5db24d1d0e58..fd61f98ee1f68af3085297afc0b1c46dc0899e2f 100644 (file)
@@ -1146,7 +1146,7 @@ static void mirror_dtr(struct dm_target *ti)
 
        del_timer_sync(&ms->timer);
        flush_workqueue(ms->kmirrord_wq);
-       flush_work_sync(&ms->trigger_event);
+       flush_work(&ms->trigger_event);
        dm_kcopyd_client_destroy(ms->kcopyd_client);
        destroy_workqueue(ms->kmirrord_wq);
        free_context(ms, ti, ms->nr_mirrors);
index a087bf2a8d6666bbc699a44af28d003b4d2cfb88..e2f876539743feb800022f4b6da23fe776721fac 100644 (file)
@@ -199,7 +199,7 @@ static void stripe_dtr(struct dm_target *ti)
        for (i = 0; i < sc->stripes; i++)
                dm_put_device(ti, sc->stripe[i].dev);
 
-       flush_work_sync(&sc->trigger_event);
+       flush_work(&sc->trigger_event);
        kfree(sc);
 }
 
index 8766ce8c354dd908e1fbb9a493942e8669fe4259..c2117688aa23d8aad589d28a1e7a4cc1e0333024 100644 (file)
@@ -1329,8 +1329,8 @@ static int dvb_net_remove_if(struct dvb_net *dvbnet, unsigned long num)
                return -EBUSY;
 
        dvb_net_stop(net);
-       flush_work_sync(&priv->set_multicast_list_wq);
-       flush_work_sync(&priv->restart_net_feed_wq);
+       flush_work(&priv->set_multicast_list_wq);
+       flush_work(&priv->restart_net_feed_wq);
        printk("dvb_net: removed network interface %s\n", net->name);
        unregister_netdev(net);
        dvbnet->state[num]=0;
index 71ce52875c38ec1fdf5b3d822fc9de159e3a5bb7..909ff54868a3b183623b250849c166c70fdcbcf2 100644 (file)
@@ -111,7 +111,7 @@ void mantis_evmgr_exit(struct mantis_ca *ca)
        struct mantis_pci *mantis = ca->ca_priv;
 
        dprintk(MANTIS_DEBUG, 1, "Mantis Host I/F Event manager exiting");
-       flush_work_sync(&ca->hif_evm_work);
+       flush_work(&ca->hif_evm_work);
        mantis_hif_exit(ca);
        mantis_pcmcia_exit(ca);
 }
index 18340dafa426f3264c78688a0b3979f2972f1cf4..85e977861b4a68a8bbb44d76c9b6a010ec250c3f 100644 (file)
@@ -183,6 +183,6 @@ void mantis_uart_exit(struct mantis_pci *mantis)
 {
        /* disable interrupt */
        mmwrite(mmread(MANTIS_UART_CTL) & 0xffef, MANTIS_UART_CTL);
-       flush_work_sync(&mantis->uart_work);
+       flush_work(&mantis->uart_work);
 }
 EXPORT_SYMBOL_GPL(mantis_uart_exit);
index b58ff87db771750dfa7a511d7f382b924dba8814..2ce7179a386464ff8932e498a1766919e845ca9a 100644 (file)
@@ -196,7 +196,7 @@ static void request_modules(struct bttv *dev)
 
 static void flush_request_modules(struct bttv *dev)
 {
-       flush_work_sync(&dev->request_module_wk);
+       flush_work(&dev->request_module_wk);
 }
 #else
 #define request_modules(dev)
index 7e5ffd6f51786d3390b629b8794b4139aa410551..75c890907920b487bd38e424332344942d92d707 100644 (file)
@@ -272,7 +272,7 @@ static void request_modules(struct cx18 *dev)
 
 static void flush_request_modules(struct cx18 *dev)
 {
-       flush_work_sync(&dev->request_module_wk);
+       flush_work(&dev->request_module_wk);
 }
 #else
 #define request_modules(dev)
index 02d4d36735d39e6d68a1f8b82d3f3896f4a8e468..b84ebc54d91bce2279e1f1f7b8a8b09d4d0ff12d 100644 (file)
@@ -1002,7 +1002,7 @@ static void request_modules(struct cx231xx *dev)
 
 static void flush_request_modules(struct cx231xx *dev)
 {
-       flush_work_sync(&dev->request_module_wk);
+       flush_work(&dev->request_module_wk);
 }
 #else
 #define request_modules(dev)
index ce765e3f77bdf6b679ba1b56900035f4f38d51c2..bcbf7faf1bab34bcf2974d40e7204e921b223929 100644 (file)
@@ -231,9 +231,9 @@ static void cx23885_input_ir_stop(struct cx23885_dev *dev)
                v4l2_subdev_call(dev->sd_ir, ir, rx_s_parameters, &params);
                v4l2_subdev_call(dev->sd_ir, ir, rx_g_parameters, &params);
        }
-       flush_work_sync(&dev->cx25840_work);
-       flush_work_sync(&dev->ir_rx_work);
-       flush_work_sync(&dev->ir_tx_work);
+       flush_work(&dev->cx25840_work);
+       flush_work(&dev->ir_rx_work);
+       flush_work(&dev->ir_tx_work);
 }
 
 static void cx23885_input_ir_close(struct rc_dev *rc)
index cd5386ee210cf02f79fbfb4abaeb86895e88ab99..c04fb618e10b78a22209575c2506e4aae270e575 100644 (file)
@@ -70,7 +70,7 @@ static void request_modules(struct cx8802_dev *dev)
 
 static void flush_request_modules(struct cx8802_dev *dev)
 {
-       flush_work_sync(&dev->request_module_wk);
+       flush_work(&dev->request_module_wk);
 }
 #else
 #define request_modules(dev)
index ca62b9981380427b587efb684d36a60f88105a21..f7831e73f077d8da7282ac847cdec076c0499709 100644 (file)
@@ -2900,7 +2900,7 @@ static void request_modules(struct em28xx *dev)
 
 static void flush_request_modules(struct em28xx *dev)
 {
-       flush_work_sync(&dev->request_module_wk);
+       flush_work(&dev->request_module_wk);
 }
 #else
 #define request_modules(dev)
index e5015b0d5508cec9bd9af486c734fef3ff478179..8d7283bbd431af44a9d7ff4e564e264ac54b8a1a 100644 (file)
@@ -1198,7 +1198,7 @@ static int vidioc_streamoff(struct file *file, void *fh, enum v4l2_buf_type i)
 
        atomic_inc(&cam->reset_disable);
 
-       flush_work_sync(&cam->sensor_reset_work);
+       flush_work(&cam->sensor_reset_work);
 
        rval = videobuf_streamoff(q);
        if (!rval) {
@@ -1512,7 +1512,7 @@ static int omap24xxcam_release(struct file *file)
 
        atomic_inc(&cam->reset_disable);
 
-       flush_work_sync(&cam->sensor_reset_work);
+       flush_work(&cam->sensor_reset_work);
 
        /* stop streaming capture */
        videobuf_streamoff(&fh->vbq);
@@ -1536,7 +1536,7 @@ static int omap24xxcam_release(struct file *file)
         * not be scheduled anymore since streaming is already
         * disabled.)
         */
-       flush_work_sync(&cam->sensor_reset_work);
+       flush_work(&cam->sensor_reset_work);
 
        mutex_lock(&cam->mutex);
        if (atomic_dec_return(&cam->users) == 0) {
index 5fbb4e49495c8278f25da91b4dca454c405e5dc0..f2b37e05b96479e7f534537a3208d120b408f661 100644 (file)
@@ -170,7 +170,7 @@ static void request_submodules(struct saa7134_dev *dev)
 
 static void flush_request_submodules(struct saa7134_dev *dev)
 {
-       flush_work_sync(&dev->request_module_wk);
+       flush_work(&dev->request_module_wk);
 }
 
 #else
index dde361a9194e003ce5cd42a22785dea9975c4458..4df79c6569094311d6dc6cee081b72f62427cd2d 100644 (file)
@@ -556,7 +556,7 @@ static int empress_fini(struct saa7134_dev *dev)
 
        if (NULL == dev->empress_dev)
                return 0;
-       flush_work_sync(&dev->empress_workqueue);
+       flush_work(&dev->empress_workqueue);
        video_unregister_device(dev->empress_dev);
        dev->empress_dev = NULL;
        return 0;
index 034659b1317480a3c389ff9619dd3123c9aeb39d..307d8c5fb7cd771654a1bc08d0c0f94f45c2d103 100644 (file)
@@ -1074,7 +1074,7 @@ static void request_modules(struct tm6000_core *dev)
 
 static void flush_request_modules(struct tm6000_core *dev)
 {
-       flush_work_sync(&dev->request_module_wk);
+       flush_work(&dev->request_module_wk);
 }
 #else
 #define request_modules(dev)
index cb4910ac4d12edad3ba31be42a3e2be0678fcb8a..55d589981412ec6b956566727ed05bbdbdb15982 100644 (file)
@@ -1259,7 +1259,7 @@ static int menelaus_probe(struct i2c_client *client,
        return 0;
 fail2:
        free_irq(client->irq, menelaus);
-       flush_work_sync(&menelaus->work);
+       flush_work(&menelaus->work);
 fail1:
        kfree(menelaus);
        return err;
@@ -1270,7 +1270,7 @@ static int __exit menelaus_remove(struct i2c_client *client)
        struct menelaus_chip    *menelaus = i2c_get_clientdata(client);
 
        free_irq(client->irq, menelaus);
-       flush_work_sync(&menelaus->work);
+       flush_work(&menelaus->work);
        kfree(menelaus);
        the_menelaus = NULL;
        return 0;
index df03dd3bd0e2b331db3459f3a632ffd2f85f6155..6a7710603a904dcb2522738c18ab8e62d789324c 100644 (file)
@@ -487,7 +487,7 @@ static void __exit
 ioc4_exit(void)
 {
        /* Ensure ioc4_load_modules() has completed before exiting */
-       flush_work_sync(&ioc4_load_modules_work);
+       flush_work(&ioc4_load_modules_work);
        pci_unregister_driver(&ioc4_driver);
 }
 
index 551e316e4454d99f9b552a2924bea045784c7a8c..438737a1f59a3c882c5c6db3fade53696b341cd5 100644 (file)
@@ -387,8 +387,8 @@ static void mtdoops_notify_remove(struct mtd_info *mtd)
                printk(KERN_WARNING "mtdoops: could not unregister kmsg_dumper\n");
 
        cxt->mtd = NULL;
-       flush_work_sync(&cxt->work_erase);
-       flush_work_sync(&cxt->work_write);
+       flush_work(&cxt->work_erase);
+       flush_work(&cxt->work_write);
 }
 
 
index 6505070abcfa35dca294a0a097239c4d176e03ee..089ed134369bf633529afb0fcb0e882088739484 100644 (file)
@@ -1394,7 +1394,7 @@ static int offload_close(struct t3cdev *tdev)
        sysfs_remove_group(&tdev->lldev->dev.kobj, &offload_attr_group);
 
        /* Flush work scheduled while releasing TIDs */
-       flush_work_sync(&td->tid_release_task);
+       flush_work(&td->tid_release_task);
 
        tdev->lldev = NULL;
        cxgb3_set_dummy_ops(tdev);
index de219044351063b1a9e2e400d4a823357c050b32..30ce10bc9149677147c39660be4dba2419fb79ce 100644 (file)
@@ -3521,7 +3521,7 @@ static void vxge_device_unregister(struct __vxge_hw_device *hldev)
 
        strncpy(buf, dev->name, IFNAMSIZ);
 
-       flush_work_sync(&vdev->reset_task);
+       flush_work(&vdev->reset_task);
 
        /* in 2.6 will call stop() if device is up */
        unregister_netdev(dev);
index ce4df61b4b5684e1ab3a6d92c3773803a1613beb..c8251be104d6ad6bde2d37b6cea7f2a0c9810429 100644 (file)
@@ -3890,7 +3890,7 @@ static int cas_change_mtu(struct net_device *dev, int new_mtu)
        schedule_work(&cp->reset_task);
 #endif
 
-       flush_work_sync(&cp->reset_task);
+       flush_work(&cp->reset_task);
        return 0;
 }
 
index c2a0fe393267ca065a41576a443f147b898add51..710f35395195aa2e15b050288c3ca3e7b1ef06a7 100644 (file)
@@ -9932,7 +9932,7 @@ static int niu_suspend(struct pci_dev *pdev, pm_message_t state)
        if (!netif_running(dev))
                return 0;
 
-       flush_work_sync(&np->reset_task);
+       flush_work(&np->reset_task);
        niu_netif_stop(np);
 
        del_timer_sync(&np->timer);
index e1f4102772426032f9ccd5c060f39118d9bb25c3..c6ea995750db80c9664351c079be86be81c70262 100644 (file)
@@ -860,10 +860,10 @@ void hostap_free_data(struct ap_data *ap)
                return;
        }
 
-       flush_work_sync(&ap->add_sta_proc_queue);
+       flush_work(&ap->add_sta_proc_queue);
 
 #ifndef PRISM2_NO_KERNEL_IEEE80211_MGMT
-       flush_work_sync(&ap->wds_oper_queue);
+       flush_work(&ap->wds_oper_queue);
        if (ap->crypt)
                ap->crypt->deinit(ap->crypt_priv);
        ap->crypt = ap->crypt_priv = NULL;
index 50f87b60b0bd01400590dcd7e661f7bbe5423cd9..8e7000fd4414fa4c52ff8218a7c61963d6c215bb 100644 (file)
@@ -3311,13 +3311,13 @@ static void prism2_free_local_data(struct net_device *dev)
 
        unregister_netdev(local->dev);
 
-       flush_work_sync(&local->reset_queue);
-       flush_work_sync(&local->set_multicast_list_queue);
-       flush_work_sync(&local->set_tim_queue);
+       flush_work(&local->reset_queue);
+       flush_work(&local->set_multicast_list_queue);
+       flush_work(&local->set_tim_queue);
 #ifndef PRISM2_NO_STATION_MODES
-       flush_work_sync(&local->info_queue);
+       flush_work(&local->info_queue);
 #endif
-       flush_work_sync(&local->comms_qual_update);
+       flush_work(&local->comms_qual_update);
 
        lib80211_crypt_info_free(&local->crypt_info);
 
index 74c6b23aeabfc769c6e2892577669ab658a32ade..b19bfe400f8c23bb0512ea8b642dd6bd5034fced 100644 (file)
@@ -290,7 +290,7 @@ static struct gpio collie_batt_gpios[] = {
 static int collie_bat_suspend(struct ucb1x00_dev *dev, pm_message_t state)
 {
        /* flush all pending status updates */
-       flush_work_sync(&bat_work);
+       flush_work(&bat_work);
        return 0;
 }
 
index 28bbe7e094e36a7695ffaf4a81e3e3e50dbf5ca4..51199b5ce2210ed64b3842eec4e0ea93b1f12763 100644 (file)
@@ -327,7 +327,7 @@ static struct gpio tosa_bat_gpios[] = {
 static int tosa_bat_suspend(struct platform_device *dev, pm_message_t state)
 {
        /* flush all pending status updates */
-       flush_work_sync(&bat_work);
+       flush_work(&bat_work);
        return 0;
 }
 
index d2d4c08c681cd99f1eef9b1a477830289b533f70..1245fe1f48c336d588a7d2f42a3263d84a18524d 100644 (file)
@@ -146,7 +146,7 @@ static irqreturn_t wm97xx_chrg_irq(int irq, void *data)
 #ifdef CONFIG_PM
 static int wm97xx_bat_suspend(struct device *dev)
 {
-       flush_work_sync(&bat_work);
+       flush_work(&bat_work);
        return 0;
 }
 
index 8c9a607ea77a9ef3a02f7df2a0e94075d7448a78..5757d0d6782f33fa858558f52f903e2bc36a6b49 100644 (file)
@@ -276,7 +276,7 @@ static int z2_batt_suspend(struct device *dev)
        struct i2c_client *client = to_i2c_client(dev);
        struct z2_charger *charger = i2c_get_clientdata(client);
 
-       flush_work_sync(&charger->bat_work);
+       flush_work(&charger->bat_work);
        return 0;
 }
 
index f092588a078c65b3d3951a55a8ef861a44a50146..1d2b70017a8d07030e04be722f1631a2080f7a41 100644 (file)
@@ -3335,7 +3335,7 @@ void regulator_unregister(struct regulator_dev *rdev)
                regulator_put(rdev->supply);
        mutex_lock(&regulator_list_mutex);
        debugfs_remove_recursive(rdev->debugfs);
-       flush_work_sync(&rdev->disable_work.work);
+       flush_work(&rdev->disable_work.work);
        WARN_ON(rdev->open_count);
        unset_regulator_supplies(rdev);
        list_del(&rdev->list);
index def24a1079adc70dc7dd343f1062d76710ffee1a..33c52bc2c7b461033b8845e7e538f072f9ab671f 100644 (file)
@@ -999,7 +999,7 @@ static void arcmsr_remove(struct pci_dev *pdev)
        int poll_count = 0;
        arcmsr_free_sysfs_attr(acb);
        scsi_remove_host(host);
-       flush_work_sync(&acb->arcmsr_do_message_isr_bh);
+       flush_work(&acb->arcmsr_do_message_isr_bh);
        del_timer_sync(&acb->eternal_timer);
        arcmsr_disable_outbound_ints(acb);
        arcmsr_stop_adapter_bgrb(acb);
@@ -1045,7 +1045,7 @@ static void arcmsr_shutdown(struct pci_dev *pdev)
                (struct AdapterControlBlock *)host->hostdata;
        del_timer_sync(&acb->eternal_timer);
        arcmsr_disable_outbound_ints(acb);
-       flush_work_sync(&acb->arcmsr_do_message_isr_bh);
+       flush_work(&acb->arcmsr_do_message_isr_bh);
        arcmsr_stop_adapter_bgrb(acb);
        arcmsr_flush_adapter_cache(acb);
 }
index 467dc38246f93317221239e45a798c867bd1cdb0..2ffeb9afd1b7f5309307a1aea031b1616908f311 100644 (file)
@@ -9020,7 +9020,7 @@ static void __ipr_remove(struct pci_dev *pdev)
 
        spin_unlock_irqrestore(ioa_cfg->host->host_lock, host_lock_flags);
        wait_event(ioa_cfg->reset_wait_q, !ioa_cfg->in_reset_reload);
-       flush_work_sync(&ioa_cfg->work_q);
+       flush_work(&ioa_cfg->work_q);
        spin_lock_irqsave(ioa_cfg->host->host_lock, host_lock_flags);
 
        spin_lock(&ipr_driver_lock);
index ea8a0b47d66da53752a886b83c2b6bafc68f8135..af763eab2039022b997a572b324e6d9466a7449b 100644 (file)
@@ -5459,7 +5459,7 @@ static void __devexit pmcraid_remove(struct pci_dev *pdev)
        pmcraid_shutdown(pdev);
 
        pmcraid_disable_interrupts(pinstance, ~0);
-       flush_work_sync(&pinstance->worker_q);
+       flush_work(&pinstance->worker_q);
 
        pmcraid_kill_tasklets(pinstance);
        pmcraid_unregister_interrupt_handler(pinstance);
index 5b30132960c7901e514948c092ab105f43b483a0..bddc97c5c8e92fdd1de11b24d9ac338653daca8e 100644 (file)
@@ -969,7 +969,7 @@ void qlt_stop_phase1(struct qla_tgt *tgt)
        spin_unlock_irqrestore(&ha->hardware_lock, flags);
        mutex_unlock(&ha->tgt.tgt_mutex);
 
-       flush_delayed_work_sync(&tgt->sess_del_work);
+       flush_delayed_work(&tgt->sess_del_work);
 
        ql_dbg(ql_dbg_tgt_mgt, vha, 0xf009,
            "Waiting for sess works (tgt %p)", tgt);
index 6f5bc49c441fa5c806d316c851f376c20914ad4f..1f8e8b37ed23524af49553da474121444e4329f7 100644 (file)
@@ -765,7 +765,7 @@ static void hvsi_flush_output(struct hvsi_struct *hp)
 
        /* 'writer' could still be pending if it didn't see n_outbuf = 0 yet */
        cancel_delayed_work_sync(&hp->writer);
-       flush_work_sync(&hp->handshaker);
+       flush_work(&hp->handshaker);
 
        /*
         * it's also possible that our timeout expired and hvsi_write_worker
index 0aeb5a38d2963bcc6bc4e010b3c2376a788aa55b..b4ba0670dc547d8f332de158d9ea8295d5a10c8a 100644 (file)
@@ -1729,7 +1729,7 @@ void ipwireless_hardware_free(struct ipw_hardware *hw)
 
        ipwireless_stop_interrupts(hw);
 
-       flush_work_sync(&hw->work_rx);
+       flush_work(&hw->work_rx);
 
        for (i = 0; i < NL_NUM_OF_ADDRESSES; i++)
                if (hw->packet_assembler[i] != NULL)
index 57c8b481113f79fd01c96ddbcde3ca013fc6cb5b..90ea902ff19110fa11150d85053052cc5409f5ad 100644 (file)
@@ -430,8 +430,8 @@ void ipwireless_network_free(struct ipw_network *network)
        network->shutting_down = 1;
 
        ipwireless_ppp_close(network);
-       flush_work_sync(&network->work_go_online);
-       flush_work_sync(&network->work_go_offline);
+       flush_work(&network->work_go_online);
+       flush_work(&network->work_go_offline);
 
        ipwireless_stop_interrupts(network->hardware);
        ipwireless_associate_network(network->hardware, NULL);
index 2b42a01a81c6984ace5d8b343d6920c4a0ed748a..ebabf929f46076a2b7d0f8e681d5c6ace98be7b3 100644 (file)
@@ -122,7 +122,7 @@ static void kgdboc_unregister_kbd(void)
                        i--;
                }
        }
-       flush_work_sync(&kgdboc_restore_input_work);
+       flush_work(&kgdboc_restore_input_work);
 }
 #else /* ! CONFIG_KDB_KEYBOARD */
 #define kgdboc_register_kbd(x) 0
index d3cda0cb2df0a9e2d7c4536c0d8638a9461abff7..0952d71bdf28e03b692667632ab9ddd9b5892c09 100644 (file)
@@ -1205,7 +1205,7 @@ static int serial_omap_suspend(struct device *dev)
 
        if (up) {
                uart_suspend_port(&serial_omap_reg, &up->port);
-               flush_work_sync(&up->qos_work);
+               flush_work(&up->qos_work);
        }
 
        return 0;
index 6f99c9959f0c8f5db9c950810a8196e0907415b2..ac5be812dbe3a3338ace3869dde1d7ff9aaafef7 100644 (file)
@@ -523,9 +523,9 @@ static int tty_ldisc_halt(struct tty_struct *tty)
  */
 static void tty_ldisc_flush_works(struct tty_struct *tty)
 {
-       flush_work_sync(&tty->hangup_work);
-       flush_work_sync(&tty->SAK_work);
-       flush_work_sync(&tty->buf.work);
+       flush_work(&tty->hangup_work);
+       flush_work(&tty->SAK_work);
+       flush_work(&tty->buf.work);
 }
 
 /**
index 975e9c6691d619c4b96a8103b71e97075c1a9a14..807627b36cc855dae7228daffbe7ce392b694f7f 100644 (file)
@@ -718,7 +718,7 @@ static void speedtch_atm_stop(struct usbatm_data *usbatm, struct atm_dev *atm_de
        del_timer_sync(&instance->resubmit_timer);
        usb_free_urb(int_urb);
 
-       flush_work_sync(&instance->status_check_work);
+       flush_work(&instance->status_check_work);
 }
 
 static int speedtch_pre_reset(struct usb_interface *intf)
index d7e422dc0ef7d567ea391c13b901d0b222a8e2fc..9d1a044504e871263c1b3d067d2400f1165b0626 100644 (file)
@@ -2234,7 +2234,7 @@ static void uea_stop(struct uea_softc *sc)
        usb_free_urb(sc->urb_int);
 
        /* flush the work item, when no one can schedule it */
-       flush_work_sync(&sc->task);
+       flush_work(&sc->task);
 
        release_firmware(sc->dsp_firm);
        uea_leaves(INS_TO_USBDEV(sc));
index 90e82e288eb9f25b6aad4842db1a001f174a0515..f1e5fbf5c2c75c75c069175a68980173d92ac26b 100644 (file)
@@ -834,7 +834,7 @@ void gether_cleanup(void)
                return;
 
        unregister_netdev(the_dev->net);
-       flush_work_sync(&the_dev->work);
+       flush_work(&the_dev->work);
        free_netdev(the_dev->net);
 
        the_dev = NULL;
index 2b1e8d84c87387f7f532b1056ec91e6fac3c3b22..2364098ea83c26e57444c9ea87ffdc6790ea5b31 100644 (file)
@@ -893,7 +893,7 @@ static void ohci_stop (struct usb_hcd *hcd)
        ohci_dump (ohci, 1);
 
        if (quirk_nec(ohci))
-               flush_work_sync(&ohci->nec_work);
+               flush_work(&ohci->nec_work);
 
        ohci_usb_reset (ohci);
        ohci_writel (ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable);
index 7a88667742b663dc64f627560dfc5d34af32d0a7..720df35561c96092a814737e61c67e8d8ee1f29f 100644 (file)
@@ -1230,7 +1230,7 @@ static int __exit isp1301_remove(struct i2c_client *i2c)
        isp->timer.data = 0;
        set_bit(WORK_STOP, &isp->todo);
        del_timer_sync(&isp->timer);
-       flush_work_sync(&isp->work);
+       flush_work(&isp->work);
 
        put_device(&i2c->dev);
        the_transceiver = NULL;
index c70f1e5fc0247a616d44e60c2681bbf8fc14c747..022cecb0757dd0986b0f86f634847bd98fa89a97 100644 (file)
@@ -551,7 +551,7 @@ affs_remount(struct super_block *sb, int *flags, char *data)
                return -EINVAL;
        }
 
-       flush_delayed_work_sync(&sbi->sb_work);
+       flush_delayed_work(&sbi->sb_work);
        replace_mount_options(sb, new_opts);
 
        sbi->s_flags = mount_flags;
index 4a38db739ca0a5e725a40fd39d9ebc4ff96ea34b..0fb6539b0c8cc0d64bbce7ff047eae815f1bafe3 100644 (file)
@@ -1289,7 +1289,7 @@ static void gdlm_unmount(struct gfs2_sbd *sdp)
        spin_lock(&ls->ls_recover_spin);
        set_bit(DFL_UNMOUNT, &ls->ls_recover_flags);
        spin_unlock(&ls->ls_recover_spin);
-       flush_delayed_work_sync(&sdp->sd_control_work);
+       flush_delayed_work(&sdp->sd_control_work);
 
        /* mounted_lock and control_lock will be purged in dlm recovery */
 release:
index fc3168f47a146a978b733a2dd106aaf50706aeb7..867700aba5360697944a1429f45fe3dc8be12ee8 100644 (file)
@@ -1572,7 +1572,7 @@ out:
        clear_inode(inode);
        gfs2_dir_hash_inval(ip);
        ip->i_gl->gl_object = NULL;
-       flush_delayed_work_sync(&ip->i_gl->gl_work);
+       flush_delayed_work(&ip->i_gl->gl_work);
        gfs2_glock_add_to_lru(ip->i_gl);
        gfs2_glock_put(ip->i_gl);
        ip->i_gl = NULL;
index ee1bc55677f1486c6f27a2549d8f6ce60c1581de..553909395270ebe44ed05856af0a67e1a508d8e2 100644 (file)
@@ -644,7 +644,7 @@ static int hfs_file_fsync(struct file *filp, loff_t start, loff_t end,
 
        /* sync the superblock to buffers */
        sb = inode->i_sb;
-       flush_delayed_work_sync(&HFS_SB(sb)->mdb_work);
+       flush_delayed_work(&HFS_SB(sb)->mdb_work);
        /* .. finally sync the buffers to disk */
        err = sync_blockdev(sb->s_bdev);
        if (!ret)
index 333df07ae3bd2387e0425fd2523de5e95b05667b..eaa74323663aa2b769971a279045734fdcee7f82 100644 (file)
@@ -314,11 +314,11 @@ static void ncp_stop_tasks(struct ncp_server *server) {
        release_sock(sk);
        del_timer_sync(&server->timeout_tm);
 
-       flush_work_sync(&server->rcv.tq);
+       flush_work(&server->rcv.tq);
        if (sk->sk_socket->type == SOCK_STREAM)
-               flush_work_sync(&server->tx.tq);
+               flush_work(&server->tx.tq);
        else
-               flush_work_sync(&server->timeout_tq);
+               flush_work(&server->timeout_tq);
 }
 
 static int  ncp_show_options(struct seq_file *seq, struct dentry *root)
index 8f9cea1597af0994d4dfac6994159a870cdcd76c..c19897d0fe142a5a9926da9552572daf78982938 100644 (file)
@@ -327,5 +327,5 @@ void o2quo_exit(void)
 {
        struct o2quo_state *qs = &o2quo_state;
 
-       flush_work_sync(&qs->qs_work);
+       flush_work(&qs->qs_work);
 }
index bdaf4cb9f4a2d19fc8b781f232f61d88c529ac2a..e8e6be439bcd5c98a66e04581a0af0ba12b43b24 100644 (file)
@@ -953,7 +953,7 @@ xfs_fs_sync_fs(
                 * We schedule xfssyncd now (now that the disk is
                 * active) instead of later (when it might not be).
                 */
-               flush_delayed_work_sync(&mp->m_sync_work);
+               flush_delayed_work(&mp->m_sync_work);
        }
 
        return 0;
index 96548176db80c1ee4557190e5d21d32d8c347de3..9500caf15acf6c355cde32cb0e692a3a58a6a990 100644 (file)
@@ -475,7 +475,7 @@ xfs_flush_inodes(
        struct xfs_mount        *mp = ip->i_mount;
 
        queue_work(xfs_syncd_wq, &mp->m_flush_work);
-       flush_work_sync(&mp->m_flush_work);
+       flush_work(&mp->m_flush_work);
 }
 
 STATIC void
index 855fcdaa2d7264111c483fb79126c73a7127d7a8..a351be7c3e91cf126b9a475b9312f273da86aeff 100644 (file)
@@ -460,13 +460,13 @@ static inline bool __cancel_delayed_work(struct delayed_work *work)
 }
 
 /* used to be different but now identical to flush_work(), deprecated */
-static inline bool flush_work_sync(struct work_struct *work)
+static inline bool __deprecated flush_work_sync(struct work_struct *work)
 {
        return flush_work(work);
 }
 
 /* used to be different but now identical to flush_delayed_work(), deprecated */
-static inline bool flush_delayed_work_sync(struct delayed_work *dwork)
+static inline bool __deprecated flush_delayed_work_sync(struct delayed_work *dwork)
 {
        return flush_delayed_work(dwork);
 }
index 6449bae157023c182de306d862a6c0a11f0b04e9..505f0ce3f10b75dce520f8bd49a6755ce6e3eb99 100644 (file)
@@ -1083,7 +1083,7 @@ int p9_trans_fd_init(void)
 
 void p9_trans_fd_exit(void)
 {
-       flush_work_sync(&p9_poll_work);
+       flush_work(&p9_poll_work);
        v9fs_unregister_trans(&p9_tcp_trans);
        v9fs_unregister_trans(&p9_unix_trans);
        v9fs_unregister_trans(&p9_fd_trans);
index 88e7c2f3fa0d470404f6560db952cb30a9639a33..45295ca095717314294e1be8172a6e852fe1a679 100644 (file)
@@ -370,7 +370,7 @@ static int dsa_remove(struct platform_device *pdev)
        if (dst->link_poll_needed)
                del_timer_sync(&dst->link_poll_timer);
 
-       flush_work_sync(&dst->link_poll_work);
+       flush_work(&dst->link_poll_work);
 
        for (i = 0; i < dst->pd->nr_chips; i++) {
                struct dsa_switch *ds = dst->ds[i];
index dde5c9c92132a0f9b353915fc4f33cc9b1aa99a2..ef68d710d08cfc13121089ae5f86f97dfb813ebb 100644 (file)
@@ -141,7 +141,7 @@ void snd_ak4113_reinit(struct ak4113 *chip)
 {
        chip->init = 1;
        mb();
-       flush_delayed_work_sync(&chip->work);
+       flush_delayed_work(&chip->work);
        ak4113_init_regs(chip);
        /* bring up statistics / event queing */
        chip->init = 0;
index fdf3c1b65e388414c995a597ef2b351b4ec2a220..816e7d225fb0a626147eb6d339d141edede00dc9 100644 (file)
@@ -154,7 +154,7 @@ void snd_ak4114_reinit(struct ak4114 *chip)
 {
        chip->init = 1;
        mb();
-       flush_delayed_work_sync(&chip->work);
+       flush_delayed_work(&chip->work);
        ak4114_init_regs(chip);
        /* bring up statistics / event queing */
        chip->init = 0;
index ab8738e21ad1378d569e349244d6e7bc6fac270c..e9fa2d07951d8e2059f3c0a233dd5258e954eb50 100644 (file)
@@ -573,8 +573,8 @@ static void oxygen_card_free(struct snd_card *card)
        oxygen_shutdown(chip);
        if (chip->irq >= 0)
                free_irq(chip->irq, chip);
-       flush_work_sync(&chip->spdif_input_bits_work);
-       flush_work_sync(&chip->gpio_work);
+       flush_work(&chip->spdif_input_bits_work);
+       flush_work(&chip->gpio_work);
        chip->model.cleanup(chip);
        kfree(chip->model_data);
        mutex_destroy(&chip->mutex);
@@ -751,8 +751,8 @@ static int oxygen_pci_suspend(struct device *dev)
        spin_unlock_irq(&chip->reg_lock);
 
        synchronize_irq(chip->irq);
-       flush_work_sync(&chip->spdif_input_bits_work);
-       flush_work_sync(&chip->gpio_work);
+       flush_work(&chip->spdif_input_bits_work);
+       flush_work(&chip->gpio_work);
        chip->interrupt_mask = saved_interrupt_mask;
 
        pci_disable_device(pci);
index d26c8ae4e6d937f8ccd856e6e7b9dbb2e0adcaab..a4cae060bf2626de702f88c4b62dee0e3f110860 100644 (file)
@@ -1601,7 +1601,7 @@ static int  wm8350_codec_remove(struct snd_soc_codec *codec)
 
        /* if there was any work waiting then we run it now and
         * wait for its completion */
-       flush_delayed_work_sync(&codec->dapm.delayed_work);
+       flush_delayed_work(&codec->dapm.delayed_work);
 
        wm8350_set_bias_level(codec, SND_SOC_BIAS_OFF);
 
index 13bff87ddcf57853c1163f6307b603d7d25a1ad1..2e4a775ae560861543f9d2d1bb74aef096e5181d 100644 (file)
@@ -1509,7 +1509,7 @@ static int wm8753_probe(struct snd_soc_codec *codec)
 /* power down chip */
 static int wm8753_remove(struct snd_soc_codec *codec)
 {
-       flush_delayed_work_sync(&codec->dapm.delayed_work);
+       flush_delayed_work(&codec->dapm.delayed_work);
        wm8753_set_bias_level(codec, SND_SOC_BIAS_OFF);
 
        return 0;
index f219b2f7ee682c795bcf12ec2bea9b9855506b6f..f6eec782c61e6761799af7ce660d23ef03fdcca0 100644 (file)
@@ -591,7 +591,7 @@ int snd_soc_suspend(struct device *dev)
 
        /* close any waiting streams and save state */
        for (i = 0; i < card->num_rtd; i++) {
-               flush_delayed_work_sync(&card->rtd[i].delayed_work);
+               flush_delayed_work(&card->rtd[i].delayed_work);
                card->rtd[i].codec->dapm.suspend_bias_level = card->rtd[i].codec->dapm.bias_level;
        }
 
@@ -1846,7 +1846,7 @@ static int soc_cleanup_card_resources(struct snd_soc_card *card)
        /* make sure any delayed work runs */
        for (i = 0; i < card->num_rtd; i++) {
                struct snd_soc_pcm_runtime *rtd = &card->rtd[i];
-               flush_delayed_work_sync(&rtd->delayed_work);
+               flush_delayed_work(&rtd->delayed_work);
        }
 
        /* remove auxiliary devices */
@@ -1890,7 +1890,7 @@ int snd_soc_poweroff(struct device *dev)
         * now, we're shutting down so no imminent restart. */
        for (i = 0; i < card->num_rtd; i++) {
                struct snd_soc_pcm_runtime *rtd = &card->rtd[i];
-               flush_delayed_work_sync(&rtd->delayed_work);
+               flush_delayed_work(&rtd->delayed_work);
        }
 
        snd_soc_dapm_shutdown(card);
index 7d7e2aaffece234a81cef3f4181cc7ffe5bb14cb..67a35e90384c0ae665923bc707c4ebd5fe3c8c22 100644 (file)
@@ -90,7 +90,7 @@ irqfd_shutdown(struct work_struct *work)
         * We know no new events will be scheduled at this point, so block
         * until all previously outstanding events have completed
         */
-       flush_work_sync(&irqfd->inject);
+       flush_work(&irqfd->inject);
 
        /*
         * It is now safe to release the object's resources