DF-2305
bus_dma_tag_create failure returns without cleanup: leaks BAR IRQ and leaves interrupt handler registered
Summary
When bus_dma_tag_create fails at line 320 fwohci_pci_attach returns ENOMEM directly without calling fwohci_pci_detach(self) unlike every other error path in function (lines 282 296 330 all call detach first). Leaks memory BAR resource (sc->bsr) IRQ resource (sc->irq_res) and leaves interrupt handler (sc->ih) registered on partially-initialized softc. device_doattach does NOT call detach on attach failure so cleanup never happens. IRQ handler harmless because fwohci_intr early-returns on intmask==0 but resources permanently consumed preventing re-attach.
No comments yet.