When testing the Synopsys DWC USB 3.0 Device IP, Compliant Tests are run 
for USB 3.0 and USB 2.0. An issue was found regarding the USB 2.0 CV 
Chapter 9 test: LPM L1 Suspend Resume Test. For it to be successful it 
is necessary to add besl support to the gadget driver and set the deep 
besl and baseline besl values.

Signed-off-by: Joao Pinto <[email protected]>
Tested-by: Joao Pinto <[email protected]>
---
 drivers/usb/gadget/composite.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c
index b474499..e907578 100644
--- a/drivers/usb/gadget/composite.c
+++ b/drivers/usb/gadget/composite.c
@@ -567,7 +567,14 @@ static int bos_desc(struct usb_composite_dev *cdev)
        usb_ext->bLength = USB_DT_USB_EXT_CAP_SIZE;
        usb_ext->bDescriptorType = USB_DT_DEVICE_CAPABILITY;
        usb_ext->bDevCapabilityType = USB_CAP_TYPE_EXT;
-       usb_ext->bmAttributes = cpu_to_le32(USB_LPM_SUPPORT | USB_BESL_SUPPORT);
+       usb_ext->bmAttributes = cpu_to_le32(USB_LPM_SUPPORT |
+                               USB_BESL_SUPPORT |
+                               USB_BESL_BASELINE_VALID |
+                               USB_BESL_DEEP_VALID);
+
+       usb_ext->bmAttributes &= cpu_to_le32(~(0x00f00 | 0x0f000));
+       usb_ext->bmAttributes |= cpu_to_le32(4 << 8);
+       usb_ext->bmAttributes |= cpu_to_le32(5 << 12);
 
        /*
         * The Superspeed USB Capability descriptor shall be implemented by all
-- 
1.8.1.5

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to