Module Name: src Committed By: tsutsui Date: Thu Apr 16 12:41:51 UTC 2009
Modified Files: src/sys/dev/pci: if_fxp_pci.c Log Message: There is a report that 82559ER doesn't have RX hardware checksum support (even though it has a newer revision number than 82559_A0), so handle it separately per its own PCI device ID. To generate a diff of this commit: cvs rdiff -u -r1.67 -r1.68 src/sys/dev/pci/if_fxp_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/if_fxp_pci.c diff -u src/sys/dev/pci/if_fxp_pci.c:1.67 src/sys/dev/pci/if_fxp_pci.c:1.68 --- src/sys/dev/pci/if_fxp_pci.c:1.67 Thu Mar 19 15:28:04 2009 +++ src/sys/dev/pci/if_fxp_pci.c Thu Apr 16 12:41:51 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: if_fxp_pci.c,v 1.67 2009/03/19 15:28:04 tsutsui Exp $ */ +/* $NetBSD: if_fxp_pci.c,v 1.68 2009/04/16 12:41:51 tsutsui Exp $ */ /*- * Copyright (c) 1997, 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc. @@ -36,7 +36,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_fxp_pci.c,v 1.67 2009/03/19 15:28:04 tsutsui Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_fxp_pci.c,v 1.68 2009/04/16 12:41:51 tsutsui Exp $"); #include "rnd.h" @@ -328,7 +328,6 @@ switch (fpp->fpp_prodid) { case PCI_PRODUCT_INTEL_82557: - case PCI_PRODUCT_INTEL_82559ER: case PCI_PRODUCT_INTEL_IN_BUSINESS: { const char *chipname = NULL; @@ -366,6 +365,24 @@ break; } + case PCI_PRODUCT_INTEL_82559ER: + sc->sc_flags |= FXPF_FC|FXPF_EXT_TXCB; + + /* + * i82559ER doesn't support RX hardware checksumming + * even though it has a newer revision number than 82559_A0. + */ + + /* All i82559 have the "resume bug". */ + sc->sc_flags |= FXPF_HAS_RESUME_BUG; + + /* Enable the MWI command for memory writes. */ + if (pa->pa_flags & PCI_FLAGS_MWI_OKAY) + sc->sc_flags |= FXPF_MWI; + + aprint_normal(": %s, rev %d\n", fpp->fpp_name, sc->sc_rev); + break; + case PCI_PRODUCT_INTEL_82801BA_LAN: case PCI_PRODUCT_INTEL_PRO_100_VE_0: case PCI_PRODUCT_INTEL_PRO_100_VE_1: