summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget/function
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-03-01 02:22:45 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-03-01 02:22:44 -0800
commit85f1f431e7ef02474a59449c877751ce57a45e01 (patch)
treebe877b5f6f92df9a388f445f984a2d3f309d5e5e /drivers/usb/gadget/function
parent8e3beda4812f54fa3461e34c38cd7f688faf5433 (diff)
parent200938e4875e6069829477a3dd0b5609b4acefa7 (diff)
Merge "f_gsi: Don't reconfigure USB GSI eps multiple time with cable connect case"
Diffstat (limited to 'drivers/usb/gadget/function')
-rw-r--r--drivers/usb/gadget/function/f_gsi.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/usb/gadget/function/f_gsi.c b/drivers/usb/gadget/function/f_gsi.c
index d3845b4f82c6..e46edc83430c 100644
--- a/drivers/usb/gadget/function/f_gsi.c
+++ b/drivers/usb/gadget/function/f_gsi.c
@@ -672,25 +672,27 @@ static void ipa_work_handler(struct work_struct *w)
break;
}
+ /*
+ * Update desc and reconfigure USB GSI OUT and IN
+ * endpoint for RNDIS Adaptor enable case.
+ */
if (d_port->out_ep && !d_port->out_ep->desc &&
gsi->out_ep_desc_backup) {
d_port->out_ep->desc = gsi->out_ep_desc_backup;
d_port->out_ep->ep_intr_num = 1;
+ log_event_dbg("%s: OUT ep_op_config", __func__);
+ usb_gsi_ep_op(d_port->out_ep,
+ &d_port->out_request, GSI_EP_OP_CONFIG);
}
if (d_port->in_ep && !d_port->in_ep->desc &&
gsi->in_ep_desc_backup) {
d_port->in_ep->desc = gsi->in_ep_desc_backup;
d_port->in_ep->ep_intr_num = 2;
- }
-
- if (d_port->out_ep)
- usb_gsi_ep_op(d_port->out_ep,
- &d_port->out_request, GSI_EP_OP_CONFIG);
-
- if (d_port->in_ep)
+ log_event_dbg("%s: IN ep_op_config", __func__);
usb_gsi_ep_op(d_port->in_ep,
&d_port->in_request, GSI_EP_OP_CONFIG);
+ }
ipa_connect_channels(d_port);
ipa_data_path_enable(d_port);