diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/libata-core.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index 59a4a26bc13f..3f9b53cc5d12 100644 --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c | |||
@@ -1145,7 +1145,7 @@ retry: | |||
1145 | * ATA software reset (SRST, the default) does not appear | 1145 | * ATA software reset (SRST, the default) does not appear |
1146 | * to have this problem. | 1146 | * to have this problem. |
1147 | */ | 1147 | */ |
1148 | if ((using_edd) && (qc->tf.command == ATA_CMD_ID_ATA)) { | 1148 | if ((using_edd) && (dev->class == ATA_DEV_ATA)) { |
1149 | u8 err = qc->tf.feature; | 1149 | u8 err = qc->tf.feature; |
1150 | if (err & ATA_ABORTED) { | 1150 | if (err & ATA_ABORTED) { |
1151 | dev->class = ATA_DEV_ATAPI; | 1151 | dev->class = ATA_DEV_ATAPI; |
@@ -2756,7 +2756,6 @@ static unsigned long ata_pio_poll(struct ata_port *ap) | |||
2756 | u8 status; | 2756 | u8 status; |
2757 | unsigned int poll_state = HSM_ST_UNKNOWN; | 2757 | unsigned int poll_state = HSM_ST_UNKNOWN; |
2758 | unsigned int reg_state = HSM_ST_UNKNOWN; | 2758 | unsigned int reg_state = HSM_ST_UNKNOWN; |
2759 | const unsigned int tmout_state = HSM_ST_TMOUT; | ||
2760 | 2759 | ||
2761 | switch (ap->hsm_task_state) { | 2760 | switch (ap->hsm_task_state) { |
2762 | case HSM_ST: | 2761 | case HSM_ST: |
@@ -2777,7 +2776,7 @@ static unsigned long ata_pio_poll(struct ata_port *ap) | |||
2777 | status = ata_chk_status(ap); | 2776 | status = ata_chk_status(ap); |
2778 | if (status & ATA_BUSY) { | 2777 | if (status & ATA_BUSY) { |
2779 | if (time_after(jiffies, ap->pio_task_timeout)) { | 2778 | if (time_after(jiffies, ap->pio_task_timeout)) { |
2780 | ap->hsm_task_state = tmout_state; | 2779 | ap->hsm_task_state = HSM_ST_TMOUT; |
2781 | return 0; | 2780 | return 0; |
2782 | } | 2781 | } |
2783 | ap->hsm_task_state = poll_state; | 2782 | ap->hsm_task_state = poll_state; |