At device removal time request processing functions like scsi_request_fn() that unlock the queue lock internally may cause blk_cleanup_queue() to finish while request_fn is in progress. This three-patch series makes sure that blk_cleanup_queue() can't finish before all active request_fn calls have finished and also that request_fn isn't invoked anymore after queue draining finished. Changes compared to v2: - Split second patch into two patches. - Refined patch descriptions. Changes compared to v1: - Included a patch to rename QUEUE_FLAG_DEAD. - Refined the descriptions of the __blk_run_queue_uncond() and blk_cleanup_queue() functions. -- 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