memset(tl_cmd, 0, sizeof(*tl_cmd));
        tl_cmd->sc = sc;
-       tl_cmd->sc_cmd_tag = scsi_cmd_to_rq(sc)->tag;
+       tl_cmd->sc_cmd_tag = blk_mq_unique_tag(scsi_cmd_to_rq(sc));
 
        tcm_loop_target_queue_cmd(tl_cmd);
        return 0;
        tl_hba = *(struct tcm_loop_hba **)shost_priv(sc->device->host);
        tl_tpg = &tl_hba->tl_hba_tpgs[sc->device->id];
        ret = tcm_loop_issue_tmr(tl_tpg, sc->device->lun,
-                                scsi_cmd_to_rq(sc)->tag, TMR_ABORT_TASK);
+                                blk_mq_unique_tag(scsi_cmd_to_rq(sc)),
+                                TMR_ABORT_TASK);
        return (ret == TMR_FUNCTION_COMPLETE) ? SUCCESS : FAILED;
 }