diff --git a/drivers/usb/gadget/function/f_gsi.c b/drivers/usb/gadget/function/f_gsi.c index 696eba43e0b5..1111b88c6516 100644 --- a/drivers/usb/gadget/function/f_gsi.c +++ b/drivers/usb/gadget/function/f_gsi.c @@ -3213,7 +3213,7 @@ static int gsi_bind(struct usb_configuration *c, struct usb_function *f) gsi->d_port.in_aggr_size = GSI_IN_MBIM_AGGR_SIZE; info.in_req_buf_len = GSI_IN_MBIM_AGGR_SIZE; info.in_req_num_buf = GSI_NUM_IN_BUFFERS; - gsi->d_port.out_aggr_size = GSI_OUT_AGGR_SIZE; + gsi->d_port.out_aggr_size = GSI_OUT_MBIM_AGGR_SIZE; info.out_req_buf_len = GSI_OUT_MBIM_BUF_LEN; info.out_req_num_buf = GSI_NUM_OUT_BUFFERS; info.notify_buf_len = sizeof(struct usb_cdc_notification); diff --git a/drivers/usb/gadget/function/f_gsi.h b/drivers/usb/gadget/function/f_gsi.h index b82f2390d1aa..1f6da2b2d8e9 100644 --- a/drivers/usb/gadget/function/f_gsi.h +++ b/drivers/usb/gadget/function/f_gsi.h @@ -44,8 +44,9 @@ #define GSI_OUT_AGGR_SIZE 24576 #define GSI_IN_RNDIS_AGGR_SIZE 16384 -#define GSI_IN_MBIM_AGGR_SIZE 16384 +#define GSI_IN_MBIM_AGGR_SIZE 31744 #define GSI_IN_RMNET_AGGR_SIZE 16384 +#define GSI_OUT_MBIM_AGGR_SIZE 16384 #define GSI_ECM_AGGR_SIZE 2048 #ifdef CONFIG_USB_LOW_MEM_VARIANT @@ -796,7 +797,8 @@ static struct usb_gadget_strings *rndis_gsi_strings[] = { }; /* mbim device descriptors */ -#define MBIM_NTB_DEFAULT_IN_SIZE (0x4000) +#define MBIM_NTB_DEFAULT_IN_SIZE GSI_IN_MBIM_AGGR_SIZE +#define MBIM_NTB_DEFAULT_OUT_SIZE GSI_OUT_MBIM_AGGR_SIZE static struct usb_cdc_ncm_ntb_parameters mbim_gsi_ntb_parameters = { .wLength = cpu_to_le16(sizeof(mbim_gsi_ntb_parameters)), @@ -806,7 +808,7 @@ static struct usb_cdc_ncm_ntb_parameters mbim_gsi_ntb_parameters = { .wNdpInPayloadRemainder = cpu_to_le16(0), .wNdpInAlignment = cpu_to_le16(4), - .dwNtbOutMaxSize = cpu_to_le32(0x4000), + .dwNtbOutMaxSize = cpu_to_le32(MBIM_NTB_DEFAULT_OUT_SIZE), .wNdpOutDivisor = cpu_to_le16(4), .wNdpOutPayloadRemainder = cpu_to_le16(0), .wNdpOutAlignment = cpu_to_le16(4),