It seems some 82559ER controllers do not support Rx checksum

offloading. Datasheet said nothing about the limitation of 82559ER
except WOL. Explicitly disable Rx checksum offloading for
controllers that is known to lack the capability.

PR:	kern/138135
Tested by:	Gooderum, Mark < mgooderum <> websense dot com >
This commit is contained in:
Pyun YongHyeon 2009-09-28 19:40:16 +00:00
parent 32f8942a21
commit 829b278e5e

View File

@ -631,8 +631,11 @@ fxp_attach(device_t dev)
}
/* For 82559 or later chips, Rx checksum offload is supported. */
if (sc->revision >= FXP_REV_82559_A0)
sc->flags |= FXP_FLAG_82559_RXCSUM;
if (sc->revision >= FXP_REV_82559_A0) {
/* 82559ER does not support Rx checksum offloading. */
if (sc->ident->devid != 0x1209)
sc->flags |= FXP_FLAG_82559_RXCSUM;
}
/*
* Enable use of extended RFDs and TCBs for 82550
* and later chips. Note: we need extended TXCB support