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>
This commit is contained in:
Родитель
b8fb6f79f7
Коммит
309be23936
|
@ -99,6 +99,7 @@
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
#include <linux/dma-mapping.h>
|
#include <linux/dma-mapping.h>
|
||||||
|
#include <linux/usb.h>
|
||||||
|
|
||||||
#include "musb_core.h"
|
#include "musb_core.h"
|
||||||
|
|
||||||
|
@ -549,7 +550,7 @@ static irqreturn_t musb_stage0_irq(struct musb *musb, u8 int_usb,
|
||||||
(USB_PORT_STAT_C_SUSPEND << 16)
|
(USB_PORT_STAT_C_SUSPEND << 16)
|
||||||
| MUSB_PORT_STAT_RESUME;
|
| MUSB_PORT_STAT_RESUME;
|
||||||
musb->rh_timer = jiffies
|
musb->rh_timer = jiffies
|
||||||
+ msecs_to_jiffies(20);
|
+ msecs_to_jiffies(USB_RESUME_TIMEOUT);
|
||||||
musb->need_finish_resume = 1;
|
musb->need_finish_resume = 1;
|
||||||
|
|
||||||
musb->xceiv->otg->state = OTG_STATE_A_HOST;
|
musb->xceiv->otg->state = OTG_STATE_A_HOST;
|
||||||
|
@ -2463,7 +2464,7 @@ static int musb_resume(struct device *dev)
|
||||||
if (musb->need_finish_resume) {
|
if (musb->need_finish_resume) {
|
||||||
musb->need_finish_resume = 0;
|
musb->need_finish_resume = 0;
|
||||||
schedule_delayed_work(&musb->finish_resume_work,
|
schedule_delayed_work(&musb->finish_resume_work,
|
||||||
msecs_to_jiffies(20));
|
msecs_to_jiffies(USB_RESUME_TIMEOUT));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -2506,7 +2507,7 @@ static int musb_runtime_resume(struct device *dev)
|
||||||
if (musb->need_finish_resume) {
|
if (musb->need_finish_resume) {
|
||||||
musb->need_finish_resume = 0;
|
musb->need_finish_resume = 0;
|
||||||
schedule_delayed_work(&musb->finish_resume_work,
|
schedule_delayed_work(&musb->finish_resume_work,
|
||||||
msecs_to_jiffies(20));
|
msecs_to_jiffies(USB_RESUME_TIMEOUT));
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -136,7 +136,7 @@ void musb_port_suspend(struct musb *musb, bool do_suspend)
|
||||||
/* later, GetPortStatus will stop RESUME signaling */
|
/* later, GetPortStatus will stop RESUME signaling */
|
||||||
musb->port1_status |= MUSB_PORT_STAT_RESUME;
|
musb->port1_status |= MUSB_PORT_STAT_RESUME;
|
||||||
schedule_delayed_work(&musb->finish_resume_work,
|
schedule_delayed_work(&musb->finish_resume_work,
|
||||||
msecs_to_jiffies(20));
|
msecs_to_jiffies(USB_RESUME_TIMEOUT));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче