bsg: fix bsg_poll() to return POLLOUT properly
POLLOUT should be returned only if bd->queued_cmds < bd->max_queue so that bsg_alloc_command() can proceed. Signed-off-by: Namhyung Kim <namhyung@gmail.com> Acked-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
This commit is contained in:
Родитель
2c53b436a3
Коммит
80ceb05713
|
@ -878,7 +878,7 @@ static unsigned int bsg_poll(struct file *file, poll_table *wait)
|
|||
spin_lock_irq(&bd->lock);
|
||||
if (!list_empty(&bd->done_list))
|
||||
mask |= POLLIN | POLLRDNORM;
|
||||
if (bd->queued_cmds >= bd->max_queue)
|
||||
if (bd->queued_cmds < bd->max_queue)
|
||||
mask |= POLLOUT;
|
||||
spin_unlock_irq(&bd->lock);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче