aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/amd
diff options
context:
space:
mode:
authorScott Long <scottl@FreeBSD.org>2003-08-11 09:09:10 +0000
committerScott Long <scottl@FreeBSD.org>2003-08-11 09:09:10 +0000
commit9e8559d2c2625fd821ae904b769d2c3a30253b69 (patch)
tree4b100088274f38e8f26010207ecb3e27e2890c00 /sys/dev/amd
parentee4080d4247e52746bf2ce4267b4f239ceafc5e8 (diff)
Notes
Diffstat (limited to 'sys/dev/amd')
-rw-r--r--sys/dev/amd/amd.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/dev/amd/amd.c b/sys/dev/amd/amd.c
index 26677e4eeff5..dd025a1678f9 100644
--- a/sys/dev/amd/amd.c
+++ b/sys/dev/amd/amd.c
@@ -2115,12 +2115,26 @@ amd_linkSRB(struct amd_softc *amd)
{
u_int16_t count, i;
struct amd_srb *psrb;
+ int error;
count = amd->SRBCount;
for (i = 0; i < count; i++) {
psrb = (struct amd_srb *)&amd->SRB_array[i];
psrb->TagNumber = i;
+
+ /*
+ * Create the dmamap. This is no longer optional!
+ *
+ * XXX Since there is no detach method in this driver,
+ * this does not get freed!
+ */
+ if ((error = bus_dmamap_create(amd->buffer_dmat, 0,
+ &psrb->dmamap)) != 0) {
+ device_printf(amd->dev, "Error %d creating buffer "
+ "dmamap!\n", error);
+ return;
+ }
TAILQ_INSERT_TAIL(&amd->free_srbs, psrb, links);
}
}