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.
This commit is contained in:
tsutsui 2009-04-16 12:41:51 +00:00
parent ec658ee9f9
commit 859579fb10

View File

@ -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 @@ fxp_pci_attach(device_t parent, device_t self, void *aux)
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 @@ fxp_pci_attach(device_t parent, device_t self, void *aux)
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: