Skip to contentSkip to conversation

ide-pmac: remove extra good status wait from pmac_ide_do_setfeature()

PATCH In review Bartlomiej Zolnierkiewicz 2 participants 2 messages Jul 22, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 8/11 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.

---
 drivers/ide/ppc/pmac.c |   12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)
drivers/ide/ppc/pmac.c +1 -11
Index: b/drivers/ide/ppc/pmac.c
===================================================================
@@ -547,16 +547,6 @@ pmac_ide_do_setfeature(ide_drive_t *driv
 	SELECT_DRIVE(drive);
 	SELECT_MASK(drive, 0);
 	udelay(1);
-	/* Get rid of pending error state */
-	(void) hwif->INB(IDE_STATUS_REG);
-	/* Timeout bumped for some powerbooks */
-	if (wait_for_ready(drive, 2000)) {
-		/* Timeout bumped for some powerbooks */
-		printk(KERN_ERR "%s: pmac_ide_do_setfeature disk not ready "
-			"before SET_FEATURE!\n", drive->name);
-		goto out;
-	}
-	udelay(10);
 	hwif->OUTB(drive->ctl | 2, IDE_CONTROL_REG);
 	hwif->OUTB(command, IDE_NSECTOR_REG);
 	hwif->OUTB(SETFEATURES_XFER, IDE_FEATURE_REG);
@@ -568,7 +558,7 @@ pmac_ide_do_setfeature(ide_drive_t *driv
 	if (result)
 		printk(KERN_ERR "%s: pmac_ide_do_setfeature disk not ready "
 			"after SET_FEATURE !\n", drive->name);
-out:
+
 	SELECT_MASK(drive, 0);
 	if (result == 0) {
 		drive->id->dma_ultra &= ~0xFF00;
#1 lore raw
Quoted 5 lines · Bartlomiej Zolnierkiewicz

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.

I had issues in those areas ... I'd like to keep a warning at least or something in there for now.

Ben.

Quoted 36 lines
---
 drivers/ide/ppc/pmac.c |   12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

Index: b/drivers/ide/ppc/pmac.c
===================================================================

drivers/ide/ppc/pmac.c +1 -11
@@ -547,16 +547,6 @@ pmac_ide_do_setfeature(ide_drive_t *driv
 	SELECT_DRIVE(drive);
 	SELECT_MASK(drive, 0);
 	udelay(1);
-	/* Get rid of pending error state */
-	(void) hwif->INB(IDE_STATUS_REG);
-	/* Timeout bumped for some powerbooks */
-	if (wait_for_ready(drive, 2000)) {
-		/* Timeout bumped for some powerbooks */
-		printk(KERN_ERR "%s: pmac_ide_do_setfeature disk not ready "
-			"before SET_FEATURE!\n", drive->name);
-		goto out;
-	}
-	udelay(10);
 	hwif->OUTB(drive->ctl | 2, IDE_CONTROL_REG);
 	hwif->OUTB(command, IDE_NSECTOR_REG);
 	hwif->OUTB(SETFEATURES_XFER, IDE_FEATURE_REG);
@@ -568,7 +558,7 @@ pmac_ide_do_setfeature(ide_drive_t *driv
 	if (result)
 		printk(KERN_ERR "%s: pmac_ide_do_setfeature disk not ready "
 			"after SET_FEATURE !\n", drive->name);
-out:
+
 	SELECT_MASK(drive, 0);
 	if (result == 0) {
 		drive->id->dma_ultra &= ~0xFF00;