DF-2305 / fix.diff
--- a/sys/bus/firewire/fwohci_pci.c +++ b/sys/bus/firewire/fwohci_pci.c @@ -187,8 +187,9 @@ if (pci_get_class(dev) == PCIC_SERIALBUS && pci_get_subclass(dev) == PCIS_SERIALBUS_FW && pci_get_progif(dev) == PCI_INTERFACE_OHCI) { - device_printf(dev, "vendor=%x, dev=%x\n", pci_get_vendor(dev), - pci_get_device(dev)); + if (bootverbose) + device_printf(dev, "vendor=%x, dev=%x\n", + pci_get_vendor(dev), pci_get_device(dev)); device_set_desc(dev, "1394 Open Host Controller Interface"); return 0; } @@ -320,6 +321,7 @@ if (err != 0) { kprintf("fwohci_pci_attach: Could not allocate DMA tag " "- error %d\n", err); + fwohci_pci_detach(self); return (ENOMEM); } @@ -444,7 +446,6 @@ device_printf(parent, "probe_and_attach failed with err=%d\n", err); fwohci_pci_detach(parent); - device_delete_child(parent, child); return NULL; } |