From 87f4d330197a23712b92eae64cddc1ac3ce52bc9 Mon Sep 17 00:00:00 2001 From: Chandana Kishori Chiluveru Date: Fri, 27 Apr 2018 18:00:09 +0530 Subject: [PATCH] usb: f_gsi: Increase GPS EP maxpacket size to 64bytes Currently usb driver is using 8 bytes request on interrupt endpoint for all CDC functions. GPS host driver is expecting short packet/zero length packet on interrupt endpoint and failing the transfer with 8 bytes maxpacket. Increase the maxpacket size to 64 bytes so that host ends the transfer with a short packet. Change-Id: Icc9919fbd633468d3cc7d4d8ab1945730cdc7c06 Signed-off-by: Chandana Kishori Chiluveru --- drivers/usb/gadget/function/f_gsi.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/usb/gadget/function/f_gsi.h b/drivers/usb/gadget/function/f_gsi.h index 11de421a6e18..184e2cb94708 100644 --- a/drivers/usb/gadget/function/f_gsi.h +++ b/drivers/usb/gadget/function/f_gsi.h @@ -342,6 +342,7 @@ error: #define LOG2_STATUS_INTERVAL_MSEC 5 #define MAX_NOTIFY_SIZE sizeof(struct usb_cdc_notification) +#define GPS_MAX_NOTIFY_SIZE 64 /* rmnet device descriptors */ @@ -1450,7 +1451,7 @@ static struct usb_endpoint_descriptor gps_fs_notify_desc = { .bDescriptorType = USB_DT_ENDPOINT, .bEndpointAddress = USB_DIR_IN, .bmAttributes = USB_ENDPOINT_XFER_INT, - .wMaxPacketSize = cpu_to_le16(MAX_NOTIFY_SIZE), + .wMaxPacketSize = cpu_to_le16(GPS_MAX_NOTIFY_SIZE), .bInterval = 1 << LOG2_STATUS_INTERVAL_MSEC, }; @@ -1466,7 +1467,7 @@ static struct usb_endpoint_descriptor gps_hs_notify_desc = { .bDescriptorType = USB_DT_ENDPOINT, .bEndpointAddress = USB_DIR_IN, .bmAttributes = USB_ENDPOINT_XFER_INT, - .wMaxPacketSize = cpu_to_le16(MAX_NOTIFY_SIZE), + .wMaxPacketSize = cpu_to_le16(GPS_MAX_NOTIFY_SIZE), .bInterval = LOG2_STATUS_INTERVAL_MSEC + 4, }; @@ -1482,7 +1483,7 @@ static struct usb_endpoint_descriptor gps_ss_notify_desc = { .bDescriptorType = USB_DT_ENDPOINT, .bEndpointAddress = USB_DIR_IN, .bmAttributes = USB_ENDPOINT_XFER_INT, - .wMaxPacketSize = cpu_to_le16(MAX_NOTIFY_SIZE), + .wMaxPacketSize = cpu_to_le16(GPS_MAX_NOTIFY_SIZE), .bInterval = LOG2_STATUS_INTERVAL_MSEC + 4, }; @@ -1493,7 +1494,7 @@ static struct usb_ss_ep_comp_descriptor gps_ss_notify_comp_desc = { /* the following 3 values can be tweaked if necessary */ /* .bMaxBurst = 0, */ /* .bmAttributes = 0, */ - .wBytesPerInterval = cpu_to_le16(MAX_NOTIFY_SIZE), + .wBytesPerInterval = cpu_to_le16(GPS_MAX_NOTIFY_SIZE), }; static struct usb_descriptor_header *gps_ss_function[] = {