On 13/12/06, Catalin Marinas <catalin.marinas@xxxxxxxxx> wrote:
On 11/12/06, Tejun Heo <htejun@xxxxxxxxx> wrote: > piix_init_one() allocates host private data which should be freed by > piix_host_stop(). ich_pata_ops wasn't converted to piix_host_stop() > while merging, leaking 4 bytes on driver detach. Fix it. I tried your patch last night but the leak is still reported. I need to investigate further and put some printk's in the piix_host_stop function to check whether the freeing really takes place.
The piix_host_stop() isn't actually called on my machine, so this is not the cause of the leak. What causes the leak seem to be the error returned by ata_pci_init_one() called from piix_init_one(). These are the related kernel messages: ata_piix 0000:00:1f.1: version 2.00ac7 ACPI: PCI Interrupt 0000:00:1f.1[A] -> GSI 16 (level, low) -> IRQ 18 PCI: Unable to reserve I/O region #1:8@1f0 for device 0000:00:1f.1 ata_piix: probe of 0000:00:1f.1 failed with error -16 I think the call to ata_pci_init_one() should be followed by some clean-up in case it fails. There is also another return without clean-up in piix_init_one() after the call to piix_disable_ahci(). I don't have time to try this now. -- Catalin - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html