* in order to keep it alive.
  */
        if (!found && sync_reset && !retrieve_from_waiting_list(0, np, cmd)) {
-               cmd->result = ScsiResult(DID_RESET, 0);
+               cmd->result = DID_RESET << 16;
                ncr_queue_done_cmd(np, cmd);
        }
 
                /*
                **   Check condition code
                */
-               cmd->result = ScsiResult(DID_OK, S_CHECK_COND);
+               cmd->result = DID_OK << 16 | S_CHECK_COND;
 
                /*
                **      Copy back sense data to caller's buffer.
                /*
                **   Reservation Conflict condition code
                */
-               cmd->result = ScsiResult(DID_OK, S_CONFLICT);
+               cmd->result = DID_OK << 16 | S_CONFLICT;
        
        } else if ((cp->host_status == HS_COMPLETE)
                && (cp->scsi_status == S_BUSY ||
      spin_lock_irqsave(&np->smp_lock, flags);
 
      if ((sts = ncr_queue_command(np, cmd)) != DID_OK) {
-         cmd->result = ScsiResult(sts, 0);
+         cmd->result = sts << 16;
 #ifdef DEBUG_NCR53C8XX
 printk("ncr53c8xx : command not queued - result=%d\n", sts);
 #endif
 #ifdef DEBUG_WAITING_LIST
        printk("%s: cmd %lx done forced sts=%d\n", ncr_name(np), (u_long) wcmd, sts);
 #endif
-                       wcmd->result = ScsiResult(sts, 0);
+                       wcmd->result = sts << 16;
                        ncr_queue_done_cmd(np, wcmd);
                }
        }