Skip to content

Commit

Permalink
[PATCH] e100: fixed e100 MDI/MDI-X issues
Browse files Browse the repository at this point in the history
Added patch from Eran Mann to fix following e100 MDI/MDI-X issues
 * MDI/MDI-X autodetection should never be enabled for 82551ER/QM chips
 * enabling this feature based on eeprom settings

Signed-off-by: Mallikarjuna R Chilakala <[email protected]>
Signed-off-by: Ganesh Venkatesan <[email protected]>
Signed-off-by: John Ronciak <[email protected]>
  • Loading branch information
mrchilak authored and jgarzik committed Jun 27, 2005
1 parent 9758d0f commit 6489514
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions drivers/net/e100.c
Original file line number Diff line number Diff line change
Expand Up @@ -1093,11 +1093,16 @@ static int e100_phy_init(struct nic *nic)
}

if((nic->mac >= mac_82550_D102) || ((nic->flags & ich) &&
(mdio_read(netdev, nic->mii.phy_id, MII_TPISTATUS) & 0x8000) &&
(nic->eeprom[eeprom_cnfg_mdix] & eeprom_mdix_enabled)))
/* enable/disable MDI/MDI-X auto-switching */
mdio_write(netdev, nic->mii.phy_id, MII_NCONFIG,
nic->mii.force_media ? 0 : NCONFIG_AUTO_SWITCH);
(mdio_read(netdev, nic->mii.phy_id, MII_TPISTATUS) & 0x8000))) {
/* enable/disable MDI/MDI-X auto-switching.
MDI/MDI-X auto-switching is disabled for 82551ER/QM chips */
if((nic->mac == mac_82551_E) || (nic->mac == mac_82551_F) ||
(nic->mac == mac_82551_10) || (nic->mii.force_media) ||
!(nic->eeprom[eeprom_cnfg_mdix] & eeprom_mdix_enabled))
mdio_write(netdev, nic->mii.phy_id, MII_NCONFIG, 0);
else
mdio_write(netdev, nic->mii.phy_id, MII_NCONFIG, NCONFIG_AUTO_SWITCH);
}

return 0;
}
Expand Down

0 comments on commit 6489514

Please sign in to comment.