ramips_eth: fix invalid register writes
authorGabor Juhos <juhosg@openwrt.org>
Sat, 30 Jan 2010 15:26:02 +0000 (15:26 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Sat, 30 Jan 2010 15:26:02 +0000 (15:26 +0000)
SVN-Revision: 19417

target/linux/ramips/files/drivers/net/ramips.c

index c3cc029b9f19cdf4a3b2712c5655d8132f74e7b9..c9a0c9ea3b7edbe39e904a35058c8883852959d4 100644 (file)
@@ -270,8 +270,8 @@ ramips_eth_set_mac_addr(struct net_device *dev, void *priv)
 
        memcpy(dev->dev_addr, ((struct sockaddr*)priv)->sa_data, dev->addr_len);
        ramips_fe_wr((mac[0] << 8) | mac[1], RAMIPS_GDMA1_MAC_ADRH);
-       ramips_fe_wr(RAMIPS_GDMA1_MAC_ADRL,
-                    (mac[2] << 24) | (mac[3] << 16) | (mac[4] << 8) | mac[5]);
+       ramips_fe_wr((mac[2] << 24) | (mac[3] << 16) | (mac[4] << 8) | mac[5],
+                    RAMIPS_GDMA1_MAC_ADRL);
        return 0;
 }
 
@@ -357,8 +357,9 @@ ramips_eth_stop(struct net_device *dev)
 {
        struct raeth_priv *priv = netdev_priv(dev);
 
-       ramips_fe_wr(RAMIPS_PDMA_GLO_CFG, ramips_fe_rr(RAMIPS_PDMA_GLO_CFG) &
-               ~(RAMIPS_TX_WB_DDONE | RAMIPS_RX_DMA_EN | RAMIPS_TX_DMA_EN));
+       ramips_fe_wr(ramips_fe_rr(RAMIPS_PDMA_GLO_CFG) &
+                    ~(RAMIPS_TX_WB_DDONE | RAMIPS_RX_DMA_EN | RAMIPS_TX_DMA_EN),
+                    RAMIPS_PDMA_GLO_CFG);
        free_irq(dev->irq, dev);
        netif_stop_queue(dev);
        tasklet_kill(&priv->tx_housekeeping_tasklet);