aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/dm9000.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c
index 679c291107f5..7c38f6129b55 100644
--- a/drivers/net/dm9000.c
+++ b/drivers/net/dm9000.c
@@ -473,7 +473,14 @@ static int dm9000_nway_reset(struct net_device *dev)
473static u32 dm9000_get_link(struct net_device *dev) 473static u32 dm9000_get_link(struct net_device *dev)
474{ 474{
475 board_info_t *dm = to_dm9000_board(dev); 475 board_info_t *dm = to_dm9000_board(dev);
476 return mii_link_ok(&dm->mii); 476 u32 ret;
477
478 if (dm->flags & DM9000_PLATF_EXT_PHY)
479 ret = mii_link_ok(&dm->mii);
480 else
481 ret = dm9000_read_locked(dm, DM9000_NSR) & NSR_LINKST ? 1 : 0;
482
483 return ret;
477} 484}
478 485
479#define DM_EEPROM_MAGIC (0x444D394B) 486#define DM_EEPROM_MAGIC (0x444D394B)