RE: [PATCH] phy: renesas: rcar-gen3-usb2: fix SError happen if DEBUG_SHIRQ is enabled

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

 



Hi Vinod,

> From: Vinod Koul, Sent: Monday, July 13, 2020 2:17 PM
> 
> Hi Yoshihiro,
> 
> On 09-07-20, 19:36, Yoshihiro Shimoda wrote:
> > If CONFIG_DEBUG_SHIRQ was enabled, r8a77951-salvator-xs could 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, add a condition into the interrupt
> > handler to avoid register access if any phys are not initialized.
> >
> > Note that rcar_gen3_is_any_rphy_initialized() was introduced on v5.2.
> > So, if we backports this patch to v5.1 or less, we need to make
> > other way.
> 
> Should we really check phy is initialized? I think the issue here is
> that you register irq first, so your handler can be invoked. Right fix
> for this would be to move the irq registration to later in the probe
> when we are ready to handle interrupts

Thank you for your review! I think we need to check whether phy is initialized
even if the irq registration moves to rcar_gen3_phy_usb2_init() because the current
driver will have multiple phy instances. However, moving the irq registration can be
easy to backport than this patch, I think. So, I'll modify this patch as you suggested.

Best regards,
Yoshihiro Shiomda





[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux