On Fri, 2021-01-15 at 08:52 +0100, Stefan Roese wrote:
> Testing with v2021.01 on MIPS Octeon has shown, that the latest patch
> for the "short packet event trb handling" did introduce a bug on
> platforms with virtual address != physical address. This patch fixes
> this issue by using the correct address types in the compare (both
> physical in this case).
> 
> Signed-off-by: Stefan Roese <s...@denx.de>
> Cc: Aaron Williams <awilli...@marvell.com>
> Cc: Chandrakala Chavva <ccha...@marvell.com>
> Cc: Ran Wang <ran.wan...@nxp.com>
> Cc: Nicolas Saenz Julienne <nsaenzjulie...@suse.de>
> Cc: Marek Vasut <ma...@denx.de>
> Cc: Bin Meng <bmeng...@gmail.com>
> ---
>  drivers/usb/host/xhci-ring.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
> index d708fc928b..d6c47d579b 100644
> --- a/drivers/usb/host/xhci-ring.c
> +++ b/drivers/usb/host/xhci-ring.c
> @@ -723,8 +723,8 @@ again:
>               return -ETIMEDOUT;
>       }
>  
> 
> -     if ((uintptr_t)(le64_to_cpu(event->trans_event.buffer))
> -                     != (uintptr_t)last_transfer_trb_addr) {
> +     if ((uintptr_t)(le64_to_cpu(event->trans_event.buffer)) !=
> +         (uintptr_t)virt_to_phys(last_transfer_trb_addr)) {
>               available_length -=
>                       
> (int)EVENT_TRB_LEN(le32_to_cpu(event->trans_event.transfer_len));
>               xhci_acknowledge_event(ctrl);

FWIW I also addressed this in my Rpi400/CM4 enablement series:
https://lists.denx.de/pipermail/u-boot/2021-January/437150.html

That said,

Reviewed-by: Nicolas Saenz Julienne <nsaenzjulie...@suse.de>

Regards,
Nicolas


Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to