summaryrefslogtreecommitdiffstats
path: root/drivers/net/miiphy.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/miiphy.c')
-rw-r--r--drivers/net/miiphy.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/miiphy.c b/drivers/net/miiphy.c
index 5fe7dc8e04..126d0b8032 100644
--- a/drivers/net/miiphy.c
+++ b/drivers/net/miiphy.c
@@ -58,7 +58,9 @@ int miiphy_restart_aneg(struct miiphy_device *mdev)
/*
* Set the auto-negotiation advertisement register bits
*/
- mdev->write(mdev, mdev->address, MII_ADVERTISE, ADVERTISE_ALL);
+ mdev->read(mdev, mdev->address, MII_ADVERTISE, &status);
+ status |= ADVERTISE_ALL;
+ mdev->write(mdev, mdev->address, MII_ADVERTISE, status);
mdev->write(mdev, mdev->address, MII_BMCR, BMCR_ANENABLE | BMCR_ANRESTART);
}