msg[2] = 0;
        msg[3]= 0;
        /* Add 1 to avoid firmware treating it as invalid command */
-       msg[4] = cmd->request->tag + 1;
+       msg[4] = scsi_cmd_to_rq(cmd)->tag + 1;
        if (pHba->host)
                spin_lock_irq(pHba->host->host_lock);
        rcode = adpt_i2o_post_wait(pHba, msg, sizeof(msg), FOREVER);
        msg[1] = ((0xff<<24)|(HOST_TID<<12)|d->tid);
        msg[2] = 0;
        /* Add 1 to avoid firmware treating it as invalid command */
-       msg[3] = cmd->request->tag + 1;
+       msg[3] = scsi_cmd_to_rq(cmd)->tag + 1;
        // Our cards use the transaction context as the tag for queueing
        // Adaptec/DPT Private stuff 
        msg[4] = I2O_CMD_SCSI_EXEC|(DPT_ORGANIZATION_ID<<16);