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).
Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 3a6a3549
...@@ -1071,8 +1071,8 @@ static ide_startstop_t idefloppy_issue_pc (ide_drive_t *drive, idefloppy_pc_t *p ...@@ -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); HWIF(drive)->OUTB(drive->ctl, IDE_CONTROL_REG);
/* Use PIO/DMA */ /* Use PIO/DMA */
hwif->OUTB(dma, IDE_FEATURE_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 & 0xff, IDE_BCOUNTL_REG);
hwif->OUTB((bcount >> 8) & 0xff, IDE_BCOUNTH_REG);
HWIF(drive)->OUTB(drive->select.all, IDE_SELECT_REG); HWIF(drive)->OUTB(drive->select.all, IDE_SELECT_REG);
if (dma) { /* Begin DMA, if necessary */ if (dma) { /* Begin DMA, if necessary */
......
...@@ -2174,8 +2174,8 @@ static ide_startstop_t idetape_issue_packet_command (ide_drive_t *drive, idetape ...@@ -2174,8 +2174,8 @@ static ide_startstop_t idetape_issue_packet_command (ide_drive_t *drive, idetape
if (IDE_CONTROL_REG) if (IDE_CONTROL_REG)
hwif->OUTB(drive->ctl, IDE_CONTROL_REG); hwif->OUTB(drive->ctl, IDE_CONTROL_REG);
hwif->OUTB(dma_ok ? 1 : 0, IDE_FEATURE_REG); /* Use PIO/DMA */ 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 & 0xff, IDE_BCOUNTL_REG);
hwif->OUTB((bcount >> 8) & 0xff, IDE_BCOUNTH_REG);
hwif->OUTB(drive->select.all, IDE_SELECT_REG); hwif->OUTB(drive->select.all, IDE_SELECT_REG);
if (dma_ok) /* Will begin DMA later */ if (dma_ok) /* Will begin DMA later */
set_bit(PC_DMA_IN_PROGRESS, &pc->flags); set_bit(PC_DMA_IN_PROGRESS, &pc->flags);
......
...@@ -594,8 +594,8 @@ static ide_startstop_t idescsi_issue_pc (ide_drive_t *drive, idescsi_pc_t *pc) ...@@ -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(drive)->OUTB(drive->ctl, IDE_CONTROL_REG);
hwif->OUTB(dma, IDE_FEATURE_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 & 0xff, IDE_BCOUNTL_REG);
hwif->OUTB((bcount >> 8) & 0xff, IDE_BCOUNTH_REG);
if (dma) if (dma)
set_bit(PC_DMA_OK, &pc->flags); set_bit(PC_DMA_OK, &pc->flags);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment