drivers/perf: arm_pmu: avoid NULL dereference when not using devicetree
Commit c6b90653f1f7 ("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> Git-commit: 357b565d5d52b2dc2a51390eb8f887a9caa8597f Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git CRs-Fixed: 1008368 Change-Id: I446e06972d714f7a405ff8c264d7851958e69484 Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
This commit is contained in:
parent
8eb6446673
commit
4cd646a44a
1 changed files with 3 additions and 4 deletions
|
@ -1003,8 +1003,7 @@ int arm_pmu_device_probe(struct platform_device *pdev,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pr_info("%s: failed to probe PMU! Error %i\n",
|
pr_info("%s: failed to probe PMU!\n", of_node_full_name(node));
|
||||||
node->full_name, ret);
|
|
||||||
goto out_free;
|
goto out_free;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1024,8 +1023,8 @@ int arm_pmu_device_probe(struct platform_device *pdev,
|
||||||
out_destroy:
|
out_destroy:
|
||||||
cpu_pmu_destroy(pmu);
|
cpu_pmu_destroy(pmu);
|
||||||
out_free:
|
out_free:
|
||||||
pr_info("%s: failed to register PMU devices! Error %i\n",
|
pr_info("%s: failed to register PMU devices!\n",
|
||||||
node->full_name, ret);
|
of_node_full_name(node));
|
||||||
kfree(pmu);
|
kfree(pmu);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue