]> err.no Git - linux-2.6/blobdiff - drivers/scsi/libata-eh.c
Merge branch 'upstream'
[linux-2.6] / drivers / scsi / libata-eh.c
index 011e083b19e1063787aa5d7d2d16b9e675198699..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;
 }
 
 /**
@@ -137,7 +136,6 @@ int ata_scsi_error(struct Scsi_Host *host)
  *     LOCKING:
  *     Inherited from SCSI layer (none, can sleep)
  */
-
 static void ata_qc_timeout(struct ata_queued_cmd *qc)
 {
        struct ata_port *ap = qc->ap;
@@ -172,8 +170,6 @@ static void ata_qc_timeout(struct ata_queued_cmd *qc)
                printk(KERN_ERR "ata%u: command 0x%x timeout, stat 0x%x host_stat 0x%x\n",
                       ap->id, qc->tf.command, drv_stat, host_stat);
 
-               ap->hsm_task_state = HSM_ST_IDLE;
-
                /* complete taskfile transaction */
                qc->err_mask |= AC_ERR_TIMEOUT;
                break;