aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/Kconfig1
-rw-r--r--drivers/block/aoe/aoecmd.c6
-rw-r--r--drivers/block/floppy.c4
-rw-r--r--drivers/block/xen-blkfront.c4
4 files changed, 8 insertions, 7 deletions
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index 4b9359a6f6ca..83c32cb72582 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -464,6 +464,7 @@ config XEN_BLKDEV_FRONTEND
464 tristate "Xen virtual block device support" 464 tristate "Xen virtual block device support"
465 depends on XEN 465 depends on XEN
466 default y 466 default y
467 select XEN_XENBUS_FRONTEND
467 help 468 help
468 This driver implements the front-end of the Xen virtual 469 This driver implements the front-end of the Xen virtual
469 block device driver. It communicates with a back-end driver 470 block device driver. It communicates with a back-end driver
diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoecmd.c
index 5674bd01d96d..de0435e63b02 100644
--- a/drivers/block/aoe/aoecmd.c
+++ b/drivers/block/aoe/aoecmd.c
@@ -297,8 +297,8 @@ aoecmd_cfg_pkts(ushort aoemajor, unsigned char aoeminor, struct sk_buff_head *qu
297 struct sk_buff *skb; 297 struct sk_buff *skb;
298 struct net_device *ifp; 298 struct net_device *ifp;
299 299
300 read_lock(&dev_base_lock); 300 rcu_read_lock();
301 for_each_netdev(&init_net, ifp) { 301 for_each_netdev_rcu(&init_net, ifp) {
302 dev_hold(ifp); 302 dev_hold(ifp);
303 if (!is_aoe_netif(ifp)) 303 if (!is_aoe_netif(ifp))
304 goto cont; 304 goto cont;
@@ -325,7 +325,7 @@ aoecmd_cfg_pkts(ushort aoemajor, unsigned char aoeminor, struct sk_buff_head *qu
325cont: 325cont:
326 dev_put(ifp); 326 dev_put(ifp);
327 } 327 }
328 read_unlock(&dev_base_lock); 328 rcu_read_unlock();
329} 329}
330 330
331static void 331static void
diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
index 3951020e494a..25e4dffa0aad 100644
--- a/drivers/block/floppy.c
+++ b/drivers/block/floppy.c
@@ -4352,7 +4352,7 @@ static int __init floppy_init(void)
4352out_unreg_platform_dev: 4352out_unreg_platform_dev:
4353 platform_device_unregister(&floppy_device[drive]); 4353 platform_device_unregister(&floppy_device[drive]);
4354out_flush_work: 4354out_flush_work:
4355 flush_scheduled_work(); 4355 flush_work_sync(&floppy_work);
4356 if (atomic_read(&usage_count)) 4356 if (atomic_read(&usage_count))
4357 floppy_release_irq_and_dma(); 4357 floppy_release_irq_and_dma();
4358out_unreg_region: 4358out_unreg_region:
@@ -4422,7 +4422,7 @@ static int floppy_grab_irq_and_dma(void)
4422 * We might have scheduled a free_irq(), wait it to 4422 * We might have scheduled a free_irq(), wait it to
4423 * drain first: 4423 * drain first:
4424 */ 4424 */
4425 flush_scheduled_work(); 4425 flush_work_sync(&floppy_work);
4426 4426
4427 if (fd_request_irq()) { 4427 if (fd_request_irq()) {
4428 DPRINT("Unable to grab IRQ%d for the floppy driver\n", 4428 DPRINT("Unable to grab IRQ%d for the floppy driver\n",
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index 657873e4328d..d7aa39e349a6 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -547,7 +547,7 @@ static void xlvbd_release_gendisk(struct blkfront_info *info)
547 spin_unlock_irqrestore(&blkif_io_lock, flags); 547 spin_unlock_irqrestore(&blkif_io_lock, flags);
548 548
549 /* Flush gnttab callback work. Must be done with no locks held. */ 549 /* Flush gnttab callback work. Must be done with no locks held. */
550 flush_scheduled_work(); 550 flush_work_sync(&info->work);
551 551
552 del_gendisk(info->gd); 552 del_gendisk(info->gd);
553 553
@@ -596,7 +596,7 @@ static void blkif_free(struct blkfront_info *info, int suspend)
596 spin_unlock_irq(&blkif_io_lock); 596 spin_unlock_irq(&blkif_io_lock);
597 597
598 /* Flush gnttab callback work. Must be done with no locks held. */ 598 /* Flush gnttab callback work. Must be done with no locks held. */
599 flush_scheduled_work(); 599 flush_work_sync(&info->work);
600 600
601 /* Free resources associated with old device channel. */ 601 /* Free resources associated with old device channel. */
602 if (info->ring_ref != GRANT_INVALID_REF) { 602 if (info->ring_ref != GRANT_INVALID_REF) {