diff options
author | sos <sos@FreeBSD.org> | 2002-04-18 19:11:45 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2002-04-18 19:11:45 +0000 |
commit | 57865251c86fc1a67f3fe94878e07688c988ee3d (patch) | |
tree | 26178c91467b079e298762402bb89e12781834b8 /sys/dev/ata/ata-disk.c | |
parent | f446eb58b0ea3667e039476b9e742450b2ad3328 (diff) | |
download | FreeBSD-src-57865251c86fc1a67f3fe94878e07688c988ee3d.zip FreeBSD-src-57865251c86fc1a67f3fe94878e07688c988ee3d.tar.gz |
Fix the breakage of tagged queueing that the busdma integration
introduced. Since its now only possible to have one DMA control
block at a time, we move the setup to dmastart instead.
Diffstat (limited to 'sys/dev/ata/ata-disk.c')
-rw-r--r-- | sys/dev/ata/ata-disk.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/ata/ata-disk.c b/sys/dev/ata/ata-disk.c index 5a72220..d7ac069 100644 --- a/sys/dev/ata/ata-disk.c +++ b/sys/dev/ata/ata-disk.c @@ -487,7 +487,8 @@ ad_transfer(struct ad_request *request) } /* start transfer, return and wait for interrupt */ - ata_dmastart(adp->device, request->flags & ADR_F_READ); + ata_dmastart(adp->device, request->data, request->bytecount, + request->flags & ADR_F_READ); return ATA_OP_CONTINUES; } @@ -749,7 +750,8 @@ ad_service(struct ad_softc *adp, int change) ad_invalidatequeue(adp, NULL); return ATA_OP_FINISHED; } - ata_dmastart(adp->device, request->flags & ADR_F_READ); + ata_dmastart(adp->device, request->data, request->bytecount, + request->flags & ADR_F_READ); return ATA_OP_CONTINUES; } return ATA_OP_FINISHED; |