static void reset_ports(struct Scsi_Host *shpnt);
static void aha152x_error(struct Scsi_Host *shpnt, char *msg);
static void done(struct Scsi_Host *shpnt, unsigned char status_byte,
- unsigned char msg_byte, unsigned char host_byte);
+ unsigned char host_byte);
/* diagnostics */
static void show_command(struct scsi_cmnd * ptr);
*
*/
static void done(struct Scsi_Host *shpnt, unsigned char status_byte,
- unsigned char msg_byte, unsigned char host_byte)
+ unsigned char host_byte)
{
if (CURRENT_SC) {
if(DONE_SC)
DONE_SC = CURRENT_SC;
CURRENT_SC = NULL;
- DONE_SC->result = status_byte;
- set_msg_byte(DONE_SC, msg_byte);
+ set_status_byte(DONE_SC, status_byte);
set_host_byte(DONE_SC, host_byte);
} else
printk(KERN_ERR "aha152x: done() called outside of command\n");
if(CURRENT_SC->SCp.phase & completed) {
/* target sent COMMAND COMPLETE */
- done(shpnt, CURRENT_SC->SCp.Status,
- CURRENT_SC->SCp.Message, DID_OK);
+ done(shpnt, CURRENT_SC->SCp.Status, DID_OK);
} else if(CURRENT_SC->SCp.phase & aborted) {
- done(shpnt, CURRENT_SC->SCp.Status,
- CURRENT_SC->SCp.Message, DID_ABORT);
+ done(shpnt, CURRENT_SC->SCp.Status, DID_ABORT);
} else if(CURRENT_SC->SCp.phase & resetted) {
- done(shpnt, CURRENT_SC->SCp.Status,
- CURRENT_SC->SCp.Message, DID_RESET);
+ done(shpnt, CURRENT_SC->SCp.Status, DID_RESET);
} else if(CURRENT_SC->SCp.phase & disconnected) {
/* target sent DISCONNECT */
CURRENT_SC = NULL;
} else {
- done(shpnt, SAM_STAT_GOOD,
- COMMAND_COMPLETE, DID_ERROR);
+ done(shpnt, SAM_STAT_GOOD, DID_ERROR);
}
#if defined(AHA152X_STAT)
} else {
if (TESTLO(SSTAT0, SELDO)) {
scmd_printk(KERN_ERR, CURRENT_SC,
"aha152x: passing bus free condition\n");
- done(shpnt, SAM_STAT_GOOD,
- COMMAND_COMPLETE, DID_NO_CONNECT);
+ done(shpnt, SAM_STAT_GOOD, DID_NO_CONNECT);
return;
}
CURRENT_SC->SCp.phase &= ~selecting;
if (CURRENT_SC->SCp.phase & aborted)
- done(shpnt, SAM_STAT_GOOD,
- COMMAND_COMPLETE, DID_ABORT);
+ done(shpnt, SAM_STAT_GOOD, DID_ABORT);
else if (TESTLO(SSTAT0, SELINGO))
- done(shpnt, SAM_STAT_GOOD,
- COMMAND_COMPLETE, DID_BUS_BUSY);
+ done(shpnt, SAM_STAT_GOOD, DID_BUS_BUSY);
else
/* ARBITRATION won, but SELECTION failed */
- done(shpnt, SAM_STAT_GOOD,
- COMMAND_COMPLETE, DID_NO_CONNECT);
+ done(shpnt, SAM_STAT_GOOD, DID_NO_CONNECT);
}
/*
if (CURRENT_SC->SCp.sent_command) {
scmd_printk(KERN_ERR, CURRENT_SC,
"command already sent\n");
- done(shpnt, SAM_STAT_GOOD,
- COMMAND_COMPLETE, DID_ERROR);
+ done(shpnt, SAM_STAT_GOOD, DID_ERROR);
return;
}
static void parerr_run(struct Scsi_Host *shpnt)
{
scmd_printk(KERN_ERR, CURRENT_SC, "parity error\n");
- done(shpnt, SAM_STAT_GOOD,
- COMMAND_COMPLETE, DID_PARITY);
+ done(shpnt, SAM_STAT_GOOD, DID_PARITY);
}
/*
kfree(ptr->host_scribble);
ptr->host_scribble=NULL;
- ptr->result = DID_RESET << 16;
+ set_host_byte(ptr, DID_RESET);
ptr->scsi_done(ptr);
}
}
if(CURRENT_SC && !CURRENT_SC->device->soft_reset)
- done(shpnt, SAM_STAT_GOOD,
- COMMAND_COMPLETE, DID_RESET);
+ done(shpnt, SAM_STAT_GOOD, DID_RESET);
}