[PATCH] libata: if condition fix for ata_dev_identify()
authorAlbert Lee <albertcc@tw.ibm.com>
Wed, 9 Nov 2005 05:03:30 +0000 (13:03 +0800)
committerJeff Garzik <jgarzik@pobox.com>
Wed, 9 Nov 2005 06:23:22 +0000 (01:23 -0500)
  - if condition fix for ata_dev_identify()
  - ata_pio_poll() minor cleanup.

Changes:
   - Use (dev->class == ATA_DEV_ATA) for ata_dev_identify()
     since "qc->tf.command" has been overwritten by the device status
   - Use HSM_ST_TMOUT directly in ata_pio_poll()

Signed-off-by: Albert Lee <albertcc@tw.ibm.com>
============
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
drivers/scsi/libata-core.c

index f1942545a20d6cb3134e243c9a4df5856f44e0c3..a74b4071a662f6169debc3123cf86b7a6808e3be 100644 (file)
@@ -1144,7 +1144,7 @@ retry:
                 * ATA software reset (SRST, the default) does not appear
                 * to have this problem.
                 */
-               if ((using_edd) && (qc->tf.command == ATA_CMD_ID_ATA)) {
+               if ((using_edd) && (dev->class == ATA_DEV_ATA)) {
                        u8 err = qc->tf.feature;
                        if (err & ATA_ABORTED) {
                                dev->class = ATA_DEV_ATAPI;
@@ -2747,7 +2747,6 @@ static unsigned long ata_pio_poll(struct ata_port *ap)
        u8 status;
        unsigned int poll_state = HSM_ST_UNKNOWN;
        unsigned int reg_state = HSM_ST_UNKNOWN;
-       const unsigned int tmout_state = HSM_ST_TMOUT;
 
        switch (ap->hsm_task_state) {
        case HSM_ST:
@@ -2768,7 +2767,7 @@ static unsigned long ata_pio_poll(struct ata_port *ap)
        status = ata_chk_status(ap);
        if (status & ATA_BUSY) {
                if (time_after(jiffies, ap->pio_task_timeout)) {
-                       ap->hsm_task_state = tmout_state;
+                       ap->hsm_task_state = HSM_ST_TMOUT;
                        return 0;
                }
                ap->hsm_task_state = poll_state;