Date: Sun, 3 Jan 2010 21:49:24 +0000 (UTC) From: Pyun YongHyeon <yongari@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r201446 - head/sys/dev/bge Message-ID: <201001032149.o03LnOAS060395@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: yongari Date: Sun Jan 3 21:49:24 2010 New Revision: 201446 URL: http://svn.freebsd.org/changeset/base/201446 Log: 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 Modified: head/sys/dev/bge/if_bge.c Modified: head/sys/dev/bge/if_bge.c ============================================================================== --- head/sys/dev/bge/if_bge.c Sun Jan 3 21:27:10 2010 (r201445) +++ head/sys/dev/bge/if_bge.c Sun Jan 3 21:49:24 2010 (r201446) @@ -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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001032149.o03LnOAS060395>