Re: [PATCH 0/2] musb-fixes for v4.9-rc2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 20, 2016 at 05:35:24AM -0700, Tony Lindgren wrote:
> Hi,
> 
> * Ladislav Michl <ladis@xxxxxxxxxxxxxx> [161020 01:24]:
> > On Wed, Oct 19, 2016 at 12:03:38PM -0500, Bin Liu wrote:
> > > Hi Greg,
> > > 
> > > Here are musb pm fixes for v4.9-rc2.  Please let me know if any change is
> > > needed.
> > 
> > Hi Bin, Tony,
> > 
> > just moved away from 4.6 where musb worked (well, not quite reliably, but...)
> > in host only mode with dma on dm3730. Later kernels do not work at all,
> > devices get enumerated, but after a while I get:
> > [   23.750061] musb_host_rx 1970: Rx interrupt with no errors or packet!
> > [   23.757232] musb_host_rx 1970: Rx interrupt with no errors or packet!
> > [   23.764739] musb_host_rx 1970: Rx interrupt with no errors or packet!
> > [   23.771850] musb_host_rx 1970: Rx interrupt with no errors or packet!
> > [   23.778900] musb_host_rx 1970: Rx interrupt with no errors or packet!
> > [   23.785980] musb_host_rx 1970: Rx interrupt with no errors or packet!
> > [   23.793151] musb_host_rx 1970: Rx interrupt with no errors or packet!
> > [   29.281494] udlfb: wait for urb interrupted: ffffffc2 available: 0

Also saw this now after hub unplug:
[   94.283813] musb_stage0_irq 883: unhandled DISCONNECT transition (a_idle)

> > Last line is printed repeatedly even after I disconnect udlfb device, so
> > driver is unnoticed about disconnect.
> 
> I don't think I've seen that error..

Comment in code reads: 'FIXME this is another "SHOULD NEVER HAPPEN"'

> > Diffing linux-4.7 (not working) against 4.6 didn't show anything suspicious
> > and 4.8 adds only some tracepoints over 4.7, so the above is with 4.8.2.
> > 
> > Any pointers how to best do my homework and find what's wrong?
> 
> There are few patches that we seem to need for v4.7 and v4.8 stable.
> At least these two fixes that should be merged for v4.9 should be
> in:
> 
> [PATCH 0/2] Fixes for two more musb regressions
> 
> Then two patches for phy-twl4030-usb.c:
> 
> b78ea84a7d45 ("phy-twl4030-usb: initialize charging-related stuff via
> pm_runtime")
> 78489c7c48d4 ("phy-twl4030-usb: better handle musb_mailbox() failure")
> 
> Are you using the twl4030 phy or something else? Also, care to try

twl4030.

> with v4.9-rc + [PATCH 0/2] Fixes for two more musb regressions?

Compiled recent Linus' git tree with those two patches on top of it.
It doesn't work either, but I found that when I unplug hub from musb
during bootup and connect is again after musb gets initialized, it works
normally. Well, almost... It does survive only few reconnects, then
ends with:
<connect>
[  135.150878] musb-hdrc musb-hdrc.0.auto: VBUS_ERROR in a_host (90, <VBusValid), retry #3, port1 0009010d
[  139.793579] usb usb2-port1: Cannot enable. Maybe the USB cable is bad?
[  144.133575] usb usb2-port1: Cannot enable. Maybe the USB cable is bad?
[  148.463653] usb usb2-port1: Cannot enable. Maybe the USB cable is bad?
[  152.793609] usb usb2-port1: Cannot enable. Maybe the USB cable is bad?
[  152.809936] usb usb2-port1: unable to enumerate USB device
[  153.063568] usb usb2-port1: over-current condition
<disconnect>
<connect>
[  159.343444] usb 2-1: new high-speed USB device number 12 using musb-hdrc
[  159.526763] usb 2-1: New USB device found, idVendor=05e3, idProduct=0608
[  159.533935] usb 2-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[  159.541473] usb 2-1: Product: USB2.0 Hub
etc... working normaly...
<disconnect>
[  161.743743] udlfb: released /dev/fb0 user=1 count=1
[  167.515075] usb 2-1: USB disconnect, device number 12
[  167.520507] usb 2-1.4: USB disconnect, device number 13
[  167.526153] usb 2-1.4.2: USB disconnect, device number 14
[  167.532989] udlfb: USB disconnect starting
[  167.537414] udlfb: Freeing all render urbs
[  167.604949] udlfb: released /dev/fb0 user=1 count=0
[  167.611602] usb 2-1.4.4: USB disconnect, device number 15
[  167.618560] cdc_acm 2-1.4.4:1.0: failed to set dtr/rts
[  167.624237] cdc_acm 2-1.4.4:1.1: urb 5 failed submission with -19
[  167.630737] cdc_acm 2-1.4.4:1.1: urb 6 failed submission with -19
[  167.637329] cdc_acm 2-1.4.4:1.1: urb 7 failed submission with -19
[  167.643859] cdc_acm 2-1.4.4:1.1: urb 8 failed submission with -19
[  167.650299] cdc_acm 2-1.4.4:1.1: urb 9 failed submission with -19
[  167.656860] cdc_acm 2-1.4.4:1.1: urb 10 failed submission with -19
[  167.663482] cdc_acm 2-1.4.4:1.1: urb 11 failed submission with -19
[  167.670043] cdc_acm 2-1.4.4:1.1: urb 12 failed submission with -19
[  167.676696] cdc_acm 2-1.4.4:1.1: urb 13 failed submission with -19
[  167.683319] cdc_acm 2-1.4.4:1.1: urb 14 failed submission with -19
[  167.689880] cdc_acm 2-1.4.4:1.1: urb 15 failed submission with -19
[  168.643890] udlfb: fb_info for /dev/fb0 has been freed
[  168.649810] udlfb: freeing dlfb_data ce247800
<disconnect>
<connect>
[  171.763488] usb 2-1: new high-speed USB device number 16 using musb-hdrc
[  171.956817] usb 2-1: New USB device found, idVendor=05e3, idProduct=0608
[  171.964019] usb 2-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[  171.971557] usb 2-1: Product: USB2.0 Hub
[  172.088592] hub 2-1:1.0: USB hub found
[  172.122711] hub 2-1:1.0: 4 ports detected
[  172.473419] usb 2-1.4: new high-speed USB device number 17 using musb-hdrc
[  172.626312] usb 2-1.4: New USB device found, idVendor=05e3, idProduct=0608
[  172.633697] usb 2-1.4: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[  172.641418] usb 2-1.4: Product: USB2.0 Hub
[  172.714416] hub 2-1.4:1.0: USB hub found
[  172.749389] hub 2-1.4:1.0: 4 ports detected
[  173.103851] usb 2-1.4.2: new high-speed USB device number 18 using musb-hdrc
[  173.278533] usb 2-1.4.2: New USB device found, idVendor=17e9, idProduct=0335
[  173.286102] usb 2-1.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  173.294067] usb 2-1.4.2: Product: MIMO
[  173.298034] usb 2-1.4.2: Manufacturer: DisplayLink
[  173.303070] usb 2-1.4.2: SerialNumber: 1071007195
[  173.406311] udlfb: DisplayLink MIMO - serial #1071007195
[  173.411987] udlfb: vid_17e9&pid_0335&rev_0120 driver's dlfb_data struct at ce247800
[  173.420135] udlfb: console enable=1
[  173.423889] udlfb: fb_defio enable=1
[  173.427642] udlfb: shadow enable=1
[  173.515655] udlfb: vendor descriptor length:23 data:23 5f 01 00 21 00 04 04 07 00 01
[  173.523925] udlfb: DL chip limited to 1500000 pixel modes
[  173.563720] alloc_contig_range: [8ecd0, 8ece0) PFNs busy
[  173.583740] udlfb: allocated 4 65024 byte urbs
[  173.713562] usb 2-1.4.4: new full-speed USB device number 19 using musb-hdrc
[  173.745849] udlfb: 800x480 @ 59 Hz valid mode
[  173.750518] udlfb: Reallocating framebuffer. Addresses will change!
[  173.807769] udlfb: 800x480 @ 59 Hz valid mode
[  173.812438] udlfb: set_par mode 800x480
[  173.904418] udlfb: DisplayLink USB device /dev/fb0 attached. 800x480 resolution. Using 1504K framebuffer memory
[  173.927825] usb 2-1.4.4: New USB device found, idVendor=0483, idProduct=5740
[  173.935363] usb 2-1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  173.943328] usb 2-1.4.4: Product: Virtual COM Port
[  173.948364] usb 2-1.4.4: Manufacturer: MEDIARESEARCH
[  173.953613] usb 2-1.4.4: SerialNumber: VCPB7FE64A63136
[  173.961181] udlfb: sysfs edid copy cd068f00 to ce2e5000, 128 bytes
[  174.020141] udlfb: open /dev/fb0 user=1 fb_info=cd0a2c00 count=1
[  174.182250] cdc_acm 2-1.4.4:1.0: ttyACM2: USB ACM device
[  174.401397] udlfb: open /dev/fb0 user=1 fb_info=cd0a2c00 count=2
<disconnect>
[  174.567047] udlfb: released /dev/fb0 user=1 count=1
[  179.981414] usb 2-1: USB disconnect, device number 16
[  179.986938] usb 2-1.4: USB disconnect, device number 17
[  179.992462] usb 2-1.4.2: USB disconnect, device number 18
[  179.999420] udlfb: USB disconnect starting
[  180.003784] udlfb: Freeing all render urbs
[  180.087982] udlfb: released /dev/fb0 user=1 count=0
[  180.112548] usb 2-1.4.4: USB disconnect, device number 19
[  180.119415] cdc_acm 2-1.4.4:1.0: failed to set dtr/rts
[  180.125183] cdc_acm 2-1.4.4:1.1: urb 15 failed submission with -19
[  181.123931] udlfb: fb_info for /dev/fb0 has been freed
[  181.129882] udlfb: freeing dlfb_data ce247800
[  186.457519] musb-hdrc musb-hdrc.0.auto: VBUS_ERROR in a_wait_bcon (90, <VBusValid), retry #3, port1 0008010c

And that's the end, since now it does not react on hub plug/unplug.

Also all that VBUS_ERROR conditions are strange as hub is powered separately
and power lines from phy are not used.

> Regards,
> 
> Tony
> 
> > $ lsusb -t
> > /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-omap/3p, 480M
> > /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=musb-hdrc/1p, 480M
> >     |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
> >         |__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=udlfb, 480M
> >         |__ Port 4: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M
> >             |__ Port 4: Dev 5, If 1, Class=CDC Data, Driver=cdc_acm, 12M
> >             |__ Port 4: Dev 5, If 0, Class=Communications, Driver=cdc_acm, 12M
> > /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ohci-omap3/3p, 12M

Best regards,
	ladis
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux