diff options
author | Felipe Balbi <balbi@ti.com> | 2014-09-16 10:53:59 -0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2014-09-16 10:53:59 -0400 |
commit | 4cd41ffd27b6b775445ecfdb72b592b71d6b4a32 (patch) | |
tree | 61e8c51ed5b9fae163d2d54967ebda02805c0bfa /drivers/usb/dwc3 | |
parent | d9152161b4bfd131a8253a5b9fcd8ba9b10277c4 (diff) | |
parent | 9e82bf014195d6f0054982c463575cdce24292be (diff) |
Merge tag 'v3.17-rc5' into next
Linux 3.17-rc5
Signed-off-by: Felipe Balbi <balbi@ti.com>
Conflicts:
Documentation/devicetree/bindings/usb/mxs-phy.txt
drivers/usb/phy/phy-mxs-usb.c
Diffstat (limited to 'drivers/usb/dwc3')
-rw-r--r-- | drivers/usb/dwc3/core.c | 13 | ||||
-rw-r--r-- | drivers/usb/dwc3/dwc3-omap.c | 2 | ||||
-rw-r--r-- | drivers/usb/dwc3/gadget.c | 11 |
3 files changed, 11 insertions, 15 deletions
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index f2050e844b4b..b0f4d52b7f04 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c | |||
@@ -796,20 +796,21 @@ static int dwc3_remove(struct platform_device *pdev) | |||
796 | { | 796 | { |
797 | struct dwc3 *dwc = platform_get_drvdata(pdev); | 797 | struct dwc3 *dwc = platform_get_drvdata(pdev); |
798 | 798 | ||
799 | dwc3_debugfs_exit(dwc); | ||
800 | dwc3_core_exit_mode(dwc); | ||
801 | dwc3_event_buffers_cleanup(dwc); | ||
802 | dwc3_free_event_buffers(dwc); | ||
803 | |||
799 | usb_phy_set_suspend(dwc->usb2_phy, 1); | 804 | usb_phy_set_suspend(dwc->usb2_phy, 1); |
800 | usb_phy_set_suspend(dwc->usb3_phy, 1); | 805 | usb_phy_set_suspend(dwc->usb3_phy, 1); |
801 | phy_power_off(dwc->usb2_generic_phy); | 806 | phy_power_off(dwc->usb2_generic_phy); |
802 | phy_power_off(dwc->usb3_generic_phy); | 807 | phy_power_off(dwc->usb3_generic_phy); |
803 | 808 | ||
809 | dwc3_core_exit(dwc); | ||
810 | |||
804 | pm_runtime_put_sync(&pdev->dev); | 811 | pm_runtime_put_sync(&pdev->dev); |
805 | pm_runtime_disable(&pdev->dev); | 812 | pm_runtime_disable(&pdev->dev); |
806 | 813 | ||
807 | dwc3_debugfs_exit(dwc); | ||
808 | dwc3_core_exit_mode(dwc); | ||
809 | dwc3_event_buffers_cleanup(dwc); | ||
810 | dwc3_free_event_buffers(dwc); | ||
811 | dwc3_core_exit(dwc); | ||
812 | |||
813 | return 0; | 814 | return 0; |
814 | } | 815 | } |
815 | 816 | ||
diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c index 3ef5e4fc315b..2f537d588225 100644 --- a/drivers/usb/dwc3/dwc3-omap.c +++ b/drivers/usb/dwc3/dwc3-omap.c | |||
@@ -574,9 +574,9 @@ static int dwc3_omap_remove(struct platform_device *pdev) | |||
574 | if (omap->extcon_id_dev.edev) | 574 | if (omap->extcon_id_dev.edev) |
575 | extcon_unregister_interest(&omap->extcon_id_dev); | 575 | extcon_unregister_interest(&omap->extcon_id_dev); |
576 | dwc3_omap_disable_irqs(omap); | 576 | dwc3_omap_disable_irqs(omap); |
577 | device_for_each_child(&pdev->dev, NULL, dwc3_omap_remove_core); | ||
577 | pm_runtime_put_sync(&pdev->dev); | 578 | pm_runtime_put_sync(&pdev->dev); |
578 | pm_runtime_disable(&pdev->dev); | 579 | pm_runtime_disable(&pdev->dev); |
579 | device_for_each_child(&pdev->dev, NULL, dwc3_omap_remove_core); | ||
580 | 580 | ||
581 | return 0; | 581 | return 0; |
582 | } | 582 | } |
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index f2dbaca5df2c..0fcc0a35ae05 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c | |||
@@ -437,7 +437,7 @@ static int dwc3_gadget_set_ep_config(struct dwc3 *dwc, struct dwc3_ep *dep, | |||
437 | dep->stream_capable = true; | 437 | dep->stream_capable = true; |
438 | } | 438 | } |
439 | 439 | ||
440 | if (usb_endpoint_xfer_isoc(desc)) | 440 | if (!usb_endpoint_xfer_control(desc)) |
441 | params.param1 |= DWC3_DEPCFG_XFER_IN_PROGRESS_EN; | 441 | params.param1 |= DWC3_DEPCFG_XFER_IN_PROGRESS_EN; |
442 | 442 | ||
443 | /* | 443 | /* |
@@ -1137,9 +1137,11 @@ static int dwc3_gadget_ep_queue(struct usb_ep *ep, struct usb_request *request, | |||
1137 | 1137 | ||
1138 | int ret; | 1138 | int ret; |
1139 | 1139 | ||
1140 | spin_lock_irqsave(&dwc->lock, flags); | ||
1140 | if (!dep->endpoint.desc) { | 1141 | if (!dep->endpoint.desc) { |
1141 | dev_dbg(dwc->dev, "trying to queue request %p to disabled %s\n", | 1142 | dev_dbg(dwc->dev, "trying to queue request %p to disabled %s\n", |
1142 | request, ep->name); | 1143 | request, ep->name); |
1144 | spin_unlock_irqrestore(&dwc->lock, flags); | ||
1143 | return -ESHUTDOWN; | 1145 | return -ESHUTDOWN; |
1144 | } | 1146 | } |
1145 | 1147 | ||
@@ -1147,7 +1149,6 @@ static int dwc3_gadget_ep_queue(struct usb_ep *ep, struct usb_request *request, | |||
1147 | request, ep->name, request->length); | 1149 | request, ep->name, request->length); |
1148 | trace_dwc3_ep_queue(req); | 1150 | trace_dwc3_ep_queue(req); |
1149 | 1151 | ||
1150 | spin_lock_irqsave(&dwc->lock, flags); | ||
1151 | ret = __dwc3_gadget_ep_queue(dep, req); | 1152 | ret = __dwc3_gadget_ep_queue(dep, req); |
1152 | spin_unlock_irqrestore(&dwc->lock, flags); | 1153 | spin_unlock_irqrestore(&dwc->lock, flags); |
1153 | 1154 | ||
@@ -1952,12 +1953,6 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc, | |||
1952 | dwc3_endpoint_transfer_complete(dwc, dep, event); | 1953 | dwc3_endpoint_transfer_complete(dwc, dep, event); |
1953 | break; | 1954 | break; |
1954 | case DWC3_DEPEVT_XFERINPROGRESS: | 1955 | case DWC3_DEPEVT_XFERINPROGRESS: |
1955 | if (!usb_endpoint_xfer_isoc(dep->endpoint.desc)) { | ||
1956 | dev_dbg(dwc->dev, "%s is not an Isochronous endpoint\n", | ||
1957 | dep->name); | ||
1958 | return; | ||
1959 | } | ||
1960 | |||
1961 | dwc3_endpoint_transfer_complete(dwc, dep, event); | 1956 | dwc3_endpoint_transfer_complete(dwc, dep, event); |
1962 | break; | 1957 | break; |
1963 | case DWC3_DEPEVT_XFERNOTREADY: | 1958 | case DWC3_DEPEVT_XFERNOTREADY: |