diff options
-rw-r--r-- | drivers/net/dm9000.c | 9 |
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) | |||
473 | static u32 dm9000_get_link(struct net_device *dev) | 473 | static 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) |