From 7fb09bc8079790f4c862cc5b9fcfbd11bb9e6aa3 Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Fri, 6 Jan 2017 13:59:21 -0800 Subject: Revert "USB: rndis: Free the rndis response queue during rndis reset msg" This reverts commit c996cdd384f0afeb5cc0c110913391582d1d8fc0 ("USB: rndis: Free the rndis response queue during REMOTE_NDIS_RESET_MSG"). RNDIS host sends GET_ENCAP_RESP for every RESP_AVAILABLE_NOTIFICATION from device. As result if REMOTE_NDIS_RESET_MSG comes device rndis driver frees all the previous responses and once notify request gets completed for previous RNDIS request message it sends reset message completion resonse. When response available request corresponding to RNDIS reset message gets completed host RNDIS driver sends GET_ENCAP_RESP and device sends stall because all RNDIS responses are freed due to RNDIS reset message. Change-Id: I8a785d1ea8175c5c6aa08cda5cdd00cfd0c561b5 Signed-off-by: Hemant Kumar --- drivers/usb/gadget/function/rndis.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/drivers/usb/gadget/function/rndis.c b/drivers/usb/gadget/function/rndis.c index 98ac1ff58323..93262f3034d1 100644 --- a/drivers/usb/gadget/function/rndis.c +++ b/drivers/usb/gadget/function/rndis.c @@ -689,13 +689,6 @@ static int rndis_reset_response(struct rndis_params *params, rndis_reset_cmplt_type *resp; rndis_resp_t *r; - u32 length; - u8 *xbuf; - - /* drain the response queue */ - while ((xbuf = rndis_get_next_response(params, &length))) - rndis_free_response(params, xbuf); - r = rndis_add_response(params, sizeof(rndis_reset_cmplt_type)); if (!r) return -ENOMEM; -- cgit v1.2.3