From 78487709a6978758eedd9ce9dd4f4b936714929e Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Wed, 23 Sep 2009 17:44:08 +0000 Subject: ar71xx: flush mii register writes git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17695 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_mdio.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_mdio.c') 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 5721278895..72f732d54f 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) -- cgit v1.2.3