Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [IPV6]: Set IF_READY if the device is up and has carrier [NET_SCHED]: sch_htb/sch_hfsc: fix oops in qlen_notify [NET]: Remove dead net/sched/Makefile entry for sch_hpfq.o.
This commit is contained in:
commit
de326dbe0c
4 changed files with 9 additions and 5 deletions
|
@ -342,6 +342,9 @@ static struct inet6_dev * ipv6_add_dev(struct net_device *dev)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (netif_running(dev) && netif_carrier_ok(dev))
|
||||||
|
ndev->if_flags |= IF_READY;
|
||||||
|
|
||||||
ipv6_mc_init_dev(ndev);
|
ipv6_mc_init_dev(ndev);
|
||||||
ndev->tstamp = jiffies;
|
ndev->tstamp = jiffies;
|
||||||
#ifdef CONFIG_SYSCTL
|
#ifdef CONFIG_SYSCTL
|
||||||
|
|
|
@ -17,7 +17,6 @@ obj-$(CONFIG_NET_ACT_SIMP) += act_simple.o
|
||||||
obj-$(CONFIG_NET_SCH_FIFO) += sch_fifo.o
|
obj-$(CONFIG_NET_SCH_FIFO) += sch_fifo.o
|
||||||
obj-$(CONFIG_NET_SCH_CBQ) += sch_cbq.o
|
obj-$(CONFIG_NET_SCH_CBQ) += sch_cbq.o
|
||||||
obj-$(CONFIG_NET_SCH_HTB) += sch_htb.o
|
obj-$(CONFIG_NET_SCH_HTB) += sch_htb.o
|
||||||
obj-$(CONFIG_NET_SCH_HPFQ) += sch_hpfq.o
|
|
||||||
obj-$(CONFIG_NET_SCH_HFSC) += sch_hfsc.o
|
obj-$(CONFIG_NET_SCH_HFSC) += sch_hfsc.o
|
||||||
obj-$(CONFIG_NET_SCH_RED) += sch_red.o
|
obj-$(CONFIG_NET_SCH_RED) += sch_red.o
|
||||||
obj-$(CONFIG_NET_SCH_GRED) += sch_gred.o
|
obj-$(CONFIG_NET_SCH_GRED) += sch_gred.o
|
||||||
|
|
|
@ -1184,10 +1184,12 @@ hfsc_delete_class(struct Qdisc *sch, unsigned long arg)
|
||||||
|
|
||||||
sch_tree_lock(sch);
|
sch_tree_lock(sch);
|
||||||
|
|
||||||
list_del(&cl->hlist);
|
|
||||||
list_del(&cl->siblings);
|
list_del(&cl->siblings);
|
||||||
hfsc_adjust_levels(cl->cl_parent);
|
hfsc_adjust_levels(cl->cl_parent);
|
||||||
|
|
||||||
hfsc_purge_queue(sch, cl);
|
hfsc_purge_queue(sch, cl);
|
||||||
|
list_del(&cl->hlist);
|
||||||
|
|
||||||
if (--cl->refcnt == 0)
|
if (--cl->refcnt == 0)
|
||||||
hfsc_destroy_class(sch, cl);
|
hfsc_destroy_class(sch, cl);
|
||||||
|
|
||||||
|
|
|
@ -1380,15 +1380,15 @@ static int htb_delete(struct Qdisc *sch, unsigned long arg)
|
||||||
|
|
||||||
sch_tree_lock(sch);
|
sch_tree_lock(sch);
|
||||||
|
|
||||||
/* delete from hash and active; remainder in destroy_class */
|
|
||||||
hlist_del_init(&cl->hlist);
|
|
||||||
|
|
||||||
if (!cl->level) {
|
if (!cl->level) {
|
||||||
qlen = cl->un.leaf.q->q.qlen;
|
qlen = cl->un.leaf.q->q.qlen;
|
||||||
qdisc_reset(cl->un.leaf.q);
|
qdisc_reset(cl->un.leaf.q);
|
||||||
qdisc_tree_decrease_qlen(cl->un.leaf.q, qlen);
|
qdisc_tree_decrease_qlen(cl->un.leaf.q, qlen);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* delete from hash and active; remainder in destroy_class */
|
||||||
|
hlist_del_init(&cl->hlist);
|
||||||
|
|
||||||
if (cl->prio_activity)
|
if (cl->prio_activity)
|
||||||
htb_deactivate(q, cl);
|
htb_deactivate(q, cl);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue