Fix de2104x driver failing to readout MAC address correctly
Subsystems (2)
PATCH 1/1 Fix de2104x driver failing to readout MAC address correctly
Fix de2104x driver failing to readout MAC address correctly
This patch fixes a missing read memory barrier that is needed for the driver to readout the MAC address correctly from the on-board ROM. Also it replaces the use of the deprecated functions readl()/writel().
Signed-off-by Morten H. Larsen <[email protected]>
----
drivers/net/tulip/de2104x.c +3 -2
@@ -367,8 +367,8 @@static u16 t21041_csr15[] = {0x0008 ,0x0006 ,0x000E ,0x0008 ,0x0008 , }; -#define dr32 (reg) readl(de->regs + (reg)) -#define dw32 (reg,val) writel((val), de->regs + (reg)) +#define dr32 (reg) ioread32(de->regs + (reg)) +#define dw32 (reg, val) iowrite32((val), de->regs + (reg)) static void de_rx_err_acct (struct de_private *de, unsigned rx_tail,
@@ -1706,6 +1706,7 @@int value, boguscnt =100000 ;do { value =dr32 (ROMCmd); +rmb (); }while (value <0 && --boguscnt >0 ); de->dev->dev_addr[i] = value;udelay (1 );