On Mon, Jun 25, 2012 at 06:14:15PM +0000, Bart Van Assche wrote: > From: Muthukumar Ratty <muthur@xxxxxxxxx> > > If the queue is dead blk_execute_rq_nowait() doesn't invoke the done() > callback function. That will result in blk_execute_rq() being stuck > in wait_for_completion(). Avoid this by initializing rq->end_io to the > done() callback before we check the queue state. Also, make sure the > queue lock is held around the invocation of the done() callback. Found > this through source code review. > > Signed-off-by: Muthukumar Ratty <muthur@xxxxxxxxx> > Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> > Cc: Tejun Heo <tj@xxxxxxxxxx> > Cc: Jens Axboe <axboe@xxxxxxxxx> > Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Thanks a lot! -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html