[PATCH v1 2/8] usb: xhci: xhci_bulk_tx: Don't "BUG" when comparing addresses on Octeon

Stefan Roese sr at denx.de
Mon Aug 17 15:06:25 CEST 2020


Octeon uses mapped addresses for virtual and physical memory. Its not
that easy to calculate the resulting addresses here. So lets remove
this BUG_ON() for Octeon in xhci_bulk_tx().

Signed-off-by: Stefan Roese <sr at denx.de>
Cc: Bin Meng <bmeng.cn at gmail.com>
Cc: Marek Vasut <marex at denx.de>
---

 drivers/usb/host/xhci-ring.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 092ed6eaf1..a762177c57 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -726,8 +726,11 @@ int xhci_bulk_tx(struct usb_device *udev, unsigned long pipe,
 
 	BUG_ON(TRB_TO_SLOT_ID(field) != slot_id);
 	BUG_ON(TRB_TO_EP_INDEX(field) != ep_index);
-	BUG_ON(*(void **)(uintptr_t)le64_to_cpu(event->trans_event.buffer) -
-		buffer > (size_t)length);
+	if (!IS_ENABLED(CONFIG_ARCH_OCTEON)) {
+			BUG_ON(*(void **)(uintptr_t)le64_to_cpu(
+				       event->trans_event.buffer) - buffer >
+			       (size_t)length);
+	}
 
 	record_transfer_result(udev, event, length);
 	xhci_acknowledge_event(ctrl);
-- 
2.28.0



More information about the U-Boot mailing list