linux_dsm_epyc7002/drivers/usb/gadget
Xerox Lin 207707d8fd usb: gadget: rndis: free response queue during REMOTE_NDIS_RESET_MSG
When rndis data transfer is in progress, some Windows7 Host PC is not
sending the GET_ENCAPSULATED_RESPONSE command for receiving the response
for the previous SEND_ENCAPSULATED_COMMAND processed.

The rndis function driver appends each response for the
SEND_ENCAPSULATED_COMMAND in a queue. As the above process got corrupted,
the Host sends a REMOTE_NDIS_RESET_MSG command to do a soft-reset.
As the rndis response queue is not freed, the previous response is sent
as a part of this REMOTE_NDIS_RESET_MSG's reset response and the Host
block any more Rndis transfers.

Hence free the rndis response queue as a part of this soft-reset so that
the correct response for REMOTE_NDIS_RESET_MSG is sent properly during the
response command.

Signed-off-by: Rajkumar Raghupathy <raghup@codeaurora.org>
Signed-off-by: Xerox Lin <xerox_lin@htc.com>
[AmitP: Cherry-picked this patch and folded other relevant
        fixes from Android common kernel android-4.4]
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
2016-08-11 15:09:48 +03:00
..
function usb: gadget: rndis: free response queue during REMOTE_NDIS_RESET_MSG 2016-08-11 15:09:48 +03:00
legacy usb/gadget: fix gadgetfs aio support. 2016-08-11 15:09:47 +03:00
udc usb: udc: core: fix error handling 2016-08-11 15:09:47 +03:00
composite.c usb: gadget: composite: Fix return value in case of error 2016-08-11 15:09:46 +03:00
config.c usb: Use (foo *) instead of (foo*). 2016-06-21 11:16:15 +03:00
configfs.c usb: gadget: configfs: add mutex lock before unregister gadget 2016-08-11 15:09:44 +03:00
configfs.h usb: gadget: OS descriptors: provide interface directory names 2014-06-19 10:06:48 -05:00
epautoconf.c usb: gadget: epautoconf: add usb_ep_autoconfig_release() function 2015-09-27 10:54:31 -05:00
functions.c usb: gadget: add a forward pointer from usb_function to its "instance" 2013-01-21 20:52:46 +02:00
Kconfig usb: gadget: storage: increase maximum storage num buffers 2016-06-20 12:30:03 +03:00
Makefile usb: gadget: use $(srctree) instead of $(PWD) for includes 2014-08-29 15:53:46 -05:00
u_f.c usb: gadget: define free_ep_req as universal function 2015-12-15 09:12:41 -06:00
u_f.h usb: gadget: define free_ep_req as universal function 2015-12-15 09:12:41 -06:00
u_os_desc.h usb: gadget: u_os_desc: helper functions for accessing ext prop buffer 2014-07-10 08:36:51 -05:00
usbstring.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00