blk-mq: add warning to __blk_mq_run_hw_queue() for ints disabled
authorJens Axboe <axboe@kernel.dk>
Tue, 1 Aug 2017 15:28:24 +0000 (09:28 -0600)
committerJens Axboe <axboe@kernel.dk>
Tue, 1 Aug 2017 15:28:24 +0000 (09:28 -0600)
commitb7a71e66d4d274d627cabc17c5e41330bcf47c2d
tree66ba97dff24987245a77aa02570c2dfc08c21340
parent18e9781d44000bcb403941011d954896df7439cc
blk-mq: add warning to __blk_mq_run_hw_queue() for ints disabled

We recently had a bug in the IPR SCSI driver, where it would end up
making the SCSI mid layer run the mq hardware queue with interrupts
disabled. This isn't legal, since the software queue locking relies
on never being grabbed from interrupt context. Additionally, drivers
that set BLK_MQ_F_BLOCKING may schedule from this context.

Add a WARN_ON_ONCE() to catch bad users up front.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.c