Jianchao, > In scsi core, __scsi_queue_insert should just put request back on > the queue and retry using the same command as before. However, for > blk-mq, scsi_mq_requeue_cmd is employed here which will unprepare > the request. To align with the semantics of __scsi_queue_insert, > use blk_mq_requeue_request with kick_requeue_list == true and put > the reference of scsi_device.
Applied to 4.17/scsi-queue, thank you! -- Martin K. Petersen Oracle Linux Engineering