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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html