From c5c5b41399bbccee060a64105c5c36e8d8508545 Mon Sep 17 00:00:00 2001 From: Mayank Rana Date: Tue, 10 May 2016 14:11:27 -0700 Subject: [PATCH] usb: gadget: rndis: Add packet filter handling for hw accelerated path Call flow control API when RNDIS packet filter control message is received. This allows to call the registered flow control call back from rndis clients supporting hw accelerated path. CRs-Fixed: 1013824 Change-Id: I87793e31d4db10acf1103127a2d1ad942d253c67 Signed-off-by: Hemant Kumar Signed-off-by: Mayank Rana --- drivers/usb/gadget/function/rndis.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/usb/gadget/function/rndis.c b/drivers/usb/gadget/function/rndis.c index e3d9c104f747..b16d1958f0f5 100644 --- a/drivers/usb/gadget/function/rndis.c +++ b/drivers/usb/gadget/function/rndis.c @@ -522,14 +522,11 @@ static int gen_ndis_set_resp(struct rndis_params *params, u32 OID, */ retval = 0; if (*params->filter) { - params->state = RNDIS_DATA_INITIALIZED; - netif_carrier_on(params->dev); - if (netif_running(params->dev)) - netif_wake_queue(params->dev); + pr_debug("%s(): disable flow control\n", __func__); + rndis_flow_control(params, false); } else { - params->state = RNDIS_INITIALIZED; - netif_carrier_off(params->dev); - netif_stop_queue(params->dev); + pr_err("%s(): enable flow control\n", __func__); + rndis_flow_control(params, true); } break;