[U-Boot] [patch 0/2] Some more USB-OHCI bugfixes

Remy Bohmer linux at bohmer.net
Wed Oct 8 10:54:13 CEST 2008


The USB OHCI init procedure sets the maximum message length the wrong way.
A max of 64 bits should not be done by writing '64' in maxpacketsize, but '3'.
While fixing this problem it turned out that there is more wrong here in this
code it turned out that the wrong bits were checked to determine if the pipe
was of type PIPE_INTERRUPT. This series fixes those errors also.

I made it 2 seperate patches. The 1st of this series is fully tested and correct
on at least the AT91SAM9261 cores. I hope it fixes the known problems on
AT91SAM9263 (and other) cores also, maybe Stelian can verify this.
If it does not help on sam9263, it should not make it worse either...

The 2nd patch, however, is created by search-for-the-same-errors-and-replace.
I am not able to test that patch, I do not have the boards, so that needs to be
done by others or by review. It is clear that code there is buggy in the
first place.

These patches require my previous series called
'Improve stability USB memory sticks for the common OHCI USB layer.' to be
applied before this series. So they should apply on the u-boot-usb git tree.
--> git://git.denx.de/u-boot-usb.git

I want to mention also, that everytime I look deeper into this code, I find new
bugs. It appears that several parts of this code is written with interrupt
handling in mind, while we have no interrupt handling at all.
Assumptions are done that a interrupt handler does things asynchronous, causing
long loops that have no real use at all...
So, no guarantees that _all_ problems are solved by now...


Kind Regards,

Remy

-- 




More information about the U-Boot mailing list