Commit 91539341 authored by Marc Zyngier's avatar Marc Zyngier

irqchip/gic: Correctly validate OF quirk descriptors

When checking for OF quirks, make sure either 'compatible' or 'property'
is set, and give up otherwise.

This avoids non-OF quirks being randomly applied as they don't have any
of the OF data that need checking.

Cc: Douglas Anderson <dianders@chromium.org>
Reported-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Tested-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Fixes: 44bd78dd ("irqchip/gic-v3: Disable pseudo NMIs on Mediatek devices w/ firmware issues")
Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
parent cddb536a
...@@ -16,6 +16,8 @@ void gic_enable_of_quirks(const struct device_node *np, ...@@ -16,6 +16,8 @@ void gic_enable_of_quirks(const struct device_node *np,
const struct gic_quirk *quirks, void *data) const struct gic_quirk *quirks, void *data)
{ {
for (; quirks->desc; quirks++) { for (; quirks->desc; quirks++) {
if (!quirks->compatible && !quirks->property)
continue;
if (quirks->compatible && if (quirks->compatible &&
!of_device_is_compatible(np, quirks->compatible)) !of_device_is_compatible(np, quirks->compatible))
continue; continue;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment