On Monday, June 06/23/25, 2025 at 14:25:55 +0200, Thomas Fourier wrote:
The dma_unmap_sg() functions should be called with the same nents as theThanks for the patch Thomas.
dma_map_sg(), not the value the map function returned.
Fixes: 8b4e6b3ca2ed ("cxgb4: Add HMA support")
Signed-off-by: Thomas Fourier <fourier.thomas@xxxxxxxxx>
---
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
index 51395c96b2e9..73bb1f413761 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
@@ -3998,7 +3998,7 @@ static void adap_free_hma_mem(struct adapter *adapter)
if (adapter->hma.flags & HMA_DMA_MAPPED_FLAG) {
dma_unmap_sg(adapter->pdev_dev, adapter->hma.sgt->sgl,
- adapter->hma.sgt->nents, DMA_BIDIRECTIONAL);
+ adapter->hma.sgt->orig_nents, DMA_BIDIRECTIONAL);
adapter->hma.flags &= ~HMA_DMA_MAPPED_FLAG;
}
this fix needs below change as well:
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
@@ -4000,7 +4000,7 @@ static void adap_free_hma_mem(struct adapter *adapter)
}
for_each_sg(adapter->hma.sgt->sgl, iter,
- adapter->hma.sgt->orig_nents, i) {
+ adapter->hma.sgt->nents, i) {
page = sg_page(iter);
if (page)
__free_pages(page, HMA_PAGE_ORDER);
--
2.43.0