diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2012-03-27 00:52:00 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-03-28 04:45:26 +0200 |
commit | 09e79d6ea65d66e0a5e9ba76865320e74832dc7c (patch) | |
tree | 1ab4db0a522c5df78fff98d55f67cdbe65bce0c5 /drivers/net | |
parent | mISDN: array underflow in open_bchannel() (diff) | |
download | linux-09e79d6ea65d66e0a5e9ba76865320e74832dc7c.tar.xz linux-09e79d6ea65d66e0a5e9ba76865320e74832dc7c.zip |
eql: dont rely on HZ=100
HZ is more likely to be 1000 these days.
timer handlers are run from softirq, no need to disable bh
skb priority 1 is TC_PRIO_FILLER
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/eql.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/eql.c b/drivers/net/eql.c index a59cf961a436..f219d38acf58 100644 --- a/drivers/net/eql.c +++ b/drivers/net/eql.c @@ -125,6 +125,7 @@ #include <linux/if.h> #include <linux/if_arp.h> #include <linux/if_eql.h> +#include <linux/pkt_sched.h> #include <asm/uaccess.h> @@ -143,7 +144,7 @@ static void eql_timer(unsigned long param) equalizer_t *eql = (equalizer_t *) param; struct list_head *this, *tmp, *head; - spin_lock_bh(&eql->queue.lock); + spin_lock(&eql->queue.lock); head = &eql->queue.all_slaves; list_for_each_safe(this, tmp, head) { slave_t *slave = list_entry(this, slave_t, list); @@ -157,7 +158,7 @@ static void eql_timer(unsigned long param) } } - spin_unlock_bh(&eql->queue.lock); + spin_unlock(&eql->queue.lock); eql->timer.expires = jiffies + EQL_DEFAULT_RESCHED_IVAL; add_timer(&eql->timer); @@ -341,7 +342,7 @@ static netdev_tx_t eql_slave_xmit(struct sk_buff *skb, struct net_device *dev) struct net_device *slave_dev = slave->dev; skb->dev = slave_dev; - skb->priority = 1; + skb->priority = TC_PRIO_FILLER; slave->bytes_queued += skb->len; dev_queue_xmit(skb); dev->stats.tx_packets++; |