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: Mon, 27 Mar 2017 07:30:50 -0700 [thread overview]
Message-ID: <20170327143049.GG10760@atomide.com> (raw)
In-Reply-To: <20170327131701.GA12674@uda0271908>
* Bin Liu <b-liu@ti.com> [170327 06:22]:
> On Mon, Mar 27, 2017 at 02:53:27PM +0200, Moreno Bartalucci wrote:
> > > Il giorno 25 mar 2017, alle ore 08:21, Lars Melin <larsm17@gmail.com> ha scritto:
> > >
> > >>
> > >> The usb device has been disconnected, why it still cares about VBUS
> > >> power?
> > >
> > > Morphing devices (3G dongles, wifi dongles, some printers) boots up in install mode, usually only as a virtual cd-rom containing Windows drivers and software.
> > > [...]
> > > why a host only configured port should cut the VBUS supply, it could be always on right?
> > >
> >
> > Yes, that’s exactly the problem I tried to solve with this patch.
>
> Yeah, the problem is clear to me now.
Ah so it's with the state changing devices.
> > I have to add that the problem was not there with kernels up to
> > 4.8.17, I started to see it with 4.9 and up.
> >
> > By git-bisecting kernel sources, it appears this behaviour has been
> > introduced by this commit:
> >
> > 2f3fd2c5bde1f94513c3dc311ae64494085ec371
>
> It seems this patch changes how OTG_STATE_A_WAIT_VRISE and
> OTG_STATE_A_WAIT_BCON are used.
> >
> > I also agree that, in my opinion, a host only port should never remove
> > the VBUS supply, as it happens on all the PCs (linux+windows+mac) that
> > I tested until now.
>
> True. It is just that the musb driver handles both dual-role and
> host-only mode.
Maybe the other way to fix it would be to keep VBUS on longer when
checking for connected devices. Maybe we now recheck based on the
poll_timeout too early and then nothing is found.
> > I saw this problem on a beaglebone black. Of course I’m available to
> > do all the tests that you might suggest me to help you better
> > understand the issue.
>
> Thanks for the offer. Please let me look at the problem first, I have a
> modem to test.
> It is not clear why the original driver clears VBUS in this place, so I
> have to ensure your patch is the correct change.
I wonder if the following test patch allows the mode changing
devices to been properly found? Of course it's just for testing,
and scanning for devices takes now 5 seconds.. But it might
provide clues why musb thinks no devices are connected and we
cut VBUS.
Regards,
Tony
8< ----------------------
diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c
--- a/drivers/usb/musb/musb_dsps.c
+++ b/drivers/usb/musb/musb_dsps.c
@@ -991,7 +991,7 @@ static const struct dsps_musb_wrapper am33xx_driver_data = {
.rxep_shift = 16,
.rxep_mask = 0xfffe,
.rxep_bitmap = (0xfffe << 16),
- .poll_timeout = 2000, /* ms */
+ .poll_timeout = 5000, /* ms */
};
static const struct of_device_id musb_dsps_of_match[] = {
next prev parent reply other threads:[~2017-03-27 14:30 UTC|newest]
Thread overview: 40+ 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-15 14:08 ` Moreno Bartalucci
[not found] ` <20170315140801.97230-1-moreno.bartalucci-Hj/TeGiWV4YL5bzFcGmneg@public.gmane.org>
2017-03-24 18:58 ` Bin Liu
2017-03-24 18:58 ` Bin Liu
2017-03-25 7:21 ` Lars Melin
[not found] ` <2d10809f-d482-ffa9-30b7-8785e94ab102-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-03-27 12:53 ` Moreno Bartalucci
2017-03-27 12:53 ` Moreno Bartalucci
[not found] ` <00882633-3F61-4010-A4D2-D04473282B10-Hj/TeGiWV4YL5bzFcGmneg@public.gmane.org>
2017-03-27 13:17 ` Bin Liu
2017-03-27 13:17 ` Bin Liu
2017-03-27 14:30 ` Tony Lindgren [this message]
2017-03-27 16:20 ` Moreno Bartalucci
[not found] ` <63FD9E13-2B70-485C-80A7-206BEC16905A-Hj/TeGiWV4YL5bzFcGmneg@public.gmane.org>
2017-03-27 16:59 ` Tony Lindgren
2017-03-27 16:59 ` Tony Lindgren
2017-03-27 17:15 ` Bin Liu
2017-03-27 17:55 ` Tony Lindgren
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
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 6:10 ` Moreno Bartalucci
[not found] ` <11BBAEC7-0B26-40FE-963E-811F7853F2FE-Hj/TeGiWV4YL5bzFcGmneg@public.gmane.org>
2017-03-28 14:59 ` Tony Lindgren
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=20170327143049.GG10760@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 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.