This patch changes the behavior of blk_start_queue() so that request queues really do start up again after blk_start_queue() is called (on queues that were previously stopped via blk_stop_queue). The patch applies against 2.6.0-test2. I have tested this patch with the use of blk_stop_queue and blk_start_queue in my branch of the nbd block device driver (not yet released). blk_start_queue is also used in ./drivers/{block/cciss.c,ide/ide-io.c} which should see things function as intended now w.r.t. stopping and starting the request queue (but I do not know if anybody noticed that they weren't working correctly before). ide-io.c uses queue stop and start for power management handling. Please let me know if you've seen a problem before with that, especially if this patch fixes it - that will be happy news ;-)