diff options
author | Felipe Balbi <balbi@ti.com> | 2015-02-13 15:46:27 -0500 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2015-04-07 13:58:35 -0400 |
commit | 309be239369609929d5d3833ee043f7c5afc95d1 (patch) | |
tree | 8ef8cf9b65d901b1499e018bfdda723b7d622802 /drivers/usb/musb | |
parent | b8fb6f79f76f478acbbffccc966daa878f172a0a (diff) |
usb: musb: use new USB_RESUME_TIMEOUT
Make sure we're using the new macro, so our
resume signaling will always pass certification.
Based on original work by Bin Liu <Bin Liu <b-liu@ti.com>>
Cc: Bin Liu <b-liu@ti.com>
Cc: <stable@vger.kernel.org> # v3.10+
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/musb')
-rw-r--r-- | drivers/usb/musb/musb_core.c | 7 | ||||
-rw-r--r-- | drivers/usb/musb/musb_virthub.c | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c index a48b5a9c6c47..3789b08ef67b 100644 --- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c | |||
@@ -99,6 +99,7 @@ | |||
99 | #include <linux/platform_device.h> | 99 | #include <linux/platform_device.h> |
100 | #include <linux/io.h> | 100 | #include <linux/io.h> |
101 | #include <linux/dma-mapping.h> | 101 | #include <linux/dma-mapping.h> |
102 | #include <linux/usb.h> | ||
102 | 103 | ||
103 | #include "musb_core.h" | 104 | #include "musb_core.h" |
104 | 105 | ||
@@ -549,7 +550,7 @@ static irqreturn_t musb_stage0_irq(struct musb *musb, u8 int_usb, | |||
549 | (USB_PORT_STAT_C_SUSPEND << 16) | 550 | (USB_PORT_STAT_C_SUSPEND << 16) |
550 | | MUSB_PORT_STAT_RESUME; | 551 | | MUSB_PORT_STAT_RESUME; |
551 | musb->rh_timer = jiffies | 552 | musb->rh_timer = jiffies |
552 | + msecs_to_jiffies(20); | 553 | + msecs_to_jiffies(USB_RESUME_TIMEOUT); |
553 | musb->need_finish_resume = 1; | 554 | musb->need_finish_resume = 1; |
554 | 555 | ||
555 | musb->xceiv->otg->state = OTG_STATE_A_HOST; | 556 | musb->xceiv->otg->state = OTG_STATE_A_HOST; |
@@ -2463,7 +2464,7 @@ static int musb_resume(struct device *dev) | |||
2463 | if (musb->need_finish_resume) { | 2464 | if (musb->need_finish_resume) { |
2464 | musb->need_finish_resume = 0; | 2465 | musb->need_finish_resume = 0; |
2465 | schedule_delayed_work(&musb->finish_resume_work, | 2466 | schedule_delayed_work(&musb->finish_resume_work, |
2466 | msecs_to_jiffies(20)); | 2467 | msecs_to_jiffies(USB_RESUME_TIMEOUT)); |
2467 | } | 2468 | } |
2468 | 2469 | ||
2469 | /* | 2470 | /* |
@@ -2506,7 +2507,7 @@ static int musb_runtime_resume(struct device *dev) | |||
2506 | if (musb->need_finish_resume) { | 2507 | if (musb->need_finish_resume) { |
2507 | musb->need_finish_resume = 0; | 2508 | musb->need_finish_resume = 0; |
2508 | schedule_delayed_work(&musb->finish_resume_work, | 2509 | schedule_delayed_work(&musb->finish_resume_work, |
2509 | msecs_to_jiffies(20)); | 2510 | msecs_to_jiffies(USB_RESUME_TIMEOUT)); |
2510 | } | 2511 | } |
2511 | 2512 | ||
2512 | return 0; | 2513 | return 0; |
diff --git a/drivers/usb/musb/musb_virthub.c b/drivers/usb/musb/musb_virthub.c index 294e159f4afe..5428ed11440d 100644 --- a/drivers/usb/musb/musb_virthub.c +++ b/drivers/usb/musb/musb_virthub.c | |||
@@ -136,7 +136,7 @@ void musb_port_suspend(struct musb *musb, bool do_suspend) | |||
136 | /* later, GetPortStatus will stop RESUME signaling */ | 136 | /* later, GetPortStatus will stop RESUME signaling */ |
137 | musb->port1_status |= MUSB_PORT_STAT_RESUME; | 137 | musb->port1_status |= MUSB_PORT_STAT_RESUME; |
138 | schedule_delayed_work(&musb->finish_resume_work, | 138 | schedule_delayed_work(&musb->finish_resume_work, |
139 | msecs_to_jiffies(20)); | 139 | msecs_to_jiffies(USB_RESUME_TIMEOUT)); |
140 | } | 140 | } |
141 | } | 141 | } |
142 | 142 | ||