On Tue, 2015-04-14 at 00:13 +0200, Lino Sanfilippo wrote:
> Hi,
>
> On 13.04.2015 22:34, Sergei Shtylyov wrote:
> > Hello.
> >
> > On 04/02/2015 04:56 PM, 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.
I don't have the full documentation for the EtherAVB block, so I don't
know how its programming model differs from the other Ethernet DMA
engines. It's possible that a simpler approach will work in ravb.
Ben.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html