lkml.org 
[lkml]   [2015]   [May]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] irqchip: tegra: fix wrong data being passed as the irqdomain chip data
On Sat, May 09, 2015 at 10:06:54PM +0200, Lucas Stach wrote:
> The irq chip functions use the irq chipdata directly as the base register
> address of the controller, so this should be passed in instead of a pointer
> to the array address holding the base address.
>
> This fixes Tegra20 CPUidle as now the un-/masking of IRQs at the LIC level
> works again, but more importantly it fixes the resulting memory corruption.
>
> Signed-off-by: Lucas Stach <dev@lynxeye.de>
> ---
> This is an important fix and should go into 4.1.
> ---
> drivers/irqchip/irq-tegra.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

This does indeed fix a boot regression on Tegra20. Unfortunately this is
not exposed on any platform that uses PCIe because PCIe needs to disable
the CPUidle LP2 state as a workaround for a hardware bug. However, I was
able to reproduce the regression on TrimSlice by disabling PCIe, hence
keeping CPUidle LP2 activated. I reproduced with v4.1-rc3 and applying
this patch on top restores functionality.

Thanks for tracking this down Lucas.

I just noticed that Thomas already applied this while I was testing it,
but here goes anyway:

Tested-by: Thierry Reding <treding@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2015-05-13 11:41    [W:1.203 / U:0.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site