OpenCloudOS-Kernel/drivers/usb/gadget/function
Baolin Wang 511a36d2f3 usb: gadget: Add the gserial port checking in gs_start_tx()
When usb gadget is set gadget serial function, it will be crash in below
situation.

It will clean the 'port->port_usb' pointer in gserial_disconnect() function
when usb link is inactive, but it will release lock for disabling the endpoints
in this function. Druing the lock release period, it maybe complete one request
to issue gs_write_complete()--->gs_start_tx() function, but the 'port->port_usb'
pointer had been set NULL, thus it will be crash in gs_start_tx() function.

This patch adds the 'port->port_usb' pointer checking in gs_start_tx() function
to avoid this situation.

Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
2016-08-22 10:45:13 +03:00
..
Makefile usb: gadget: f_tcm: convert to new function interface with backward compatibility 2015-12-20 19:40:34 -08: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: function: f_eem: socket buffer may be NULL 2016-08-22 10:45:12 +03: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 usb: gadget: function: f_rndis: socket buffer may be NULL 2016-08-22 10:45:12 +03: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 usb: gadget: f_uvc: remove compatibility layer 2014-09-09 09:49:41 -05:00
g_zero.h usb: gadget: define free_ep_req as universal function 2015-12-15 09:12:41 -06: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.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_ether_configfs.h usb-gadget/ether: use per-attribute show and store methods 2015-10-13 22:14:18 -07: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 usb: gadget: hid: add configfs support 2014-11-06 16:18:19 -06:00
u_midi.h usb: gadget: f_midi: add configfs support 2014-11-05 13:37:17 -06:00
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: Add the gserial port checking in gs_start_tx() 2016-08-22 10:45:13 +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.h usb: gadget: uvc: remove unused including <linux/version.h> 2015-04-27 15:48:11 -05: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 usb: gadget: uvc: separately compile some components of f_uvc 2014-09-09 09:49:12 -05:00
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 usb: gadget: uvc: separately compile some components of f_uvc 2014-09-09 09:49:12 -05:00