Re: [PATCH] musb_core: fix IRQ check

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello.

I wrote:

musb_probe() only regards 0 as a wrong IRQ number, despite platform_get_irq() that it calls returns -EXDEV in that case. It leads to musb_init_controller()
calling request_irq() with a negative IRQ number, and when it naturally
fails, the following is printed to the console:

request_irq -6 failed!
musb_init_controller failed with status -19

Fix musb_probe() to filter out the error values as well as 0.

Signed-off-by: Sergei Shtylyov<sshtylyov@xxxxxxxxxxxxx>

---
This patch is against the recent Linus' tree.

  drivers/usb/musb/musb_core.c |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

Index: usb-2.6/drivers/usb/musb/musb_core.c
===================================================================
--- usb-2.6.orig/drivers/usb/musb/musb_core.c
+++ usb-2.6/drivers/usb/musb/musb_core.c
@@ -2221,7 +2221,7 @@ static int __init musb_probe(struct plat
      void __iomem    *base;

      iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-    if (!iomem || irq == 0)
+    if (!iomem || irq <= 0)

isn't irq 0 a valid IRQ number ?? How about chaging to irq < 0 instead ?

IRQ0 is generally not considered a valid IRQ -- NO_IRQ is defined as 0.

Oops, it's only #define'd this way for PPC. ARM and most other arches (that #define it at all) use -1.

AFAIK, that decision comes from Linus.

Nevertheless, Linus has declared IRQ0 illegal -- to be remapped, where it exists.

WBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux