diff options
-rw-r--r-- | drivers/net/sundance.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c index ac17377b3e9f..8f33f5d34af2 100644 --- a/drivers/net/sundance.c +++ b/drivers/net/sundance.c | |||
@@ -17,6 +17,8 @@ | |||
17 | Support and updates available at | 17 | Support and updates available at |
18 | http://www.scyld.com/network/sundance.html | 18 | http://www.scyld.com/network/sundance.html |
19 | [link no longer provides useful info -jgarzik] | 19 | [link no longer provides useful info -jgarzik] |
20 | Archives of the mailing list are still available at | ||
21 | http://www.beowulf.org/pipermail/netdrivers/ | ||
20 | 22 | ||
21 | */ | 23 | */ |
22 | 24 | ||
@@ -646,7 +648,7 @@ static int __devinit sundance_probe1 (struct pci_dev *pdev, | |||
646 | /* Reset the chip to erase previous misconfiguration. */ | 648 | /* Reset the chip to erase previous misconfiguration. */ |
647 | if (netif_msg_hw(np)) | 649 | if (netif_msg_hw(np)) |
648 | printk("ASIC Control is %x.\n", ioread32(ioaddr + ASICCtrl)); | 650 | printk("ASIC Control is %x.\n", ioread32(ioaddr + ASICCtrl)); |
649 | iowrite16(0x00ff, ioaddr + ASICCtrl + 2); | 651 | sundance_reset(dev, 0x00ff << 16); |
650 | if (netif_msg_hw(np)) | 652 | if (netif_msg_hw(np)) |
651 | printk("ASIC Control is now %x.\n", ioread32(ioaddr + ASICCtrl)); | 653 | printk("ASIC Control is now %x.\n", ioread32(ioaddr + ASICCtrl)); |
652 | 654 | ||
@@ -1075,13 +1077,8 @@ reset_tx (struct net_device *dev) | |||
1075 | 1077 | ||
1076 | /* Reset tx logic, TxListPtr will be cleaned */ | 1078 | /* Reset tx logic, TxListPtr will be cleaned */ |
1077 | iowrite16 (TxDisable, ioaddr + MACCtrl1); | 1079 | iowrite16 (TxDisable, ioaddr + MACCtrl1); |
1078 | iowrite16 (TxReset | DMAReset | FIFOReset | NetworkReset, | 1080 | sundance_reset(dev, (NetworkReset|FIFOReset|DMAReset|TxReset) << 16); |
1079 | ioaddr + ASICCtrl + 2); | 1081 | |
1080 | for (i=50; i > 0; i--) { | ||
1081 | if ((ioread16(ioaddr + ASICCtrl + 2) & ResetBusy) == 0) | ||
1082 | break; | ||
1083 | mdelay(1); | ||
1084 | } | ||
1085 | /* free all tx skbuff */ | 1082 | /* free all tx skbuff */ |
1086 | for (i = 0; i < TX_RING_SIZE; i++) { | 1083 | for (i = 0; i < TX_RING_SIZE; i++) { |
1087 | skb = np->tx_skbuff[i]; | 1084 | skb = np->tx_skbuff[i]; |