[PATCH v2 4/4] iommu: Get DT/ACPI parsing into the proper probe path
Robin Murphy
robin.murphy at arm.com
Fri Mar 7 12:20:15 PST 2025
On 2025-03-07 2:24 pm, Lorenzo Pieralisi wrote:
[...]
>> diff --git a/drivers/acpi/arm64/dma.c b/drivers/acpi/arm64/dma.c
>> index 52b2abf88689..f30f138352b7 100644
>> --- a/drivers/acpi/arm64/dma.c
>> +++ b/drivers/acpi/arm64/dma.c
>> @@ -26,6 +26,11 @@ void acpi_arch_dma_setup(struct device *dev)
>> else
>> end = (1ULL << 32) - 1;
>>
>> + if (dev->dma_range_map) {
>> + dev_dbg(dev, "dma_range_map already set\n");
>> + return;
>> + }
>> +
>
> Why are we checking that dev->dma_range_map exists here rather than
> at function entry ? Is that because we want to run the previous code
> for some reasons even if dev->dma_range_map is already set ?
>
> Just noticed, the OF counterpart does not seem to take the same
> approach, so I am just flagging this up if it matters at all.
The intent is just to ensure it's safe to come through this path more
than once for the time being - it doesn't really matter whether or not
we repeat anything apart from allocating and assigning dma_range_map,
since that leaks the previous allocation. Thus this check is logically
guarding the acpi_dma_get_range() call in this path, and the
of_dma_get_range() call in the other.
> Other than that, for acpi/arm64:
>
> Reviewed-by: Lorenzo Pieralisi <lpieralisi at kernel.org>
Thanks!
Robin.
More information about the linux-arm-kernel
mailing list