On Thu, Oct 20, 2016 at 05:35:24AM -0700, Tony Lindgren wrote:
> Hi,
>
> * Ladislav Michl <[email protected]> [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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html