diff options
-rwxr-xr-x | drivers/usb/host/ehci-arc.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/usb/host/ehci-arc.c b/drivers/usb/host/ehci-arc.c index d34e7deb8b24..39d288db7eb1 100755 --- a/drivers/usb/host/ehci-arc.c +++ b/drivers/usb/host/ehci-arc.c @@ -553,6 +553,19 @@ static int ehci_fsl_setup(struct usb_hcd *hcd) return retval; } +/* called after hcd send port_reset cmd */ +static int ehci_fsl_reset_device(struct usb_hcd *hcd, struct usb_device *udev) +{ + struct fsl_usb2_platform_data *pdata; + + pdata = hcd->self.controller->platform_data; + + if (pdata->hsic_device_connected) + pdata->hsic_device_connected(); + + return 0; +} + static const struct hc_driver ehci_fsl_hc_driver = { .description = hcd_name, .product_desc = "Freescale On-Chip EHCI Host Controller", @@ -596,6 +609,7 @@ static const struct hc_driver ehci_fsl_hc_driver = { .port_handed_over = ehci_port_handed_over, .clear_tt_buffer_complete = ehci_clear_tt_buffer_complete, + .reset_device = ehci_fsl_reset_device, }; static int ehci_fsl_drv_probe(struct platform_device *pdev) |