Module Name: src Committed By: macallan Date: Wed Feb 3 19:32:41 UTC 2010
Modified Files: src/sys/dev/pci: fwohci_pci.c Log Message: do not attach to Powrbook G3 onboard Firewire controllers until someone with access to the hardware can figure out why it deadlocks during device discovery To generate a diff of this commit: cvs rdiff -u -r1.34 -r1.35 src/sys/dev/pci/fwohci_pci.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/fwohci_pci.c diff -u src/sys/dev/pci/fwohci_pci.c:1.34 src/sys/dev/pci/fwohci_pci.c:1.35 --- src/sys/dev/pci/fwohci_pci.c:1.34 Fri Jan 8 19:56:51 2010 +++ src/sys/dev/pci/fwohci_pci.c Wed Feb 3 19:32:40 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: fwohci_pci.c,v 1.34 2010/01/08 19:56:51 dyoung Exp $ */ +/* $NetBSD: fwohci_pci.c,v 1.35 2010/02/03 19:32:40 macallan Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: fwohci_pci.c,v 1.34 2010/01/08 19:56:51 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fwohci_pci.c,v 1.35 2010/02/03 19:32:40 macallan Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -43,6 +43,7 @@ #include <dev/pci/pcireg.h> #include <dev/pci/pcivar.h> +#include <dev/pci/pcidevs.h> #include <dev/ieee1394/fw_port.h> #include <dev/ieee1394/firewire.h> #include <dev/ieee1394/firewirereg.h> @@ -74,6 +75,15 @@ { struct pci_attach_args *pa = (struct pci_attach_args *) aux; + /* + * XXX + * Firewire controllers used in some G3 PowerBooks hang the system + * when trying to discover devices - don't attach to those for now + * until someone with the right hardware can investigate + */ + if ((PCI_VENDOR(pa->pa_id) == PCI_VENDOR_APPLE) && + (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_APPLE_PBG3_FW)) + return 0; if (PCI_CLASS(pa->pa_class) == PCI_CLASS_SERIALBUS && PCI_SUBCLASS(pa->pa_class) == PCI_SUBCLASS_SERIALBUS_FIREWIRE && PCI_INTERFACE(pa->pa_class) == PCI_INTERFACE_OHCI)