Browse Source

EMAC driver: Fix bug: The clock divisor is set to all ones at reset.

Signed-off-by: Kalle Pokki <kalle.pokki@eke.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Bryan Wu 17 years ago
parent
commit
9dc7f30e3b
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/net/bfin_mac.c

+ 1 - 1
drivers/net/bfin_mac.c

@@ -408,7 +408,7 @@ static int mii_probe(struct net_device *dev)
 	mdc_div = ((sclk / MDC_CLK) / 2) - 1;
 	mdc_div = ((sclk / MDC_CLK) / 2) - 1;
 
 
 	sysctl = bfin_read_EMAC_SYSCTL();
 	sysctl = bfin_read_EMAC_SYSCTL();
-	sysctl |= SET_MDCDIV(mdc_div);
+	sysctl = (sysctl & ~MDCDIV) | SET_MDCDIV(mdc_div);
 	bfin_write_EMAC_SYSCTL(sysctl);
 	bfin_write_EMAC_SYSCTL(sysctl);
 
 
 	/* search for connect PHY device */
 	/* search for connect PHY device */