summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Peng <edward_peng@dlink.com.tw>2003-05-26 17:05:58 -0400
committerJeff Garzik <jgarzik@redhat.com>2003-05-26 17:05:58 -0400
commit365e098b5a63e2b53c1f5ffaf07ae5c0ac3b7ea2 (patch)
treed4fe7b6e395d196d10c8f7c8a35c57c0d4e2a1e0
parenta6c9f7d180cc8584a13c14a3686bc892ef4f7856 (diff)
[netdrvr sundance] fix another flow control bug
-rw-r--r--drivers/net/sundance.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c
index 5f069c3edcd7..8be319033272 100644
--- a/drivers/net/sundance.c
+++ b/drivers/net/sundance.c
@@ -84,13 +84,14 @@
- Fix bug of custom mac address
(StationAddr register only accept word write)
- Version LK1.09 (D-Link);
+ Version LK1.09 (D-Link):
- Fix the flowctrl bug.
+ - Set Pause bit in MII ANAR if flow control enabled.
*/
#define DRV_NAME "sundance"
-#define DRV_VERSION "1.01+LK1.09"
-#define DRV_RELDATE "8-May-2003"
+#define DRV_VERSION "1.01+LK1.09a"
+#define DRV_RELDATE "16-May-2003"
/* The user-configurable values.
@@ -689,6 +690,9 @@ static int __devinit sundance_probe1 (struct pci_dev *pdev,
/* Reset PHY */
mdio_write (dev, np->phys[0], MII_BMCR, BMCR_RESET);
mdelay (300);
+ /* If flow control enabled, we need to advertise it.*/
+ if (np->flowctrl)
+ mdio_write (dev, np->phys[0], MII_ADVERTISE, np->mii_if.advertising | 0x0400);
mdio_write (dev, np->phys[0], MII_BMCR, BMCR_ANENABLE|BMCR_ANRESTART);
/* Force media type */
if (!np->an_enable) {