net: trans_start cleanups
Now that core network takes care of trans_start updates, dont do it in drivers themselves, if possible. Drivers can avoid one cache miss (on dev->trans_start) in their start_xmit() handler. Exceptions are NETIF_F_LLTX drivers Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2b0b05ddc0
commit
1ae5dc342a
168 changed files with 103 additions and 314 deletions
|
@ -480,7 +480,6 @@ static netdev_tx_t el_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
/* fire ... Trigger xmit. */
|
/* fire ... Trigger xmit. */
|
||||||
outb(AX_XMIT, AX_CMD);
|
outb(AX_XMIT, AX_CMD);
|
||||||
lp->loading = 0;
|
lp->loading = 0;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
if (el_debug > 2)
|
if (el_debug > 2)
|
||||||
pr_debug(" queued xmit.\n");
|
pr_debug(" queued xmit.\n");
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
|
|
|
@ -1055,7 +1055,7 @@ static void elp_timeout(struct net_device *dev)
|
||||||
(stat & ACRF) ? "interrupt" : "command");
|
(stat & ACRF) ? "interrupt" : "command");
|
||||||
if (elp_debug >= 1)
|
if (elp_debug >= 1)
|
||||||
pr_debug("%s: status %#02x\n", dev->name, stat);
|
pr_debug("%s: status %#02x\n", dev->name, stat);
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
dev->stats.tx_dropped++;
|
dev->stats.tx_dropped++;
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
}
|
}
|
||||||
|
@ -1093,11 +1093,6 @@ static netdev_tx_t elp_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
if (elp_debug >= 3)
|
if (elp_debug >= 3)
|
||||||
pr_debug("%s: packet of length %d sent\n", dev->name, (int) skb->len);
|
pr_debug("%s: packet of length %d sent\n", dev->name, (int) skb->len);
|
||||||
|
|
||||||
/*
|
|
||||||
* start the transmit timeout
|
|
||||||
*/
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
prime_rx(dev);
|
prime_rx(dev);
|
||||||
spin_unlock_irqrestore(&adapter->lock, flags);
|
spin_unlock_irqrestore(&adapter->lock, flags);
|
||||||
netif_start_queue(dev);
|
netif_start_queue(dev);
|
||||||
|
|
|
@ -504,7 +504,7 @@ static void el16_tx_timeout (struct net_device *dev)
|
||||||
outb (0, ioaddr + SIGNAL_CA); /* Issue channel-attn. */
|
outb (0, ioaddr + SIGNAL_CA); /* Issue channel-attn. */
|
||||||
lp->last_restart = dev->stats.tx_packets;
|
lp->last_restart = dev->stats.tx_packets;
|
||||||
}
|
}
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue (dev);
|
netif_wake_queue (dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -528,7 +528,6 @@ static netdev_tx_t el16_send_packet (struct sk_buff *skb,
|
||||||
|
|
||||||
hardware_send_packet (dev, buf, skb->len, length - skb->len);
|
hardware_send_packet (dev, buf, skb->len, length - skb->len);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
/* Enable the 82586 interrupt input. */
|
/* Enable the 82586 interrupt input. */
|
||||||
outb (0x84, ioaddr + MISC_CTRL);
|
outb (0x84, ioaddr + MISC_CTRL);
|
||||||
|
|
||||||
|
|
|
@ -807,7 +807,7 @@ el3_tx_timeout (struct net_device *dev)
|
||||||
dev->name, inb(ioaddr + TX_STATUS), inw(ioaddr + EL3_STATUS),
|
dev->name, inb(ioaddr + TX_STATUS), inw(ioaddr + EL3_STATUS),
|
||||||
inw(ioaddr + TX_FREE));
|
inw(ioaddr + TX_FREE));
|
||||||
dev->stats.tx_errors++;
|
dev->stats.tx_errors++;
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
/* Issue TX_RESET and TX_START commands. */
|
/* Issue TX_RESET and TX_START commands. */
|
||||||
outw(TxReset, ioaddr + EL3_CMD);
|
outw(TxReset, ioaddr + EL3_CMD);
|
||||||
outw(TxEnable, ioaddr + EL3_CMD);
|
outw(TxEnable, ioaddr + EL3_CMD);
|
||||||
|
@ -868,7 +868,6 @@ el3_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
/* ... and the packet rounded to a doubleword. */
|
/* ... and the packet rounded to a doubleword. */
|
||||||
outsl(ioaddr + TX_FIFO, skb->data, (skb->len + 3) >> 2);
|
outsl(ioaddr + TX_FIFO, skb->data, (skb->len + 3) >> 2);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
if (inw(ioaddr + TX_FREE) > 1536)
|
if (inw(ioaddr + TX_FREE) > 1536)
|
||||||
netif_start_queue(dev);
|
netif_start_queue(dev);
|
||||||
else
|
else
|
||||||
|
|
|
@ -992,7 +992,7 @@ static void corkscrew_timeout(struct net_device *dev)
|
||||||
if (!(inw(ioaddr + EL3_STATUS) & CmdInProgress))
|
if (!(inw(ioaddr + EL3_STATUS) & CmdInProgress))
|
||||||
break;
|
break;
|
||||||
outw(TxEnable, ioaddr + EL3_CMD);
|
outw(TxEnable, ioaddr + EL3_CMD);
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
dev->stats.tx_errors++;
|
dev->stats.tx_errors++;
|
||||||
dev->stats.tx_dropped++;
|
dev->stats.tx_dropped++;
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
|
@ -1055,7 +1055,6 @@ static netdev_tx_t corkscrew_start_xmit(struct sk_buff *skb,
|
||||||
prev_entry->status &= ~0x80000000;
|
prev_entry->status &= ~0x80000000;
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
}
|
}
|
||||||
dev->trans_start = jiffies;
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
/* Put out the doubleword header... */
|
/* Put out the doubleword header... */
|
||||||
|
@ -1091,7 +1090,6 @@ static netdev_tx_t corkscrew_start_xmit(struct sk_buff *skb,
|
||||||
outw(SetTxThreshold + (1536 >> 2), ioaddr + EL3_CMD);
|
outw(SetTxThreshold + (1536 >> 2), ioaddr + EL3_CMD);
|
||||||
#endif /* bus master */
|
#endif /* bus master */
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
/* Clear the Tx status stack. */
|
/* Clear the Tx status stack. */
|
||||||
{
|
{
|
||||||
|
|
|
@ -1152,7 +1152,6 @@ static netdev_tx_t elmc_send_packet(struct sk_buff *skb, struct net_device *dev)
|
||||||
p->scb->cmd = CUC_START;
|
p->scb->cmd = CUC_START;
|
||||||
p->xmit_cmds[0]->cmd_status = 0;
|
p->xmit_cmds[0]->cmd_status = 0;
|
||||||
elmc_attn586();
|
elmc_attn586();
|
||||||
dev->trans_start = jiffies;
|
|
||||||
if (!i) {
|
if (!i) {
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
}
|
}
|
||||||
|
@ -1176,7 +1175,6 @@ static netdev_tx_t elmc_send_packet(struct sk_buff *skb, struct net_device *dev)
|
||||||
p->xmit_cmds[0]->cmd_status = p->nop_cmds[next_nop]->cmd_status = 0;
|
p->xmit_cmds[0]->cmd_status = p->nop_cmds[next_nop]->cmd_status = 0;
|
||||||
|
|
||||||
p->nop_cmds[p->nop_point]->cmd_link = make16((p->xmit_cmds[0]));
|
p->nop_cmds[p->nop_point]->cmd_link = make16((p->xmit_cmds[0]));
|
||||||
dev->trans_start = jiffies;
|
|
||||||
p->nop_point = next_nop;
|
p->nop_point = next_nop;
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
#endif
|
#endif
|
||||||
|
@ -1190,7 +1188,6 @@ static netdev_tx_t elmc_send_packet(struct sk_buff *skb, struct net_device *dev)
|
||||||
= make16((p->nop_cmds[next_nop]));
|
= make16((p->nop_cmds[next_nop]));
|
||||||
p->nop_cmds[next_nop]->cmd_status = 0;
|
p->nop_cmds[next_nop]->cmd_status = 0;
|
||||||
p->nop_cmds[p->xmit_count]->cmd_link = make16((p->xmit_cmds[p->xmit_count]));
|
p->nop_cmds[p->xmit_count]->cmd_link = make16((p->xmit_cmds[p->xmit_count]));
|
||||||
dev->trans_start = jiffies;
|
|
||||||
p->xmit_count = next_nop;
|
p->xmit_count = next_nop;
|
||||||
if (p->xmit_count != p->xmit_last)
|
if (p->xmit_count != p->xmit_last)
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
|
|
|
@ -1917,7 +1917,7 @@ static void vortex_tx_timeout(struct net_device *dev)
|
||||||
|
|
||||||
/* Issue Tx Enable */
|
/* Issue Tx Enable */
|
||||||
iowrite16(TxEnable, ioaddr + EL3_CMD);
|
iowrite16(TxEnable, ioaddr + EL3_CMD);
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
|
|
||||||
/* Switch to register set 7 for normal use. */
|
/* Switch to register set 7 for normal use. */
|
||||||
EL3WINDOW(7);
|
EL3WINDOW(7);
|
||||||
|
@ -2063,7 +2063,6 @@ vortex_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
/* Clear the Tx status stack. */
|
/* Clear the Tx status stack. */
|
||||||
{
|
{
|
||||||
|
@ -2174,7 +2173,6 @@ boomerang_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
}
|
}
|
||||||
iowrite16(DownUnstall, ioaddr + EL3_CMD);
|
iowrite16(DownUnstall, ioaddr + EL3_CMD);
|
||||||
spin_unlock_irqrestore(&vp->lock, flags);
|
spin_unlock_irqrestore(&vp->lock, flags);
|
||||||
dev->trans_start = jiffies;
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -262,7 +262,7 @@ static int lance_reset (struct net_device *dev)
|
||||||
|
|
||||||
load_csrs (lp);
|
load_csrs (lp);
|
||||||
lance_init_ring (dev);
|
lance_init_ring (dev);
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
status = init_restart_lance (lp);
|
status = init_restart_lance (lp);
|
||||||
#ifdef DEBUG_DRIVER
|
#ifdef DEBUG_DRIVER
|
||||||
printk ("Lance restart=%d\n", status);
|
printk ("Lance restart=%d\n", status);
|
||||||
|
@ -526,7 +526,7 @@ void lance_tx_timeout(struct net_device *dev)
|
||||||
{
|
{
|
||||||
printk("lance_tx_timeout\n");
|
printk("lance_tx_timeout\n");
|
||||||
lance_reset(dev);
|
lance_reset(dev);
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue (dev);
|
netif_wake_queue (dev);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(lance_tx_timeout);
|
EXPORT_SYMBOL_GPL(lance_tx_timeout);
|
||||||
|
@ -574,7 +574,6 @@ int lance_start_xmit (struct sk_buff *skb, struct net_device *dev)
|
||||||
outs++;
|
outs++;
|
||||||
/* Kick the lance: transmit now */
|
/* Kick the lance: transmit now */
|
||||||
WRITERDP(lp, LE_C0_INEA | LE_C0_TDMD);
|
WRITERDP(lp, LE_C0_INEA | LE_C0_TDMD);
|
||||||
dev->trans_start = jiffies;
|
|
||||||
dev_kfree_skb (skb);
|
dev_kfree_skb (skb);
|
||||||
|
|
||||||
spin_lock_irqsave (&lp->devlock, flags);
|
spin_lock_irqsave (&lp->devlock, flags);
|
||||||
|
|
|
@ -882,7 +882,6 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb,
|
||||||
spin_unlock_irqrestore(&cp->lock, intr_flags);
|
spin_unlock_irqrestore(&cp->lock, intr_flags);
|
||||||
|
|
||||||
cpw8(TxPoll, NormalTxPoll);
|
cpw8(TxPoll, NormalTxPoll);
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1716,8 +1716,6 @@ static netdev_tx_t rtl8139_start_xmit (struct sk_buff *skb,
|
||||||
RTL_W32_F (TxStatus0 + (entry * sizeof (u32)),
|
RTL_W32_F (TxStatus0 + (entry * sizeof (u32)),
|
||||||
tp->tx_flag | max(len, (unsigned int)ETH_ZLEN));
|
tp->tx_flag | max(len, (unsigned int)ETH_ZLEN));
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
tp->cur_tx++;
|
tp->cur_tx++;
|
||||||
|
|
||||||
if ((tp->cur_tx - NUM_TX_DESC) == tp->dirty_tx)
|
if ((tp->cur_tx - NUM_TX_DESC) == tp->dirty_tx)
|
||||||
|
|
|
@ -1050,7 +1050,7 @@ static void i596_tx_timeout (struct net_device *dev)
|
||||||
lp->last_restart = dev->stats.tx_packets;
|
lp->last_restart = dev->stats.tx_packets;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue (dev);
|
netif_wake_queue (dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1060,7 +1060,6 @@ static netdev_tx_t i596_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
struct tx_cmd *tx_cmd;
|
struct tx_cmd *tx_cmd;
|
||||||
struct i596_tbd *tbd;
|
struct i596_tbd *tbd;
|
||||||
short length = skb->len;
|
short length = skb->len;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
DEB(DEB_STARTTX,printk(KERN_DEBUG "%s: i596_start_xmit(%x,%p) called\n",
|
DEB(DEB_STARTTX,printk(KERN_DEBUG "%s: i596_start_xmit(%x,%p) called\n",
|
||||||
dev->name, skb->len, skb->data));
|
dev->name, skb->len, skb->data));
|
||||||
|
|
|
@ -525,7 +525,7 @@ static inline int lance_reset (struct net_device *dev)
|
||||||
load_csrs (lp);
|
load_csrs (lp);
|
||||||
|
|
||||||
lance_init_ring (dev);
|
lance_init_ring (dev);
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_start_queue(dev);
|
netif_start_queue(dev);
|
||||||
|
|
||||||
status = init_restart_lance (lp);
|
status = init_restart_lance (lp);
|
||||||
|
@ -588,7 +588,6 @@ static netdev_tx_t lance_start_xmit (struct sk_buff *skb,
|
||||||
|
|
||||||
/* Kick the lance: transmit now */
|
/* Kick the lance: transmit now */
|
||||||
ll->rdp = LE_C0_INEA | LE_C0_TDMD;
|
ll->rdp = LE_C0_INEA | LE_C0_TDMD;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
dev_kfree_skb (skb);
|
dev_kfree_skb (skb);
|
||||||
|
|
||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
|
|
|
@ -1339,8 +1339,6 @@ static netdev_tx_t amd8111e_start_xmit(struct sk_buff *skb,
|
||||||
writel( VAL1 | TDMD0, lp->mmio + CMD0);
|
writel( VAL1 | TDMD0, lp->mmio + CMD0);
|
||||||
writel( VAL2 | RDMD0,lp->mmio + CMD0);
|
writel( VAL2 | RDMD0,lp->mmio + CMD0);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
if(amd8111e_tx_queue_avail(lp) < 0){
|
if(amd8111e_tx_queue_avail(lp) < 0){
|
||||||
netif_stop_queue(dev);
|
netif_stop_queue(dev);
|
||||||
}
|
}
|
||||||
|
|
|
@ -866,7 +866,7 @@ static void cops_timeout(struct net_device *dev)
|
||||||
}
|
}
|
||||||
printk(KERN_WARNING "%s: Transmit timed out.\n", dev->name);
|
printk(KERN_WARNING "%s: Transmit timed out.\n", dev->name);
|
||||||
cops_jumpstart(dev); /* Restart the card. */
|
cops_jumpstart(dev); /* Restart the card. */
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -919,9 +919,8 @@ static netdev_tx_t cops_send_packet(struct sk_buff *skb,
|
||||||
/* Done sending packet, update counters and cleanup. */
|
/* Done sending packet, update counters and cleanup. */
|
||||||
dev->stats.tx_packets++;
|
dev->stats.tx_packets++;
|
||||||
dev->stats.tx_bytes += skb->len;
|
dev->stats.tx_bytes += skb->len;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
dev_kfree_skb (skb);
|
dev_kfree_skb (skb);
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -654,7 +654,6 @@ netdev_tx_t arcnet_send_packet(struct sk_buff *skb,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
retval = NETDEV_TX_OK;
|
retval = NETDEV_TX_OK;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
lp->next_tx = txbuf;
|
lp->next_tx = txbuf;
|
||||||
} else {
|
} else {
|
||||||
retval = NETDEV_TX_BUSY;
|
retval = NETDEV_TX_BUSY;
|
||||||
|
|
|
@ -676,8 +676,6 @@ static netdev_tx_t ariadne_start_xmit(struct sk_buff *skb,
|
||||||
lance->RAP = CSR0; /* PCnet-ISA Controller Status */
|
lance->RAP = CSR0; /* PCnet-ISA Controller Status */
|
||||||
lance->RDP = INEA|TDMD;
|
lance->RDP = INEA|TDMD;
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
if (lowb(priv->tx_ring[(entry+1) % TX_RING_SIZE]->TMD1) != 0) {
|
if (lowb(priv->tx_ring[(entry+1) % TX_RING_SIZE]->TMD1) != 0) {
|
||||||
netif_stop_queue(dev);
|
netif_stop_queue(dev);
|
||||||
priv->tx_full = 1;
|
priv->tx_full = 1;
|
||||||
|
|
|
@ -469,7 +469,6 @@ am79c961_sendpacket(struct sk_buff *skb, struct net_device *dev)
|
||||||
|
|
||||||
spin_lock_irqsave(&priv->chip_lock, flags);
|
spin_lock_irqsave(&priv->chip_lock, flags);
|
||||||
write_rreg (dev->base_addr, CSR0, CSR0_TDMD|CSR0_IENA);
|
write_rreg (dev->base_addr, CSR0, CSR0_TDMD|CSR0_IENA);
|
||||||
dev->trans_start = jiffies;
|
|
||||||
spin_unlock_irqrestore(&priv->chip_lock, flags);
|
spin_unlock_irqrestore(&priv->chip_lock, flags);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -824,7 +824,6 @@ static int at91ether_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
/* Set length of the packet in the Transmit Control register */
|
/* Set length of the packet in the Transmit Control register */
|
||||||
at91_emac_write(AT91_EMAC_TCR, skb->len);
|
at91_emac_write(AT91_EMAC_TCR, skb->len);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
} else {
|
} else {
|
||||||
printk(KERN_ERR "at91_ether.c: at91ether_start_xmit() called, but device is busy!\n");
|
printk(KERN_ERR "at91_ether.c: at91ether_start_xmit() called, but device is busy!\n");
|
||||||
return NETDEV_TX_BUSY; /* if we return anything but zero, dev.c:1055 calls kfree_skb(skb)
|
return NETDEV_TX_BUSY; /* if we return anything but zero, dev.c:1055 calls kfree_skb(skb)
|
||||||
|
|
|
@ -374,8 +374,6 @@ static int ep93xx_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
skb->len, DMA_TO_DEVICE);
|
skb->len, DMA_TO_DEVICE);
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
spin_lock_irq(&ep->tx_pending_lock);
|
spin_lock_irq(&ep->tx_pending_lock);
|
||||||
ep->tx_pending++;
|
ep->tx_pending++;
|
||||||
if (ep->tx_pending == TX_QUEUE_ENTRIES)
|
if (ep->tx_pending == TX_QUEUE_ENTRIES)
|
||||||
|
|
|
@ -736,7 +736,6 @@ ether1_sendpacket (struct sk_buff *skb, struct net_device *dev)
|
||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
|
|
||||||
/* handle transmit */
|
/* handle transmit */
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
/* check to see if we have room for a full sized ether frame */
|
/* check to see if we have room for a full sized ether frame */
|
||||||
tmp = priv(dev)->tx_head;
|
tmp = priv(dev)->tx_head;
|
||||||
|
|
|
@ -529,7 +529,6 @@ ether3_sendpacket(struct sk_buff *skb, struct net_device *dev)
|
||||||
return NETDEV_TX_BUSY; /* unable to queue */
|
return NETDEV_TX_BUSY; /* unable to queue */
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
ptr = 0x600 * priv(dev)->tx_head;
|
ptr = 0x600 * priv(dev)->tx_head;
|
||||||
priv(dev)->tx_head = next_ptr;
|
priv(dev)->tx_head = next_ptr;
|
||||||
next_ptr *= 0x600;
|
next_ptr *= 0x600;
|
||||||
|
|
|
@ -708,7 +708,6 @@ static int eth_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
/* NPE firmware pads short frames with zeros internally */
|
/* NPE firmware pads short frames with zeros internally */
|
||||||
wmb();
|
wmb();
|
||||||
queue_put_desc(TX_QUEUE(port->id), tx_desc_phys(port, n), desc);
|
queue_put_desc(TX_QUEUE(port->id), tx_desc_phys(port, n), desc);
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
if (qmgr_stat_below_low_watermark(txreadyq)) { /* empty */
|
if (qmgr_stat_below_low_watermark(txreadyq)) { /* empty */
|
||||||
#if DEBUG_TX
|
#if DEBUG_TX
|
||||||
|
|
|
@ -1302,8 +1302,6 @@ ks8695_start_xmit(struct sk_buff *skb, struct net_device *ndev)
|
||||||
if (++ksp->tx_ring_used == MAX_TX_DESC)
|
if (++ksp->tx_ring_used == MAX_TX_DESC)
|
||||||
netif_stop_queue(ndev);
|
netif_stop_queue(ndev);
|
||||||
|
|
||||||
ndev->trans_start = jiffies;
|
|
||||||
|
|
||||||
/* Kick the TX DMA in case it decided to go IDLE */
|
/* Kick the TX DMA in case it decided to go IDLE */
|
||||||
ks8695_writereg(ksp, KS8695_DTSC, 0);
|
ks8695_writereg(ksp, KS8695_DTSC, 0);
|
||||||
|
|
||||||
|
|
|
@ -483,7 +483,7 @@ static void w90p910_reset_mac(struct net_device *dev)
|
||||||
|
|
||||||
w90p910_init_desc(dev);
|
w90p910_init_desc(dev);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
ether->cur_tx = 0x0;
|
ether->cur_tx = 0x0;
|
||||||
ether->finish_tx = 0x0;
|
ether->finish_tx = 0x0;
|
||||||
ether->cur_rx = 0x0;
|
ether->cur_rx = 0x0;
|
||||||
|
@ -497,7 +497,7 @@ static void w90p910_reset_mac(struct net_device *dev)
|
||||||
w90p910_trigger_tx(dev);
|
w90p910_trigger_tx(dev);
|
||||||
w90p910_trigger_rx(dev);
|
w90p910_trigger_rx(dev);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
|
|
||||||
if (netif_queue_stopped(dev))
|
if (netif_queue_stopped(dev))
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
|
@ -634,8 +634,6 @@ static int w90p910_send_frame(struct net_device *dev,
|
||||||
|
|
||||||
txbd = ðer->tdesc->desclist[ether->cur_tx];
|
txbd = ðer->tdesc->desclist[ether->cur_tx];
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
if (txbd->mode & TX_OWEN_DMA)
|
if (txbd->mode & TX_OWEN_DMA)
|
||||||
netif_stop_queue(dev);
|
netif_stop_queue(dev);
|
||||||
|
|
||||||
|
|
|
@ -583,7 +583,7 @@ static void net_tx_timeout (struct net_device *dev)
|
||||||
outb (0x00, ioaddr + TX_START);
|
outb (0x00, ioaddr + TX_START);
|
||||||
outb (0x03, ioaddr + COL16CNTL);
|
outb (0x03, ioaddr + COL16CNTL);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
|
|
||||||
lp->tx_started = 0;
|
lp->tx_started = 0;
|
||||||
lp->tx_queue_ready = 1;
|
lp->tx_queue_ready = 1;
|
||||||
|
@ -636,7 +636,6 @@ static netdev_tx_t net_send_packet (struct sk_buff *skb,
|
||||||
outb (0x80 | lp->tx_queue, ioaddr + TX_START);
|
outb (0x80 | lp->tx_queue, ioaddr + TX_START);
|
||||||
lp->tx_queue = 0;
|
lp->tx_queue = 0;
|
||||||
lp->tx_queue_len = 0;
|
lp->tx_queue_len = 0;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
lp->tx_started = 1;
|
lp->tx_started = 1;
|
||||||
netif_start_queue (dev);
|
netif_start_queue (dev);
|
||||||
} else if (lp->tx_queue_len < 4096 - 1502)
|
} else if (lp->tx_queue_len < 4096 - 1502)
|
||||||
|
|
|
@ -767,8 +767,8 @@ static void lance_tx_timeout (struct net_device *dev)
|
||||||
/* lance_restart, essentially */
|
/* lance_restart, essentially */
|
||||||
lance_init_ring(dev);
|
lance_init_ring(dev);
|
||||||
REGA( CSR0 ) = CSR0_INEA | CSR0_INIT | CSR0_STRT;
|
REGA( CSR0 ) = CSR0_INEA | CSR0_INIT | CSR0_STRT;
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue (dev);
|
netif_wake_queue(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
|
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
|
||||||
|
@ -836,7 +836,6 @@ static int lance_start_xmit( struct sk_buff *skb, struct net_device *dev )
|
||||||
|
|
||||||
/* Trigger an immediate send poll. */
|
/* Trigger an immediate send poll. */
|
||||||
DREG = CSR0_INEA | CSR0_TDMD;
|
DREG = CSR0_INEA | CSR0_TDMD;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
if ((MEM->tx_head[(entry+1) & TX_RING_MOD_MASK].flag & TMD1_OWN) ==
|
if ((MEM->tx_head[(entry+1) & TX_RING_MOD_MASK].flag & TMD1_OWN) ==
|
||||||
TMD1_OWN_HOST)
|
TMD1_OWN_HOST)
|
||||||
|
|
|
@ -892,7 +892,6 @@ static netdev_tx_t atl2_xmit_frame(struct sk_buff *skb,
|
||||||
(adapter->txd_write_ptr >> 2));
|
(adapter->txd_write_ptr >> 2));
|
||||||
|
|
||||||
mmiowb();
|
mmiowb();
|
||||||
netdev->trans_start = jiffies;
|
|
||||||
dev_kfree_skb_any(skb);
|
dev_kfree_skb_any(skb);
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
|
@ -547,7 +547,7 @@ static void tx_timeout(struct net_device *dev)
|
||||||
dev->stats.tx_errors++;
|
dev->stats.tx_errors++;
|
||||||
/* Try to restart the adapter. */
|
/* Try to restart the adapter. */
|
||||||
hardware_init(dev);
|
hardware_init(dev);
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
dev->stats.tx_errors++;
|
dev->stats.tx_errors++;
|
||||||
}
|
}
|
||||||
|
@ -586,7 +586,6 @@ static netdev_tx_t atp_send_packet(struct sk_buff *skb,
|
||||||
write_reg(ioaddr, IMR, ISR_RxOK | ISR_TxErr | ISR_TxOK);
|
write_reg(ioaddr, IMR, ISR_RxOK | ISR_TxErr | ISR_TxOK);
|
||||||
write_reg_high(ioaddr, IMR, ISRh_RxErr);
|
write_reg_high(ioaddr, IMR, ISRh_RxErr);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
dev_kfree_skb (skb);
|
dev_kfree_skb (skb);
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
|
@ -924,7 +924,6 @@ static netdev_tx_t au1000_tx(struct sk_buff *skb, struct net_device *dev)
|
||||||
au_sync();
|
au_sync();
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
aup->tx_head = (aup->tx_head + 1) & (NUM_TX_DMA - 1);
|
aup->tx_head = (aup->tx_head + 1) & (NUM_TX_DMA - 1);
|
||||||
dev->trans_start = jiffies;
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -937,7 +936,7 @@ static void au1000_tx_timeout(struct net_device *dev)
|
||||||
netdev_err(dev, "au1000_tx_timeout: dev=%p\n", dev);
|
netdev_err(dev, "au1000_tx_timeout: dev=%p\n", dev);
|
||||||
au1000_reset_mac(dev);
|
au1000_reset_mac(dev);
|
||||||
au1000_init(dev);
|
au1000_init(dev);
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1014,8 +1014,6 @@ static netdev_tx_t b44_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
if (TX_BUFFS_AVAIL(bp) < 1)
|
if (TX_BUFFS_AVAIL(bp) < 1)
|
||||||
netif_stop_queue(dev);
|
netif_stop_queue(dev);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
out_unlock:
|
out_unlock:
|
||||||
spin_unlock_irqrestore(&bp->lock, flags);
|
spin_unlock_irqrestore(&bp->lock, flags);
|
||||||
|
|
||||||
|
|
|
@ -565,7 +565,6 @@ static int bcm_enet_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
|
|
||||||
priv->stats.tx_bytes += skb->len;
|
priv->stats.tx_bytes += skb->len;
|
||||||
priv->stats.tx_packets++;
|
priv->stats.tx_packets++;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
ret = NETDEV_TX_OK;
|
ret = NETDEV_TX_OK;
|
||||||
|
|
||||||
out_unlock:
|
out_unlock:
|
||||||
|
|
|
@ -654,7 +654,6 @@ static int bfin_mac_hard_start_xmit(struct sk_buff *skb,
|
||||||
out:
|
out:
|
||||||
adjust_tx_list();
|
adjust_tx_list();
|
||||||
current_tx_ptr = current_tx_ptr->next;
|
current_tx_ptr = current_tx_ptr->next;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
dev->stats.tx_packets++;
|
dev->stats.tx_packets++;
|
||||||
dev->stats.tx_bytes += (skb->len);
|
dev->stats.tx_bytes += (skb->len);
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
|
@ -805,7 +804,7 @@ static void bfin_mac_timeout(struct net_device *dev)
|
||||||
bfin_mac_enable();
|
bfin_mac_enable();
|
||||||
|
|
||||||
/* We can accept TX packets again */
|
/* We can accept TX packets again */
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -375,7 +375,6 @@ static netdev_tx_t at91_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
at91_write(priv, AT91_MCR(mb), reg_mcr);
|
at91_write(priv, AT91_MCR(mb), reg_mcr);
|
||||||
|
|
||||||
stats->tx_bytes += cf->can_dlc;
|
stats->tx_bytes += cf->can_dlc;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
/* _NOTE_: substract AT91_MB_TX_FIRST offset from mb! */
|
/* _NOTE_: substract AT91_MB_TX_FIRST offset from mb! */
|
||||||
can_put_echo_skb(skb, dev, mb - AT91_MB_TX_FIRST);
|
can_put_echo_skb(skb, dev, mb - AT91_MB_TX_FIRST);
|
||||||
|
|
|
@ -269,8 +269,6 @@ static int bfin_can_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
/* fill data length code */
|
/* fill data length code */
|
||||||
bfin_write16(®->chl[TRANSMIT_CHL].dlc, dlc);
|
bfin_write16(®->chl[TRANSMIT_CHL].dlc, dlc);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
can_put_echo_skb(skb, dev, 0);
|
can_put_echo_skb(skb, dev, 0);
|
||||||
|
|
||||||
/* set transmit request */
|
/* set transmit request */
|
||||||
|
|
|
@ -475,7 +475,6 @@ static netdev_tx_t mcp251x_hard_start_xmit(struct sk_buff *skb,
|
||||||
|
|
||||||
netif_stop_queue(net);
|
netif_stop_queue(net);
|
||||||
priv->tx_skb = skb;
|
priv->tx_skb = skb;
|
||||||
net->trans_start = jiffies;
|
|
||||||
queue_work(priv->wq, &priv->tx_work);
|
queue_work(priv->wq, &priv->tx_work);
|
||||||
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
|
|
|
@ -292,8 +292,6 @@ static netdev_tx_t sja1000_start_xmit(struct sk_buff *skb,
|
||||||
for (i = 0; i < dlc; i++)
|
for (i = 0; i < dlc; i++)
|
||||||
priv->write_reg(priv, dreg++, cf->data[i]);
|
priv->write_reg(priv, dreg++, cf->data[i]);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
can_put_echo_skb(skb, dev, 0);
|
can_put_echo_skb(skb, dev, 0);
|
||||||
|
|
||||||
priv->write_reg(priv, REG_CMR, CMD_TR);
|
priv->write_reg(priv, REG_CMR, CMD_TR);
|
||||||
|
|
|
@ -2889,7 +2889,6 @@ static netdev_tx_t cas_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
*/
|
*/
|
||||||
if (cas_xmit_tx_ringN(cp, ring++ & N_TX_RINGS_MASK, skb))
|
if (cas_xmit_tx_ringN(cp, ring++ & N_TX_RINGS_MASK, skb))
|
||||||
return NETDEV_TX_BUSY;
|
return NETDEV_TX_BUSY;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -579,7 +579,6 @@ static int cpmac_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
spin_lock(&priv->lock);
|
spin_lock(&priv->lock);
|
||||||
dev->trans_start = jiffies;
|
|
||||||
spin_unlock(&priv->lock);
|
spin_unlock(&priv->lock);
|
||||||
desc->dataflags = CPMAC_SOP | CPMAC_EOP | CPMAC_OWN;
|
desc->dataflags = CPMAC_SOP | CPMAC_EOP | CPMAC_OWN;
|
||||||
desc->skb = skb;
|
desc->skb = skb;
|
||||||
|
|
|
@ -1108,7 +1108,7 @@ e100_send_packet(struct sk_buff *skb, struct net_device *dev)
|
||||||
|
|
||||||
myNextTxDesc->skb = skb;
|
myNextTxDesc->skb = skb;
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* NETIF_F_LLTX driver :( */
|
||||||
|
|
||||||
e100_hardware_send_packet(np, buf, skb->len);
|
e100_hardware_send_packet(np, buf, skb->len);
|
||||||
|
|
||||||
|
|
|
@ -1554,7 +1554,6 @@ static netdev_tx_t net_send_packet(struct sk_buff *skb,struct net_device *dev)
|
||||||
writewords(dev->base_addr, TX_FRAME_PORT,skb->data,(skb->len+1) >>1);
|
writewords(dev->base_addr, TX_FRAME_PORT,skb->data,(skb->len+1) >>1);
|
||||||
spin_unlock_irqrestore(&lp->lock, flags);
|
spin_unlock_irqrestore(&lp->lock, flags);
|
||||||
lp->stats.tx_bytes += skb->len;
|
lp->stats.tx_bytes += skb->len;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
dev_kfree_skb (skb);
|
dev_kfree_skb (skb);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -1468,7 +1468,6 @@ static int emac_dev_xmit(struct sk_buff *skb, struct net_device *ndev)
|
||||||
tx_buf.length = skb->len;
|
tx_buf.length = skb->len;
|
||||||
tx_buf.buf_token = (void *)skb;
|
tx_buf.buf_token = (void *)skb;
|
||||||
tx_buf.data_ptr = skb->data;
|
tx_buf.data_ptr = skb->data;
|
||||||
ndev->trans_start = jiffies;
|
|
||||||
ret_code = emac_send(priv, &tx_packet, EMAC_DEF_TX_CH);
|
ret_code = emac_send(priv, &tx_packet, EMAC_DEF_TX_CH);
|
||||||
if (unlikely(ret_code != 0)) {
|
if (unlikely(ret_code != 0)) {
|
||||||
if (ret_code == EMAC_ERR_TX_OUT_OF_BD) {
|
if (ret_code == EMAC_ERR_TX_OUT_OF_BD) {
|
||||||
|
|
|
@ -166,8 +166,8 @@ static int de600_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (free_tx_pages <= 0) { /* Do timeouts, to avoid hangs. */
|
if (free_tx_pages <= 0) { /* Do timeouts, to avoid hangs. */
|
||||||
tickssofar = jiffies - dev->trans_start;
|
tickssofar = jiffies - dev_trans_start(dev);
|
||||||
if (tickssofar < 5)
|
if (tickssofar < HZ/20)
|
||||||
return NETDEV_TX_BUSY;
|
return NETDEV_TX_BUSY;
|
||||||
/* else */
|
/* else */
|
||||||
printk(KERN_WARNING "%s: transmit timed out (%d), %s?\n", dev->name, tickssofar, "network cable problem");
|
printk(KERN_WARNING "%s: transmit timed out (%d), %s?\n", dev->name, tickssofar, "network cable problem");
|
||||||
|
|
|
@ -535,7 +535,6 @@ static int de620_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
}
|
}
|
||||||
de620_write_block(dev, buffer, skb->len, len-skb->len);
|
de620_write_block(dev, buffer, skb->len, len-skb->len);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
if(!(using_txbuf == (TXBF0 | TXBF1)))
|
if(!(using_txbuf == (TXBF0 | TXBF1)))
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
|
|
||||||
|
|
|
@ -874,7 +874,7 @@ static inline int lance_reset(struct net_device *dev)
|
||||||
|
|
||||||
lance_init_ring(dev);
|
lance_init_ring(dev);
|
||||||
load_csrs(lp);
|
load_csrs(lp);
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
status = init_restart_lance(lp);
|
status = init_restart_lance(lp);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
@ -930,7 +930,6 @@ static int lance_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
|
|
||||||
spin_unlock_irqrestore(&lp->lock, flags);
|
spin_unlock_irqrestore(&lp->lock, flags);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
|
|
|
@ -921,7 +921,7 @@ static void depca_tx_timeout(struct net_device *dev)
|
||||||
STOP_DEPCA;
|
STOP_DEPCA;
|
||||||
depca_init_ring(dev);
|
depca_init_ring(dev);
|
||||||
LoadCSRs(dev);
|
LoadCSRs(dev);
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
InitRestartDepca(dev);
|
InitRestartDepca(dev);
|
||||||
}
|
}
|
||||||
|
@ -954,7 +954,6 @@ static netdev_tx_t depca_start_xmit(struct sk_buff *skb,
|
||||||
outw(CSR0, DEPCA_ADDR);
|
outw(CSR0, DEPCA_ADDR);
|
||||||
outw(INEA | TDMD, DEPCA_DATA);
|
outw(INEA | TDMD, DEPCA_DATA);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
}
|
}
|
||||||
if (TX_BUFFS_AVAIL)
|
if (TX_BUFFS_AVAIL)
|
||||||
|
|
|
@ -769,7 +769,7 @@ dm9000_hash_table(struct net_device *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initilize dm9000 board
|
* Initialize dm9000 board
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
dm9000_init_dm9000(struct net_device *dev)
|
dm9000_init_dm9000(struct net_device *dev)
|
||||||
|
@ -825,7 +825,7 @@ dm9000_init_dm9000(struct net_device *dev)
|
||||||
/* Init Driver variable */
|
/* Init Driver variable */
|
||||||
db->tx_pkt_cnt = 0;
|
db->tx_pkt_cnt = 0;
|
||||||
db->queue_pkt_len = 0;
|
db->queue_pkt_len = 0;
|
||||||
dev->trans_start = 0;
|
dev->trans_start = jiffies;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Our watchdog timed out. Called by the networking layer */
|
/* Our watchdog timed out. Called by the networking layer */
|
||||||
|
@ -843,7 +843,7 @@ static void dm9000_timeout(struct net_device *dev)
|
||||||
dm9000_reset(db);
|
dm9000_reset(db);
|
||||||
dm9000_init_dm9000(dev);
|
dm9000_init_dm9000(dev);
|
||||||
/* We can accept TX packets again */
|
/* We can accept TX packets again */
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
|
|
||||||
/* Restore previous register address */
|
/* Restore previous register address */
|
||||||
|
|
|
@ -594,8 +594,6 @@ static netdev_tx_t dnet_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
|
|
||||||
spin_unlock_irqrestore(&bp->lock, flags);
|
spin_unlock_irqrestore(&bp->lock, flags);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1764,7 +1764,6 @@ static netdev_tx_t e100_xmit_frame(struct sk_buff *skb,
|
||||||
return NETDEV_TX_BUSY;
|
return NETDEV_TX_BUSY;
|
||||||
}
|
}
|
||||||
|
|
||||||
netdev->trans_start = jiffies;
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1161,8 +1161,7 @@ static netdev_tx_t eepro_send_packet(struct sk_buff *skb,
|
||||||
/* we won't wake queue here because we're out of space */
|
/* we won't wake queue here because we're out of space */
|
||||||
dev->stats.tx_dropped++;
|
dev->stats.tx_dropped++;
|
||||||
else {
|
else {
|
||||||
dev->stats.tx_bytes+=skb->len;
|
dev->stats.tx_bytes+=skb->len;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -543,7 +543,7 @@ static void unstick_cu(struct net_device *dev)
|
||||||
|
|
||||||
if (lp->started)
|
if (lp->started)
|
||||||
{
|
{
|
||||||
if (time_after(jiffies, dev->trans_start + 50))
|
if (time_after(jiffies, dev_trans_start(dev) + HZ/2))
|
||||||
{
|
{
|
||||||
if (lp->tx_link==lp->last_tx_restart)
|
if (lp->tx_link==lp->last_tx_restart)
|
||||||
{
|
{
|
||||||
|
@ -1018,7 +1018,7 @@ static void eexp_hw_tx_pio(struct net_device *dev, unsigned short *buf,
|
||||||
outw(lp->tx_head+0x16, ioaddr + DATAPORT);
|
outw(lp->tx_head+0x16, ioaddr + DATAPORT);
|
||||||
outw(0, ioaddr + DATAPORT);
|
outw(0, ioaddr + DATAPORT);
|
||||||
|
|
||||||
outsw(ioaddr + DATAPORT, buf, (len+1)>>1);
|
outsw(ioaddr + DATAPORT, buf, (len+1)>>1);
|
||||||
|
|
||||||
outw(lp->tx_tail+0xc, ioaddr + WRITE_PTR);
|
outw(lp->tx_tail+0xc, ioaddr + WRITE_PTR);
|
||||||
outw(lp->tx_head, ioaddr + DATAPORT);
|
outw(lp->tx_head, ioaddr + DATAPORT);
|
||||||
|
|
|
@ -2241,7 +2241,7 @@ static int ehea_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
}
|
}
|
||||||
spin_unlock_irqrestore(&pr->netif_queue, flags);
|
spin_unlock_irqrestore(&pr->netif_queue, flags);
|
||||||
}
|
}
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* NETIF_F_LLTX driver :( */
|
||||||
spin_unlock(&pr->xmit_lock);
|
spin_unlock(&pr->xmit_lock);
|
||||||
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
|
|
|
@ -1293,8 +1293,6 @@ static netdev_tx_t enc28j60_send_packet(struct sk_buff *skb,
|
||||||
*/
|
*/
|
||||||
netif_stop_queue(dev);
|
netif_stop_queue(dev);
|
||||||
|
|
||||||
/* save the timestamp */
|
|
||||||
priv->netdev->trans_start = jiffies;
|
|
||||||
/* Remember the skb for deferred processing */
|
/* Remember the skb for deferred processing */
|
||||||
priv->tx_skb = skb;
|
priv->tx_skb = skb;
|
||||||
schedule_work(&priv->tx_work);
|
schedule_work(&priv->tx_work);
|
||||||
|
|
|
@ -908,7 +908,7 @@ static void epic_tx_timeout(struct net_device *dev)
|
||||||
outl(TxQueued, dev->base_addr + COMMAND);
|
outl(TxQueued, dev->base_addr + COMMAND);
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
ep->stats.tx_errors++;
|
ep->stats.tx_errors++;
|
||||||
if (!ep->tx_full)
|
if (!ep->tx_full)
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
|
@ -1006,7 +1006,6 @@ static netdev_tx_t epic_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
/* Trigger an immediate transmit demand. */
|
/* Trigger an immediate transmit demand. */
|
||||||
outl(TxQueued, dev->base_addr + COMMAND);
|
outl(TxQueued, dev->base_addr + COMMAND);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
if (debug > 4)
|
if (debug > 4)
|
||||||
printk(KERN_DEBUG "%s: Queued Tx packet size %d to slot %d, "
|
printk(KERN_DEBUG "%s: Queued Tx packet size %d to slot %d, "
|
||||||
"flag %2.2x Tx status %8.8x.\n",
|
"flag %2.2x Tx status %8.8x.\n",
|
||||||
|
|
|
@ -1027,7 +1027,7 @@ static void eth16i_timeout(struct net_device *dev)
|
||||||
inw(ioaddr + TX_STATUS_REG), (inb(ioaddr + TX_STATUS_REG) & TX_DONE) ?
|
inw(ioaddr + TX_STATUS_REG), (inb(ioaddr + TX_STATUS_REG) & TX_DONE) ?
|
||||||
"IRQ conflict" : "network cable problem");
|
"IRQ conflict" : "network cable problem");
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
|
|
||||||
/* Let's dump all registers */
|
/* Let's dump all registers */
|
||||||
if(eth16i_debug > 0) {
|
if(eth16i_debug > 0) {
|
||||||
|
@ -1047,7 +1047,7 @@ static void eth16i_timeout(struct net_device *dev)
|
||||||
}
|
}
|
||||||
dev->stats.tx_errors++;
|
dev->stats.tx_errors++;
|
||||||
eth16i_reset(dev);
|
eth16i_reset(dev);
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
outw(ETH16I_INTR_ON, ioaddr + TX_INTR_REG);
|
outw(ETH16I_INTR_ON, ioaddr + TX_INTR_REG);
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
}
|
}
|
||||||
|
@ -1109,7 +1109,6 @@ static netdev_tx_t eth16i_tx(struct sk_buff *skb, struct net_device *dev)
|
||||||
outb(TX_START | lp->tx_queue, ioaddr + TRANSMIT_START_REG);
|
outb(TX_START | lp->tx_queue, ioaddr + TRANSMIT_START_REG);
|
||||||
lp->tx_queue = 0;
|
lp->tx_queue = 0;
|
||||||
lp->tx_queue_len = 0;
|
lp->tx_queue_len = 0;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
lp->tx_started = 1;
|
lp->tx_started = 1;
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
}
|
}
|
||||||
|
|
|
@ -851,7 +851,6 @@ static netdev_tx_t ethoc_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
netif_stop_queue(dev);
|
netif_stop_queue(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
spin_unlock_irq(&priv->lock);
|
spin_unlock_irq(&priv->lock);
|
||||||
out:
|
out:
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
|
|
|
@ -757,7 +757,7 @@ static void ewrk3_timeout(struct net_device *dev)
|
||||||
*/
|
*/
|
||||||
ENABLE_IRQs;
|
ENABLE_IRQs;
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -862,7 +862,6 @@ static netdev_tx_t ewrk3_queue_pkt(struct sk_buff *skb, struct net_device *dev)
|
||||||
spin_unlock_irq (&lp->hw_lock);
|
spin_unlock_irq (&lp->hw_lock);
|
||||||
|
|
||||||
dev->stats.tx_bytes += skb->len;
|
dev->stats.tx_bytes += skb->len;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
dev_kfree_skb (skb);
|
dev_kfree_skb (skb);
|
||||||
|
|
||||||
/* Check for free resources: stop Tx queue if there are none */
|
/* Check for free resources: stop Tx queue if there are none */
|
||||||
|
|
|
@ -1233,7 +1233,7 @@ static void fealnx_tx_timeout(struct net_device *dev)
|
||||||
|
|
||||||
spin_unlock_irqrestore(&np->lock, flags);
|
spin_unlock_irqrestore(&np->lock, flags);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
np->stats.tx_errors++;
|
np->stats.tx_errors++;
|
||||||
netif_wake_queue(dev); /* or .._start_.. ?? */
|
netif_wake_queue(dev); /* or .._start_.. ?? */
|
||||||
}
|
}
|
||||||
|
@ -1374,7 +1374,6 @@ static netdev_tx_t start_tx(struct sk_buff *skb, struct net_device *dev)
|
||||||
netif_stop_queue(dev);
|
netif_stop_queue(dev);
|
||||||
++np->really_tx_count;
|
++np->really_tx_count;
|
||||||
iowrite32(0, np->mem + TXPDR);
|
iowrite32(0, np->mem + TXPDR);
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
spin_unlock_irqrestore(&np->lock, flags);
|
spin_unlock_irqrestore(&np->lock, flags);
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
|
|
|
@ -275,8 +275,6 @@ fec_enet_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
| BD_ENET_TX_LAST | BD_ENET_TX_TC);
|
| BD_ENET_TX_LAST | BD_ENET_TX_TC);
|
||||||
bdp->cbd_sc = status;
|
bdp->cbd_sc = status;
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
/* Trigger transmission start */
|
/* Trigger transmission start */
|
||||||
writel(0, fep->hwp + FEC_X_DES_ACTIVE);
|
writel(0, fep->hwp + FEC_X_DES_ACTIVE);
|
||||||
|
|
||||||
|
|
|
@ -327,7 +327,6 @@ static int mpc52xx_fec_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
spin_lock_irqsave(&priv->lock, flags);
|
spin_lock_irqsave(&priv->lock, flags);
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
bd = (struct bcom_fec_bd *)
|
bd = (struct bcom_fec_bd *)
|
||||||
bcom_prepare_next_buffer(priv->tx_dmatsk);
|
bcom_prepare_next_buffer(priv->tx_dmatsk);
|
||||||
|
|
|
@ -2214,7 +2214,6 @@ static netdev_tx_t nv_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
dprintk("\n");
|
dprintk("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
writel(NVREG_TXRXCTL_KICK|np->txrxctl_bits, get_hwbase(dev) + NvRegTxRxControl);
|
writel(NVREG_TXRXCTL_KICK|np->txrxctl_bits, get_hwbase(dev) + NvRegTxRxControl);
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
@ -2369,7 +2368,6 @@ static netdev_tx_t nv_start_xmit_optimized(struct sk_buff *skb,
|
||||||
dprintk("\n");
|
dprintk("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
writel(NVREG_TXRXCTL_KICK|np->txrxctl_bits, get_hwbase(dev) + NvRegTxRxControl);
|
writel(NVREG_TXRXCTL_KICK|np->txrxctl_bits, get_hwbase(dev) + NvRegTxRxControl);
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
|
@ -674,8 +674,6 @@ static int fs_enet_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
skb->data, skb->len, DMA_TO_DEVICE));
|
skb->data, skb->len, DMA_TO_DEVICE));
|
||||||
CBDW_DATLEN(bdp, skb->len);
|
CBDW_DATLEN(bdp, skb->len);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If this was the last BD in the ring, start at the beginning again.
|
* If this was the last BD in the ring, start at the beginning again.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1738,7 +1738,7 @@ void gfar_start(struct net_device *dev)
|
||||||
gfar_write(®s->imask, IMASK_DEFAULT);
|
gfar_write(®s->imask, IMASK_DEFAULT);
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
}
|
}
|
||||||
|
|
||||||
void gfar_configure_coalescing(struct gfar_private *priv,
|
void gfar_configure_coalescing(struct gfar_private *priv,
|
||||||
|
@ -2161,8 +2161,6 @@ static int gfar_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
/* reduce TxBD free count */
|
/* reduce TxBD free count */
|
||||||
tx_queue->num_txbdfree -= (nr_txbds);
|
tx_queue->num_txbdfree -= (nr_txbds);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
/* If the next BD still needs to be cleaned up, then the bds
|
/* If the next BD still needs to be cleaned up, then the bds
|
||||||
are full. We need to tell the kernel to stop sending us stuff. */
|
are full. We need to tell the kernel to stop sending us stuff. */
|
||||||
if (!tx_queue->num_txbdfree) {
|
if (!tx_queue->num_txbdfree) {
|
||||||
|
|
|
@ -1102,7 +1102,7 @@ static int hp100_open(struct net_device *dev)
|
||||||
return -EAGAIN;
|
return -EAGAIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_start_queue(dev);
|
netif_start_queue(dev);
|
||||||
|
|
||||||
lp->lan_type = hp100_sense_lan(dev);
|
lp->lan_type = hp100_sense_lan(dev);
|
||||||
|
@ -1510,7 +1510,7 @@ static netdev_tx_t hp100_start_xmit_bm(struct sk_buff *skb,
|
||||||
printk("hp100: %s: start_xmit_bm: No TX PDL available.\n", dev->name);
|
printk("hp100: %s: start_xmit_bm: No TX PDL available.\n", dev->name);
|
||||||
#endif
|
#endif
|
||||||
/* not waited long enough since last tx? */
|
/* not waited long enough since last tx? */
|
||||||
if (time_before(jiffies, dev->trans_start + HZ))
|
if (time_before(jiffies, dev_trans_start(dev) + HZ))
|
||||||
goto drop;
|
goto drop;
|
||||||
|
|
||||||
if (hp100_check_lan(dev))
|
if (hp100_check_lan(dev))
|
||||||
|
@ -1547,7 +1547,6 @@ static netdev_tx_t hp100_start_xmit_bm(struct sk_buff *skb,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
goto drop;
|
goto drop;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1585,7 +1584,6 @@ static netdev_tx_t hp100_start_xmit_bm(struct sk_buff *skb,
|
||||||
/* Update statistics */
|
/* Update statistics */
|
||||||
lp->stats.tx_packets++;
|
lp->stats.tx_packets++;
|
||||||
lp->stats.tx_bytes += skb->len;
|
lp->stats.tx_bytes += skb->len;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
|
|
||||||
|
@ -1663,7 +1661,7 @@ static netdev_tx_t hp100_start_xmit(struct sk_buff *skb,
|
||||||
printk("hp100: %s: start_xmit: tx free mem = 0x%x\n", dev->name, i);
|
printk("hp100: %s: start_xmit: tx free mem = 0x%x\n", dev->name, i);
|
||||||
#endif
|
#endif
|
||||||
/* not waited long enough since last failed tx try? */
|
/* not waited long enough since last failed tx try? */
|
||||||
if (time_before(jiffies, dev->trans_start + HZ)) {
|
if (time_before(jiffies, dev_trans_start(dev) + HZ)) {
|
||||||
#ifdef HP100_DEBUG
|
#ifdef HP100_DEBUG
|
||||||
printk("hp100: %s: trans_start timing problem\n",
|
printk("hp100: %s: trans_start timing problem\n",
|
||||||
dev->name);
|
dev->name);
|
||||||
|
@ -1701,7 +1699,6 @@ static netdev_tx_t hp100_start_xmit(struct sk_buff *skb,
|
||||||
mdelay(1);
|
mdelay(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dev->trans_start = jiffies;
|
|
||||||
goto drop;
|
goto drop;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1745,7 +1742,6 @@ static netdev_tx_t hp100_start_xmit(struct sk_buff *skb,
|
||||||
|
|
||||||
lp->stats.tx_packets++;
|
lp->stats.tx_packets++;
|
||||||
lp->stats.tx_bytes += skb->len;
|
lp->stats.tx_bytes += skb->len;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
hp100_ints_on();
|
hp100_ints_on();
|
||||||
spin_unlock_irqrestore(&lp->lock, flags);
|
spin_unlock_irqrestore(&lp->lock, flags);
|
||||||
|
|
||||||
|
|
|
@ -957,7 +957,7 @@ static netdev_tx_t ibmveth_start_xmit(struct sk_buff *skb,
|
||||||
} else {
|
} else {
|
||||||
tx_packets++;
|
tx_packets++;
|
||||||
tx_bytes += skb->len;
|
tx_bytes += skb->len;
|
||||||
netdev->trans_start = jiffies;
|
netdev->trans_start = jiffies; /* NETIF_F_LLTX driver :( */
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!used_bounce)
|
if (!used_bounce)
|
||||||
|
|
|
@ -182,7 +182,6 @@ static netdev_tx_t ifb_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
netif_stop_queue(dev);
|
netif_stop_queue(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
skb_queue_tail(&dp->rq, skb);
|
skb_queue_tail(&dp->rq, skb);
|
||||||
if (!dp->tasklet_pending) {
|
if (!dp->tasklet_pending) {
|
||||||
dp->tasklet_pending = 1;
|
dp->tasklet_pending = 1;
|
||||||
|
|
|
@ -1503,7 +1503,6 @@ static int ioc3_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
|
|
||||||
BARRIER();
|
BARRIER();
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
ip->tx_skbs[produce] = skb; /* Remember skb */
|
ip->tx_skbs[produce] = skb; /* Remember skb */
|
||||||
produce = (produce + 1) & 127;
|
produce = (produce + 1) & 127;
|
||||||
ip->tx_pi = produce;
|
ip->tx_pi = produce;
|
||||||
|
|
|
@ -546,7 +546,6 @@ static int au1k_irda_hard_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
|
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
aup->tx_head = (aup->tx_head + 1) & (NUM_IR_DESC - 1);
|
aup->tx_head = (aup->tx_head + 1) & (NUM_IR_DESC - 1);
|
||||||
dev->trans_start = jiffies;
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1002,8 +1002,6 @@ toshoboe_hard_xmit (struct sk_buff *skb, struct net_device *dev)
|
||||||
|
|
||||||
toshoboe_checkstuck (self);
|
toshoboe_checkstuck (self);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
/* Check if we need to change the speed */
|
/* Check if we need to change the speed */
|
||||||
/* But not now. Wait after transmission if mtt not required */
|
/* But not now. Wait after transmission if mtt not required */
|
||||||
speed=irda_get_next_speed(skb);
|
speed=irda_get_next_speed(skb);
|
||||||
|
|
|
@ -556,7 +556,6 @@ static int pxa_irda_hard_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
dev->trans_start = jiffies;
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -715,8 +715,6 @@ static int sa1100_irda_hard_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
Ser2HSCR0 = si->hscr0 | HSCR0_HSSP | HSCR0_TXE;
|
Ser2HSCR0 = si->hscr0 | HSCR0_HSSP | HSCR0_TXE;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -655,7 +655,6 @@ static netdev_tx_t sirdev_hard_xmit(struct sk_buff *skb,
|
||||||
|
|
||||||
if (likely(actual > 0)) {
|
if (likely(actual > 0)) {
|
||||||
dev->tx_skb = skb;
|
dev->tx_skb = skb;
|
||||||
ndev->trans_start = jiffies;
|
|
||||||
dev->tx_buff.data += actual;
|
dev->tx_buff.data += actual;
|
||||||
dev->tx_buff.len -= actual;
|
dev->tx_buff.len -= actual;
|
||||||
}
|
}
|
||||||
|
|
|
@ -868,7 +868,7 @@ static void smsc_ircc_timeout(struct net_device *dev)
|
||||||
spin_lock_irqsave(&self->lock, flags);
|
spin_lock_irqsave(&self->lock, flags);
|
||||||
smsc_ircc_sir_start(self);
|
smsc_ircc_sir_start(self);
|
||||||
smsc_ircc_change_speed(self, self->io.speed);
|
smsc_ircc_change_speed(self, self->io.speed);
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
spin_unlock_irqrestore(&self->lock, flags);
|
spin_unlock_irqrestore(&self->lock, flags);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1037,7 +1037,6 @@ static netdev_tx_t vlsi_hard_start_xmit(struct sk_buff *skb,
|
||||||
wmb();
|
wmb();
|
||||||
outw(0, iobase+VLSI_PIO_PROMPT);
|
outw(0, iobase+VLSI_PIO_PROMPT);
|
||||||
}
|
}
|
||||||
ndev->trans_start = jiffies;
|
|
||||||
|
|
||||||
if (ring_put(r) == NULL) {
|
if (ring_put(r) == NULL) {
|
||||||
netif_stop_queue(ndev);
|
netif_stop_queue(ndev);
|
||||||
|
|
|
@ -515,7 +515,6 @@ static netdev_tx_t w83977af_hard_xmit(struct sk_buff *skb,
|
||||||
/* Check for empty frame */
|
/* Check for empty frame */
|
||||||
if (!skb->len) {
|
if (!skb->len) {
|
||||||
w83977af_change_speed(self, speed);
|
w83977af_change_speed(self, speed);
|
||||||
dev->trans_start = jiffies;
|
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
} else
|
} else
|
||||||
|
@ -549,7 +548,6 @@ static netdev_tx_t w83977af_hard_xmit(struct sk_buff *skb,
|
||||||
switch_bank(iobase, SET0);
|
switch_bank(iobase, SET0);
|
||||||
outb(ICR_ETXTHI, iobase+ICR);
|
outb(ICR_ETXTHI, iobase+ICR);
|
||||||
}
|
}
|
||||||
dev->trans_start = jiffies;
|
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
|
|
||||||
/* Restore set register */
|
/* Restore set register */
|
||||||
|
|
|
@ -3184,8 +3184,6 @@ static int ixgbevf_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
|
||||||
ixgbevf_tx_map(adapter, tx_ring, skb, tx_flags, first),
|
ixgbevf_tx_map(adapter, tx_ring, skb, tx_flags, first),
|
||||||
skb->len, hdr_len);
|
skb->len, hdr_len);
|
||||||
|
|
||||||
netdev->trans_start = jiffies;
|
|
||||||
|
|
||||||
ixgbevf_maybe_stop_tx(netdev, tx_ring, DESC_NEEDED);
|
ixgbevf_maybe_stop_tx(netdev, tx_ring, DESC_NEEDED);
|
||||||
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
|
|
|
@ -64,8 +64,6 @@ static int ixpdev_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
ixp2000_reg_write(RING_TX_PENDING,
|
ixp2000_reg_write(RING_TX_PENDING,
|
||||||
TX_BUF_DESC_BASE + (entry * sizeof(struct ixpdev_tx_desc)));
|
TX_BUF_DESC_BASE + (entry * sizeof(struct ixpdev_tx_desc)));
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
local_irq_save(flags);
|
local_irq_save(flags);
|
||||||
ip->tx_queue_entries++;
|
ip->tx_queue_entries++;
|
||||||
if (ip->tx_queue_entries == TX_BUF_COUNT_PER_CHAN)
|
if (ip->tx_queue_entries == TX_BUF_COUNT_PER_CHAN)
|
||||||
|
|
|
@ -945,7 +945,7 @@ static void lance_tx_timeout (struct net_device *dev)
|
||||||
#endif
|
#endif
|
||||||
lance_restart (dev, 0x0043, 1);
|
lance_restart (dev, 0x0043, 1);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue (dev);
|
netif_wake_queue (dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1011,8 +1011,6 @@ static netdev_tx_t lance_start_xmit(struct sk_buff *skb,
|
||||||
outw(0x0000, ioaddr+LANCE_ADDR);
|
outw(0x0000, ioaddr+LANCE_ADDR);
|
||||||
outw(0x0048, ioaddr+LANCE_DATA);
|
outw(0x0048, ioaddr+LANCE_DATA);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
if ((lp->cur_tx - lp->dirty_tx) >= TX_RING_SIZE)
|
if ((lp->cur_tx - lp->dirty_tx) >= TX_RING_SIZE)
|
||||||
netif_stop_queue(dev);
|
netif_stop_queue(dev);
|
||||||
|
|
||||||
|
|
|
@ -963,7 +963,7 @@ static void i596_tx_timeout (struct net_device *dev)
|
||||||
lp->last_restart = dev->stats.tx_packets;
|
lp->last_restart = dev->stats.tx_packets;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue (dev);
|
netif_wake_queue (dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -974,7 +974,6 @@ static int i596_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
struct tx_cmd *tx_cmd;
|
struct tx_cmd *tx_cmd;
|
||||||
struct i596_tbd *tbd;
|
struct i596_tbd *tbd;
|
||||||
short length = skb->len;
|
short length = skb->len;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
DEB(DEB_STARTTX, printk(KERN_DEBUG
|
DEB(DEB_STARTTX, printk(KERN_DEBUG
|
||||||
"%s: i596_start_xmit(%x,%p) called\n",
|
"%s: i596_start_xmit(%x,%p) called\n",
|
||||||
|
|
|
@ -257,7 +257,7 @@ static void __ei_tx_timeout(struct net_device *dev)
|
||||||
{
|
{
|
||||||
unsigned long e8390_base = dev->base_addr;
|
unsigned long e8390_base = dev->base_addr;
|
||||||
struct ei_device *ei_local = (struct ei_device *) netdev_priv(dev);
|
struct ei_device *ei_local = (struct ei_device *) netdev_priv(dev);
|
||||||
int txsr, isr, tickssofar = jiffies - dev->trans_start;
|
int txsr, isr, tickssofar = jiffies - dev_trans_start(dev);
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
dev->stats.tx_errors++;
|
dev->stats.tx_errors++;
|
||||||
|
@ -386,7 +386,6 @@ static netdev_tx_t __ei_start_xmit(struct sk_buff *skb,
|
||||||
{
|
{
|
||||||
ei_local->txing = 1;
|
ei_local->txing = 1;
|
||||||
NS8390_trigger_send(dev, send_length, output_page);
|
NS8390_trigger_send(dev, send_length, output_page);
|
||||||
dev->trans_start = jiffies;
|
|
||||||
if (output_page == ei_local->tx_start_page)
|
if (output_page == ei_local->tx_start_page)
|
||||||
{
|
{
|
||||||
ei_local->tx1 = -1;
|
ei_local->tx1 = -1;
|
||||||
|
|
|
@ -527,7 +527,7 @@ static void temac_device_reset(struct net_device *ndev)
|
||||||
dev_err(&ndev->dev, "Error setting TEMAC options\n");
|
dev_err(&ndev->dev, "Error setting TEMAC options\n");
|
||||||
|
|
||||||
/* Init Driver variable */
|
/* Init Driver variable */
|
||||||
ndev->trans_start = 0;
|
ndev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
}
|
}
|
||||||
|
|
||||||
void temac_adjust_link(struct net_device *ndev)
|
void temac_adjust_link(struct net_device *ndev)
|
||||||
|
|
|
@ -875,8 +875,6 @@ static netdev_tx_t i596_start_xmit (struct sk_buff *skb, struct net_device *dev)
|
||||||
length = ETH_ZLEN;
|
length = ETH_ZLEN;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
tx_cmd = kmalloc((sizeof (struct tx_cmd) + sizeof (struct i596_tbd)), GFP_ATOMIC);
|
tx_cmd = kmalloc((sizeof (struct tx_cmd) + sizeof (struct i596_tbd)), GFP_ATOMIC);
|
||||||
if (tx_cmd == NULL) {
|
if (tx_cmd == NULL) {
|
||||||
printk(KERN_WARNING "%s: i596_xmit Memory squeeze, dropping packet.\n", dev->name);
|
printk(KERN_WARNING "%s: i596_xmit Memory squeeze, dropping packet.\n", dev->name);
|
||||||
|
|
|
@ -408,7 +408,6 @@ net_send_packet(struct sk_buff *skb, struct net_device *dev)
|
||||||
skb->len+1);
|
skb->len+1);
|
||||||
|
|
||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
dev->trans_start = jiffies;
|
|
||||||
dev_kfree_skb (skb);
|
dev_kfree_skb (skb);
|
||||||
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
|
|
|
@ -666,8 +666,6 @@ static int macb_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
|
|
||||||
spin_unlock_irqrestore(&bp->lock, flags);
|
spin_unlock_irqrestore(&bp->lock, flags);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -488,7 +488,6 @@ static int mace_xmit_start(struct sk_buff *skb, struct net_device *dev)
|
||||||
|
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -746,7 +746,7 @@ static void meth_tx_timeout(struct net_device *dev)
|
||||||
/* Enable interrupt */
|
/* Enable interrupt */
|
||||||
spin_unlock_irqrestore(&priv->meth_lock, flags);
|
spin_unlock_irqrestore(&priv->meth_lock, flags);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -882,7 +882,6 @@ static netdev_tx_t mv643xx_eth_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
|
|
||||||
txq->tx_bytes += skb->len;
|
txq->tx_bytes += skb->len;
|
||||||
txq->tx_packets++;
|
txq->tx_packets++;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
entries_left = txq->tx_ring_size - txq->tx_desc_count;
|
entries_left = txq->tx_ring_size - txq->tx_desc_count;
|
||||||
if (entries_left < MAX_SKB_FRAGS + 1)
|
if (entries_left < MAX_SKB_FRAGS + 1)
|
||||||
|
|
|
@ -1905,7 +1905,7 @@ static void ns_tx_timeout(struct net_device *dev)
|
||||||
spin_unlock_irq(&np->lock);
|
spin_unlock_irq(&np->lock);
|
||||||
enable_irq(dev->irq);
|
enable_irq(dev->irq);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
np->stats.tx_errors++;
|
np->stats.tx_errors++;
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
}
|
}
|
||||||
|
@ -2119,8 +2119,6 @@ static netdev_tx_t start_tx(struct sk_buff *skb, struct net_device *dev)
|
||||||
}
|
}
|
||||||
spin_unlock_irqrestore(&np->lock, flags);
|
spin_unlock_irqrestore(&np->lock, flags);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
if (netif_msg_tx_queued(np)) {
|
if (netif_msg_tx_queued(np)) {
|
||||||
printk(KERN_DEBUG "%s: Transmit frame #%d queued in slot %d.\n",
|
printk(KERN_DEBUG "%s: Transmit frame #%d queued in slot %d.\n",
|
||||||
dev->name, np->cur_tx, entry);
|
dev->name, np->cur_tx, entry);
|
||||||
|
|
|
@ -126,7 +126,6 @@ netx_eth_hard_start_xmit(struct sk_buff *skb, struct net_device *ndev)
|
||||||
FIFO_PTR_FRAMENO(1) |
|
FIFO_PTR_FRAMENO(1) |
|
||||||
FIFO_PTR_FRAMELEN(len));
|
FIFO_PTR_FRAMELEN(len));
|
||||||
|
|
||||||
ndev->trans_start = jiffies;
|
|
||||||
ndev->stats.tx_packets++;
|
ndev->stats.tx_packets++;
|
||||||
ndev->stats.tx_bytes += skb->len;
|
ndev->stats.tx_bytes += skb->len;
|
||||||
|
|
||||||
|
|
|
@ -444,7 +444,7 @@ static void ni5010_timeout(struct net_device *dev)
|
||||||
/* Try to restart the adaptor. */
|
/* Try to restart the adaptor. */
|
||||||
/* FIXME: Give it a real kick here */
|
/* FIXME: Give it a real kick here */
|
||||||
chipset_init(dev, 1);
|
chipset_init(dev, 1);
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -460,7 +460,6 @@ static int ni5010_send_packet(struct sk_buff *skb, struct net_device *dev)
|
||||||
|
|
||||||
netif_stop_queue(dev);
|
netif_stop_queue(dev);
|
||||||
hardware_send_packet(dev, (unsigned char *)skb->data, skb->len, length-skb->len);
|
hardware_send_packet(dev, (unsigned char *)skb->data, skb->len, length-skb->len);
|
||||||
dev->trans_start = jiffies;
|
|
||||||
dev_kfree_skb (skb);
|
dev_kfree_skb (skb);
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1147,7 +1147,7 @@ static void ni52_timeout(struct net_device *dev)
|
||||||
writeb(CUC_START, &p->scb->cmd_cuc);
|
writeb(CUC_START, &p->scb->cmd_cuc);
|
||||||
ni_attn586();
|
ni_attn586();
|
||||||
wait_for_scb_cmd(dev);
|
wait_for_scb_cmd(dev);
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1165,7 +1165,7 @@ static void ni52_timeout(struct net_device *dev)
|
||||||
ni52_close(dev);
|
ni52_close(dev);
|
||||||
ni52_open(dev);
|
ni52_open(dev);
|
||||||
}
|
}
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************
|
/******************************************************
|
||||||
|
@ -1218,7 +1218,6 @@ static netdev_tx_t ni52_send_packet(struct sk_buff *skb,
|
||||||
writeb(CUC_START, &p->scb->cmd_cuc);
|
writeb(CUC_START, &p->scb->cmd_cuc);
|
||||||
}
|
}
|
||||||
ni_attn586();
|
ni_attn586();
|
||||||
dev->trans_start = jiffies;
|
|
||||||
if (!i)
|
if (!i)
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
wait_for_scb_cmd(dev);
|
wait_for_scb_cmd(dev);
|
||||||
|
@ -1240,7 +1239,6 @@ static netdev_tx_t ni52_send_packet(struct sk_buff *skb,
|
||||||
writew(0, &p->nop_cmds[next_nop]->cmd_status);
|
writew(0, &p->nop_cmds[next_nop]->cmd_status);
|
||||||
|
|
||||||
writew(make16(p->xmit_cmds[0]), &p->nop_cmds[p->nop_point]->cmd_link);
|
writew(make16(p->xmit_cmds[0]), &p->nop_cmds[p->nop_point]->cmd_link);
|
||||||
dev->trans_start = jiffies;
|
|
||||||
p->nop_point = next_nop;
|
p->nop_point = next_nop;
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
# endif
|
# endif
|
||||||
|
@ -1256,7 +1254,6 @@ static netdev_tx_t ni52_send_packet(struct sk_buff *skb,
|
||||||
writew(0, &p->nop_cmds[next_nop]->cmd_status);
|
writew(0, &p->nop_cmds[next_nop]->cmd_status);
|
||||||
writew(make16(p->xmit_cmds[p->xmit_count]),
|
writew(make16(p->xmit_cmds[p->xmit_count]),
|
||||||
&p->nop_cmds[p->xmit_count]->cmd_link);
|
&p->nop_cmds[p->xmit_count]->cmd_link);
|
||||||
dev->trans_start = jiffies;
|
|
||||||
p->xmit_count = next_nop;
|
p->xmit_count = next_nop;
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
|
@ -784,7 +784,7 @@ static void ni65_stop_start(struct net_device *dev,struct priv *p)
|
||||||
if(!p->lock)
|
if(!p->lock)
|
||||||
if (p->tmdnum || !p->xmit_queued)
|
if (p->tmdnum || !p->xmit_queued)
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
writedatareg(CSR0_STRT | csr0);
|
writedatareg(CSR0_STRT | csr0);
|
||||||
|
@ -1150,7 +1150,7 @@ static void ni65_timeout(struct net_device *dev)
|
||||||
printk("%02x ",p->tmdhead[i].u.s.status);
|
printk("%02x ",p->tmdhead[i].u.s.status);
|
||||||
printk("\n");
|
printk("\n");
|
||||||
ni65_lance_reinit(dev);
|
ni65_lance_reinit(dev);
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1213,7 +1213,6 @@ static netdev_tx_t ni65_send_packet(struct sk_buff *skb,
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
|
|
||||||
p->lock = 0;
|
p->lock = 0;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
spin_unlock_irqrestore(&p->ring_lock, flags);
|
spin_unlock_irqrestore(&p->ring_lock, flags);
|
||||||
}
|
}
|
||||||
|
|
|
@ -992,7 +992,6 @@ static int octeon_mgmt_xmit(struct sk_buff *skb, struct net_device *netdev)
|
||||||
/* Ring the bell. */
|
/* Ring the bell. */
|
||||||
cvmx_write_csr(CVMX_MIXX_ORING2(port), 1);
|
cvmx_write_csr(CVMX_MIXX_ORING2(port), 1);
|
||||||
|
|
||||||
netdev->trans_start = jiffies;
|
|
||||||
rv = NETDEV_TX_OK;
|
rv = NETDEV_TX_OK;
|
||||||
out:
|
out:
|
||||||
octeon_mgmt_update_tx_stats(netdev);
|
octeon_mgmt_update_tx_stats(netdev);
|
||||||
|
|
|
@ -1354,7 +1354,6 @@ static int netdrv_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
NETDRV_W32(TxStatus0 + (entry * sizeof(u32)),
|
NETDRV_W32(TxStatus0 + (entry * sizeof(u32)),
|
||||||
tp->tx_flag | (skb->len >= ETH_ZLEN ? skb->len : ETH_ZLEN));
|
tp->tx_flag | (skb->len >= ETH_ZLEN ? skb->len : ETH_ZLEN));
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
atomic_inc(&tp->cur_tx);
|
atomic_inc(&tp->cur_tx);
|
||||||
if ((atomic_read(&tp->cur_tx) - atomic_read(&tp->dirty_tx)) >= NUM_TX_DESC)
|
if ((atomic_read(&tp->cur_tx) - atomic_read(&tp->dirty_tx)) >= NUM_TX_DESC)
|
||||||
netif_stop_queue(dev);
|
netif_stop_queue(dev);
|
||||||
|
|
|
@ -739,7 +739,7 @@ static void el3_tx_timeout(struct net_device *dev)
|
||||||
printk(KERN_NOTICE "%s: Transmit timed out!\n", dev->name);
|
printk(KERN_NOTICE "%s: Transmit timed out!\n", dev->name);
|
||||||
dump_status(dev);
|
dump_status(dev);
|
||||||
dev->stats.tx_errors++;
|
dev->stats.tx_errors++;
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
/* Issue TX_RESET and TX_START commands. */
|
/* Issue TX_RESET and TX_START commands. */
|
||||||
tc574_wait_for_completion(dev, TxReset);
|
tc574_wait_for_completion(dev, TxReset);
|
||||||
outw(TxEnable, ioaddr + EL3_CMD);
|
outw(TxEnable, ioaddr + EL3_CMD);
|
||||||
|
@ -790,8 +790,6 @@ static netdev_tx_t el3_start_xmit(struct sk_buff *skb,
|
||||||
/* ... and the packet rounded to a doubleword. */
|
/* ... and the packet rounded to a doubleword. */
|
||||||
outsl(ioaddr + TX_FIFO, skb->data, (skb->len+3)>>2);
|
outsl(ioaddr + TX_FIFO, skb->data, (skb->len+3)>>2);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
/* TxFree appears only in Window 1, not offset 0x1c. */
|
/* TxFree appears only in Window 1, not offset 0x1c. */
|
||||||
if (inw(ioaddr + TxFree) <= 1536) {
|
if (inw(ioaddr + TxFree) <= 1536) {
|
||||||
netif_stop_queue(dev);
|
netif_stop_queue(dev);
|
||||||
|
|
|
@ -563,7 +563,7 @@ static void el3_tx_timeout(struct net_device *dev)
|
||||||
netdev_warn(dev, "Transmit timed out!\n");
|
netdev_warn(dev, "Transmit timed out!\n");
|
||||||
dump_status(dev);
|
dump_status(dev);
|
||||||
dev->stats.tx_errors++;
|
dev->stats.tx_errors++;
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
/* Issue TX_RESET and TX_START commands. */
|
/* Issue TX_RESET and TX_START commands. */
|
||||||
tc589_wait_for_completion(dev, TxReset);
|
tc589_wait_for_completion(dev, TxReset);
|
||||||
outw(TxEnable, ioaddr + EL3_CMD);
|
outw(TxEnable, ioaddr + EL3_CMD);
|
||||||
|
@ -611,7 +611,6 @@ static netdev_tx_t el3_start_xmit(struct sk_buff *skb,
|
||||||
/* ... and the packet rounded to a doubleword. */
|
/* ... and the packet rounded to a doubleword. */
|
||||||
outsl(ioaddr + TX_FIFO, skb->data, (skb->len + 3) >> 2);
|
outsl(ioaddr + TX_FIFO, skb->data, (skb->len + 3) >> 2);
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
if (inw(ioaddr + TX_FREE) <= 1536) {
|
if (inw(ioaddr + TX_FREE) <= 1536) {
|
||||||
netif_stop_queue(dev);
|
netif_stop_queue(dev);
|
||||||
/* Interrupt us when the FIFO has room for max-sized packet. */
|
/* Interrupt us when the FIFO has room for max-sized packet. */
|
||||||
|
|
|
@ -1005,7 +1005,7 @@ static void axnet_tx_timeout(struct net_device *dev)
|
||||||
{
|
{
|
||||||
long e8390_base = dev->base_addr;
|
long e8390_base = dev->base_addr;
|
||||||
struct ei_device *ei_local = (struct ei_device *) netdev_priv(dev);
|
struct ei_device *ei_local = (struct ei_device *) netdev_priv(dev);
|
||||||
int txsr, isr, tickssofar = jiffies - dev->trans_start;
|
int txsr, isr, tickssofar = jiffies - dev_trans_start(dev);
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
dev->stats.tx_errors++;
|
dev->stats.tx_errors++;
|
||||||
|
|
|
@ -890,7 +890,6 @@ static netdev_tx_t fjn_start_xmit(struct sk_buff *skb,
|
||||||
lp->sent = lp->tx_queue ;
|
lp->sent = lp->tx_queue ;
|
||||||
lp->tx_queue = 0;
|
lp->tx_queue = 0;
|
||||||
lp->tx_queue_len = 0;
|
lp->tx_queue_len = 0;
|
||||||
dev->trans_start = jiffies;
|
|
||||||
lp->tx_started = 1;
|
lp->tx_started = 1;
|
||||||
netif_start_queue(dev);
|
netif_start_queue(dev);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -903,7 +903,7 @@ static void mace_tx_timeout(struct net_device *dev)
|
||||||
#else /* #if RESET_ON_TIMEOUT */
|
#else /* #if RESET_ON_TIMEOUT */
|
||||||
printk("NOT resetting card\n");
|
printk("NOT resetting card\n");
|
||||||
#endif /* #if RESET_ON_TIMEOUT */
|
#endif /* #if RESET_ON_TIMEOUT */
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -945,8 +945,6 @@ static netdev_tx_t mace_start_xmit(struct sk_buff *skb,
|
||||||
outb(skb->data[skb->len-1], ioaddr + AM2150_XMT);
|
outb(skb->data[skb->len-1], ioaddr + AM2150_XMT);
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->trans_start = jiffies;
|
|
||||||
|
|
||||||
#if MULTI_TX
|
#if MULTI_TX
|
||||||
if (lp->tx_free_frames > 0)
|
if (lp->tx_free_frames > 0)
|
||||||
netif_start_queue(dev);
|
netif_start_queue(dev);
|
||||||
|
|
|
@ -1254,7 +1254,7 @@ static void smc_tx_timeout(struct net_device *dev)
|
||||||
dev->name, inw(ioaddr)&0xff, inw(ioaddr + 2));
|
dev->name, inw(ioaddr)&0xff, inw(ioaddr + 2));
|
||||||
dev->stats.tx_errors++;
|
dev->stats.tx_errors++;
|
||||||
smc_reset(dev);
|
smc_reset(dev);
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
smc->saved_skb = NULL;
|
smc->saved_skb = NULL;
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1295,7 +1295,7 @@ xirc2ps_tx_timeout_task(struct work_struct *work)
|
||||||
struct net_device *dev = local->dev;
|
struct net_device *dev = local->dev;
|
||||||
/* reset the card */
|
/* reset the card */
|
||||||
do_reset(dev,1);
|
do_reset(dev,1);
|
||||||
dev->trans_start = jiffies;
|
dev->trans_start = jiffies; /* prevent tx timeout */
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1358,7 +1358,6 @@ do_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
PutByte(XIRCREG_CR, TransmitPacket|EnableIntr);
|
PutByte(XIRCREG_CR, TransmitPacket|EnableIntr);
|
||||||
|
|
||||||
dev_kfree_skb (skb);
|
dev_kfree_skb (skb);
|
||||||
dev->trans_start = jiffies;
|
|
||||||
dev->stats.tx_bytes += pktlen;
|
dev->stats.tx_bytes += pktlen;
|
||||||
netif_start_queue(dev);
|
netif_start_queue(dev);
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue