enum scsi_eh_timer_return ata_scsi_timed_out(struct scsi_cmnd *cmd)
{
struct Scsi_Host *host = cmd->device->host;
- struct ata_port *ap = (struct ata_port *) &host->hostdata[0];
+ struct ata_port *ap = ata_shost_to_port(host);
unsigned long flags;
struct ata_queued_cmd *qc;
enum scsi_eh_timer_return ret = EH_HANDLED;
* RETURNS:
* Zero.
*/
-int ata_scsi_error(struct Scsi_Host *host)
+void ata_scsi_error(struct Scsi_Host *host)
{
- struct ata_port *ap = (struct ata_port *)&host->hostdata[0];
+ struct ata_port *ap = ata_shost_to_port(host);
DPRINTK("ENTER\n");
scsi_eh_flush_done_q(&ap->eh_done_q);
DPRINTK("EXIT\n");
- return 0;
}
/**
ap->id, qc->tf.command, drv_stat, host_stat);
/* complete taskfile transaction */
- qc->err_mask |= ac_err_mask(drv_stat);
+ qc->err_mask |= AC_ERR_TIMEOUT;
break;
}