|
@@ -473,7 +473,14 @@ static int dm9000_nway_reset(struct net_device *dev)
|
|
|
static u32 dm9000_get_link(struct net_device *dev)
|
|
|
{
|
|
|
board_info_t *dm = to_dm9000_board(dev);
|
|
|
- return mii_link_ok(&dm->mii);
|
|
|
+ u32 ret;
|
|
|
+
|
|
|
+ if (dm->flags & DM9000_PLATF_EXT_PHY)
|
|
|
+ ret = mii_link_ok(&dm->mii);
|
|
|
+ else
|
|
|
+ ret = dm9000_read_locked(dm, DM9000_NSR) & NSR_LINKST ? 1 : 0;
|
|
|
+
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
#define DM_EEPROM_MAGIC (0x444D394B)
|