Use usb_put_hdc to release hdc allocated by usb_create_hcd.
This is needed to handle sub-allocations and HCD sharing correctly.
Signed-off-by: Anton Bondarenko <anton.bondarenko.sama@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        status = cvmx_usb_initialize(dev, usb);
        if (status) {
                dev_dbg(dev, "USB initialization failed with %d\n", status);
-               kfree(hcd);
+               usb_put_hcd(hcd);
                return -1;
        }
 
        status = usb_add_hcd(hcd, irq, 0);
        if (status) {
                dev_dbg(dev, "USB add HCD failed with %d\n", status);
-               kfree(hcd);
+               usb_put_hcd(hcd);
                return -1;
        }
        device_wakeup_enable(hcd->self.controller);
        if (status)
                dev_dbg(dev, "USB shutdown failed with %d\n", status);
 
-       kfree(hcd);
+       usb_put_hcd(hcd);
 
        return 0;
 }