PERFORCE change 135299 for review
Sepherosa Ziehau
sephe at FreeBSD.org
Wed Feb 13 02:41:20 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=135299
Change 135299 by sephe at sephe_zealot:sam_wifi on 2008/02/13 10:41:08
Use NOWAIT under most of the cases, it should be safe in FreeBSD though.
Affected files ...
.. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#13 edit
Differences ...
==== //depot/projects/wifi/sys/dev/bwi/if_bwi.c#13 (text+ko) ====
@@ -1963,7 +1963,7 @@
error = bus_dmamap_load(dtag, rd->rdata_dmap, rd->rdata_desc, size,
bwi_dma_ring_addr, &rd->rdata_paddr,
- BUS_DMA_WAITOK);
+ BUS_DMA_NOWAIT);
if (error) {
device_printf(sc->sc_dev, "can't load DMA mem\n");
bus_dmamem_free(dtag, rd->rdata_desc, rd->rdata_dmap);
@@ -1983,7 +1983,11 @@
bus_size_t dma_size;
int error;
- st = malloc(sizeof(*st), M_DEVBUF, M_WAITOK | M_ZERO);
+ st = malloc(sizeof(*st), M_DEVBUF, M_NOWAIT | M_ZERO);
+ if (st == NULL) {
+ device_printf(sc->sc_dev, "can't allocate txstats data\n");
+ return ENOMEM;
+ }
sc->sc_txstats = st;
/*
@@ -2023,7 +2027,7 @@
error = bus_dmamap_load(st->stats_ring_dtag, st->stats_ring_dmap,
st->stats_ring, dma_size,
bwi_dma_ring_addr, &st->stats_ring_paddr,
- BUS_DMA_WAITOK);
+ BUS_DMA_NOWAIT);
if (error) {
device_printf(sc->sc_dev, "can't load txstats ring DMA mem\n");
bus_dmamem_free(st->stats_ring_dtag, st->stats_ring,
@@ -2068,7 +2072,7 @@
error = bus_dmamap_load(st->stats_dtag, st->stats_dmap, st->stats,
dma_size, bwi_dma_ring_addr, &st->stats_paddr,
- BUS_DMA_WAITOK);
+ BUS_DMA_NOWAIT);
if (error) {
device_printf(sc->sc_dev, "can't load txstats DMA mem\n");
bus_dmamem_free(st->stats_dtag, st->stats, st->stats_dmap);
@@ -2440,7 +2444,7 @@
KASSERT(buf_idx < BWI_RX_NDESC, ("buf_idx %d", buf_idx));
- m = m_getcl(init ? M_WAIT : M_DONTWAIT, MT_DATA, M_PKTHDR);
+ m = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR);
if (m == NULL) {
error = ENOBUFS;
@@ -2460,8 +2464,7 @@
* Try to load RX buf into temporary DMA map
*/
error = bus_dmamap_load_mbuf(sc->sc_buf_dtag, rbd->rbd_tmp_dmap, m,
- bwi_dma_buf_addr, &paddr,
- init ? BUS_DMA_WAITOK : BUS_DMA_NOWAIT);
+ bwi_dma_buf_addr, &paddr, BUS_DMA_NOWAIT);
if (error) {
m_freem(m);
More information about the p4-projects
mailing list