Skip to content

Some more USB-OHCI bugfixes

Markus Klotzbücher u-boot 1 version New

Get series with b4
b4 am 20081008101200.GB24967@lisa

Versions newest first

  1. v1 Latest2 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2fix USB initialisation procedure+0 -05 replies
1/2fix USB initialisation procedure+0 -00 replies
1/2fix USB initialisation procedure+0 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

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

Hi Remy,

Quoted 5 lines · Remy Bohmer

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.

Ok, great!

Quoted 4 lines

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

Ok, looking forward to feedback...

Quoted 4 lines

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.

Ok.

Quoted 4 lines

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'll test them here on sequoia and apply if they pass :-)

Quoted 6 lines

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

Yes, this is ancient Linux code, but in contrast to the linux usb stack wasn't rewritten several times. It was considered several times to (re) import current Linux usb code, but it's obviously no small job...

Thank you for the great work!

Best regards
Markus

Signature · 3 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de")