On Wed, Jan 29, 2003 at 02:14:14PM -0800, Terry Lambert wrote: > I expect that the attach of the device creates an interrupt if > the system is already up. This would indicate that it was an > order of operations problem in the driver registration for a > "live" piece of hardware. Probably, it needs to attach the
Unless I'm really mistaken, that's not the case: >From fwohci_pci.c: rid = 0; sc->irq_res = bus_alloc_resource(self, SYS_RES_IRQ, &rid, 0, ~0, 1, RF_SHAREABLE | RF_ACTIVE); ... err = bus_setup_intr(self, sc->irq_res, INTR_TYPE_NET, (driver_intr_t *) fwohci_intr, sc, &sc->ih); ... err = fwohci_init(sc, self); if (!err) err = device_probe_and_attach(sc->fc.bdev); fwohci_init then proceeds to muck with the hardware, and finally: fw_init(&sc->fc); fwohci_reset(sc, dev); fwohci_reset does its business, then: /* Enable interrupt */ OWRITE(sc, FWOHCI_INTMASK, OHCI_INT_ERR | OHCI_INT_PHY_SID | OHCI_INT_DMA_ATRQ | OHCI_INT_DMA_ATRS | OHCI_INT_DMA_PRRQ | OHCI_INT_DMA_PRRS | OHCI_INT_PHY_BUS_R | OHCI_INT_PW_ERR); fwohci_set_intr(&sc->fc, 1); So no, you guessed wrong this time Terry ;-) Bye, Andrea -- Reboot America. To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message