diff options
Diffstat (limited to 'drivers/net/bcm63xx_enet.c')
-rw-r--r-- | drivers/net/bcm63xx_enet.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/bcm63xx_enet.c b/drivers/net/bcm63xx_enet.c index d91105693c8a..37a4be57a2b7 100644 --- a/drivers/net/bcm63xx_enet.c +++ b/drivers/net/bcm63xx_enet.c | |||
@@ -959,7 +959,9 @@ static int bcm_enet_open(struct net_device *dev) | |||
959 | /* all set, enable mac and interrupts, start dma engine and | 959 | /* all set, enable mac and interrupts, start dma engine and |
960 | * kick rx dma channel */ | 960 | * kick rx dma channel */ |
961 | wmb(); | 961 | wmb(); |
962 | enet_writel(priv, ENET_CTL_ENABLE_MASK, ENET_CTL_REG); | 962 | val = enet_readl(priv, ENET_CTL_REG); |
963 | val |= ENET_CTL_ENABLE_MASK; | ||
964 | enet_writel(priv, val, ENET_CTL_REG); | ||
963 | enet_dma_writel(priv, ENETDMA_CFG_EN_MASK, ENETDMA_CFG_REG); | 965 | enet_dma_writel(priv, ENETDMA_CFG_EN_MASK, ENETDMA_CFG_REG); |
964 | enet_dma_writel(priv, ENETDMA_CHANCFG_EN_MASK, | 966 | enet_dma_writel(priv, ENETDMA_CHANCFG_EN_MASK, |
965 | ENETDMA_CHANCFG_REG(priv->rx_chan)); | 967 | ENETDMA_CHANCFG_REG(priv->rx_chan)); |