aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libata-eh.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/libata-eh.c')
-rw-r--r--drivers/scsi/libata-eh.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/scsi/libata-eh.c b/drivers/scsi/libata-eh.c
index e73f5612aea8..011e083b19e1 100644
--- a/drivers/scsi/libata-eh.c
+++ b/drivers/scsi/libata-eh.c
@@ -137,6 +137,7 @@ int ata_scsi_error(struct Scsi_Host *host)
137 * LOCKING: 137 * LOCKING:
138 * Inherited from SCSI layer (none, can sleep) 138 * Inherited from SCSI layer (none, can sleep)
139 */ 139 */
140
140static void ata_qc_timeout(struct ata_queued_cmd *qc) 141static void ata_qc_timeout(struct ata_queued_cmd *qc)
141{ 142{
142 struct ata_port *ap = qc->ap; 143 struct ata_port *ap = qc->ap;
@@ -171,8 +172,10 @@ static void ata_qc_timeout(struct ata_queued_cmd *qc)
171 printk(KERN_ERR "ata%u: command 0x%x timeout, stat 0x%x host_stat 0x%x\n", 172 printk(KERN_ERR "ata%u: command 0x%x timeout, stat 0x%x host_stat 0x%x\n",
172 ap->id, qc->tf.command, drv_stat, host_stat); 173 ap->id, qc->tf.command, drv_stat, host_stat);
173 174
175 ap->hsm_task_state = HSM_ST_IDLE;
176
174 /* complete taskfile transaction */ 177 /* complete taskfile transaction */
175 qc->err_mask |= ac_err_mask(drv_stat); 178 qc->err_mask |= AC_ERR_TIMEOUT;
176 break; 179 break;
177 } 180 }
178 181