RE: USB3.0 race condition?

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

 



> -----Original Message-----
> From: Dmitri Belimov [mailto:d.belimov@xxxxxxxxx]
> Sent: Thursday, March 15, 2012 9:32 AM
> To: Xu, Andiry
> Cc: Mauro Carvalho Chehab
> Subject: USB3.0 race condition?
> 
> Hello
> 
> Our company design and sell own TV cards. One of them has USB 2.0 interface
> and based on the tm6010 chip.
> I wrote some open-source drivers of linux kernel for our TV cards.
> 
> Some times a go one of our customers report me about some problems with USB
> TV cards and newest USB 3.0 host.
> When many TV cards connected to the USB 3.0 we see errors:
> 
> 
> [  846.285810] tm6000 #0: registered device video0
> [  846.285835] tm6000 #0: registered device radio0
> [  846.285838] Trident TVMaster TM5600/TM6000/TM6010 USB2 board (Load
> status: 0)
> [  846.285851] tm6000_usb_probe stop OK
> First device init OK
> 
> [  846.285859] tm6000_usb_probe start
> [  846.285861] befor usb_set_int
> [  846.286099] usb 3-1.2: Not enough bandwidth for new device state.
> [  846.286104] usb 3-1.2: Not enough bandwidth for altsetting 1
> [  846.286106] usb_set_interface FAILURE rc = -28
> [  846.286107] tm6000: Error -28 while registering
> [  846.286156] tm6000_usb_probe stop FAIL
> Second and other devices init FAIL
> 
> We have this errors when many TV cards installed into USB3.0.
> 
> If we set at the first time only one all is good. When we add next TV cards
> after some time
> all is good too. We try add step by step 7 TV cards to USB 3.0 all of them
> init OK.
> 
> I think the xhci can has race condition or spinlock a bug. May be I wrong.
> What you think about it??
> 

Well, I don't think it's a race/spinlock problem. When a device is plugged in
and addressed, the xHCI driver will send a configure endpoint command and
ask host to allocate bandwidth for the device. Isoc devices such as TV cards
require more bandwidth. If the bandwidth is not enough, host rejects the command
and returns failure, and devices init fail.

However, I don't know why adding them one by one is OK. Maybe Sarah has some
suggestions.

Thanks,
Andiry

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