aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2008-03-24 15:55:28 -0400
committerStefan Richter <stefanr@s5r6.in-berlin.de>2008-04-18 11:55:34 -0400
commit130d5496e2c9104dcabdaa5c19cd941770e20edc (patch)
tree5784c92dbe125f2e9c34edd48521c86be07e3fae
parent43286568adb3ccd4b2f1d0cb7393c355f03e4f39 (diff)
firewire: fw-ohci: missing PPC PMac feature calls in failure path
Balance ohci_pmac_on and ohci_pmac_off if pci_driver.probe fails. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
-rw-r--r--drivers/firewire/fw-ohci.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c
index 533788f227dc..973e762efc24 100644
--- a/drivers/firewire/fw-ohci.c
+++ b/drivers/firewire/fw-ohci.c
@@ -2286,8 +2286,6 @@ pci_probe(struct pci_dev *dev, const struct pci_device_id *ent)
2286 int err; 2286 int err;
2287 size_t size; 2287 size_t size;
2288 2288
2289 ohci_pmac_on(dev);
2290
2291 ohci = kzalloc(sizeof(*ohci), GFP_KERNEL); 2289 ohci = kzalloc(sizeof(*ohci), GFP_KERNEL);
2292 if (ohci == NULL) { 2290 if (ohci == NULL) {
2293 fw_error("Could not malloc fw_ohci data.\n"); 2291 fw_error("Could not malloc fw_ohci data.\n");
@@ -2296,6 +2294,8 @@ pci_probe(struct pci_dev *dev, const struct pci_device_id *ent)
2296 2294
2297 fw_card_initialize(&ohci->card, &ohci_driver, &dev->dev); 2295 fw_card_initialize(&ohci->card, &ohci_driver, &dev->dev);
2298 2296
2297 ohci_pmac_on(dev);
2298
2299 err = pci_enable_device(dev); 2299 err = pci_enable_device(dev);
2300 if (err) { 2300 if (err) {
2301 fw_error("Failed to enable OHCI hardware.\n"); 2301 fw_error("Failed to enable OHCI hardware.\n");
@@ -2397,6 +2397,7 @@ pci_probe(struct pci_dev *dev, const struct pci_device_id *ent)
2397 pci_disable_device(dev); 2397 pci_disable_device(dev);
2398 fail_free: 2398 fail_free:
2399 kfree(&ohci->card); 2399 kfree(&ohci->card);
2400 ohci_pmac_off(dev);
2400 2401
2401 return err; 2402 return err;
2402} 2403}