Re: USB: EHCI: Many "Waited too long for the async..."

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

 



On Tue, 18 Sep 2012, Thomas Voegtle wrote:

> On Tue, 18 Sep 2012, Alan Stern wrote:
> > On Tue, 18 Sep 2012, Thomas Voegtle wrote:
> >
> >> Hello,
> >>
> >> With 3.6.0-rc6 I see a lot of these lines:
> >> [  216.240493] ehci_hcd 0000:00:10.4: Waited too long for the async
> >> schedule status, giving up
> >>
> >> So about 2 in a second.
> >
> > Can you provide a usbmon trace for that bus?  Instructions are in
> > Documentation/usb/usbmon.txt.  Also, it would help to see the contents
> > of /sys/kernel/debug/usb/devices.
> 
> Trace available here:
> http://32h.de/tv/1.mon.out.gz
> 
> part of /sys/kernel/debug/usb/devices :
> 
> T:  Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#=  2 Spd=480  MxCh= 0
> D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
> P:  Vendor=0b48 ProdID=300d Rev= 1.01
> S:  Manufacturer=TechnoTrend
> S:  Product=TT-USB2.0
> S:  SerialNumber=LHJNON
> C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 10mA
> I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00
> Driver=dvb_usb_ttusb2
> E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=82(I) Atr=01(Isoc) MxPS=   0 Ivl=125us
...

Okay, those bulk endpoints are the reason for constantly starting and 
stopping the async schedule.

> >> There is a DVB-C USB Device (Technotrend TT-connect CT-3650) plugged in.
> >> I don't have any problem with it, can watch TV or recording with it.
> >>
> >> When I remove that device, no more complaining.
> >>
> >> What's wrong with my setup? Maybe my .config might be a little bit
> >> strange, I use this machine mainly for testing (and streaming DVB-C)
> >
> > Probably nothing is wrong with your setup; most likely the problem is
> > in your EHCI hardware.  What does "lspci -v" show?
> 
> Attached as txt file.

Hardware by VIA.  Obviously their stuff doesn't work quite as well as 
it should.

For now I think the best answer will be to downgrade those messages to 
debug level.  If the controller isn't capable of turning the schedules 
on or off after 20 ms, what can we do?

This patch should eliminate the warnings from the system log.  If you 
enable CONFIG_USB_DEBUG they will show up again, but I think that's 
reasonable.

Does everything work okay with the patch installed?

Alan Stern



Index: usb-3.6/drivers/usb/host/ehci-timer.c
===================================================================
--- usb-3.6.orig/drivers/usb/host/ehci-timer.c
+++ usb-3.6/drivers/usb/host/ehci-timer.c
@@ -118,7 +118,8 @@ static void ehci_poll_ASS(struct ehci_hc
 			ehci_enable_event(ehci, EHCI_HRTIMER_POLL_ASS, true);
 			return;
 		}
-		ehci_warn(ehci, "Waited too long for the async schedule status, giving up\n");
+		ehci_dbg(ehci, "Waited too long for the async schedule status (%x/%x), giving up\n",
+				want, actual);
 	}
 	ehci->ASS_poll_count = 0;
 
@@ -163,7 +164,8 @@ static void ehci_poll_PSS(struct ehci_hc
 			ehci_enable_event(ehci, EHCI_HRTIMER_POLL_PSS, true);
 			return;
 		}
-		ehci_warn(ehci, "Waited too long for the periodic schedule status, giving up\n");
+		ehci_dbg(ehci, "Waited too long for the periodic schedule status (%x/%x), giving up\n",
+				want, actual);
 	}
 	ehci->PSS_poll_count = 0;
 

--
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