Skip to contentSkip to conversation

ide-disk: fix taskfile registers loading order in __ide_do_rw_disk()

PATCH In review Bartlomiej Zolnierkiewicz 1 participant 1 message Oct 8, 2007 libata

lore
Share & tools
lore
#0 lore raw

PATCH 8/12 ide-disk: fix taskfile registers loading order in __ide_do_rw_disk()

Load IDE_SECTOR_REG after IDE_FEATURE_REG and IDE_NSECTOR_REG when using CHS.

This patch is basically a preparation for the next one which converts __ide_do_rw_disk() to use struct ide_taskfile.

It shouldn't affect anything (just a usual paranoia to separate changes which change the way in which hardware is accessed from code cleanups).

---
 drivers/ide/ide-disk.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/ide/ide-disk.c +1 -1
Index: b/drivers/ide/ide-disk.c
===================================================================
@@ -238,7 +238,6 @@ static ide_startstop_t __ide_do_rw_disk(
 		unsigned int sect,head,cyl,track;
 		track = (int)block / drive->sect;
 		sect  = (int)block % drive->sect + 1;
-		hwif->OUTB(sect, IDE_SECTOR_REG);
 		head  = track % drive->head;
 		cyl   = track / drive->head;
 
@@ -246,6 +245,7 @@ static ide_startstop_t __ide_do_rw_disk(
 
 		hwif->OUTB(0x00, IDE_FEATURE_REG);
 		hwif->OUTB(nsectors.b.low, IDE_NSECTOR_REG);
+		hwif->OUTB(sect, IDE_SECTOR_REG);
 		hwif->OUTB(cyl, IDE_LCYL_REG);
 		hwif->OUTB(cyl>>8, IDE_HCYL_REG);
 		hwif->OUTB(head|drive->select.all,IDE_SELECT_REG);