Hi! > > @@ -2043,7 +2063,11 @@ static netdev_tx_t stmmac_xmit(struct sk_buff > > *skb, stru\ > > ct net_device *dev) > > } else > > priv->tx_count_frames = 0; > > > > + dma_rmb(); > > + dma_wmb(); > > /* To avoid raise condition */ > > + BUG_ON(first->des01.etx.own); /* This BUG_ON seems to be enough. > > + Replacing it with barriers is > > _not_enough. */ > > priv->hw->desc->set_tx_owner(first); > > wmb(); > > > > No, the BUG_ON() does not trigger. Yes, it still fixes the driver for > > me. You may want to verify it has same effect for you. > > Hello Pavel, > > I am sincerely grateful for you help. > > I forward ported your patch to 4.9, > however, I could still get tx timeouts. > > Thankfully I finally found the root cause of > my tx timeouts, see the patch I've submitted > here: > > http://marc.info/?l=linux-kernel&m=149673393525236
Thanks a lot for the information. And unfortunately yes, there's probably more work to do in the stmmac driver; for example it would be good if _tx_timeout were actually able to recover the card. I probably have patch for that somewhere, too... Best regards, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
signature.asc
Description: Digital signature