aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sundance.c
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2010-05-22 02:36:56 -0400
committerGrant Likely <grant.likely@secretlab.ca>2010-05-22 02:36:56 -0400
commitcf9b59e9d3e008591d1f54830f570982bb307a0d (patch)
tree113478ce8fd8c832ba726ffdf59b82cb46356476 /drivers/net/sundance.c
parent44504b2bebf8b5823c59484e73096a7d6574471d (diff)
parentf4b87dee923342505e1ddba8d34ce9de33e75050 (diff)
Merge remote branch 'origin' into secretlab/next-devicetree
Merging in current state of Linus' tree to deal with merge conflicts and build failures in vio.c after merge. Conflicts: drivers/i2c/busses/i2c-cpm.c drivers/i2c/busses/i2c-mpc.c drivers/net/gianfar.c Also fixed up one line in arch/powerpc/kernel/vio.c to use the correct node pointer. Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers/net/sundance.c')
-rw-r--r--drivers/net/sundance.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c
index 8249a394a4e1..2678588ea4b2 100644
--- a/drivers/net/sundance.c
+++ b/drivers/net/sundance.c
@@ -788,7 +788,6 @@ static void mdio_write(struct net_device *dev, int phy_id, int location, int val
788 iowrite8(MDIO_EnbIn | MDIO_ShiftClk, mdio_addr); 788 iowrite8(MDIO_EnbIn | MDIO_ShiftClk, mdio_addr);
789 mdio_delay(); 789 mdio_delay();
790 } 790 }
791 return;
792} 791}
793 792
794static int mdio_wait_link(struct net_device *dev, int wait) 793static int mdio_wait_link(struct net_device *dev, int wait)
@@ -972,7 +971,7 @@ static void tx_timeout(struct net_device *dev)
972 971
973 dev->if_port = 0; 972 dev->if_port = 0;
974 973
975 dev->trans_start = jiffies; 974 dev->trans_start = jiffies; /* prevent tx timeout */
976 dev->stats.tx_errors++; 975 dev->stats.tx_errors++;
977 if (np->cur_tx - np->dirty_tx < TX_QUEUE_LEN - 4) { 976 if (np->cur_tx - np->dirty_tx < TX_QUEUE_LEN - 4) {
978 netif_wake_queue(dev); 977 netif_wake_queue(dev);
@@ -1022,7 +1021,6 @@ static void init_ring(struct net_device *dev)
1022 np->tx_skbuff[i] = NULL; 1021 np->tx_skbuff[i] = NULL;
1023 np->tx_ring[i].status = 0; 1022 np->tx_ring[i].status = 0;
1024 } 1023 }
1025 return;
1026} 1024}
1027 1025
1028static void tx_poll (unsigned long data) 1026static void tx_poll (unsigned long data)
@@ -1049,7 +1047,6 @@ static void tx_poll (unsigned long data)
1049 if (ioread32 (np->base + TxListPtr) == 0) 1047 if (ioread32 (np->base + TxListPtr) == 0)
1050 iowrite32 (np->tx_ring_dma + head * sizeof(struct netdev_desc), 1048 iowrite32 (np->tx_ring_dma + head * sizeof(struct netdev_desc),
1051 np->base + TxListPtr); 1049 np->base + TxListPtr);
1052 return;
1053} 1050}
1054 1051
1055static netdev_tx_t 1052static netdev_tx_t
@@ -1084,7 +1081,6 @@ start_tx (struct sk_buff *skb, struct net_device *dev)
1084 } else { 1081 } else {
1085 netif_stop_queue (dev); 1082 netif_stop_queue (dev);
1086 } 1083 }
1087 dev->trans_start = jiffies;
1088 if (netif_msg_tx_queued(np)) { 1084 if (netif_msg_tx_queued(np)) {
1089 printk (KERN_DEBUG 1085 printk (KERN_DEBUG
1090 "%s: Transmit frame #%d queued in slot %d.\n", 1086 "%s: Transmit frame #%d queued in slot %d.\n",
@@ -1379,7 +1375,6 @@ not_done:
1379 if (np->budget <= 0) 1375 if (np->budget <= 0)
1380 np->budget = RX_BUDGET; 1376 np->budget = RX_BUDGET;
1381 tasklet_schedule(&np->rx_tasklet); 1377 tasklet_schedule(&np->rx_tasklet);
1382 return;
1383} 1378}
1384 1379
1385static void refill_rx (struct net_device *dev) 1380static void refill_rx (struct net_device *dev)
@@ -1410,7 +1405,6 @@ static void refill_rx (struct net_device *dev)
1410 np->rx_ring[entry].status = 0; 1405 np->rx_ring[entry].status = 0;
1411 cnt++; 1406 cnt++;
1412 } 1407 }
1413 return;
1414} 1408}
1415static void netdev_error(struct net_device *dev, int intr_status) 1409static void netdev_error(struct net_device *dev, int intr_status)
1416{ 1410{
@@ -1522,13 +1516,13 @@ static void set_rx_mode(struct net_device *dev)
1522 memset(mc_filter, 0xff, sizeof(mc_filter)); 1516 memset(mc_filter, 0xff, sizeof(mc_filter));
1523 rx_mode = AcceptBroadcast | AcceptMulticast | AcceptMyPhys; 1517 rx_mode = AcceptBroadcast | AcceptMulticast | AcceptMyPhys;
1524 } else if (!netdev_mc_empty(dev)) { 1518 } else if (!netdev_mc_empty(dev)) {
1525 struct dev_mc_list *mclist; 1519 struct netdev_hw_addr *ha;
1526 int bit; 1520 int bit;
1527 int index; 1521 int index;
1528 int crc; 1522 int crc;
1529 memset (mc_filter, 0, sizeof (mc_filter)); 1523 memset (mc_filter, 0, sizeof (mc_filter));
1530 netdev_for_each_mc_addr(mclist, dev) { 1524 netdev_for_each_mc_addr(ha, dev) {
1531 crc = ether_crc_le (ETH_ALEN, mclist->dmi_addr); 1525 crc = ether_crc_le(ETH_ALEN, ha->addr);
1532 for (index=0, bit=0; bit < 6; bit++, crc <<= 1) 1526 for (index=0, bit=0; bit < 6; bit++, crc <<= 1)
1533 if (crc & 0x80000000) index |= 1 << bit; 1527 if (crc & 0x80000000) index |= 1 << bit;
1534 mc_filter[index/16] |= (1 << (index % 16)); 1528 mc_filter[index/16] |= (1 << (index % 16));