From 41e70f38d2b6b24b2e5dd4119e6e47e3d2d5238a Mon Sep 17 00:00:00 2001 From: Bill Paul Date: Sun, 11 Apr 1999 05:15:26 +0000 Subject: [PATCH] Enable the promiscuous mode workaround for the PNIC 82c168 chip, which appears to need it. --- sys/pci/if_pn.c | 7 ++++--- sys/pci/if_pnreg.h | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/pci/if_pn.c b/sys/pci/if_pn.c index 24a3c5bb99da..890c60d1f4a4 100644 --- a/sys/pci/if_pn.c +++ b/sys/pci/if_pn.c @@ -29,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: if_pn.c,v 1.45 1999/04/10 18:22:22 wpaul Exp $ + * $Id: if_pn.c,v 1.46 1999/04/11 05:11:09 wpaul Exp $ */ /* @@ -97,7 +97,7 @@ #ifndef lint static const char rcsid[] = - "$Id: if_pn.c,v 1.45 1999/04/10 18:22:22 wpaul Exp $"; + "$Id: if_pn.c,v 1.46 1999/04/11 05:11:09 wpaul Exp $"; #endif /* @@ -1110,7 +1110,8 @@ pn_attach(config_id, unit) #ifdef PN_PROMISC_BUG_WAR revision = pci_conf_read(config_id, PN_PCI_REVISION) & 0x000000FF; - if (revision == PN_169B_REV || revision == PN_169_REV) { + if (revision == PN_169B_REV || revision == PN_169_REV || + (revision & 0xF0) == PN_168_REV) { sc->pn_promisc_war = 1; sc->pn_promisc_buf = malloc(PN_RXLEN * 5, M_DEVBUF, M_NOWAIT); if (sc->pn_promisc_buf == NULL) { diff --git a/sys/pci/if_pnreg.h b/sys/pci/if_pnreg.h index 1e901b966fb3..e6b05f59ee8e 100644 --- a/sys/pci/if_pnreg.h +++ b/sys/pci/if_pnreg.h @@ -29,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: if_pnreg.h,v 1.23 1999/04/10 18:22:22 wpaul Exp $ + * $Id: if_pnreg.h,v 1.24 1999/04/11 05:11:09 wpaul Exp $ */ /* @@ -481,6 +481,7 @@ struct pn_softc { u_int8_t pn_autoneg; caddr_t pn_ldata_ptr; #ifdef PN_PROMISC_BUG_WAR +#define PN_168_REV 16 #define PN_169_REV 32 #define PN_169B_REV 33 u_int8_t pn_promisc_war;