diff --git a/[refs] b/[refs] index ad19d2d11da4..ff476edc9dc9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2cdf79cafbd11580f5b63cd4993b45c1c4952415 +refs/heads/master: dbaf2c003e151ad9231778819b0977f95e20e06f diff --git a/trunk/block/blk-core.c b/trunk/block/blk-core.c index b754a4a2f9bd..1b7dddf94f4f 100644 --- a/trunk/block/blk-core.c +++ b/trunk/block/blk-core.c @@ -253,9 +253,11 @@ EXPORT_SYMBOL(__generic_unplug_device); **/ void generic_unplug_device(struct request_queue *q) { - spin_lock_irq(q->queue_lock); - __generic_unplug_device(q); - spin_unlock_irq(q->queue_lock); + if (blk_queue_plugged(q)) { + spin_lock_irq(q->queue_lock); + __generic_unplug_device(q); + spin_unlock_irq(q->queue_lock); + } } EXPORT_SYMBOL(generic_unplug_device);