summaryrefslogtreecommitdiffstats
path: root/sys/dev/tx
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2008-09-12 14:41:53 +0000
committerjhb <jhb@FreeBSD.org>2008-09-12 14:41:53 +0000
commit6ded760f17499dfd4b22eddbcccb63712cb9265a (patch)
tree34d69eaa7a8d258470891beddc01b8ff562d248b /sys/dev/tx
parent0e5845a31bfd98e554b17ecf4fc99f40b7498c30 (diff)
downloadFreeBSD-src-6ded760f17499dfd4b22eddbcccb63712cb9265a.zip
FreeBSD-src-6ded760f17499dfd4b22eddbcccb63712cb9265a.tar.gz
Use the parent device's DMA tag when creating our own DMA tags. This fixes
a panic on sparc64. Reviewed by: Florian Smeets flo kasimir.com
Diffstat (limited to 'sys/dev/tx')
-rw-r--r--sys/dev/tx/if_tx.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/sys/dev/tx/if_tx.c b/sys/dev/tx/if_tx.c
index 5cef42e..033c22b 100644
--- a/sys/dev/tx/if_tx.c
+++ b/sys/dev/tx/if_tx.c
@@ -269,16 +269,17 @@ epic_attach(device_t dev)
}
/* Allocate DMA tags. */
- error = bus_dma_tag_create(NULL, 4, 0, BUS_SPACE_MAXADDR_32BIT,
- BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES * EPIC_MAX_FRAGS,
- EPIC_MAX_FRAGS, MCLBYTES, 0, NULL, NULL, &sc->mtag);
+ error = bus_dma_tag_create(bus_get_dma_tag(dev), 4, 0,
+ BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+ MCLBYTES * EPIC_MAX_FRAGS, EPIC_MAX_FRAGS, MCLBYTES, 0, NULL, NULL,
+ &sc->mtag);
if (error) {
device_printf(dev, "couldn't allocate dma tag\n");
goto fail;
}
- error = bus_dma_tag_create(NULL, 4, 0, BUS_SPACE_MAXADDR_32BIT,
- BUS_SPACE_MAXADDR, NULL, NULL,
+ error = bus_dma_tag_create(bus_get_dma_tag(dev), 4, 0,
+ BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
sizeof(struct epic_rx_desc) * RX_RING_SIZE,
1, sizeof(struct epic_rx_desc) * RX_RING_SIZE, 0, NULL,
NULL, &sc->rtag);
@@ -287,8 +288,8 @@ epic_attach(device_t dev)
goto fail;
}
- error = bus_dma_tag_create(NULL, 4, 0, BUS_SPACE_MAXADDR_32BIT,
- BUS_SPACE_MAXADDR, NULL, NULL,
+ error = bus_dma_tag_create(bus_get_dma_tag(dev), 4, 0,
+ BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
sizeof(struct epic_tx_desc) * TX_RING_SIZE,
1, sizeof(struct epic_tx_desc) * TX_RING_SIZE, 0,
NULL, NULL, &sc->ttag);
@@ -297,8 +298,8 @@ epic_attach(device_t dev)
goto fail;
}
- error = bus_dma_tag_create(NULL, 4, 0, BUS_SPACE_MAXADDR_32BIT,
- BUS_SPACE_MAXADDR, NULL, NULL,
+ error = bus_dma_tag_create(bus_get_dma_tag(dev), 4, 0,
+ BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
sizeof(struct epic_frag_list) * TX_RING_SIZE,
1, sizeof(struct epic_frag_list) * TX_RING_SIZE, 0,
NULL, NULL, &sc->ftag);
OpenPOWER on IntegriCloud