diff options
| author | Linux Build Service Account <lnxbuild@quicinc.com> | 2017-10-13 02:11:04 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-10-13 02:11:03 -0700 |
| commit | d93baaa0a10a11bb04643d439e000bd64ec855cc (patch) | |
| tree | caf76b4d82b001daed3491ef717b0bc00b5d12f3 | |
| parent | 2df7cec6cb5dd4afba142440a8f3c7f5a30c3ce6 (diff) | |
| parent | e2ed5d95d208ff1febae9cc817858ca18ad691d2 (diff) | |
Merge "USB: rndis: Honor dl_max_packet_size value sent by host"
| -rw-r--r-- | drivers/usb/gadget/function/f_gsi.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/usb/gadget/function/f_gsi.c b/drivers/usb/gadget/function/f_gsi.c index 905d5eea5fdb..18e3c5cdcc24 100644 --- a/drivers/usb/gadget/function/f_gsi.c +++ b/drivers/usb/gadget/function/f_gsi.c @@ -1672,6 +1672,7 @@ static void gsi_rndis_command_complete(struct usb_ep *ep, struct usb_request *req) { struct f_gsi *rndis = req->context; + rndis_init_msg_type *buf; int status; if (req->status != 0) { @@ -1684,6 +1685,16 @@ static void gsi_rndis_command_complete(struct usb_ep *ep, if (status < 0) log_event_err("RNDIS command error %d, %d/%d", status, req->actual, req->length); + + buf = (rndis_init_msg_type *)req->buf; + if (buf->MessageType == RNDIS_MSG_INIT) { + rndis->d_port.in_aggr_size = min_t(u32, + rndis->d_port.in_aggr_size, + rndis->params->dl_max_xfer_size); + log_event_dbg("RNDIS host dl_aggr_size:%d in_aggr_size:%d\n", + rndis->params->dl_max_xfer_size, + rndis->d_port.in_aggr_size); + } } static void |
