diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-10-13 11:47:49 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-10-13 11:47:49 -0400 |
commit | 218ee5f364ed006403f1bbe3c1da5af51b1bdb2a (patch) | |
tree | bf8c780d22dfa9f26545896b2cc59e588676e75c | |
parent | 74af21cf4d0ab67df53608753a443dc7904ec12e (diff) |
ide-pmac: remove extra good status wait from pmac_ide_do_setfeature()
Don't check for good device status before executing the command in
pmac_ide_do_setfeature() (ide_config_drive_speed() doesn't do this).
It is a job of upper layers to guarantee that the device is ready to
accept new command before we get here.
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
-rw-r--r-- | drivers/ide/ppc/pmac.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/drivers/ide/ppc/pmac.c b/drivers/ide/ppc/pmac.c index ad58c7ecf858..512452b379bd 100644 --- a/drivers/ide/ppc/pmac.c +++ b/drivers/ide/ppc/pmac.c | |||
@@ -548,16 +548,6 @@ pmac_ide_do_setfeature(ide_drive_t *drive, u8 command) | |||
548 | SELECT_DRIVE(drive); | 548 | SELECT_DRIVE(drive); |
549 | SELECT_MASK(drive, 0); | 549 | SELECT_MASK(drive, 0); |
550 | udelay(1); | 550 | udelay(1); |
551 | /* Get rid of pending error state */ | ||
552 | (void) hwif->INB(IDE_STATUS_REG); | ||
553 | /* Timeout bumped for some powerbooks */ | ||
554 | if (wait_for_ready(drive, 2000)) { | ||
555 | /* Timeout bumped for some powerbooks */ | ||
556 | printk(KERN_ERR "%s: pmac_ide_do_setfeature disk not ready " | ||
557 | "before SET_FEATURE!\n", drive->name); | ||
558 | goto out; | ||
559 | } | ||
560 | udelay(10); | ||
561 | hwif->OUTB(drive->ctl | 2, IDE_CONTROL_REG); | 551 | hwif->OUTB(drive->ctl | 2, IDE_CONTROL_REG); |
562 | hwif->OUTB(command, IDE_NSECTOR_REG); | 552 | hwif->OUTB(command, IDE_NSECTOR_REG); |
563 | hwif->OUTB(SETFEATURES_XFER, IDE_FEATURE_REG); | 553 | hwif->OUTB(SETFEATURES_XFER, IDE_FEATURE_REG); |
@@ -569,7 +559,7 @@ pmac_ide_do_setfeature(ide_drive_t *drive, u8 command) | |||
569 | if (result) | 559 | if (result) |
570 | printk(KERN_ERR "%s: pmac_ide_do_setfeature disk not ready " | 560 | printk(KERN_ERR "%s: pmac_ide_do_setfeature disk not ready " |
571 | "after SET_FEATURE !\n", drive->name); | 561 | "after SET_FEATURE !\n", drive->name); |
572 | out: | 562 | |
573 | SELECT_MASK(drive, 0); | 563 | SELECT_MASK(drive, 0); |
574 | if (result == 0) { | 564 | if (result == 0) { |
575 | drive->id->dma_ultra &= ~0xFF00; | 565 | drive->id->dma_ultra &= ~0xFF00; |