Fix regression introduced in r198318. BCM5754/BCM5754M uses the

same ASIC ID of BCM5758 such that r198318 incorecctly enabled TSO
on BCM5754.BCM5754M controllers. BCM5754/BCM5754M needs a special
firmware to enable TSO and bge(4) does not support firmware based
TSO.

Reported by:	ed
Tested by:	ed
This commit is contained in:
Pyun YongHyeon 2010-01-03 21:49:24 +00:00
parent 4c40efa74a
commit 4f4a16e152
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=201446

View File

@ -2642,8 +2642,15 @@ bge_attach(device_t dev)
* the TSO to the controllers that are not affected TSO issues
* (e.g. 5755 or higher).
*/
if (BGE_IS_5755_PLUS(sc))
sc->bge_flags |= BGE_FLAG_TSO;
if (BGE_IS_5755_PLUS(sc)) {
/*
* BCM5754 and BCM5787 shares the same ASIC id so
* explicit device id check is required.
*/
if (pci_get_device(dev) != BCOM_DEVICEID_BCM5754 &&
pci_get_device(dev) != BCOM_DEVICEID_BCM5754M)
sc->bge_flags |= BGE_FLAG_TSO;
}
/*
* Check if this is a PCI-X or PCI Express device.