Re: [PATCH v3 1/2] phy: renesas: rcar-gen3-usb2: move irq registration to init

From: Wolfram Sang
Date: Wed Jul 22 2020 - 04:27:47 EST


On Fri, Jul 17, 2020 at 08:44:56PM +0900, Yoshihiro Shimoda wrote:
> If CONFIG_DEBUG_SHIRQ was enabled, r8a77951-salvator-xs could boot

"could not boot"

> correctly. If we appended "earlycon keep_bootcon" to the kernel
> command like, we could get kernel log like below.
>
> SError Interrupt on CPU0, code 0xbf000002 -- SError
> CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.8.0-rc3-salvator-x-00505-g6c843129e6faaf01 #785
> Hardware name: Renesas Salvator-X 2nd version board based on r8a77951 (DT)
> pstate: 60400085 (nZCv daIf +PAN -UAO BTYPE=--)
> pc : rcar_gen3_phy_usb2_irq+0x14/0x54
> lr : free_irq+0xf4/0x27c
>
> This means free_irq() calls the interrupt handler while PM runtime
> is not getting if DEBUG_SHIRQ is enabled and rcar_gen3_phy_usb2_probe()
> failed. To fix the issue, move the irq registration place to
> rcar_gen3_phy_usb2_init() which is ready to handle the interrupts.
>
> Note that after the commit 549b6b55b005 ("phy: renesas: rcar-gen3-usb2:
> enable/disable independent irqs") which is merged into v5.2, since this
> driver creates multiple phy instances, needs to check whether one of
> phy instances is initialized. However, if we backport this patch to v5.1
> or less, we don't need to check it because such kernel have single
> phy instance.
>
> Reported-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
> Reported-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
> Fixes: 9f391c574efc ("phy: rcar-gen3-usb2: add runtime ID/VBUS pin detection")
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>

Yeah, makes my boards boot with CONFIG_DEBUG_SHIRQ!

Reviewed-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
Tested-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>

Attachment: signature.asc
Description: PGP signature