Re: [PATCH] ARM: dts: Fix omap4 hang with GPS connected to USB by using wakeupgen

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

 




On 17/11/17 18:56, Tony Lindgren wrote:
> There's been a reproducable USB OHCI/EHCI cpuidle related hang on omap4
> for a while that happens after about 20 - 40 minutes on an idle system
> with some data feeding device being connected, like a USB GPS device or
> a cellular modem.
> 
> This issue happens in cpuidle states C2 and C3 and does not happen if
> cpuidle is limited to C1 state only. The symptoms are that the whole
> system hangs and never wakes up from idle, and if a watchdog is
> configured the system reboots after a while.
> 
> Turns out that OHCI/EHCI devices on omap4 are trying to use the GIC
> interrupt controller directly as a parent instead of the WUGEN. We
> need to pass the interrupts through WUGEN to GIC to provide the wakeup
> events for the processor.
> 
> Let's fix the issue by removing the gic interrupt-parent and use the
> default interrupt-parent wakeupgen instead. Note that omap5.dtsi had
> this already fixes earlier by commit 7136d457f365 ("ARM: omap: convert
> wakeupgen to stacked domains") but we somehow missed omap4 at that
> point.
> 
> Fixes: 7136d457f365 ("ARM: omap: convert wakeupgen to stacked domains")
> Cc: Dave Gerlach <d-gerlach@xxxxxx>
> Cc: Nishanth Menon <nm@xxxxxx>
> Cc: Marc Zyngier <marc.zyngier@xxxxxxx>
> Cc: Roger Quadros <rogerq@xxxxxx>
> Cc: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxxxx>
> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>

Reviewed-by: Roger Quadros <rogerq@xxxxxx>

> ---
>  arch/arm/boot/dts/omap4.dtsi | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
> --- a/arch/arm/boot/dts/omap4.dtsi
> +++ b/arch/arm/boot/dts/omap4.dtsi
> @@ -1081,14 +1081,12 @@
>  			usbhsohci: ohci@4a064800 {
>  				compatible = "ti,ohci-omap3";
>  				reg = <0x4a064800 0x400>;
> -				interrupt-parent = <&gic>;
>  				interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
>  			};
>  
>  			usbhsehci: ehci@4a064c00 {
>  				compatible = "ti,ehci-omap";
>  				reg = <0x4a064c00 0x400>;
> -				interrupt-parent = <&gic>;
>  				interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
>  			};
>  		};
> 

-- 
cheers,
-roger

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux