diff options
-rw-r--r-- | usr/src/cmd/look/words | 3 | ||||
-rw-r--r-- | usr/src/cmd/spell/extra | 1 | ||||
-rw-r--r-- | usr/src/cmd/spell/list | 3 | ||||
-rw-r--r-- | usr/src/uts/common/xen/io/xnf.c | 23 |
4 files changed, 12 insertions, 18 deletions
diff --git a/usr/src/cmd/look/words b/usr/src/cmd/look/words index fea8853600..1277f2e00e 100644 --- a/usr/src/cmd/look/words +++ b/usr/src/cmd/look/words @@ -8400,7 +8400,6 @@ fade fadeout faery Fafnir -fag Fahey Fahrenheit fail @@ -15677,7 +15676,6 @@ Nietzsche Niger Nigeria niggardly -nigger niggle nigh night @@ -24859,7 +24857,6 @@ wool woolgather Woolworth Wooster -wop Worcester word Wordsworth diff --git a/usr/src/cmd/spell/extra b/usr/src/cmd/spell/extra index 71a2b132ab..8a4ed3c032 100644 --- a/usr/src/cmd/spell/extra +++ b/usr/src/cmd/spell/extra @@ -5218,7 +5218,6 @@ wench wend werewolf werewolves -wetback whacky whaleboat whalebone diff --git a/usr/src/cmd/spell/list b/usr/src/cmd/spell/list index d7ba9fea1b..024a0eaf48 100644 --- a/usr/src/cmd/spell/list +++ b/usr/src/cmd/spell/list @@ -8398,7 +8398,6 @@ fade fadeout faery Fafnir -fag Fahey Fahrenheit fail @@ -15675,7 +15674,6 @@ Nietzsche Niger Nigeria niggardly -nigger niggle nigh night @@ -24858,7 +24856,6 @@ wool woolgather Woolworth Wooster -wop Worcester word Wordsworth diff --git a/usr/src/uts/common/xen/io/xnf.c b/usr/src/uts/common/xen/io/xnf.c index ebed9c5f7e..2a53cc23e2 100644 --- a/usr/src/uts/common/xen/io/xnf.c +++ b/usr/src/uts/common/xen/io/xnf.c @@ -26,6 +26,7 @@ /* * Copyright (c) 2014, 2017 by Delphix. All rights reserved. + * Copyright 2020 RackTop Systems, Inc. */ /* @@ -1779,8 +1780,7 @@ xnf_mblk_map(xnf_t *xnfp, mblk_t *mp, int *countp) for (mblk_t *ml = mp; ml != NULL; ml = ml->b_cont) { ddi_dma_handle_t dma_handle; - ddi_dma_cookie_t dma_cookie; - uint_t ncookies; + const ddi_dma_cookie_t *dma_cookie, *dma_cookie_prev; xnf_txbuf_t *txp; if (MBLKL(ml) == 0) @@ -1804,8 +1804,7 @@ xnf_mblk_map(xnf_t *xnfp, mblk_t *mp, int *countp) int ret = ddi_dma_addr_bind_handle(dma_handle, NULL, (char *)ml->b_rptr, MBLKL(ml), DDI_DMA_WRITE | DDI_DMA_STREAMING, - DDI_DMA_DONTWAIT, 0, &dma_cookie, - &ncookies); + DDI_DMA_DONTWAIT, 0, NULL, NULL); if (ret != DDI_DMA_MAPPED) { if (ret != DDI_DMA_NORESOURCES) { dev_err(xnfp->xnf_devinfo, CE_WARN, @@ -1816,15 +1815,16 @@ xnf_mblk_map(xnf_t *xnfp, mblk_t *mp, int *countp) } txp->tx_handle_bound = B_TRUE; - ASSERT(ncookies > 0); - for (int i = 0; i < ncookies; i++) { + dma_cookie_prev = NULL; + while ((dma_cookie = ddi_dma_cookie_iter(dma_handle, + dma_cookie_prev)) != NULL) { if (nsegs == XEN_MAX_TX_DATA_PAGES) { dev_err(xnfp->xnf_devinfo, CE_WARN, "xnf_dmamap_alloc() failed: " "too many segments"); goto error; } - if (i > 0) { + if (dma_cookie_prev != NULL) { txp = xnf_data_txbuf_alloc(xnfp); ASSERT(tail != NULL); TXBUF_SETNEXT(tail, txp); @@ -1832,7 +1832,7 @@ xnf_mblk_map(xnf_t *xnfp, mblk_t *mp, int *countp) } txp->tx_mfn = - xnf_btop(pa_to_ma(dma_cookie.dmac_laddress)); + xnf_btop(pa_to_ma(dma_cookie->dmac_laddress)); txp->tx_txreq.gref = xnf_gref_get(xnfp); if (txp->tx_txreq.gref == INVALID_GRANT_REF) { dev_err(xnfp->xnf_devinfo, CE_WARN, @@ -1843,16 +1843,17 @@ xnf_mblk_map(xnf_t *xnfp, mblk_t *mp, int *countp) gnttab_grant_foreign_access_ref(txp->tx_txreq.gref, oeid, txp->tx_mfn, 1); txp->tx_txreq.offset = - dma_cookie.dmac_laddress & PAGEOFFSET; - txp->tx_txreq.size = dma_cookie.dmac_size; + dma_cookie->dmac_laddress & PAGEOFFSET; + txp->tx_txreq.size = dma_cookie->dmac_size; txp->tx_txreq.flags = 0; - ddi_dma_nextcookie(dma_handle, &dma_cookie); nsegs++; if (tail != NULL) tail->tx_txreq.flags = NETTXF_more_data; tail = txp; + + dma_cookie_prev = dma_cookie; } } |