[aqc1xx] Set netdev->dma for operation with an IOMMU

On AQC113 adapters with an IOMMU (e.g. Intel VT-d) enabled, no packets
are received and DHCP fails: the driver never set netdev->dma, leaving
the transmit buffers unmapped for DMA.  This worked without an IOMMU
because the physical address equals the device address, but with an
IOMMU the unmapped DMA access faults and stalls the receive path.  Set
netdev->dma and a 64-bit DMA mask so that transmit buffers are mapped
through the firmware IOMMU, as done by the other iPXE drivers.

Signed-off-by: Animesh Bhatt <animeshb@marvell.com>
This commit is contained in:
Animesh Bhatt
2026-06-22 14:42:08 +05:30
committed by Michael Brown
parent 0daeb3e645
commit 56347b2612
+3 -1
View File
@@ -528,8 +528,10 @@ static int atl_probe ( struct pci_device *pci ) {
goto err_ioremap; goto err_ioremap;
} }
/* Configure DMA */ /* Configure DMA */
nic->dma = &pci->dma; nic->dma = &pci->dma;
dma_set_mask_64bit ( nic->dma );
netdev->dma = nic->dma;
/* Reset the NIC */ /* Reset the NIC */
if ( ( rc = nic->hw_ops->reset ( nic ) ) != 0 ) if ( ( rc = nic->hw_ops->reset ( nic ) ) != 0 )