summaryrefslogtreecommitdiff
path: root/src/VBox/Devices/USB/VUSBDevice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Devices/USB/VUSBDevice.cpp')
-rw-r--r--src/VBox/Devices/USB/VUSBDevice.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/VBox/Devices/USB/VUSBDevice.cpp b/src/VBox/Devices/USB/VUSBDevice.cpp
index 49ffcb47f..0578a4ad4 100644
--- a/src/VBox/Devices/USB/VUSBDevice.cpp
+++ b/src/VBox/Devices/USB/VUSBDevice.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
@@ -715,6 +715,7 @@ static void ReadCachedConfigDesc(PCVUSBDESCCONFIGEX pCfgDesc, uint8_t *pbBuf, ui
PCVUSBINTERFACE pIf = &pCfgDesc->paIfs[i];
for (uint32_t j = 0; j < pIf->cSettings; j++)
{
+ cbTotal += pIf->paSettings[j].cbIAD;
cbTotal += pIf->paSettings[j].Core.bLength;
cbTotal += pIf->paSettings[j].cbClass;
for (unsigned k = 0; k < pIf->paSettings[j].Core.bNumEndpoints; k++)
@@ -742,6 +743,7 @@ static void ReadCachedConfigDesc(PCVUSBDESCCONFIGEX pCfgDesc, uint8_t *pbBuf, ui
{
PCVUSBDESCINTERFACEEX pIfDesc = &pIf->paSettings[j];
+ COPY_DATA(pbBuf, cbLeft, pIfDesc->pIAD, pIfDesc->cbIAD);
COPY_DATA(pbBuf, cbLeft, pIfDesc, VUSB_DT_INTERFACE_MIN_LEN);
COPY_DATA(pbBuf, cbLeft, pIfDesc->pvMore, pIfDesc->Core.bLength - VUSB_DT_INTERFACE_MIN_LEN);
COPY_DATA(pbBuf, cbLeft, pIfDesc->pvClass, pIfDesc->cbClass);