Re: USB2 / USB3 compatibility problems: xhci_hcd 0000:00:06.0: WARN Wrong bounce buffer write length: 0 != 512

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

 



Hello Mathias!

On 25.01.21 at 19:28 Mathias Nyman wrote:
> Hi
> 
> On 25.1.2021 12.18, Andreas Hartmann wrote:
>>
>> Hello!
>>
>> Meanwhile I found the culprit:
>>
>> https://www.spinics.net/lists/linux-usb/msg141467.html
>> and
>> https://www.spinics.net/lists/linux-usb/msg141468.html
>>
>> Especially the last change breaks things here completely. After removing them
>> by the attached patch, problems are gone and device works again as expected
>> (I tested with the original 24 kB bulk size which was horribly broken w/o the
>> attached patch). This means: the additional repair steps are not just breaking
>> things but are even unnecessary (it's working perfectly without those changes)
>> here.
> 
> Unfortunately this isn't enough to remove the alignment code for those
> controllers. This is just once specific usecase. We need to figure out what
> really goes wrong.
> 
> Looks like 0 bytes is copied from sg list to bounce buffer when we want 512
> bytes copied.

I don't have only 512 bytes cases, but also 100, 136, 424, 396, 144,
292. It's working anyway w/o any modifications. Why does it work w/o any
modification? Do those chips really need any alignment?

> Just noticed the alignment code assumes sg lists are used without
> checking it first.
> 
> Could you add the below code and test again, it should print more debugging info.

Is there a way to compile this code external - w/o recompiling the whole
kernel?


Thanks
Andreas



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

  Powered by Linux