I've got an oops for the following stack: ... lpfc_send_taskmgmt+0x28a [lpfc] lpfc_bus_reset_handler+0x16a [lpfc] scsi_try_bus_reset+0x3a scsi_ioctl_reset+0x143 scsi_ioctl+0x18e [sg]
The issue is that lpfc eventually calls blk_mq_unique_tag() as everything is scsi-mq enabled. blk_mq_unique_tag() oops as rq->mq_hctx is NULL. It is NULL as scsi_ioctl_reset built up a dummy request struct without a queue:
blk_rq_init(NULL, rq); scmd = (struct scsi_cmnd *)(rq + 1); scsi_init_command(dev, scmd); scmd->request = rq; scmd->cmnd = scsi_req(rq)->cmd;
What's the best way to approach fixing this ? -- james