Try with this patch. Log: Fix more users of netiff_subqueue_stopped. To check for the queue id one must use the __netiff_subqueue_stoped call.
These run out of my sight when I made the 668f895a85b0c3a62a690425145f13dabebebd7a commit :( Signed-off-by: Pavel Emelyanov <[EMAIL PROTECTED]> --- diff --git a/drivers/net/cpmac.c b/drivers/net/cpmac.c index ae41973..d337bfa 100644 --- a/drivers/net/cpmac.c +++ b/drivers/net/cpmac.c @@ -534,7 +534,7 @@ static void cpmac_end_xmit(struct net_device *dev, int queue) dev_kfree_skb_irq(desc->skb); desc->skb = NULL; #ifdef CONFIG_NETDEVICES_MULTIQUEUE - if (netif_subqueue_stopped(dev, queue)) + if (__netif_subqueue_stopped(dev, queue)) netif_wake_subqueue(dev, queue); #else if (netif_queue_stopped(dev)) @@ -545,7 +545,7 @@ static void cpmac_end_xmit(struct net_device *dev, int queue) printk(KERN_WARNING "%s: end_xmit: spurious interrupt\n", dev->name); #ifdef CONFIG_NETDEVICES_MULTIQUEUE - if (netif_subqueue_stopped(dev, queue)) + if (__netif_subqueue_stopped(dev, queue)) netif_wake_subqueue(dev, queue); #else if (netif_queue_stopped(dev)) @@ -649,7 +649,7 @@ static void cpmac_clear_tx(struct net_device *dev) for (i = 0; i < CPMAC_QUEUES; i++) if (priv->desc_ring[i].skb) { dev_kfree_skb_any(priv->desc_ring[i].skb); - if (netif_subqueue_stopped(dev, i)) + if (__netif_subqueue_stopped(dev, i)) netif_wake_subqueue(dev, i); } } diff --git a/net/sched/sch_prio.c b/net/sched/sch_prio.c index abd82fc..de89409 100644 --- a/net/sched/sch_prio.c +++ b/net/sched/sch_prio.c @@ -136,7 +136,7 @@ prio_dequeue(struct Qdisc* sch) * pulling an skb. This way we avoid excessive requeues * for slower queues. */ - if (!netif_subqueue_stopped(sch->dev, (q->mq ? prio : 0))) { + if (!__netif_subqueue_stopped(sch->dev, (q->mq ? prio : 0))) { qdisc = q->queues[prio]; skb = qdisc->dequeue(qdisc); if (skb) { @@ -165,7 +165,7 @@ static struct sk_buff *rr_dequeue(struct Qdisc* sch) * for slower queues. If the queue is stopped, try the * next queue. */ - if (!netif_subqueue_stopped(sch->dev, + if (!__netif_subqueue_stopped(sch->dev, (q->mq ? q->curband : 0))) { qdisc = q->queues[q->curband]; skb = qdisc->dequeue(qdisc); - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html