i think mixing stable packages with experimental packages is a very bad idea.
[openwrt.git] / openwrt / package / linux / kernel-patches / 202-net_sched_sch_generic_c-wlfix
1 --- linux-mips-cvs-21012005/net/sched/sch_generic.c 2005-01-26 16:31:42.000000000 +0100
2 +++ linux-broadcom/net/sched/sch_generic.c 2005-01-27 05:13:47.000000000 +0100
3 @@ -392,7 +392,11 @@
4 return NULL;
5 memset(sch, 0, size);
6
7 +#ifdef CONFIG_BCM4710
8 + sch->next = NULL;
9 +#else
10 INIT_LIST_HEAD(&sch->list);
11 +#endif
12 skb_queue_head_init(&sch->q);
13 sch->ops = ops;
14 sch->enqueue = ops->enqueue;
15 @@ -426,7 +430,9 @@
16 if (qdisc->flags&TCQ_F_BUILTIN ||
17 !atomic_dec_and_test(&qdisc->refcnt))
18 return;
19 +#ifndef CONFIG_BCM4710
20 list_del(&qdisc->list);
21 +#endif
22 #ifdef CONFIG_NET_ESTIMATOR
23 qdisc_kill_estimator(&qdisc->stats);
24 #endif
25 @@ -454,9 +460,11 @@
26 printk(KERN_INFO "%s: activation failed\n", dev->name);
27 return;
28 }
29 +#ifndef CONFIG_BCM4710
30 write_lock(&qdisc_tree_lock);
31 list_add_tail(&qdisc->list, &dev->qdisc_list);
32 write_unlock(&qdisc_tree_lock);
33 +#endif
34
35 } else {
36 qdisc = &noqueue_qdisc;
37 @@ -501,7 +509,11 @@
38 dev->qdisc = &noop_qdisc;
39 spin_unlock_bh(&dev->queue_lock);
40 dev->qdisc_sleeping = &noop_qdisc;
41 +#ifdef CONFIG_BCM4710
42 + dev->qdisc_list = NULL;
43 +#else
44 INIT_LIST_HEAD(&dev->qdisc_list);
45 +#endif
46 write_unlock(&qdisc_tree_lock);
47
48 dev_watchdog_init(dev);
49 @@ -523,7 +535,11 @@
50 qdisc_destroy(qdisc);
51 }
52 #endif
53 +#ifdef CONFIG_BCM4710
54 + BUG_TRAP(dev->qdisc_list == NULL);
55 +#else
56 BUG_TRAP(list_empty(&dev->qdisc_list));
57 +#endif
58 BUG_TRAP(!timer_pending(&dev->watchdog_timer));
59 spin_unlock_bh(&dev->queue_lock);
60 write_unlock(&qdisc_tree_lock);
This page took 0.052169 seconds and 5 git commands to generate.