|
@@ -6157,8 +6157,12 @@ static int tg3_reset_hw(struct tg3 *tp, int reset_phy)
|
|
|
#endif
|
|
|
|
|
|
/* Receive/send statistics. */
|
|
|
- if ((rdmac_mode & RDMAC_MODE_FIFO_SIZE_128) &&
|
|
|
- (tp->tg3_flags2 & TG3_FLG2_TSO_CAPABLE)) {
|
|
|
+ if (tp->tg3_flags2 & TG3_FLG2_5750_PLUS) {
|
|
|
+ val = tr32(RCVLPC_STATS_ENABLE);
|
|
|
+ val &= ~RCVLPC_STATSENAB_DACK_FIX;
|
|
|
+ tw32(RCVLPC_STATS_ENABLE, val);
|
|
|
+ } else if ((rdmac_mode & RDMAC_MODE_FIFO_SIZE_128) &&
|
|
|
+ (tp->tg3_flags2 & TG3_FLG2_TSO_CAPABLE)) {
|
|
|
val = tr32(RCVLPC_STATS_ENABLE);
|
|
|
val &= ~RCVLPC_STATSENAB_LNGBRST_RFIX;
|
|
|
tw32(RCVLPC_STATS_ENABLE, val);
|