Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 932aead6 authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz
Browse files

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
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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 */
+1 −1
Original line number Diff line number Diff line
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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);