diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2008-03-24 15:55:28 -0400 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2008-04-18 11:55:34 -0400 |
commit | 130d5496e2c9104dcabdaa5c19cd941770e20edc (patch) | |
tree | 5784c92dbe125f2e9c34edd48521c86be07e3fae | |
parent | 43286568adb3ccd4b2f1d0cb7393c355f03e4f39 (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.c | 5 |
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 | } |