Module Name: src Committed By: cegger Date: Thu Jun 9 12:04:30 UTC 2011
Modified Files: src/sys/dev/pci: if_bge.c Log Message: the BCM5785 is a PCIe chip but does not report PCIe capabilities. Check for this chip explicitely and enable PCIe. Fixes 'firmware handshake timeout'. Tested with root on nfs. patch from msaitoh@ To generate a diff of this commit: cvs rdiff -u -r1.197 -r1.198 src/sys/dev/pci/if_bge.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_bge.c diff -u src/sys/dev/pci/if_bge.c:1.197 src/sys/dev/pci/if_bge.c:1.198 --- src/sys/dev/pci/if_bge.c:1.197 Fri Jun 3 09:51:40 2011 +++ src/sys/dev/pci/if_bge.c Thu Jun 9 12:04:29 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: if_bge.c,v 1.197 2011/06/03 09:51:40 cegger Exp $ */ +/* $NetBSD: if_bge.c,v 1.198 2011/06/09 12:04:29 cegger Exp $ */ /* * Copyright (c) 2001 Wind River Systems @@ -79,7 +79,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_bge.c,v 1.197 2011/06/03 09:51:40 cegger Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_bge.c,v 1.198 2011/06/09 12:04:29 cegger Exp $"); #include "vlan.h" #include "rnd.h" @@ -2617,8 +2617,9 @@ BGE_PCI_PRODID_ASICREV); } - if (pci_get_capability(sc->sc_pc, sc->sc_pcitag, PCI_CAP_PCIEXPRESS, - &sc->bge_pciecap, NULL) != 0) { + if ((pci_get_capability(sc->sc_pc, sc->sc_pcitag, PCI_CAP_PCIEXPRESS, + &sc->bge_pciecap, NULL) != 0) + || (BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5785)) { /* PCIe */ sc->bge_flags |= BGE_PCIE; bge_set_max_readrq(sc);