summaryrefslogtreecommitdiff
path: root/target/linux/brcm-2.4/patches/011-wl_qdisc_war.patch
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-11-24 01:48:23 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-11-24 01:48:23 +0000
commited1b2eb613c96987bb7c191b1c17734e457a0fb7 (patch)
treebbfd57dc85a64defca8a392237318c5728847933 /target/linux/brcm-2.4/patches/011-wl_qdisc_war.patch
parente29da0f4237ccc08d0bf4ff3829f24f36ae8445f (diff)
add a workaround for a race-condition in the wl driver (triggered by ap+sta mode in a bridge)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5635 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm-2.4/patches/011-wl_qdisc_war.patch')
-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. */