Provided by:
linux-doc-2.6.15_2.6.15-23.39_all 
NAME
blk_stop_queue - stop a queue
SYNOPSIS
void blk_stop_queue (request_queue_t * q);
ARGUMENTS
q The &request_queue_t in question
DESCRIPTION
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.