diff options
author | Nikita Kiryanov <nikita@compulab.co.il> | 2013-10-16 04:41:31 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-10-17 13:35:56 -0400 |
commit | 6649b205ab1234c7b0ffbfba769f0604810c8ce2 (patch) | |
tree | c602a41f02742fda7b50ace509d35ff7cdf1d7d9 /drivers/net/ethernet/davicom/dm9000.c | |
parent | e9e4ea74f06635f2ffc1dffe5ef40c854faa0a90 (diff) |
dm9000: during init reset phy only for dm9000b
Some of the changes introduced in commit 6741f40 (DM9000B: driver
initialization upgrade) break functionality on DM9000A
(error message during NFS boot: "dm9000 dm9000.0: eth0: link down")
Since the changes were meant to serve only DM9000B, make them
dependent on the chip type.
Cc: David S. Miller <davem@davemloft.net>
Cc: Jingoo Han <jg1.han@samsung.com>
Cc: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/davicom/dm9000.c')
-rw-r--r-- | drivers/net/ethernet/davicom/dm9000.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/ethernet/davicom/dm9000.c b/drivers/net/ethernet/davicom/dm9000.c index 5f5896e522d2..912983b39492 100644 --- a/drivers/net/ethernet/davicom/dm9000.c +++ b/drivers/net/ethernet/davicom/dm9000.c | |||
@@ -891,8 +891,13 @@ dm9000_init_dm9000(struct net_device *dev) | |||
891 | 891 | ||
892 | iow(db, DM9000_GPCR, GPCR_GEP_CNTL); /* Let GPIO0 output */ | 892 | iow(db, DM9000_GPCR, GPCR_GEP_CNTL); /* Let GPIO0 output */ |
893 | 893 | ||
894 | dm9000_phy_write(dev, 0, MII_BMCR, BMCR_RESET); /* PHY RESET */ | 894 | /* If we are dealing with DM9000B, some extra steps are required: a |
895 | dm9000_phy_write(dev, 0, MII_DM_DSPCR, DSPCR_INIT_PARAM); /* Init */ | 895 | * manual phy reset, and setting init params. |
896 | */ | ||
897 | if (db->type == TYPE_DM9000B) { | ||
898 | dm9000_phy_write(dev, 0, MII_BMCR, BMCR_RESET); | ||
899 | dm9000_phy_write(dev, 0, MII_DM_DSPCR, DSPCR_INIT_PARAM); | ||
900 | } | ||
896 | 901 | ||
897 | ncr = (db->flags & DM9000_PLATF_EXT_PHY) ? NCR_EXT_PHY : 0; | 902 | ncr = (db->flags & DM9000_PLATF_EXT_PHY) ? NCR_EXT_PHY : 0; |
898 | 903 | ||