Re: RE: [PATCH 1/3] can: rcar_canfd: Fix IRQ storm on global fifo receive

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

 



On 25.10.2022 15:50:18, Biju Das wrote:
[...]
> > > index 567620d215f8..ea828c1bd3a1 100644
> > > --- a/drivers/net/can/rcar/rcar_canfd.c
> > > +++ b/drivers/net/can/rcar/rcar_canfd.c
> > > @@ -1157,11 +1157,13 @@ static void
> > > rcar_canfd_handle_global_receive(struct rcar_canfd_global *gpriv, u3
> > {
> > >         struct rcar_canfd_channel *priv = gpriv->ch[ch];
> > >         u32 ridx = ch + RCANFD_RFFIFO_IDX;
> > > -       u32 sts;
> > > +       u32 sts, cc;
> > >
> > >         /* Handle Rx interrupts */
> > >         sts = rcar_canfd_read(priv->base, RCANFD_RFSTS(gpriv,
> > ridx));
> > > -       if (likely(sts & RCANFD_RFSTS_RFIF)) {
> > > +       cc = rcar_canfd_read(priv->base, RCANFD_RFCC(gpriv, ridx));
> > > +       if (likely(sts & RCANFD_RFSTS_RFIF &&
> > > +                  cc & RCANFD_RFCC_RFIE)) {
> > >                 if (napi_schedule_prep(&priv->napi)) {
> > >                         /* Disable Rx FIFO interrupts */
> > >                         rcar_canfd_clear_bit(priv->base,
> > >
> > > Please check if that fixes your issue.
> 
> Yes, it fixes the issue.

\o/

> I will send V2 with these changes.

Thanks,
Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde           |
Embedded Linux                   | https://www.pengutronix.de  |
Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |

Attachment: signature.asc
Description: PGP signature


[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