--- zzzz-none-000/linux-3.10.107/drivers/usb/host/ehci-sead3.c 2017-06-27 09:49:32.000000000 +0000 +++ scorpion-7490-727/linux-3.10.107/drivers/usb/host/ehci-sead3.c 2021-02-04 17:41:59.000000000 +0000 @@ -55,7 +55,7 @@ * generic hardware linkage */ .irq = ehci_irq, - .flags = HCD_MEMORY | HCD_USB2, + .flags = HCD_MEMORY | HCD_USB2 | HCD_BH, /* * basic lifecycle operations @@ -110,14 +110,13 @@ return -ENOMEM; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - hcd->rsrc_start = res->start; - hcd->rsrc_len = resource_size(res); - hcd->regs = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(hcd->regs)) { ret = PTR_ERR(hcd->regs); goto err1; } + hcd->rsrc_start = res->start; + hcd->rsrc_len = resource_size(res); /* Root hub has integrated TT. */ hcd->has_tt = 1; @@ -126,6 +125,7 @@ IRQF_SHARED); if (ret == 0) { platform_set_drvdata(pdev, hcd); + device_wakeup_enable(hcd->self.controller); return ret; } @@ -140,7 +140,6 @@ usb_remove_hcd(hcd); usb_put_hcd(hcd); - platform_set_drvdata(pdev, NULL); return 0; } @@ -179,7 +178,6 @@ .shutdown = usb_hcd_platform_shutdown, .driver = { .name = "sead3-ehci", - .owner = THIS_MODULE, .pm = SEAD3_EHCI_PMOPS, } };