Re: [PATCH v2 2/6] ntb: Use consistent DMA attributes when freeing DMA mappings
Dave Jiang <[email protected]> Fri, 1 May 2026 10:00:28 -0700
| Newsgroups | dev.linux.lists.ntb,dev.linux.lists.iommu,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 4/30/26 11:35 PM, Leon Romanovsky wrote: > From: Leon Romanovsky <[email protected]> > > The counterpart of dma_alloc_attrs() is dma_free_attrs(), which must > receive the same DMA attributes used during allocation. The code > previously used dma_free_coherent(), which does not accept or apply any > DMA attributes. > > Fixes: 061a785a114f ("ntb: Force physically contiguous allocation of rx ring buffers") > Signed-off-by: Leon Romanovsky <[email protected]> Reviewed-by: Dave Jiang <[email protected]> > --- > drivers/ntb/ntb_transport.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/ntb/ntb_transport.c b/drivers/ntb/ntb_transport.c > index 771eb7d9f4356..f59f926d4bfaa 100644 > --- a/drivers/ntb/ntb_transport.c > +++ b/drivers/ntb/ntb_transport.c > @@ -766,8 +766,8 @@ static void ntb_free_mw(struct ntb_transport_ctx *nt, int num_mw) > return; > > ntb_mw_clear_trans(nt->ndev, PIDX, num_mw); > - dma_free_coherent(dma_dev, mw->alloc_size, > - mw->alloc_addr, mw->original_dma_addr); > + dma_free_attrs(dma_dev, mw->alloc_size, mw->alloc_addr, > + mw->original_dma_addr, DMA_ATTR_FORCE_CONTIGUOUS); > mw->xlat_size = 0; > mw->buff_size = 0; > mw->alloc_size = 0; > @@ -828,8 +828,8 @@ static int ntb_alloc_mw_buffer(struct ntb_transport_mw *mw, > return 0; > > err: > - dma_free_coherent(ntb_dev, mw->alloc_size, alloc_addr, dma_addr); > - > + dma_free_attrs(ntb_dev, mw->alloc_size, alloc_addr, dma_addr, > + DMA_ATTR_FORCE_CONTIGUOUS); > return rc; > } > >