diff options
author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-09-23 17:44:08 +0000 |
---|---|---|
committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-09-23 17:44:08 +0000 |
commit | c09228f0837ac811e86ebac3dcc19c3c792014e3 (patch) | |
tree | e2c32b8c21fa42b2653c9a7f9126dcca0099258d /target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_mdio.c | |
parent | 2047aafc66d21d3773b6207a1818929f733fc579 (diff) |
ar71xx: flush mii register writes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17695 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_mdio.c')
-rw-r--r-- | target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_mdio.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_mdio.c b/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_mdio.c index 572127889..72f732d54 100644 --- a/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_mdio.c +++ b/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_mdio.c @@ -21,7 +21,13 @@ struct ag71xx_mdio *ag71xx_mdio_bus; static inline void ag71xx_mdio_wr(struct ag71xx_mdio *am, unsigned reg, u32 value) { - __raw_writel(value, am->mdio_base + reg); + void __iomem *r; + + r = am->mdio_base + reg; + __raw_writel(value, r); + + /* flush write */ + (void) __raw_readl(r); } static inline u32 ag71xx_mdio_rr(struct ag71xx_mdio *am, unsigned reg) |