blk_stop_queue (9) - Linux Manuals
blk_stop_queue: stop a queue
blk_stop_queue - stop a queue
void blk_stop_queue(struct request_queue
- The struct request_queue in question
The Linux block layer assumes that a block driver will consume all entries on the request queue when the request_fn strategy is called. Often this will not happen, because of hardware limitations (queue depth settings). If a device driver gets a 'queue full' response, or if it simply chooses not to queue more I/O at one point, it can call this function to prevent the request_fn from being called until the driver has signalled it's ready to go again. This happens by calling blk_start_queue to restart queue operations. Queue lock must be held.