#include "snic_io.h"
 #include "snic.h"
 
-#define snic_cmd_tag(sc)       (((struct scsi_cmnd *) sc)->request->tag)
+#define snic_cmd_tag(sc)       (scsi_cmd_to_rq(sc)->tag)
 
 const char *snic_state_str[] = {
        [SNIC_INIT]     = "SNIC_INIT",
        u32 start_time = jiffies;
 
        SNIC_SCSI_DBG(snic->shost, "abt_cmd:sc %p :0x%x :req = %p :tag = %d\n",
-                      sc, sc->cmnd[0], sc->request, tag);
+                      sc, sc->cmnd[0], scsi_cmd_to_rq(sc), tag);
 
        if (unlikely(snic_get_state(snic) != SNIC_ONLINE)) {
                SNIC_HOST_ERR(snic->shost,
        int dr_supp = 0;
 
        SNIC_SCSI_DBG(shost, "dev_reset:sc %p :0x%x :req = %p :tag = %d\n",
-                     sc, sc->cmnd[0], sc->request,
+                     sc, sc->cmnd[0], scsi_cmd_to_rq(sc),
                      snic_cmd_tag(sc));
        dr_supp = snic_dev_reset_supported(sc->device);
        if (!dr_supp) {
 
        SNIC_SCSI_DBG(shost,
                      "host reset:sc %p sc_cmd 0x%x req %p tag %d flags 0x%llx\n",
-                     sc, sc->cmnd[0], sc->request,
+                     sc, sc->cmnd[0], scsi_cmd_to_rq(sc),
                      snic_cmd_tag(sc), CMD_FLAGS(sc));
 
        ret = snic_reset(shost, sc);
                sc->result = DID_TRANSPORT_DISRUPTED << 16;
                SNIC_HOST_INFO(snic->shost,
                               "sc_clean: DID_TRANSPORT_DISRUPTED for sc %p, Tag %d flags 0x%llx rqi %p duration %u msecs\n",
-                              sc, sc->request->tag, CMD_FLAGS(sc), rqi,
+                              sc, scsi_cmd_to_rq(sc)->tag, CMD_FLAGS(sc), rqi,
                               jiffies_to_msecs(jiffies - st_time));
 
                /* Update IO stats */