ide-pmac: remove extra good status wait from pmac_ide_do_setfeature()
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
@@ -547,16 +547,6 @@ pmac_ide_do_setfeature(ide_drive_t *drivSELECT_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 *drivif (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 ;
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
Cc Benjamin Herrenschmidt <[email protected]>Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>--- 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 *drivSELECT_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 *drivif (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 ;