diff options
| -rw-r--r-- | drivers/usb/musb/musb_core.c | 3 | ||||
| -rw-r--r-- | drivers/usb/musb/musb_virthub.c | 12 |
2 files changed, 9 insertions, 6 deletions
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c index 1a377cac4d4c..93eba53f6ce8 100644 --- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c | |||
| @@ -480,7 +480,8 @@ static irqreturn_t musb_stage0_irq(struct musb *musb, u8 int_usb, | |||
| 480 | musb->rh_timer = jiffies | 480 | musb->rh_timer = jiffies |
| 481 | + msecs_to_jiffies(20); | 481 | + msecs_to_jiffies(20); |
| 482 | schedule_delayed_work( | 482 | schedule_delayed_work( |
| 483 | &musb->finish_resume_work, 20); | 483 | &musb->finish_resume_work, |
| 484 | msecs_to_jiffies(20)); | ||
| 484 | 485 | ||
| 485 | musb->xceiv->state = OTG_STATE_A_HOST; | 486 | musb->xceiv->state = OTG_STATE_A_HOST; |
| 486 | musb->is_active = 1; | 487 | musb->is_active = 1; |
diff --git a/drivers/usb/musb/musb_virthub.c b/drivers/usb/musb/musb_virthub.c index 32f49e1efa9c..e2d2d8c9891b 100644 --- a/drivers/usb/musb/musb_virthub.c +++ b/drivers/usb/musb/musb_virthub.c | |||
| @@ -135,7 +135,8 @@ void musb_port_suspend(struct musb *musb, bool do_suspend) | |||
| 135 | 135 | ||
| 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, 20); | 138 | schedule_delayed_work(&musb->finish_resume_work, |
| 139 | msecs_to_jiffies(20)); | ||
| 139 | } | 140 | } |
| 140 | } | 141 | } |
| 141 | 142 | ||
| @@ -171,8 +172,7 @@ void musb_port_reset(struct musb *musb, bool do_reset) | |||
| 171 | if (musb->rh_timer > 0 && remain > 0) { | 172 | if (musb->rh_timer > 0 && remain > 0) { |
| 172 | /* take into account the minimum delay after resume */ | 173 | /* take into account the minimum delay after resume */ |
| 173 | schedule_delayed_work( | 174 | schedule_delayed_work( |
| 174 | &musb->deassert_reset_work, | 175 | &musb->deassert_reset_work, remain); |
| 175 | jiffies_to_msecs(remain)); | ||
| 176 | return; | 176 | return; |
| 177 | } | 177 | } |
| 178 | 178 | ||
| @@ -180,7 +180,8 @@ void musb_port_reset(struct musb *musb, bool do_reset) | |||
| 180 | power & ~MUSB_POWER_RESUME); | 180 | power & ~MUSB_POWER_RESUME); |
| 181 | 181 | ||
| 182 | /* Give the core 1 ms to clear MUSB_POWER_RESUME */ | 182 | /* Give the core 1 ms to clear MUSB_POWER_RESUME */ |
| 183 | schedule_delayed_work(&musb->deassert_reset_work, 1); | 183 | schedule_delayed_work(&musb->deassert_reset_work, |
| 184 | msecs_to_jiffies(1)); | ||
| 184 | return; | 185 | return; |
| 185 | } | 186 | } |
| 186 | 187 | ||
| @@ -190,7 +191,8 @@ void musb_port_reset(struct musb *musb, bool do_reset) | |||
| 190 | 191 | ||
| 191 | musb->port1_status |= USB_PORT_STAT_RESET; | 192 | musb->port1_status |= USB_PORT_STAT_RESET; |
| 192 | musb->port1_status &= ~USB_PORT_STAT_ENABLE; | 193 | musb->port1_status &= ~USB_PORT_STAT_ENABLE; |
| 193 | schedule_delayed_work(&musb->deassert_reset_work, 50); | 194 | schedule_delayed_work(&musb->deassert_reset_work, |
| 195 | msecs_to_jiffies(50)); | ||
| 194 | } else { | 196 | } else { |
| 195 | dev_dbg(musb->controller, "root port reset stopped\n"); | 197 | dev_dbg(musb->controller, "root port reset stopped\n"); |
| 196 | musb_writeb(mbase, MUSB_POWER, | 198 | musb_writeb(mbase, MUSB_POWER, |
