Commit 80ceb057 authored by Namhyung Kim's avatar Namhyung Kim Committed by Jens Axboe

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: default avatarNamhyung Kim <namhyung@gmail.com>
Acked-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: default avatarJens Axboe <jaxboe@fusionio.com>
parent 2c53b436
...@@ -878,7 +878,7 @@ static unsigned int bsg_poll(struct file *file, poll_table *wait) ...@@ -878,7 +878,7 @@ static unsigned int bsg_poll(struct file *file, poll_table *wait)
spin_lock_irq(&bd->lock); spin_lock_irq(&bd->lock);
if (!list_empty(&bd->done_list)) if (!list_empty(&bd->done_list))
mask |= POLLIN | POLLRDNORM; mask |= POLLIN | POLLRDNORM;
if (bd->queued_cmds >= bd->max_queue) if (bd->queued_cmds < bd->max_queue)
mask |= POLLOUT; mask |= POLLOUT;
spin_unlock_irq(&bd->lock); spin_unlock_irq(&bd->lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment