Re: PD: [Bug 92341] xHCI USB driver, support for non-conformant HS USB devices with bulk endpoints of maxpacket size different than 512

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

 



On 01.02.2015 04:05, Alan Stern wrote:
> On Sat, 31 Jan 2015, Kazimierz Marzec wrote:
> 
>> Good day,
>> could You please take a look at
>> https://bugzilla.kernel.org/show_bug.cgi?id=92341
>> Regards.
>>
>> Dnia Pi�tek, 30 Stycznia 2015 17:15 <bugzilla-daemon@xxxxxxxxxxxxxxxxxxx> napisa�(a)
>>> https://bugzilla.kernel.org/show_bug.cgi?id=92341
>>>  
>>> --- Comment #1 from Greg Kroah-Hartman <greg@xxxxxxxxx> ---
>>> On Fri, Jan 30, 2015 at 01:58:09PM +0000, bugzilla-daemon@xxxxxxxxxxxxxxxxxxx
>>> wrote:
>>>> https://bugzilla.kernel.org/show_bug.cgi?id=92341
>>>>
>>>>             Bug ID: 92341
>>>>            Summary: xHCI USB driver, support for non-conformant HS USB
>>>>                     devices with bulk endpoints of maxpacket size
>>>>                     different than 512
>>>  
>>> Please send to the linux-usb@xxxxxxxxxxxxxxx mailing list.
> 
> You could try applying the patch below.  I don't know if there's any 
> reason why the xhci-hcd driver forces all bulk endpoints to use a 
> maxpacket size of 512.
> 

MaxPacket was forced in:

commit e4f47e3675e6f1f40906b785b934ce963e9f2eb3
    USB: xHCI: override bogus bulk wMaxPacketSize values

Patch descrition says:

..."More importantly, it compensates for a common bug in high-speed bulk
    endpoint descriptors.  In many devices there is a bulk endpoint having
    a wMaxPacketSize value smaller than 512, which is forbidden by the USB
    spec.  Some xHCI controllers can't handle this and refuse to accept
    the endpoint.  This patch changes the max_packet value to 512, which
    allows the controller to use the endpoint properly."

So apparently there were some devices that started working after the 512byte was forced?
I wasn't involved in this at the time so I don't know the details, perhaps Alan remembers?

As the patch says, USB2 specs say HS bulk endpoints only supports 512 bytes max packet size.

USB2 spec section 5.8.3 Bulk Transfer Packet Size Constraints:

"All Host Controllers are required to have support for 8-, 16-, 32-, and 64-byte maximum packet sizes for
full-speed bulk endpoints and 512 bytes for high-speed bulk endpoints. No Host Controller is required to
support larger or smaller maximum packet sizes."

Or maybe that can be interpreted as 8-, 16-, 32-, 64, AND 512 bytes supported for HS bulk endpoints?

I'm otherwise ok with adding the other max packet sizes as well, just worried about the original patch.
Are we going to break something that the original patch once fixed

-Mathias

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