From 3907efe166bb0680d214330544f0a8be0c698ee2 Mon Sep 17 00:00:00 2001 From: Brad Smith Date: Sun, 20 Apr 2008 01:32:44 +0000 Subject: Add a workaround for a CRC bug errata with BCM5701 A0 and B0 chipset revisions. From Linux via FreeBSD. ok dlg@ --- sys/dev/pci/if_bge.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'sys/dev/pci/if_bge.c') diff --git a/sys/dev/pci/if_bge.c b/sys/dev/pci/if_bge.c index 16d19c15c27..8459839c612 100644 --- a/sys/dev/pci/if_bge.c +++ b/sys/dev/pci/if_bge.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_bge.c,v 1.224 2008/04/03 22:50:24 brad Exp $ */ +/* $OpenBSD: if_bge.c,v 1.225 2008/04/20 01:32:43 brad Exp $ */ /* * Copyright (c) 2001 Wind River Systems @@ -1920,6 +1920,9 @@ bge_attach(struct device *parent, struct device *self, void *aux) BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5906) sc->bge_flags |= BGE_NO_ETH_WIRE_SPEED; + if (sc->bge_chipid == BGE_CHIPID_BCM5701_A0 || + sc->bge_chipid == BGE_CHIPID_BCM5701_B0) + sc->bge_flags |= BGE_PHY_CRC_BUG; if (BGE_CHIPREV(sc->bge_chipid) == BGE_CHIPREV_5703_AX || BGE_CHIPREV(sc->bge_chipid) == BGE_CHIPREV_5704_AX) sc->bge_flags |= BGE_PHY_ADC_BUG; -- cgit v1.2.3