struct adm5120_if_priv *priv = netdev_priv(dev);
unsigned int entry;
unsigned long data;
struct adm5120_if_priv *priv = netdev_priv(dev);
unsigned int entry;
unsigned long data;
/* lock switch irq */
spin_lock_irq(&tx_lock);
/* lock switch irq */
spin_lock_irq(&tx_lock);
cur_txl++;
if (cur_txl == dirty_txl + TX_QUEUE_LEN) {
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;
}
dev->trans_start = jiffies;