diff --git a/[refs] b/[refs] index dc73201ab9bc..ad7669429912 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6a8736d10cb413be95ea443ba40f25c93f4ef9b2 +refs/heads/master: 05447420f99c1c44063c7f00054667c022cc1365 diff --git a/trunk/drivers/md/dm.c b/trunk/drivers/md/dm.c index 2011704b8ba0..cd2f7e77b625 100644 --- a/trunk/drivers/md/dm.c +++ b/trunk/drivers/md/dm.c @@ -512,9 +512,11 @@ static void end_io_acct(struct dm_io *io) */ static void queue_io(struct mapped_device *md, struct bio *bio) { - spin_lock_irq(&md->deferred_lock); + unsigned long flags; + + spin_lock_irqsave(&md->deferred_lock, flags); bio_list_add(&md->deferred, bio); - spin_unlock_irq(&md->deferred_lock); + spin_unlock_irqrestore(&md->deferred_lock, flags); queue_work(md->wq, &md->work); }