Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ad3d9d7e authored by Jens Axboe's avatar Jens Axboe
Browse files

block: fix issue with calling blk_stop_queue() from the request_fn handler



When the queue work handler was converted to delayed work, the
stopping was inadvertently made sync as well. Change this back
to being async stop, using __cancel_delayed_work() instead of
cancel_delayed_work().

Reported-by: default avatarJeremy Fitzhardinge <jeremy@goop.org>
Reported-by: default avatarChris Mason <chris.mason@oracle.com>
Signed-off-by: default avatarJens Axboe <jaxboe@fusionio.com>
parent 401a18e9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -271,7 +271,7 @@ EXPORT_SYMBOL(blk_start_queue);
 **/
void blk_stop_queue(struct request_queue *q)
{
	cancel_delayed_work(&q->delay_work);
	__cancel_delayed_work(&q->delay_work);
	queue_flag_set(QUEUE_FLAG_STOPPED, q);
}
EXPORT_SYMBOL(blk_stop_queue);