From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Saenz Julienne Date: Fri, 15 Jan 2021 11:27:33 +0100 Subject: [PATCH] usb: xhci: Fix compare to use physical addresses in xhci_bulk_tx() In-Reply-To: <20210115075256.2471223-1-sr@denx.de> References: <20210115075256.2471223-1-sr@denx.de> Message-ID: <1360ac0b74a609216dcc55635ce1c147ecad67a5.camel@suse.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > Cc: Aaron Williams > Cc: Chandrakala Chavva > Cc: Ran Wang > Cc: Nicolas Saenz Julienne > Cc: Marek Vasut > Cc: Bin Meng > --- > ?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 Regards, Nicolas -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: This is a digitally signed message part URL: