From: Tony Lindgren <tony@atomide.com>
To: linux-omap-open-source@linux.omap.com
Subject: Re: [PATCH] musb_hdrc: Fix musb_hnp_stop() to return to device mode
Date: Tue, 21 Aug 2007 23:22:13 -0700 [thread overview]
Message-ID: <20070822062212.GE24985@atomide.com> (raw)
In-Reply-To: <20070821124116.GL31816@atomide.com>
* Tony Lindgren <tony@atomide.com> [070821 05:42]:
> This one fixes some USB HS OPT test unreliability.
>
> Tony
> From: Tony Lindgren <tony@atomide.com>
> Subject: musb_hdrc: Fix musb_hnp_stop() to return to device mode
>
> Without this patch HNP does not return to device mode, which can
> confuse OPT tests. Also change to b_host if SUSPEND and CONNECT
> simultaneously as b_peripheral, and fix a comment.
>
> Signed-off-by: Tony Lindgren <tony@atomide.com>
>
> --- a/drivers/usb/musb/musb_core.c
> +++ b/drivers/usb/musb/musb_core.c
> @@ -331,6 +331,7 @@ void musb_hnp_stop(struct musb *musb)
> DBG(1, "HNP: Disabling HR\n");
> hcd->self.is_b_host = 0;
> musb->xceiv.state = OTG_STATE_B_PERIPHERAL;
> + MUSB_DEV_MODE(musb);
> reg = musb_readb(mbase, MUSB_POWER);
> reg |= MUSB_POWER_SUSPENDM;
> musb_writeb(mbase, MUSB_POWER, reg);
> @@ -579,6 +580,15 @@ static irqreturn_t musb_stage0_irq(struct musb * musb, u8 int_usb,
>
> /* indicate new connection to OTG machine */
> switch (musb->xceiv.state) {
> + case OTG_STATE_B_PERIPHERAL:
> + if (int_usb & MUSB_INTR_SUSPEND) {
> + DBG(1, "HNP: SUSPEND and CONNECT, now b_host\n");
> + musb->xceiv.state = OTG_STATE_B_HOST;
> + hcd->self.is_b_host = 1;
> + int_usb &= ~MUSB_INTR_SUSPEND;
> + } else
> + DBG(1, "CONNECT as b_peripheral???\n");
> + break;
> case OTG_STATE_B_WAIT_ACON:
> DBG(1, "HNP: Waiting to switch to b_host state\n");
> musb->xceiv.state = OTG_STATE_B_HOST;
> @@ -707,11 +717,11 @@ static irqreturn_t musb_stage2_irq(struct musb * musb, u8 int_usb,
> case OTG_STATE_B_HOST:
> musb_hnp_stop(musb);
> break;
> - /* FALLTHROUGH */
> case OTG_STATE_A_PERIPHERAL:
> musb_root_disconnect(musb);
> /* FALLTHROUGH */
> case OTG_STATE_B_WAIT_ACON:
> + /* FALLTHROUGH */
> #endif /* OTG */
> #ifdef CONFIG_USB_GADGET_MUSB_HDRC
> case OTG_STATE_B_PERIPHERAL:
Pushing this today.
Tony
prev parent reply other threads:[~2007-08-22 6:22 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-21 12:41 [PATCH] musb_hdrc: Fix musb_hnp_stop() to return to device mode Tony Lindgren
2007-08-21 13:54 ` How do we update mach-types on OMAPGIT? Syed Mohammed, Khasim
2007-08-21 13:56 ` Tony Lindgren
2007-08-21 14:04 ` Syed Mohammed, Khasim
2007-08-22 6:21 ` Tony Lindgren
2007-08-22 6:22 ` Tony Lindgren [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070822062212.GE24985@atomide.com \
--to=tony@atomide.com \
--cc=linux-omap-open-source@linux.omap.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.