|
hi!
My linux is
2.4.20, I have two Interl netcard, driver is
e100.o, when I add eth0 and eth1 to br0, all is right,
then I remove eth0 or eth1 from br0, then add, remove,add.
repeat some times, my kernel panic, screen show dev.c: call
skb_checksum_help(): 947 conduce this
problem.
skb_checksum_help() as follows:
struct sk_buff *
skb_checksum_help(struct sk_buff *skb) { int
offset; unsigned int csum;
offset =
skb->h.raw - skb->data; if (offset >
(int)skb->len) BUG(); csum =
skb_checksum(skb, offset, skb->len-offset,
0);
offset =
skb->tail - skb->h.raw; if (offset <=
0) BUG(); if (skb->csum+2 >
offset) BUG(); // this is the 947 line in
dev.c
*(u16*)(skb->h.raw + skb->csum) =
csum_fold(csum); skb->ip_summed =
CHECKSUM_NONE; return
skb; }
before kernel panic,somtimes, when I use ifconfig config eth1
ip address,appear a error: Multicast setup failed,
then my compute can't ping any other
host. I find "Multicast setup failed" in e100's
src(e100_main.c).
while I replace eepro100.o with e100.o, all is right, no
panic, and no "Multicast setup
failed".
but I
want use e100.o, Could you tell me how to resolve this
problem?
thanks!
Kunkai Shen |