aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2006-11-24 01:48:23 +0000
committerFelix Fietkau <nbd@openwrt.org>2006-11-24 01:48:23 +0000
commitbeaeecbb9f504cd7e6fe12c3eed04c2f699f3dd1 (patch)
treee6f63bf00bd3d92aaa404ef7a38ccfc1b09627ae
parent3b9654520c414ee0064ded6bc5b127280f136b28 (diff)
downloadupstream-beaeecbb9f504cd7e6fe12c3eed04c2f699f3dd1.tar.gz
upstream-beaeecbb9f504cd7e6fe12c3eed04c2f699f3dd1.tar.bz2
upstream-beaeecbb9f504cd7e6fe12c3eed04c2f699f3dd1.zip
add a workaround for a race-condition in the wl driver (triggered by ap+sta mode in a bridge)
SVN-Revision: 5635
-rw-r--r--target/linux/brcm-2.4/patches/011-wl_qdisc_war.patch14
1 files changed, 14 insertions, 0 deletions
diff --git a/target/linux/brcm-2.4/patches/011-wl_qdisc_war.patch b/target/linux/brcm-2.4/patches/011-wl_qdisc_war.patch
new file mode 100644
index 0000000000..8a472cd6f1
--- /dev/null
+++ b/target/linux/brcm-2.4/patches/011-wl_qdisc_war.patch
@@ -0,0 +1,14 @@
+--- linux.old/net/sched/sch_generic.c 2006-11-24 02:42:23.000000000 +0100
++++ linux.dev/net/sched/sch_generic.c 2006-11-24 02:36:58.000000000 +0100
+@@ -84,6 +84,11 @@
+ struct sk_buff *skb;
+
+ /* Dequeue packet */
++ if (!q) {
++ if (net_ratelimit())
++ printk(KERN_DEBUG "HELP ME! qdisc_restart called, but no Qdisc!\n");
++ return 0;
++ }
+ if ((skb = q->dequeue(q)) != NULL) {
+ if (spin_trylock(&dev->xmit_lock)) {
+ /* Remember that the driver is grabbed by us. */