mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-08-20 06:11:31 +03:00
[adm5120] disable queue of all interfaces when tx ring is full
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10073 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
9bab732e67
commit
b1ff7c57dd
@ -843,6 +843,7 @@ static int adm5120_if_hard_start_xmit(struct sk_buff *skb,
|
||||
struct adm5120_if_priv *priv = netdev_priv(dev);
|
||||
unsigned int entry;
|
||||
unsigned long data;
|
||||
int i;
|
||||
|
||||
/* lock switch irq */
|
||||
spin_lock_irq(&tx_lock);
|
||||
@ -875,8 +876,11 @@ static int adm5120_if_hard_start_xmit(struct sk_buff *skb,
|
||||
|
||||
cur_txl++;
|
||||
if (cur_txl == dirty_txl + TX_QUEUE_LEN) {
|
||||
/* FIXME: stop queue for all devices */
|
||||
netif_stop_queue(dev);
|
||||
for (i = 0; i < SWITCH_NUM_PORTS; i++) {
|
||||
if (!adm5120_devs[i])
|
||||
continue;
|
||||
netif_stop_queue(dev);
|
||||
}
|
||||
}
|
||||
|
||||
dev->trans_start = jiffies;
|
||||
|
Loading…
Reference in New Issue
Block a user