aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ni52.c
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2010-05-10 08:01:31 -0400
committerDavid S. Miller <davem@davemloft.net>2010-05-10 08:01:31 -0400
commit1ae5dc342ac78d7a42965fd1f323815f6f5ef2c1 (patch)
treed1955a7639e99832590df26466a34d5786a880ae /drivers/net/ni52.c
parent2b0b05ddc04b6d45e71cd36405df512075786f1e (diff)
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>
Diffstat (limited to 'drivers/net/ni52.c')
-rw-r--r--drivers/net/ni52.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/net/ni52.c b/drivers/net/ni52.c
index b7837ebd9a7d..9bddb5fa7a96 100644
--- a/drivers/net/ni52.c
+++ b/drivers/net/ni52.c
@@ -1147,7 +1147,7 @@ static void ni52_timeout(struct net_device *dev)
1147 writeb(CUC_START, &p->scb->cmd_cuc); 1147 writeb(CUC_START, &p->scb->cmd_cuc);
1148 ni_attn586(); 1148 ni_attn586();
1149 wait_for_scb_cmd(dev); 1149 wait_for_scb_cmd(dev);
1150 dev->trans_start = jiffies; 1150 dev->trans_start = jiffies; /* prevent tx timeout */
1151 return 0; 1151 return 0;
1152 } 1152 }
1153#endif 1153#endif
@@ -1165,7 +1165,7 @@ static void ni52_timeout(struct net_device *dev)
1165 ni52_close(dev); 1165 ni52_close(dev);
1166 ni52_open(dev); 1166 ni52_open(dev);
1167 } 1167 }
1168 dev->trans_start = jiffies; 1168 dev->trans_start = jiffies; /* prevent tx timeout */
1169} 1169}
1170 1170
1171/****************************************************** 1171/******************************************************
@@ -1218,7 +1218,6 @@ static netdev_tx_t ni52_send_packet(struct sk_buff *skb,
1218 writeb(CUC_START, &p->scb->cmd_cuc); 1218 writeb(CUC_START, &p->scb->cmd_cuc);
1219 } 1219 }
1220 ni_attn586(); 1220 ni_attn586();
1221 dev->trans_start = jiffies;
1222 if (!i) 1221 if (!i)
1223 dev_kfree_skb(skb); 1222 dev_kfree_skb(skb);
1224 wait_for_scb_cmd(dev); 1223 wait_for_scb_cmd(dev);
@@ -1240,7 +1239,6 @@ static netdev_tx_t ni52_send_packet(struct sk_buff *skb,
1240 writew(0, &p->nop_cmds[next_nop]->cmd_status); 1239 writew(0, &p->nop_cmds[next_nop]->cmd_status);
1241 1240
1242 writew(make16(p->xmit_cmds[0]), &p->nop_cmds[p->nop_point]->cmd_link); 1241 writew(make16(p->xmit_cmds[0]), &p->nop_cmds[p->nop_point]->cmd_link);
1243 dev->trans_start = jiffies;
1244 p->nop_point = next_nop; 1242 p->nop_point = next_nop;
1245 dev_kfree_skb(skb); 1243 dev_kfree_skb(skb);
1246# endif 1244# endif
@@ -1256,7 +1254,6 @@ static netdev_tx_t ni52_send_packet(struct sk_buff *skb,
1256 writew(0, &p->nop_cmds[next_nop]->cmd_status); 1254 writew(0, &p->nop_cmds[next_nop]->cmd_status);
1257 writew(make16(p->xmit_cmds[p->xmit_count]), 1255 writew(make16(p->xmit_cmds[p->xmit_count]),
1258 &p->nop_cmds[p->xmit_count]->cmd_link); 1256 &p->nop_cmds[p->xmit_count]->cmd_link);
1259 dev->trans_start = jiffies;
1260 p->xmit_count = next_nop; 1257 p->xmit_count = next_nop;
1261 { 1258 {
1262 unsigned long flags; 1259 unsigned long flags;