pata_ali: misplaced pci_dev_put()
authorBen Dooks <ben-linux@fluff.org>
Thu, 24 Jul 2008 15:38:06 +0000 (16:38 +0100)
committerJeff Garzik <jgarzik@redhat.com>
Thu, 31 Jul 2008 05:38:19 +0000 (01:38 -0400)
commite8389f0c44652ee63d95bc0a7f8d565ac25dac77
treec3fd2a632c1c3871024882cae43d8efda32aec9e
parent660fc1f4d88b0f5e4bb936e4a5a9b95b70df9e58
pata_ali: misplaced pci_dev_put()

The ali_init_one() function does a search for an isa_bridge,
but then fails to release it if the revision information was
not correctly found.

the problem comes from:
isa_bridge = pci_get_device(...);
if (isa_bridge && ...) {
pci_dev_put(isa_bridge);
}

where the pci_dev_put() is never called if isa_bridge
was valid but the extra checks on the chip-revision
fail to match.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/pata_ali.c