Re: Arm64 double PCI ECAM reservations in acpi_resource_consumer()
From: Qian Cai <hidden>
Date: 2021-06-03 15:47:01
Also in:
linux-pci
On 6/3/2021 10:16 AM, Lorenzo Pieralisi wrote:
This is not the "reservation". AFAICS acpi_resource_consumer() checks whether the ECAM region is part of _a_ given ACPI device _CRS in the namespace, it does not "reserve" anything. IIUC the issue here is that we request the ECAM region in pci_ecam_create() and later the code in:
Okay, I was confused by the code. I thought once acpi_resource_consumer() returned something, it is "reserved". adev = acpi_resource_consumer(&cfgres); if (adev) dev_info(dev, "ECAM area %pR reserved by %s\n", &cfgres, dev_name(&adev->dev)); else dev_warn(dev, FW_BUG "ECAM area %pR not reserved in ACPI namespace\n", &cfgres);
drivers/pnp/system.c tries to request the ECAM region (that lives in the PNP0C02 _CRS) and fails (see reserve_range() and request_mem_region()). As the comment in reserve_range() goes, this is harmless, not sure whether there is anything to do about it.
Actually, the comment said it is "usually harmless", so it is a tricky for an average Joe to figure out if one case falls into the "usual" bracket or not at the first place. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel