switch (response_code) {
        case RC_INCORRECT_LUN:
-               cmnd->result = DID_BAD_TARGET << 16;
+               set_host_byte(cmnd, DID_BAD_TARGET);
                break;
        case RC_TMF_SUCCEEDED:
-               cmnd->result = DID_OK << 16;
+               set_host_byte(cmnd, DID_OK);
                break;
        case RC_TMF_NOT_SUPPORTED:
-               cmnd->result = DID_TARGET_FAILURE << 16;
+               set_host_byte(cmnd, DID_TARGET_FAILURE);
                break;
        default:
                uas_log_cmd_state(cmnd, "response iu", response_code);
-               cmnd->result = DID_ERROR << 16;
+               set_host_byte(cmnd, DID_ERROR);
                break;
        }
 
        spin_lock_irqsave(&devinfo->lock, flags);
 
        if (devinfo->resetting) {
-               cmnd->result = DID_ERROR << 16;
+               set_host_byte(cmnd, DID_ERROR);
                cmnd->scsi_done(cmnd);
                goto zombie;
        }
         * of queueing, no matter how fatal the error
         */
        if (err == -ENODEV) {
-               cmnd->result = DID_ERROR << 16;
+               set_host_byte(cmnd, DID_ERROR);
                cmnd->scsi_done(cmnd);
                goto zombie;
        }