Hi, with 2.6.35-rc3, downloading a file (e.g. a bzipped Linux kernel from kernel.org) does quite often not initiate, or it stalls forever after some few megabytes. I can easily reproduce it with both 2.6.35-rc3 and 2.6.35-rc2-git6, have just to try 1-3 times to download something. It's not related to a special website or IP, and it's not related to a special file either. 2.6.35-rc2 was fine, and so is the 2.6.34 stable branch. The thing is, absolutely nothing is showing up in the logfiles or in dmesg, or any other logfile I'm aware of. I've attached the boot.msg, .config and output of lsusb -vv, I'm somewhat puzzled what's the problem here, but it's definitely kernel related. Please contact me if you need more information. Regards, Heinz.
Created attachment 26743 [details] output of lsusb -vv
Created attachment 26744 [details] my kernel .config
Created attachment 26745 [details] boot.msg
Did a bunch of recompiles and reboots, and found out that this bug was introduced with 2.6.35-rc2-git6, -rc2-git5 was fine.
This seems to be the fix, no problems after ca. 10 downloads with the patched 2.6.35-rc3. See also http://lkml.org/lkml/2010/6/13/59 : --- dev.c.orig 2010-06-12 04:14:04.000000000 +0200 +++ dev.c 2010-06-13 16:56:33.000000000 +0200 @@ -2810,24 +2810,14 @@ if (!skb->skb_iif) skb->skb_iif = skb->dev->ifindex; - /* - * bonding note: skbs received on inactive slaves should only - * be delivered to pkt handlers that are exact matches. Also - * the deliver_no_wcard flag will be set. If packet handlers - * are sensitive to duplicate packets these skbs will need to - * be dropped at the handler. The vlan accel path may have - * already set the deliver_no_wcard flag. - */ null_or_orig = NULL; orig_dev = skb->dev; master = ACCESS_ONCE(orig_dev->master); - if (skb->deliver_no_wcard) - null_or_orig = orig_dev; - else if (master) { - if (skb_bond_should_drop(skb, master)) { - skb->deliver_no_wcard = 1; + + if (master) { + if (skb_bond_should_drop(skb, master)) null_or_orig = orig_dev; /* deliver only exact match */ - } else + else skb->dev = master; }
Caused by: commit 597a264b1a9c7e36d1728f677c66c5c1f7e3b837 Author: John Fastabend <john.r.fastabend@intel.com> Date: Thu Jun 3 09:30:11 2010 +0000 net: deliver skbs on inactive slaves to exact matches Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net> First-Bad-Commit : 597a264b1a9c7e36d1728f677c66c5c1f7e3b837
Fixed by e897082fe7a5b591dc4dd5599ac39081a7c8e482 (net: fix deliver_no_wcard regression on loopback device) in net-2.6.
Patch : http://git.kernel.org/?p=linux/kernel/git/davem/net-2.6.git;a=patch;h=e897082fe7a5b591dc4dd5599ac39081a7c8e482 Handled-By : John Fastabend <john.r.fastabend@intel.com>