On 15.12.2016 22:03, Pavel Machek wrote:

> 
> I actually did experiment with adding locking there, too, and no, no
> luck. It seems stmmac_tx_err() is more broken than just locking.
> 

Ah ok. Then maybe priv->hw->dma->stop_tx() does not do the job correctly (stop 
the
tx path properly) and the HW is still active on the tx path while the tx 
buffers are
freed. OTOH stmmac_release() also stops the phy before the tx (and rx) paths 
are stopped.
Did you try to stop the phy fist in stmmac_tx_err_work(), too?

Regards,
Lino

Reply via email to