linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Bin Liu <b-liu@ti.com>,
	Moreno Bartalucci <moreno.bartalucci@tecnorama.it>,
	Lars Melin <larsm17@gmail.com>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Alessio Igor Bogani <abogani@kernel.org>
Subject: Re: [PATCH] usb-musb: keep VBUS on when device is disconnected
Date: Thu, 11 May 2017 14:06:28 -0700	[thread overview]
Message-ID: <20170511210628.GA3489@atomide.com> (raw)
In-Reply-To: <20170511204406.GI7154@uda0271908>

* Bin Liu <b-liu@ti.com> [170511 13:47]:
> On Thu, May 11, 2017 at 01:23:06PM -0700, Tony Lindgren wrote:
> > 
> > Maybe try something like below, compile tested only. I don't
> > think I have any USB modem here to test with.
> 
> The patch below doesn't help. In device detach by the time
> dsps_check_status() is called, the otg state is already A_WAIT_BCON, set
> by musb_root_disconnect() in musb_stage0_irq() when handling DISCONNECT
> interrupt.

Oh OK.

> I don't think it is about how long the modem disappears. When detach happens,
> DISCONNECT interrupt happens, then dsps_check_status() is scheduled with
> state A_WAIT_BCON, then VBUS got cut.
> 
> BTY, I didn't debug with a modem, just with a device detach. Tring to
> see how to not cut vbus at all in dsps_check_status().

OK

> > It's also possible that we have dsps_check_status() getting called
> > again on disconnect before the new 20 second period is over, I did
> > not check for that yet.
> 
> After a few trials, I start to think about a little cleanup in the otg
> state machine in the musb drivers, I think we need to somehow
> distinguish between normal and error conditions for A_WAIT_BCON state.

Well maybe the minimal fix for now is just pretty much back to
square one of this thread. This should keep VBUS always on.
Then we can figure out some logic to cut VBUS later on.

And yeah, the state machine is really hard to follow so some kind
of clean up would be nice.

Regards,

Tony

8< -------------------
--- a/drivers/usb/musb/musb_dsps.c
+++ b/drivers/usb/musb/musb_dsps.c
@@ -245,7 +245,6 @@ static int dsps_check_status(struct musb *musb, void *unused)
 		dsps_mod_timer_optional(glue);
 		break;
 	case OTG_STATE_A_WAIT_BCON:
-		musb_writeb(musb->mregs, MUSB_DEVCTL, 0);
 		skip_session = 1;
 		/* fall */
 

  reply	other threads:[~2017-05-11 21:06 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-15 14:08 [PATCH] usb-musb: keep VBUS on when device is disconnected Moreno Bartalucci
2017-03-24 18:58 ` Bin Liu
2017-03-25  7:21   ` Lars Melin
2017-03-27 12:53     ` Moreno Bartalucci
2017-03-27 13:17       ` Bin Liu
2017-03-27 14:30         ` Tony Lindgren
2017-03-27 16:20           ` Moreno Bartalucci
2017-03-27 16:59             ` Tony Lindgren
2017-03-27 17:15               ` Bin Liu
2017-03-27 17:55                 ` Tony Lindgren
2017-05-11 18:50                   ` Bin Liu
2017-05-11 18:55                     ` Tony Lindgren
2017-05-11 19:01                       ` Bin Liu
2017-05-11 19:10                         ` Bin Liu
2017-05-11 19:20                           ` Bin Liu
2017-05-11 19:38                             ` Tony Lindgren
2017-05-11 20:02                               ` Bin Liu
2017-05-11 20:23                                 ` Tony Lindgren
2017-05-11 20:27                                   ` Tony Lindgren
2017-05-11 20:44                                   ` Bin Liu
2017-05-11 21:06                                     ` Tony Lindgren [this message]
2017-05-12 13:40                                       ` Bin Liu
2017-05-12 14:58                                         ` Tony Lindgren
2017-05-12 15:21                                           ` Bin Liu
2017-05-12 15:43                                             ` Moreno Bartalucci
2017-05-12 17:21                                             ` Tony Lindgren
2017-05-12 17:40                                               ` Bin Liu
2017-05-12 17:46                                                 ` Tony Lindgren
2017-05-15  7:07                                             ` Moreno Bartalucci
2017-05-15 12:24                                               ` Bin Liu
2017-03-28  6:10                 ` Moreno Bartalucci
2017-03-28 14:59                   ` Tony Lindgren

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=20170511210628.GA3489@atomide.com \
    --to=tony@atomide.com \
    --cc=abogani@kernel.org \
    --cc=b-liu@ti.com \
    --cc=larsm17@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=moreno.bartalucci@tecnorama.it \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).