2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-29 15:43:59 +08:00

ARM: OMAP4+: PRM: fix of_irq_get() result checks

of_irq_get() may return 0 as well as a nagative error number on failure,
(and never on success), however omap44xx_prm_late_init() regards 0 as a
valid IRQ -- fix this.

Fixes: a8f83aefcd ("ARM: OMAP4+: PRM: register interrupt information from DT")
Fixes: c5b3955828 ("ARM: OMAP4: Fix legacy code clean-up regression")
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
Sergei Shtylyov 2017-08-15 08:53:28 -07:00 committed by Tony Lindgren
parent d683878dbe
commit 879dce7953

View File

@ -747,7 +747,7 @@ static int omap44xx_prm_late_init(void)
* Already have OMAP4 IRQ num. For all other platforms, we need * Already have OMAP4 IRQ num. For all other platforms, we need
* IRQ numbers from DT * IRQ numbers from DT
*/ */
if (irq_num < 0 && !(prm_init_data->flags & PRM_IRQ_DEFAULT)) { if (irq_num <= 0 && !(prm_init_data->flags & PRM_IRQ_DEFAULT)) {
if (irq_num == -EPROBE_DEFER) if (irq_num == -EPROBE_DEFER)
return irq_num; return irq_num;
@ -756,7 +756,7 @@ static int omap44xx_prm_late_init(void)
} }
/* Once OMAP4 DT is filled as well */ /* Once OMAP4 DT is filled as well */
if (irq_num >= 0) { if (irq_num > 0) {
omap4_prcm_irq_setup.irq = irq_num; omap4_prcm_irq_setup.irq = irq_num;
omap4_prcm_irq_setup.xlate_irq = NULL; omap4_prcm_irq_setup.xlate_irq = NULL;
} }