Hi, This patchset introduces blk_mq_complete_request_sync() for canceling request synchronously in error handler context, then one race between completing request and destroying contoller/queues can be fixed. Ming Lei (2): blk-mq: introduce blk_mq_complete_request_sync() nvme: cancel request synchronously block/blk-mq.c | 20 ++++++++++++++++---- drivers/nvme/host/core.c | 2 +- include/linux/blk-mq.h | 1 + 3 files changed, 18 insertions(+), 5 deletions(-) Cc: Christoph Hellwig <hch@xxxxxx> Cc: linux-nvme@xxxxxxxxxxxxxxxxxxx -- 2.9.5