ehci-hcd: Cleanup memory resources when ehci_halt fails

The driver calls ehci_mem_init to allocate memory resources.
But these resources are not freed when ehci_halt fails.

This patch adds "ehci_mem_cleanup" in error handling code to fix this problem.

Signed-off-by: Jia-Ju Bai <baijiaju1990@163.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Jia-Ju Bai 2016-01-04 16:14:43 +08:00 committed by Greg Kroah-Hartman
parent 4bb3cad712
commit d8ff463a4e

View File

@ -675,8 +675,10 @@ int ehci_setup(struct usb_hcd *hcd)
return retval;
retval = ehci_halt(ehci);
if (retval)
if (retval) {
ehci_mem_cleanup(ehci);
return retval;
}
ehci_reset(ehci);