summaryrefslogtreecommitdiffstats
path: root/drivers/net/miiphy.c
diff options
context:
space:
mode:
authorEnrik Berkhan <Enrik.Berkhan@ge.com>2008-01-23 12:12:01 +0100
committerWolfram Sang <w.sang@pengutronix.de>2008-01-23 12:13:23 +0100
commit0449be2dc1133631d22105dd8770f7bc3e1de56b (patch)
treecb6d04409b465fde11eb58f6f0d1de5d882c526e /drivers/net/miiphy.c
parente02f84dd0b2d883d20ee5440579d55177fc0a37b (diff)
downloadbarebox-0449be2dc1133631d22105dd8770f7bc3e1de56b.tar.gz
barebox-0449be2dc1133631d22105dd8770f7bc3e1de56b.tar.xz
Only change ADVERTISE_ALL bit
Signed-Off-By: Enrik Berkhan <Enrik.Berkhan@ge.com>
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);
}