Messages in this thread | | | Date | Wed, 13 May 2015 11:35:12 +0200 | From | Thierry Reding <> | Subject | Re: [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] | |