On 15.12.2016 22:32, Lino Sanfilippo wrote: > 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 > And this is the "sledgehammer" approach: Do a complete shutdown and restart of the hardware in case of tx error (against net-next and only compile tested).