[U-Boot] [PATCH 1/2][repost] usb: bugfix driver/usb/host/ehci-hcd.c function ehci_submit_root

Michael Trimarchi trimarchi at gandalf.sssup.it
Sat Jul 11 15:24:05 CEST 2009


Hello Stefan and Remy

Remy Bohmer wrote:
> Hello Michael,
>
> 2009/7/10 Michael Trimarchi <trimarchi at gandalf.sssup.it>:
>   
>> Hi,
>>
>> cc: Remy Bohmer
>>
>> Prafulla Wadaskar wrote:
>>     
>>> This patch is tested for USB host interface on Kirkwood based
>>> Sheevaplug platform (i.e arm little-endian machine)
>>>
>>> Signed-off-by: Prafulla Wadaskar <prafulla at marvell.com>
>>> ---
>>>  drivers/usb/host/ehci-hcd.c |    2 +-
>>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
>>> index bbd547b..7a55638 100644
>>> --- a/drivers/usb/host/ehci-hcd.c
>>> +++ b/drivers/usb/host/ehci-hcd.c
>>> @@ -550,7 +550,7 @@ ehci_submit_root(struct usb_device *dev, unsigned long
>>> pipe, void *buffer,
>>>              req->requesttype, req->requesttype,
>>>              le16_to_cpu(req->value), le16_to_cpu(req->index));
>>>  -       typeReq = req->request << 8 | req->requesttype;
>>> +       typeReq = req->request | req->requesttype << 8;
>>>          switch (le16_to_cpu(typeReq)) {
>>>       
>
> To be sure about the difference of opinions here about the le16_to_cpu() macro.
> Do you agree with this patch? If so, I will apply it.
>
>   
Linux don't do the swap, ohci hcd switch don't do the swap. I think that 
we must
remove the macro.
Stefan, is it possible to test this patch on the vct machine? is that a 
big endian?
machine? I don't understand how other machine can work, I only imagine 
that macro fix
the bug raised by Prafulla, but change the shift without test without 
the macro is only a workaround for the marvell board.
Sorry for the delay, but I don't have the ixp465 big endian with me now.
> Kind Regards,
>
> Remy
>   
Michael



More information about the U-Boot mailing list