Re: FAILED: patch "[PATCH] pinctrl: qcom: Assign irq_eoi conditionally" failed to apply to 5.4-stable tree

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

 



On Wed, Mar 18, 2020 at 12:40:23PM -0400, Sasha Levin wrote:
> On Mon, Mar 16, 2020 at 12:34:09PM +0100, gregkh@xxxxxxxxxxxxxxxxxxx wrote:
> > 
> > The patch below does not apply to the 5.4-stable tree.
> > If someone wants it applied there, or to any other stable or longterm
> > tree, then please email the backport, including the original git commit
> > id to <stable@xxxxxxxxxxxxxxx>.
> > 
> > thanks,
> > 
> > greg k-h
> > 
> > ------------------ original commit in Linus's tree ------------------
> > 
> > > From 1cada2f307665e208a486d7ac2294ed9a6f74a6f Mon Sep 17 00:00:00 2001
> > From: Linus Walleij <linus.walleij@xxxxxxxxxx>
> > Date: Mon, 9 Mar 2020 16:26:04 +0100
> > Subject: [PATCH] pinctrl: qcom: Assign irq_eoi conditionally
> > 
> > The hierarchical parts of MSM pinctrl/GPIO is only
> > used when the device tree has a "wakeup-parent" as
> > a phandle, but the .irq_eoi is anyway assigned leading
> > to semantic problems on elder Qualcomm chipsets.
> > 
> > When the drivers/mfd/qcom-pm8xxx.c driver calls
> > chained_irq_exit() that call will in turn call chip->irq_eoi()
> > which is set to irq_chip_eoi_parent() by default on a
> > hierachical IRQ chip, and the parent is pinctrl-msm.c
> > so that will in turn unconditionally call
> > irq_chip_eoi_parent() again, but its parent is invalid
> > so we get the following crash:
> > 
> > Unnable to handle kernel NULL pointer dereference at
> > virtual address 00000010
> > pgd = (ptrval)
> > [00000010] *pgd=00000000
> > Internal error: Oops: 5 [#1] PREEMPT SMP ARM
> > (...)
> > PC is at irq_chip_eoi_parent+0x4/0x10
> > LR is at pm8xxx_irq_handler+0x1b4/0x2d8
> > 
> > If we solve this crash by avoiding to call up to
> > irq_chip_eoi_parent(), the machine will hang and get
> > reset by the watchdog, because of semantic issues,
> > probably inside irq_chip.
> > 
> > As a solution, just assign the .irq_eoi conditionally if
> > we are actually using a wakeup parent.
> > 
> > Cc: David Heidelberg <david@xxxxxxx>
> > Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
> > Cc: Lina Iyer <ilina@xxxxxxxxxxxxxx>
> > Cc: Stephen Boyd <swboyd@xxxxxxxxxxxx>
> > Cc: stable@xxxxxxxxxxxxxxx
> > Fixes: e35a6ae0eb3a ("pinctrl/msm: Setup GPIO chip in hierarchy")
> 
> This shouldn't go in 5.4, e35a6ae0eb3a is not there.

Ah, grep failed me, there is another reference to that commit id in a
5.4.y release.

thanks,

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux