Messages in this thread | | | Date | Thu, 14 Dec 2006 23:42:47 +0000 | From | "Catalin Marinas" <> | Subject | Re: [PATCH] ata_piix: use piix_host_stop() in ich_pata_ops |
| |
On 13/12/06, Catalin Marinas <catalin.marinas@gmail.com> wrote: > On 11/12/06, Tejun Heo <htejun@gmail.com> 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-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |