linux_dsm_epyc7002/drivers/usb/gadget/function
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
..
f_acm.c usb: gadget: f_acm: Fix configfs attr name 2016-03-04 15:14:50 +02:00
f_ecm.c usb: gadget: Update usb_assign_descriptors for SuperSpeedPlus 2016-03-04 15:14:23 +02:00
f_eem.c usb: gadget: Update usb_assign_descriptors for SuperSpeedPlus 2016-03-04 15:14:23 +02:00
f_fs.c usb: gadget: f_fs: check for allocation failure 2016-06-29 11:13:33 +03:00
f_hid.c usb: gadget: Update usb_assign_descriptors for SuperSpeedPlus 2016-03-04 15:14:23 +02:00
f_loopback.c usb: gadget: Update usb_assign_descriptors for SuperSpeedPlus 2016-03-04 15:14:23 +02:00
f_mass_storage.c usb: gadget: storage: get rid of fsg_num_buffers_validate() 2016-06-20 12:30:03 +03:00
f_mass_storage.h usb: f_mass_storage: test whether thread is running before starting another 2016-04-19 11:11:56 +03:00
f_midi.c usb: gadget: f_midi: unlock on error 2016-04-04 15:18:37 +03:00
f_ncm.c usb: gadget: Update usb_assign_descriptors for SuperSpeedPlus 2016-03-04 15:14:23 +02:00
f_obex.c usb: gadget: Update usb_assign_descriptors for SuperSpeedPlus 2016-03-04 15:14:23 +02:00
f_phonet.c usb: gadget: Update usb_assign_descriptors for SuperSpeedPlus 2016-03-04 15:14:23 +02:00
f_printer.c usb: gadget: printer: Drop unused device qualifier descriptor 2016-05-31 11:12:59 +03:00
f_rndis.c Configfs changes for the 4.6 merge window: 2016-03-17 16:25:46 -07:00
f_serial.c usb: gadget: Update usb_assign_descriptors for SuperSpeedPlus 2016-03-04 15:14:23 +02:00
f_sourcesink.c usb: gadget: Update usb_assign_descriptors for SuperSpeedPlus 2016-03-04 15:14:23 +02:00
f_subset.c usb: gadget: Update usb_assign_descriptors for SuperSpeedPlus 2016-03-04 15:14:23 +02:00
f_tcm.c usb: gadget: f_tcm: out of bound access in usbg_drop_tpg 2016-05-31 11:24:30 +03:00
f_uac1.c usb: gadget: Update usb_assign_descriptors for SuperSpeedPlus 2016-03-04 15:14:23 +02:00
f_uac2.c usb: gadget: avoid exposing kernel stack 2016-05-31 11:24:30 +03:00
f_uvc.c usb: gadget: f_uvc: eliminate abuse of ep->driver data 2015-09-27 10:54:31 -05:00
f_uvc.h
g_zero.h usb: gadget: define free_ep_req as universal function 2015-12-15 09:12:41 -06:00
Makefile usb: gadget: f_tcm: convert to new function interface with backward compatibility 2015-12-20 19:40:34 -08:00
ndis.h
rndis.c usb: gadget: rndis: free response queue during REMOTE_NDIS_RESET_MSG 2016-08-11 15:09:48 +03:00
rndis.h usb: gadget: rndis: use signed type for a signed value 2015-05-21 16:29:14 -05:00
storage_common.c usb: gadget: storage-common: Fix old comment about qualifier descriptor 2016-05-31 11:13:01 +03:00
storage_common.h usb: gadget: storage-common: Set FSG_MAX_LUNS to 16 2015-07-29 09:59:19 -05:00
tcm.h usb-gadget/tcm: Conversion to percpu_ida tag pre-allocation 2016-03-10 21:48:14 -08:00
u_ecm.h
u_eem.h
u_ether_configfs.h usb-gadget/ether: use per-attribute show and store methods 2015-10-13 22:14:18 -07:00
u_ether.c usb: gadget: u_ether: fix dereference after null check coverify warning 2016-08-11 15:09:44 +03:00
u_ether.h usb: gadget: remove gadget_chips.h 2015-08-06 09:35:20 -05:00
u_fs.h usb: gadget: ffs: add eventfd notification about ffs events 2015-01-27 09:34:59 -06:00
u_gether.h
u_hid.h
u_midi.h
u_ncm.h
u_phonet.h
u_printer.h usb: gadget: printer: add configfs support 2015-03-10 15:33:41 -05:00
u_rndis.h usb: gadget: rndis: remove the limit of available rndis connections 2015-05-07 13:47:17 -05:00
u_serial.c usb: gadget: fix unused-but-set-variale warnings 2016-06-21 11:04:09 +03:00
u_serial.h
u_tcm.h usb: gadget: f_tcm: convert to new function interface with backward compatibility 2015-12-20 19:40:34 -08:00
u_uac1.c usb: gadget: u_uac1: fix one code style problem 2015-01-15 09:41:48 -06:00
u_uac1.h usb: gadget: remove gadget_chips.h 2015-08-06 09:35:20 -05:00
u_uac2.h
u_uvc.h usb: gadget: uvc: configfs support in uvc function 2015-01-12 12:13:26 -06:00
uvc_configfs.c usb: gadget: uvc: Fix return value in case of error 2016-08-11 15:09:46 +03:00
uvc_configfs.h usb: gadget: uvc: configfs support in uvc function 2015-01-12 12:13:26 -06:00
uvc_queue.c [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
uvc_queue.h [media] media: videobuf2: Restructure vb2_buffer 2015-10-01 09:04:43 -03:00
uvc_v4l2.c Merge branch 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux into v4l_for_linus 2015-04-21 09:44:55 -03:00
uvc_v4l2.h
uvc_video.c Merge branch 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux into v4l_for_linus 2015-04-21 09:44:55 -03:00
uvc_video.h
uvc.h usb: gadget: uvc: remove unused including <linux/version.h> 2015-04-27 15:48:11 -05:00