diff mbox

[v2,2/2] ARM: OMAP4+: PRM: fix of_irq_get() result checks

Message ID 20170806151714.108596802@cogentembedded.com (mailing list archive)
State New, archived
Headers show

Commit Message

Sergei Shtylyov Aug. 6, 2017, 3:14 p.m. UTC
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: a8f83aefcd5a ("ARM: OMAP4+: PRM: register interrupt information from DT")
Fixes: c5b3955828ba ("ARM: OMAP4: Fix legacy code clean-up regression")
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

---
Changes ion version 2:
- added the "Fixes:" tag for the commit introducing of_irq_get() call;
- rebased to the 'omap-for-v4.13/fixes' branch;
- fixed Rajendra Nayak's email;
- added + to OMAP4 in the patch subject.

 arch/arm/mach-omap2/prm44xx.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Sergei Shtylyov Aug. 6, 2017, 3:19 p.m. UTC | #1
On 08/06/2017 06:14 PM, Sergei Shtylyov wrote:

> of_irq_get() may return 0 as well as a nagative error number on failure,

    Oops, forgot to kill comma...

> (and never on success), however omap44xx_prm_late_init() regards 0 as a
> valid IRQ -- fix this.
> 
> Fixes: a8f83aefcd5a ("ARM: OMAP4+: PRM: register interrupt information from DT")
> Fixes: c5b3955828ba ("ARM: OMAP4: Fix legacy code clean-up regression")
> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
[...]

MBR, Sergei
Tony Lindgren Aug. 9, 2017, 10:02 p.m. UTC | #2
* Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> [170806 08:20]:
> On 08/06/2017 06:14 PM, Sergei Shtylyov wrote:
> 
> > of_irq_get() may return 0 as well as a nagative error number on failure,
> 
>    Oops, forgot to kill comma...

I can fix that while applying.

> > (and never on success), however omap44xx_prm_late_init() regards 0 as a
> > valid IRQ -- fix this.
> > 
> > Fixes: a8f83aefcd5a ("ARM: OMAP4+: PRM: register interrupt information from DT")
> > Fixes: c5b3955828ba ("ARM: OMAP4: Fix legacy code clean-up regression")
> > Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
> [...]

Seems these both should be safe to apply into fixes-not-urgent for
v4.14 merge window as we have not seen any issues with this? Or
are there some known bugs related to this?

Regards,

Tony
Sergei Shtylyov Aug. 14, 2017, 11:44 a.m. UTC | #3
On 08/10/2017 01:02 AM, Tony Lindgren wrote:

>>> of_irq_get() may return 0 as well as a nagative error number on failure,
>>
>>     Oops, forgot to kill comma...
> 
> I can fix that while applying.

    Thanks!

>>> (and never on success), however omap44xx_prm_late_init() regards 0 as a
>>> valid IRQ -- fix this.
>>>
>>> Fixes: a8f83aefcd5a ("ARM: OMAP4+: PRM: register interrupt information from DT")
>>> Fixes: c5b3955828ba ("ARM: OMAP4: Fix legacy code clean-up regression")
>>> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
>> [...]

> Seems these both should be safe to apply into fixes-not-urgent for
> v4.14 merge window as we have not seen any issues with this? Or

    Yes, probably.

> are there some known bugs related to this?

    Dunno, I was just auditing the call sites of of_irq_get[_byname]()...

> Regards,
> 
> Tony

MBR, Sergei
Tony Lindgren Aug. 14, 2017, 5:17 p.m. UTC | #4
* Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> [170814 04:44]:
> On 08/10/2017 01:02 AM, Tony Lindgren wrote:
> 
> > > > of_irq_get() may return 0 as well as a nagative error number on failure,
> > > 
> > >     Oops, forgot to kill comma...
> > 
> > I can fix that while applying.
> 
>    Thanks!
> 
> > > > (and never on success), however omap44xx_prm_late_init() regards 0 as a
> > > > valid IRQ -- fix this.
> > > > 
> > > > Fixes: a8f83aefcd5a ("ARM: OMAP4+: PRM: register interrupt information from DT")
> > > > Fixes: c5b3955828ba ("ARM: OMAP4: Fix legacy code clean-up regression")
> > > > Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
> > > [...]
> 
> > Seems these both should be safe to apply into fixes-not-urgent for
> > v4.14 merge window as we have not seen any issues with this? Or
> 
>    Yes, probably.
> 
> > are there some known bugs related to this?
> 
>    Dunno, I was just auditing the call sites of of_irq_get[_byname]()...

OK thanks I'll apply both into omap-for-v4.14/fixes-not-urgent.

Tony
diff mbox

Patch

Index: linux-omap/arch/arm/mach-omap2/prm44xx.c
===================================================================
--- linux-omap.orig/arch/arm/mach-omap2/prm44xx.c
+++ linux-omap/arch/arm/mach-omap2/prm44xx.c
@@ -747,7 +747,7 @@  static int omap44xx_prm_late_init(void)
 	 * Already have OMAP4 IRQ num. For all other platforms, we need
 	 * 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)
 			return irq_num;
 
@@ -756,7 +756,7 @@  static int omap44xx_prm_late_init(void)
 	}
 
 	/* 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.xlate_irq = NULL;
 	}