[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1428966484.8341.52.camel@xylophone.i.decadent.org.uk>
Date: Tue, 14 Apr 2015 00:08:04 +0100
From: Ben Hutchings <ben.hutchings@...ethink.co.uk>
To: Lino Sanfilippo <LinoSanfilippo@....de>
Cc: Sergei Shtylyov <sergei.shtylyov@...entembedded.com>,
robh+dt@...nel.org, pawel.moll@....com, mark.rutland@....com,
ijc+devicetree@...lion.org.uk, devicetree@...r.kernel.org,
galak@...eaurora.org, netdev@...r.kernel.org,
linux-sh@...r.kernel.org
Subject: Re: [PATCH resend] Renesas Ethernet AVB driver
On Tue, 2015-04-14 at 00:53 +0200, Lino Sanfilippo wrote:
> On 14.04.2015 00:31, Ben Hutchings wrote:
>
> >> >> This driver looks somewhat similar to sh-eth, but lacks some of the
> >> >> recent bug fixes made to that. At least commit 283e38db65e7 ("sh_eth:
> >> >> Fix serialisation of interrupt disable with interrupt & NAPI handler")
> >> >> appears to be applicable, but there are probably others.
> >> >
> >> > I suspect this issue applies to many drivers...
> >> > I couldn't reproduce the bug that patch was fixing, so left this fix out
> >> > for the time being. Others cases were fixed (if applicable).
> >>
> >> Maybe its just harder to trigger but it indeed looks similar to what Ben
> >> has fixed for sh-eth. I wonder if that shutdown flag in the fix is
> >> really needed though. IMHO it should be save if we simply call
> >> napi_disable first, then disable irqs on hardware and finally
> >> synchronize_irq...
> >
> > In sh_eth: if we call napi_disable() first, EESR_RX_CHECK can still be
> > set and nothing will clear it. If only one CPU is online this can hard
> > hang the system. Please trust that I did consider and rule out the
> > simpler approaches first.
> >
>
> The idea was to check the return value from napi_schedule_prep() and in
> case it returns "false" use this as an indication for a shutdown. In
> case of sh_eth this would be sh_eth_write(ndev, 0, EESIPR) for example.
Might work - but please give it a thorough test.
Ben.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists