111434b2cd6c0642419df9af1fd95b9b9977d488
[openwrt/openwrt.git] / target / linux / mpc83xx / patches-2.6.32 / 110-etsec27_war.patch
1 --- a/drivers/net/gianfar.c
2 +++ b/drivers/net/gianfar.c
3 @@ -334,7 +334,14 @@ static int gfar_probe(struct of_device *
4 /* We need to delay at least 3 TX clocks */
5 udelay(2);
6
7 - tempval = (MACCFG1_TX_FLOW | MACCFG1_RX_FLOW);
8 + /*
9 + * Do not enable flow control on chips earlier than rev 1.1,
10 + * because of the eTSEC27 erratum
11 + */
12 + tempval = 0;
13 + if (mfspr(SPRN_SVR) & 0xffff >= 0x0011)
14 + tempval = (MACCFG1_TX_FLOW | MACCFG1_RX_FLOW);
15 +
16 gfar_write(&priv->regs->maccfg1, tempval);
17
18 /* Initialize MACCFG2. */