RE: [PATCH 2/2] staging: dwc2: register common irq handler in dwc2_core_init

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

 



> From: Matthijs Kooijman [mailto:matthijs@xxxxxxxx]
> Sent: Thursday, April 11, 2013 8:53 AM
> 
> Before, this was initialized in pci.c, after the dwc2_hcd_init was
> called and the interrupts were enabled. This opened up a small time
> window where common interrupts could be triggered, but there was no
> handler for them, causing them to keep triggering infinitely and locking
> up the machine.
> 
> On my RT3052 board this bug could be easily reproduced by hardcoding
> the console log level to 8, so that a bunch of debug output from the dwc2
> driver was generated inside this time window. This caused the interrupt
> lockup to occur almost every time.
> 
> By requesting the irq inside dwc2_core_init and by disabling interrupts
> before calling dwc2_core_init instead of after, we can be sure the
> handler is registered before the interrupts are enabled, which should
> close this window.
> 
> Reported-by: Stephen Warren <swarren@xxxxxxxxxxxxx>
> Signed-off-by: Matthijs Kooijman <matthijs@xxxxxxxx>

Acked-by: Paul Zimmerman <paulz@xxxxxxxxxxxx>

--
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