aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sis900.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/sis900.c')
-rw-r--r--drivers/net/sis900.c25
1 files changed, 9 insertions, 16 deletions
diff --git a/drivers/net/sis900.c b/drivers/net/sis900.c
index cc0c731c4f09..bbbded76ff14 100644
--- a/drivers/net/sis900.c
+++ b/drivers/net/sis900.c
@@ -858,7 +858,6 @@ static void mdio_reset(long mdio_addr)
858 outl(MDDIR | MDIO | MDC, mdio_addr); 858 outl(MDDIR | MDIO | MDC, mdio_addr);
859 mdio_delay(); 859 mdio_delay();
860 } 860 }
861 return;
862} 861}
863 862
864/** 863/**
@@ -953,8 +952,6 @@ static void mdio_write(struct net_device *net_dev, int phy_id, int location,
953 mdio_delay(); 952 mdio_delay();
954 } 953 }
955 outl(0x00, mdio_addr); 954 outl(0x00, mdio_addr);
956
957 return;
958} 955}
959 956
960 957
@@ -1264,7 +1261,6 @@ static void sis630_set_eq(struct net_device *net_dev, u8 revision)
1264 mdio_write(net_dev, sis_priv->cur_phy, MII_RESV, 1261 mdio_write(net_dev, sis_priv->cur_phy, MII_RESV,
1265 (reg14h | 0x2000) & 0xBFFF); 1262 (reg14h | 0x2000) & 0xBFFF);
1266 } 1263 }
1267 return;
1268} 1264}
1269 1265
1270/** 1266/**
@@ -1499,7 +1495,7 @@ static void sis900_read_mode(struct net_device *net_dev, int *speed, int *duplex
1499 } 1495 }
1500 1496
1501 if(netif_msg_link(sis_priv)) 1497 if(netif_msg_link(sis_priv))
1502 printk(KERN_INFO "%s: Media Link On %s %s-duplex \n", 1498 printk(KERN_INFO "%s: Media Link On %s %s-duplex\n",
1503 net_dev->name, 1499 net_dev->name,
1504 *speed == HW_SPEED_100_MBPS ? 1500 *speed == HW_SPEED_100_MBPS ?
1505 "100mbps" : "10mbps", 1501 "100mbps" : "10mbps",
@@ -1523,7 +1519,7 @@ static void sis900_tx_timeout(struct net_device *net_dev)
1523 int i; 1519 int i;
1524 1520
1525 if(netif_msg_tx_err(sis_priv)) 1521 if(netif_msg_tx_err(sis_priv))
1526 printk(KERN_INFO "%s: Transmit timeout, status %8.8x %8.8x \n", 1522 printk(KERN_INFO "%s: Transmit timeout, status %8.8x %8.8x\n",
1527 net_dev->name, inl(ioaddr + cr), inl(ioaddr + isr)); 1523 net_dev->name, inl(ioaddr + cr), inl(ioaddr + isr));
1528 1524
1529 /* Disable interrupts by clearing the interrupt mask. */ 1525 /* Disable interrupts by clearing the interrupt mask. */
@@ -1553,14 +1549,13 @@ static void sis900_tx_timeout(struct net_device *net_dev)
1553 1549
1554 spin_unlock_irqrestore(&sis_priv->lock, flags); 1550 spin_unlock_irqrestore(&sis_priv->lock, flags);
1555 1551
1556 net_dev->trans_start = jiffies; 1552 net_dev->trans_start = jiffies; /* prevent tx timeout */
1557 1553
1558 /* load Transmit Descriptor Register */ 1554 /* load Transmit Descriptor Register */
1559 outl(sis_priv->tx_ring_dma, ioaddr + txdp); 1555 outl(sis_priv->tx_ring_dma, ioaddr + txdp);
1560 1556
1561 /* Enable all known interrupts by setting the interrupt mask. */ 1557 /* Enable all known interrupts by setting the interrupt mask. */
1562 outl((RxSOVR|RxORN|RxERR|RxOK|TxURN|TxERR|TxIDLE), ioaddr + imr); 1558 outl((RxSOVR|RxORN|RxERR|RxOK|TxURN|TxERR|TxIDLE), ioaddr + imr);
1563 return;
1564} 1559}
1565 1560
1566/** 1561/**
@@ -1623,8 +1618,6 @@ sis900_start_xmit(struct sk_buff *skb, struct net_device *net_dev)
1623 1618
1624 spin_unlock_irqrestore(&sis_priv->lock, flags); 1619 spin_unlock_irqrestore(&sis_priv->lock, flags);
1625 1620
1626 net_dev->trans_start = jiffies;
1627
1628 if (netif_msg_tx_queued(sis_priv)) 1621 if (netif_msg_tx_queued(sis_priv))
1629 printk(KERN_DEBUG "%s: Queued Tx packet at %p size %d " 1622 printk(KERN_DEBUG "%s: Queued Tx packet at %p size %d "
1630 "to slot %d.\n", 1623 "to slot %d.\n",
@@ -2298,12 +2291,14 @@ static void set_rx_mode(struct net_device *net_dev)
2298 /* Accept Broadcast packet, destination address matchs our 2291 /* Accept Broadcast packet, destination address matchs our
2299 * MAC address, use Receive Filter to reject unwanted MCAST 2292 * MAC address, use Receive Filter to reject unwanted MCAST
2300 * packets */ 2293 * packets */
2301 struct dev_mc_list *mclist; 2294 struct netdev_hw_addr *ha;
2302 rx_mode = RFAAB; 2295 rx_mode = RFAAB;
2303 2296
2304 netdev_for_each_mc_addr(mclist, net_dev) { 2297 netdev_for_each_mc_addr(ha, net_dev) {
2305 unsigned int bit_nr = 2298 unsigned int bit_nr;
2306 sis900_mcast_bitnr(mclist->dmi_addr, sis_priv->chipset_rev); 2299
2300 bit_nr = sis900_mcast_bitnr(ha->addr,
2301 sis_priv->chipset_rev);
2307 mc_filter[bit_nr >> 4] |= (1 << (bit_nr & 0xf)); 2302 mc_filter[bit_nr >> 4] |= (1 << (bit_nr & 0xf));
2308 } 2303 }
2309 } 2304 }
@@ -2330,8 +2325,6 @@ static void set_rx_mode(struct net_device *net_dev)
2330 /* restore cr */ 2325 /* restore cr */
2331 outl(cr_saved, ioaddr + cr); 2326 outl(cr_saved, ioaddr + cr);
2332 } 2327 }
2333
2334 return;
2335} 2328}
2336 2329
2337/** 2330/**