Hi, The 1st 2 patches fixes request completion related races. The 2nd 3 patches fixes/improves nvme-tcp error recovery. With the 4 patches, nvme/012 can pass on nvme-tcp in Zhang Yi's test machine. V2: - re-order patch3 and patch4 - fix comment - improve patch "nvme: tcp: fix race between timeout and normal completion" Ming Lei (4): blk-mq: check rq->state explicitly in blk_mq_tagset_count_completed_rqs blk-mq: fix blk_mq_request_completed nvme: tcp: complete non-IO requests atomically nvme: tcp: fix race between timeout and normal completion block/blk-flush.c | 2 + block/blk-mq-tag.c | 2 +- drivers/nvme/host/tcp.c | 98 ++++++++++++++++++++++++++++++++--------- include/linux/blk-mq.h | 8 +++- 4 files changed, 86 insertions(+), 24 deletions(-) CC: Chao Leng <lengchao@xxxxxxxxxx> Cc: Sagi Grimberg <sagi@xxxxxxxxxxx> Cc: Yi Zhang <yi.zhang@xxxxxxxxxx> -- 2.25.2