[PATCH 3/4] usb: gadget: f_uac2: set UAC_EP_CS_ATTR_FILL_MAX in bmAttributes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



For the capture endpoint, set the UAC_EP_CS_ATTR_FILL_MAX bit in
bmAttributes to that the host only send IN tokens with wMaxPacketSize
bytes. If that bit isn't set, snd-usb will calculate a smaller packet
size, which is answered by a fixed-size (512 bytes) response from the
gadget driver. That consequently leads to -EOVERFLOW errors on the
host side.

Reported-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx>
Signed-off-by: Daniel Mack <zonque@xxxxxxxxx>
---
 drivers/usb/gadget/function/f_uac2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/function/f_uac2.c b/drivers/usb/gadget/function/f_uac2.c
index efe8add..1d6d085 100644
--- a/drivers/usb/gadget/function/f_uac2.c
+++ b/drivers/usb/gadget/function/f_uac2.c
@@ -813,7 +813,7 @@ static struct uac2_iso_endpoint_descriptor as_iso_in_desc = {
 	.bDescriptorType = USB_DT_CS_ENDPOINT,
 
 	.bDescriptorSubtype = UAC_EP_GENERAL,
-	.bmAttributes = 0,
+	.bmAttributes = UAC_EP_CS_ATTR_FILL_MAX,
 	.bmControls = 0,
 	.bLockDelayUnits = 0,
 	.wLockDelay = 0,
-- 
2.1.0

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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux