Provided by: linux-doc-2.6.15_2.6.15-23.39_all bug

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.