Przeglądaj źródła

ar71xx: flush mii register writes

SVN-Revision: 17695
Gabor Juhos 16 lat temu
rodzic
commit
8458d7c73b

+ 1 - 1
target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h

@@ -38,7 +38,7 @@
 #define ETH_FCS_LEN	4
 
 #define AG71XX_DRV_NAME		"ag71xx"
-#define AG71XX_DRV_VERSION	"0.5.24"
+#define AG71XX_DRV_VERSION	"0.5.25"
 
 #define AG71XX_NAPI_WEIGHT	64
 #define AG71XX_OOM_REFILL	(1 + HZ/10)

+ 7 - 1
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)