drivers/perf: arm_pmu: avoid NULL dereference when not using devicetree
Commit c6b90653f1
("drivers/perf: arm_pmu: make info messages more
verbose") breaks booting on systems where the PMU is probed without
devicetree (e.g by inspecting the MIDR of the current CPU). In this case,
pdev->dev.of_node is NULL and we shouldn't try to access its ->fullname
field when printing probe error messages.
This patch fixes the probing code to use of_node_full_name, which safely
handles NULL nodes and removes the "Error %i" part of the string, since
it's not terribly useful.
Reported-by: Guenter Roeck <private@roeck-us.net>
Signed-off-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
Родитель
fe638401a0
Коммит
357b565d5d
|
@ -1002,8 +1002,7 @@ int arm_pmu_device_probe(struct platform_device *pdev,
|
|||
}
|
||||
|
||||
if (ret) {
|
||||
pr_info("%s: failed to probe PMU! Error %i\n",
|
||||
node->full_name, ret);
|
||||
pr_info("%s: failed to probe PMU!\n", of_node_full_name(node));
|
||||
goto out_free;
|
||||
}
|
||||
|
||||
|
@ -1023,8 +1022,8 @@ int arm_pmu_device_probe(struct platform_device *pdev,
|
|||
out_destroy:
|
||||
cpu_pmu_destroy(pmu);
|
||||
out_free:
|
||||
pr_info("%s: failed to register PMU devices! Error %i\n",
|
||||
node->full_name, ret);
|
||||
pr_info("%s: failed to register PMU devices!\n",
|
||||
of_node_full_name(node));
|
||||
kfree(pmu);
|
||||
return ret;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче