static struct sdebug_queue *get_queue(struct scsi_cmnd *cmnd)
 {
        u16 hwq;
-       u32 tag = blk_mq_unique_tag(cmnd->request);
+       u32 tag = blk_mq_unique_tag(scsi_cmd_to_rq(cmnd));
 
        hwq = blk_mq_unique_tag_to_hwq(tag);
 
 
 static u32 get_tag(struct scsi_cmnd *cmnd)
 {
-       return blk_mq_unique_tag(cmnd->request);
+       return blk_mq_unique_tag(scsi_cmd_to_rq(cmnd));
 }
 
 /* Queued (deferred) command completions converge here. */
 {
        bool new_sd_dp;
        bool inject = false;
-       bool hipri = (cmnd->request->cmd_flags & REQ_HIPRI);
+       bool hipri = scsi_cmd_to_rq(cmnd)->cmd_flags & REQ_HIPRI;
        int k, num_in_q, qdepth;
        unsigned long iflags;
        u64 ns_from_boot = 0;
                if (sdebug_statistics)
                        sd_dp->issuing_cpu = raw_smp_processor_id();
                if (unlikely(sd_dp->aborted)) {
-                       sdev_printk(KERN_INFO, sdp, "abort request tag %d\n", cmnd->request->tag);
-                       blk_abort_request(cmnd->request);
+                       sdev_printk(KERN_INFO, sdp, "abort request tag %d\n",
+                                   scsi_cmd_to_rq(cmnd)->tag);
+                       blk_abort_request(scsi_cmd_to_rq(cmnd));
                        atomic_set(&sdeb_inject_pending, 0);
                        sd_dp->aborted = false;
                }
                                               (u32)cmd[k]);
                }
                sdev_printk(KERN_INFO, sdp, "%s: tag=%#x, cmd %s\n", my_name,
-                           blk_mq_unique_tag(scp->request), b);
+                           blk_mq_unique_tag(scsi_cmd_to_rq(scp)), b);
        }
        if (unlikely(inject_now && (sdebug_opts & SDEBUG_OPT_HOST_BUSY)))
                return SCSI_MLQUEUE_HOST_BUSY;