diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-20 17:39:53 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-20 17:39:53 -0700 |
commit | a4cfae13cef6a700a04b13ba1d819c0641b1b26f (patch) | |
tree | 91aa4f8be6df4494276d1a064d9f8f2b994aa367 /include | |
parent | be883da7594b0a2a02074e683673ae0e522566a4 (diff) | |
parent | ff7512e1a2a3504649d3716a757f43807b6d26ef (diff) | |
download | op-kernel-dev-a4cfae13cef6a700a04b13ba1d819c0641b1b26f.zip op-kernel-dev-a4cfae13cef6a700a04b13ba1d819c0641b1b26f.tar.gz |
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:
[ATM]: fix broken uses of NIPQUAD in net/atm
[SCTP]: sctp_unpack_cookie() fix
[SCTP]: Fix unintentional change to SCTP_ASSERT when !SCTP_DEBUG
[NET]: Prevent multiple qdisc runs
[CONNECTOR]: Initialize subsystem earlier.
[NETFILTER]: xt_sctp: fix endless loop caused by 0 chunk length
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/netdevice.h | 1 | ||||
-rw-r--r-- | include/net/pkt_sched.h | 7 | ||||
-rw-r--r-- | include/net/sctp/sctp.h | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 5e8e2d5..cead6be 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -232,6 +232,7 @@ enum netdev_state_t __LINK_STATE_RX_SCHED, __LINK_STATE_LINKWATCH_PENDING, __LINK_STATE_DORMANT, + __LINK_STATE_QDISC_RUNNING, }; diff --git a/include/net/pkt_sched.h b/include/net/pkt_sched.h index b94d1ad..75b5b93 100644 --- a/include/net/pkt_sched.h +++ b/include/net/pkt_sched.h @@ -218,12 +218,13 @@ extern struct qdisc_rate_table *qdisc_get_rtab(struct tc_ratespec *r, struct rtattr *tab); extern void qdisc_put_rtab(struct qdisc_rate_table *tab); -extern int qdisc_restart(struct net_device *dev); +extern void __qdisc_run(struct net_device *dev); static inline void qdisc_run(struct net_device *dev) { - while (!netif_queue_stopped(dev) && qdisc_restart(dev) < 0) - /* NOTHING */; + if (!netif_queue_stopped(dev) && + !test_and_set_bit(__LINK_STATE_QDISC_RUNNING, &dev->state)) + __qdisc_run(dev); } extern int tc_classify(struct sk_buff *skb, struct tcf_proto *tp, diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h index 237f82b..a9663b4 100644 --- a/include/net/sctp/sctp.h +++ b/include/net/sctp/sctp.h @@ -254,7 +254,7 @@ extern int sctp_debug_flag; #define SCTP_DEBUG_PRINTK_IPADDR(whatever...) #define SCTP_ENABLE_DEBUG #define SCTP_DISABLE_DEBUG -#define SCTP_ASSERT(expr, str, func) BUG_ON(!(expr)) +#define SCTP_ASSERT(expr, str, func) #endif /* SCTP_DEBUG */ |