From d96a0b49f5535bc74068532d8a256841d291715d Mon Sep 17 00:00:00 2001 From: Jack Pham Date: Fri, 8 May 2020 00:33:31 -0700 Subject: [PATCH] Revert "USB: rndis: Honor dl_max_packet_size value sent by host" This reverts commit 8d0058d89ceef1a766c85c471e72602fc29a5e51. Instead, set GSI IN aggregation size by directly reading the RNDIS_MSG_INIT message's MaxTransferSize field. Change-Id: Ia36ac79f4fce2c3e89a542cfa82c39c4c1b52700 Signed-off-by: Jack Pham --- drivers/usb/gadget/function/f_gsi.c | 10 +++++++--- drivers/usb/gadget/function/rndis.c | 13 ++----------- drivers/usb/gadget/function/rndis.h | 3 --- 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/drivers/usb/gadget/function/f_gsi.c b/drivers/usb/gadget/function/f_gsi.c index 056defd9d60e..077729961e96 100644 --- a/drivers/usb/gadget/function/f_gsi.c +++ b/drivers/usb/gadget/function/f_gsi.c @@ -2048,10 +2048,14 @@ static void gsi_rndis_command_complete(struct usb_ep *ep, buf = (rndis_init_msg_type *)req->buf; if (le32_to_cpu(buf->MessageType) == RNDIS_MSG_INIT) { + log_event_dbg("RNDIS host major:%d minor:%d version\n", + le32_to_cpu(buf->MajorVersion), + le32_to_cpu(buf->MinorVersion)); + /* honor host dl aggr size */ - gsi->d_port.in_aggr_size = gsi->params->dl_max_xfer_size; - log_event_dbg("RNDIS host dl_aggr_size:%d\n", - gsi->params->dl_max_xfer_size); + gsi->d_port.in_aggr_size = le32_to_cpu(buf->MaxTransferSize); + log_event_dbg("RNDIS host DL MaxTransferSize:%d\n", + le32_to_cpu(buf->MaxTransferSize)); } } diff --git a/drivers/usb/gadget/function/rndis.c b/drivers/usb/gadget/function/rndis.c index b16d1958f0f5..44671ca183ca 100644 --- a/drivers/usb/gadget/function/rndis.c +++ b/drivers/usb/gadget/function/rndis.c @@ -803,17 +803,8 @@ int rndis_msg_parser(struct rndis_params *params, u8 *buf) /* For USB: responses may take up to 10 seconds */ switch (MsgType) { case RNDIS_MSG_INIT: - pr_debug("%s: RNDIS_MSG_INIT\n", __func__); - tmp++; /* to get RequestID */ - params->host_rndis_major_ver = get_unaligned_le32(tmp++); - params->host_rndis_minor_ver = get_unaligned_le32(tmp++); - params->dl_max_xfer_size = get_unaligned_le32(tmp++); - - pr_debug("%s(): RNDIS Host Major:%d Minor:%d version\n", - __func__, params->host_rndis_major_ver, - params->host_rndis_minor_ver); - pr_debug("%s(): DL Max Transfer size:%x\n", - __func__, params->dl_max_xfer_size); + pr_debug("%s: RNDIS_MSG_INIT\n", + __func__); params->state = RNDIS_INITIALIZED; return rndis_init_response(params, (rndis_init_msg_type *)buf); diff --git a/drivers/usb/gadget/function/rndis.h b/drivers/usb/gadget/function/rndis.h index de61b7bca40f..297c27ab48aa 100644 --- a/drivers/usb/gadget/function/rndis.h +++ b/drivers/usb/gadget/function/rndis.h @@ -171,9 +171,6 @@ typedef struct rndis_params { u32 vendorID; u8 max_pkt_per_xfer; - u32 host_rndis_major_ver; - u32 host_rndis_minor_ver; - u32 dl_max_xfer_size; const char *vendorDescr; u8 pkt_alignment_factor; void (*resp_avail)(void *v);