From a523d1b0cd6e96cf5e393f0a10f897e8ed639fdc Mon Sep 17 00:00:00 2001 From: Nikunj A Dadhania Date: Fri, 23 Aug 2013 16:25:49 +0530 Subject: [PATCH] usb-ohci: Convert td-phys every time to td-virt next_td is phys pointer as well, convert that to virt Signed-off-by: Nikunj A Dadhania --- lib/libusb/usb-ohci.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/libusb/usb-ohci.c b/lib/libusb/usb-ohci.c index a346644..b19204f 100644 --- a/lib/libusb/usb-ohci.c +++ b/lib/libusb/usb-ohci.c @@ -458,7 +458,10 @@ static int ohci_process_done_head(struct ohci_hcd *ohcd, ret = false; } prev_td = td; - td = (struct ohci_td *)(uint64_t) le32_to_cpu(td->next_td); + td_phys = (struct ohci_td *)(uint64_t) le32_to_cpu(td->next_td); + td = (struct ohci_td *)(uint64_t) ohci_get_td_virt(td_phys, + td_start_phys, + PTR_U32(td_start), total_count); mb(); prev_td->attr |= cpu_to_le32(TDA_DONE); prev_td->next_td = 0;