mfd: Check ACPI device companion before checking resources
Current code in mfd-core calls into ACPI to check resources even on a system that booted with a DT (on kernels with both DT and ACPI support compiled in). This triggers ACPI exceptions since we may end up calling the ACPI interpreter when it has not been initialized: "ACPI Exception: AE_BAD_PARAMETER, Thread 2064154624 could not acquire Mutex [0x1] (20150410/utmutex-285)" This patch fixes the issues by adding a check for an ACPI companion device before carrying out ACPI resources checks to avoid calling the ACPI interpreter if the fwnode representing the device is an OF one. Cc: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
This commit is contained in:
parent
b64610dfbd
commit
ec40c606c7
|
@ -207,11 +207,13 @@ static int mfd_add_device(struct device *parent, int id,
|
|||
}
|
||||
|
||||
if (!cell->ignore_resource_conflicts) {
|
||||
if (has_acpi_companion(&pdev->dev)) {
|
||||
ret = acpi_check_resource_conflict(&res[r]);
|
||||
if (ret)
|
||||
goto fail_alias;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ret = platform_device_add_resources(pdev, res, cell->num_resources);
|
||||
if (ret)
|
||||
|
|
Loading…
Reference in New Issue