]> err.no Git - linux-2.6/blobdiff - drivers/scsi/libata-eh.c
Merge branch 'upstream'
[linux-2.6] / drivers / scsi / libata-eh.c
index e73f5612aea8f355d60eaced846307875c7e74f4..16db62211716d3b9ba5be30687fd80b99d6b8483 100644 (file)
@@ -64,7 +64,7 @@
 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;
@@ -97,9 +97,9 @@ enum scsi_eh_timer_return ata_scsi_timed_out(struct scsi_cmnd *cmd)
  *     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");
 
@@ -116,7 +116,6 @@ int ata_scsi_error(struct Scsi_Host *host)
        scsi_eh_flush_done_q(&ap->eh_done_q);
 
        DPRINTK("EXIT\n");
-       return 0;
 }
 
 /**
@@ -172,7 +171,7 @@ static void ata_qc_timeout(struct ata_queued_cmd *qc)
                       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;
        }