--- /dev/null
+--- linux-2.6.32.10.orig/drivers/net/bcm63xx_enet.c 2010-04-06 19:25:52.612158288 +0100\r
++++ linux-2.6.32.10/drivers/net/bcm63xx_enet.c 2010-04-07 21:40:26.991801424 +0100\r
+@@ -965,7 +965,9 @@\r
+ /* all set, enable mac and interrupts, start dma engine and\r
+ * kick rx dma channel */\r
+ wmb();\r
+- enet_writel(priv, ENET_CTL_ENABLE_MASK, ENET_CTL_REG);\r
++ val = enet_readl(priv, ENET_CTL_REG);\r
++ val |= ENET_CTL_ENABLE_MASK;\r
++ enet_writel(priv, val, ENET_CTL_REG);\r
+ enet_dma_writel(priv, ENETDMA_CFG_EN_MASK, ENETDMA_CFG_REG);\r
+ enet_dma_writel(priv, ENETDMA_CHANCFG_EN_MASK,\r
+ ENETDMA_CHANCFG_REG(priv->rx_chan));
\ No newline at end of file
--- /dev/null
+--- linux-2.6.32.10.orig/drivers/net/bcm63xx_enet.c 2010-04-06 19:25:52.612158288 +0100\r
++++ linux-2.6.32.10/drivers/net/bcm63xx_enet.c 2010-04-07 21:40:26.991801424 +0100\r
+@@ -965,7 +965,9 @@\r
+ /* all set, enable mac and interrupts, start dma engine and\r
+ * kick rx dma channel */\r
+ wmb();\r
+- enet_writel(priv, ENET_CTL_ENABLE_MASK, ENET_CTL_REG);\r
++ val = enet_readl(priv, ENET_CTL_REG);\r
++ val |= ENET_CTL_ENABLE_MASK;\r
++ enet_writel(priv, val, ENET_CTL_REG);\r
+ enet_dma_writel(priv, ENETDMA_CFG_EN_MASK, ENETDMA_CFG_REG);\r
+ enet_dma_writel(priv, ENETDMA_CHANCFG_EN_MASK,\r
+ ENETDMA_CHANCFG_REG(priv->rx_chan));
\ No newline at end of file