aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorNikunj A Dadhania <nikunj@linux.vnet.ibm.com>2013-08-23 16:25:49 +0530
committerNikunj A Dadhania <nikunj@linux.vnet.ibm.com>2013-08-23 16:25:49 +0530
commita523d1b0cd6e96cf5e393f0a10f897e8ed639fdc (patch)
tree1509a4028ecd323c1b708b1dd8c491391b88e54c /lib
parent9545b3dc96bf235007692ba9a14c90082c747852 (diff)
downloadSLOF-a523d1b0cd6e96cf5e393f0a10f897e8ed639fdc.zip
SLOF-a523d1b0cd6e96cf5e393f0a10f897e8ed639fdc.tar.gz
SLOF-a523d1b0cd6e96cf5e393f0a10f897e8ed639fdc.tar.bz2
usb-ohci: Convert td-phys every time to td-virtqemu-slof-20130827
next_td is phys pointer as well, convert that to virt Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/libusb/usb-ohci.c5
1 files changed, 4 insertions, 1 deletions
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;