summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Carlson <mcarlson@broadcom.com>2011-05-19 12:12:55 +0000
committerDavid S. Miller <davem@davemloft.net>2011-05-19 18:00:01 -0400
commit310050fad8962a2ebc70011353a549614e118152 (patch)
tree016f1157c7cc34685efddaaf114ba59d60debbc5
parent6ff6f81dd4ec08945e10147dbfe611569ef4cc09 (diff)
tg3: Apply rx_discards fix to 5719/5720
Commit 4d95847381228639844c7197deb8b2211274ef22, entitled "tg3: Workaround rx_discards stat bug", was intended to be applied to the 5717, 5718, 5719_A0, and 5720 A0 chip revisions. The implementation missed the latter two when applying the fix in a critical area. This patch fixes the problem. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/tg3.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index eb8dc7b1a28..8311f8e98bb 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -8797,7 +8797,9 @@ static void tg3_periodic_fetch_stats(struct tg3 *tp)
TG3_STAT_ADD32(&sp->rx_undersize_packets, MAC_RX_STATS_UNDERSIZE);
TG3_STAT_ADD32(&sp->rxbds_empty, RCVLPC_NO_RCV_BD_CNT);
- if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5717) {
+ if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5717 &&
+ tp->pci_chip_rev_id != CHIPREV_ID_5719_A0 &&
+ tp->pci_chip_rev_id != CHIPREV_ID_5720_A0) {
TG3_STAT_ADD32(&sp->rx_discards, RCVLPC_IN_DISCARDS_CNT);
} else {
u32 val = tr32(HOSTCC_FLOW_ATTN);