Skip to contentSkip to conversation

ide-{floppy,tape,scsi}: fix register loading order when issuing packet command

PATCH In review Bartlomiej Zolnierkiewicz 2 participants 2 messages Oct 30, 2007 – Nov 4, 2007

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

PATCH 9/15 ide-{floppy,tape,scsi}: fix register loading order when issuing packet command

Load IDE_BCOUNTL_REG before IDE_BCOUNTH_REG when issuing packet command.

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-floppy.c |    2 +-
 drivers/ide/ide-tape.c   |    2 +-
 drivers/scsi/ide-scsi.c  |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
drivers/ide/ide-floppy.c +1 -1
Index: b/drivers/ide/ide-floppy.c
===================================================================
@@ -1071,8 +1071,8 @@ static ide_startstop_t idefloppy_issue_p
 		HWIF(drive)->OUTB(drive->ctl, IDE_CONTROL_REG);
 	/* Use PIO/DMA */
 	hwif->OUTB(dma, IDE_FEATURE_REG);
-	hwif->OUTB((bcount >> 8) & 0xff, IDE_BCOUNTH_REG);
 	hwif->OUTB(bcount & 0xff, IDE_BCOUNTL_REG);
+	hwif->OUTB((bcount >> 8) & 0xff, IDE_BCOUNTH_REG);
 	HWIF(drive)->OUTB(drive->select.all, IDE_SELECT_REG);
 
 	if (dma) {	/* Begin DMA, if necessary */
drivers/ide/ide-tape.c +1 -1
Index: b/drivers/ide/ide-tape.c
===================================================================
@@ -2174,8 +2174,8 @@ static ide_startstop_t idetape_issue_pac
 	if (IDE_CONTROL_REG)
 		hwif->OUTB(drive->ctl, IDE_CONTROL_REG);
 	hwif->OUTB(dma_ok ? 1 : 0, IDE_FEATURE_REG);	/* Use PIO/DMA */
-	hwif->OUTB((bcount >> 8) & 0xff, IDE_BCOUNTH_REG);
 	hwif->OUTB(bcount & 0xff, IDE_BCOUNTL_REG);
+	hwif->OUTB((bcount >> 8) & 0xff, IDE_BCOUNTH_REG);
 	hwif->OUTB(drive->select.all, IDE_SELECT_REG);
 	if (dma_ok)			/* Will begin DMA later */
 		set_bit(PC_DMA_IN_PROGRESS, &pc->flags);
drivers/scsi/ide-scsi.c +1 -1
Index: b/drivers/scsi/ide-scsi.c
===================================================================
@@ -599,8 +599,8 @@ static ide_startstop_t idescsi_issue_pc 
 		HWIF(drive)->OUTB(drive->ctl, IDE_CONTROL_REG);
 
 	hwif->OUTB(dma, IDE_FEATURE_REG);
-	hwif->OUTB((bcount >> 8) & 0xff, IDE_BCOUNTH_REG);
 	hwif->OUTB(bcount & 0xff, IDE_BCOUNTL_REG);
+	hwif->OUTB((bcount >> 8) & 0xff, IDE_BCOUNTH_REG);
 
 	if (dma)
 		set_bit(PC_DMA_OK, &pc->flags);