> on heavy load the via-rhine driver locks up. Even reloading the module
> doesn't help, only reboot cures the problem.
How do you generate the heavy load? (what is heavy)
What hardware do you have? via-rhine chip model? (dmesg/lspci -n)
> I've set the debug variable in via-rhine.c to 7 and loaded the module
> without options. In the kernel log I see:
>
> via_rhine_rx() status is 00409700.
0040 - received packet length
9700 - 1001 0111 0000 0000 = RXOK, BAR, CHN, STP, EDP
RXOK = Received ok
BAR = Broadcast packet
CHN = Chain buffer
STP&EDP = Single buffer descriptor
Or in other words, it sucessfully received a 64 byte broadcast packet.
With debug=7, surely you get lots of other messages too ... ?
> It still does interrupts and queues packets to send, but it either doesn't
> send them or doesn't receive anything.
If it is generating interrupts the driver and network code will not detect
anything strange. There is a timer that detects transmit attempts that do
not complete, but a transmit interrupt will clear that.
Donald Becker has a diagnostics tool at
ftp://ftp.scyld.com/pub/diag/via-diag.c
Comparing the output of 'via-diag -aaeemm' (or something) when working and
when not working could be helpful.
After it stops working, do you still get log messages from it?
Including via_rhine_rx()?
/Urban
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/