kernel-fxtec-pro1x/block
Muthukumar Ratty e81ca6fe85 [SCSI] block: Fix blk_execute_rq_nowait() dead queue handling
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@gmail.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Tejun Heo <tj@kernel.org>
Acked-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2012-07-20 08:58:39 +01:00
..
partitions
blk-cgroup.c blkcg: drop local variable @q from blkg_destroy() 2012-06-06 08:35:31 +02:00
blk-cgroup.h
blk-core.c block: Mitigate lock unbalance caused by lock switching 2012-06-15 08:46:22 +02:00
blk-exec.c [SCSI] block: Fix blk_execute_rq_nowait() dead queue handling 2012-07-20 08:58:39 +01:00
blk-flush.c
blk-integrity.c
blk-ioc.c block: avoid infinite loop in get_task_io_context() 2012-05-31 13:39:05 +02:00
blk-iopoll.c
blk-lib.c
blk-map.c
blk-merge.c
blk-settings.c
blk-softirq.c
blk-sysfs.c
blk-tag.c
blk-throttle.c blkcg: tg_stats_alloc_lock is an irq lock 2012-05-23 12:16:21 +02:00
blk-timeout.c block: Drop dead function blk_abort_queue() 2012-06-15 08:46:23 +02:00
blk.h
bsg-lib.c
bsg.c
cfq-iosched.c block: blkcg_policy_cfq shouldn't be used if !CONFIG_CFQ_GROUP_IOSCHED 2012-06-04 10:02:29 +02:00
compat_ioctl.c
deadline-iosched.c
elevator.c
genhd.c
ioctl.c
Kconfig
Kconfig.iosched
Makefile
noop-iosched.c
partition-generic.c
scsi_ioctl.c scsi: Silence unnecessary warnings about ioctl to partition 2012-06-15 12:52:46 +02:00