[PATCH 2/2] RDMA/mlx5: Remove obsolete 32-bit DMA mask fallback

From: Ruizhe Zhou

Date: Wed Aug 12 2026 - 00:13:07 EST


The DMA API guarantees support for masks of 32 bits or wider and
explicitly identifies retrying a 32-bit mask after a 64-bit request as
incorrect:
https://docs.kernel.org/core-api/dma-api-howto.html#dma-addressing-capabilities

Remove the obsolete fallback from data direct while retaining the error
check so that a genuine DMA setup failure is still reported and aborts
initialization.

Signed-off-by: Ruizhe Zhou <zhouruizhe@xxxxxxxxxxx>
---
drivers/infiniband/hw/mlx5/data_direct.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/infiniband/hw/mlx5/data_direct.c b/drivers/infiniband/hw/mlx5/data_direct.c
index d57484245c38..93a56ee2c4ef 100644
--- a/drivers/infiniband/hw/mlx5/data_direct.c
+++ b/drivers/infiniband/hw/mlx5/data_direct.c
@@ -65,13 +65,9 @@ static int mlx5_data_direct_set_dma_caps(struct pci_dev *pdev)

err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
if (err) {
- dev_warn(&pdev->dev,
- "Warning: couldn't set 64-bit PCI DMA mask, err=%d\n", err);
- err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
- if (err) {
- dev_err(&pdev->dev, "Can't set PCI DMA mask, err=%d\n", err);
- return err;
- }
+ dev_err(&pdev->dev,
+ "Can't set 64-bit PCI DMA mask, err=%d\n", err);
+ return err;
}

dma_set_max_seg_size(&pdev->dev, SZ_2G);
--
2.27.0