i have DLink 530T (1Gb ethenet card). skge is driver for it. but since update to ubuntu 9.04 (full reinstall). some times it stops transmitting packets (and not back to work). ifconfig eth1 shows that rx is changing but tx is not. pings are not going... the card on the internet port, so i lost internet periodically.
the `save` commands that help me to return it to work is
#modprobe -r skge && modprobe skge && service networking restart
but after a few times i run it skge breaks work as described above in a few seconds after `save` command. and only computer restart helps.
it looks like this from changelog for 18.104.22.168 (skge disables the TX queue):
Author: Michal Schmidt <email address hidden>
Date: Tue Apr 14 15:16:55 2009 -0700
skge: fix occasional BUG during MTU change
upstream commit: d119b3927994e3d620d6adb0dd1ea6bf24427875
The BUG_ON(skge->tx_ring.to_use != skge->tx_ring.to_clean) in skge_up()
was sometimes observed when setting MTU.
skge_down() disables the TX queue, but then reenables it by mistake via
Fix it by moving the waking of the queue from skge_tx_clean() to the
other caller. And to make sure start_xmit is not in progress on another
CPU, skge_down() should call netif_tx_disable().
The bug was reported to me by Jiri Jilek whose Debian system sometimes
failed to boot. He tested the patch and the bug did not happen anymore.
Signed-off-by: Michal Schmidt <email address hidden>
Acked-by: Stephen Hemminger <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
Signed-off-by: Chris Wright <email address hidden>
please include it in your main kernel branch ASAP (network breaks)
my email: <email address hidden>