linux/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
..
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
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
storage_common.c usb: gadget: storage-common: Fix old comment about qualifier descriptor 2016-05-31 11:13:01 +03:00
storage_common.h
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
u_gether.h
u_hid.h
u_midi.h
u_ncm.h
u_phonet.h
u_printer.h
u_rndis.h
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
u_uac1.h usb: gadget: remove gadget_chips.h 2015-08-06 09:35:20 -05:00
u_uac2.h
u_uvc.h
uvc_configfs.c usb: gadget: uvc: Fix return value in case of error 2016-08-11 15:09:46 +03:00
uvc_configfs.h
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
uvc_v4l2.h
uvc_video.c
uvc_video.h
uvc.h