|
@@ -192,17 +192,19 @@ ehci_hcd_ppc_of_probe(struct platform_device *op, const struct of_device_id *mat
|
|
}
|
|
}
|
|
|
|
|
|
rv = usb_add_hcd(hcd, irq, 0);
|
|
rv = usb_add_hcd(hcd, irq, 0);
|
|
- if (rv == 0)
|
|
|
|
- return 0;
|
|
|
|
|
|
+ if (rv)
|
|
|
|
+ goto err_ehci;
|
|
|
|
+
|
|
|
|
+ return 0;
|
|
|
|
|
|
|
|
+err_ehci:
|
|
|
|
+ if (ehci->has_amcc_usb23)
|
|
|
|
+ iounmap(ehci->ohci_hcctrl_reg);
|
|
iounmap(hcd->regs);
|
|
iounmap(hcd->regs);
|
|
err_ioremap:
|
|
err_ioremap:
|
|
irq_dispose_mapping(irq);
|
|
irq_dispose_mapping(irq);
|
|
err_irq:
|
|
err_irq:
|
|
release_mem_region(hcd->rsrc_start, hcd->rsrc_len);
|
|
release_mem_region(hcd->rsrc_start, hcd->rsrc_len);
|
|
-
|
|
|
|
- if (ehci->has_amcc_usb23)
|
|
|
|
- iounmap(ehci->ohci_hcctrl_reg);
|
|
|
|
err_rmr:
|
|
err_rmr:
|
|
usb_put_hcd(hcd);
|
|
usb_put_hcd(hcd);
|
|
|
|
|