Comment 0 for bug 370287

Revision history for this message
DM (denism-inbox) wrote :

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 2.6.29.2 (skge disables the TX queue):

commit 9fc79ab9a371b45166d80ef18411ea47cf8e3195
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
    skge_tx_clean().
    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>