Eric Dumazet [off-list ref] wrote:
Hold on.
I believe there is one race in the way you access skb->xmit_more _after_
txd->opts1 = cpu_to_le32(status);
After this point, TX might have completed and TX completion already have
freed skb
Hmm, I _thought_ HW would not start xmit of this descriptor/skb until after
RTL_W8(TxPoll, NPQ);
call a bit later... your patch surely looks safer though, thanks for
looking into this.
Could Tomas try following fix ?
In addition -- Tomas, on your affected board -- did you try
turning off gso/tso?
Holger Hoffstätte mentioned on lkml that his affected r8169 nic is
stable with xmit_more+bql after disabling gso/tso on the nic
(ethtool -k $dev to display settings, "-K $dev tso off gso off" to
disable offloads).