ide-{floppy,tape,scsi}: fix register loading order when issuing packet command
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Fri, 25 Jan 2008 21:17:13 +0000 (22:17 +0100)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Fri, 25 Jan 2008 21:17:13 +0000 (22:17 +0100)
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).

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/ide-floppy.c
drivers/ide/ide-tape.c
drivers/scsi/ide-scsi.c

index 830186f..d4fd064 100644 (file)
@@ -1071,8 +1071,8 @@ static ide_startstop_t idefloppy_issue_pc (ide_drive_t *drive, idefloppy_pc_t *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 */
index 3539131..d1f2446 100644 (file)
@@ -2174,8 +2174,8 @@ static ide_startstop_t idetape_issue_packet_command (ide_drive_t *drive, idetape
        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);
index ab7e864..76f0ccd 100644 (file)
@@ -594,8 +594,8 @@ static ide_startstop_t idescsi_issue_pc (ide_drive_t *drive, idescsi_pc_t *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);