android_kernel_sony_sdm845/include/linux/usb
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hemant Kumar c909c08cf1 usb: host: Flush hub workqueue before stopping controller
when xhci platform driver is removed with a usb device
connected there is a possibility of race between xhci
platform driver remove context and device disconnect hub
event work context. This results into

use after free: xhci_mem_clean() called from xhci_plat_remove()
freeing the xhci virtual device when a structure member is
being accessed by xhci_alloc_virt_device() after virtual device
allocation as part of connect hub event.

deadlock: Upon device disconnect if stop endpoint command remains
pending xhci_mem_cleanup() frees xhci virtual device which also
frees up endpoint stop_cmd_timer. udev->dev lock is held until
cancelled urb is not given back to class driver. In a different
context xhci platform remove calls usb_disconnect() on children of
root hub which tries to acquire the same udev->dev lock this results
into a dead lock condition.

Fix issues by making sure hub events are flushed before xhci is
stopped.

Change-Id: I86d414bca17464d1dff3346ec668d8b3efec1652
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2017-03-27 10:54:56 -07:00
..
association.h
atmel_usba_udc.h
audio-v2.h
audio.h
c67x00.h
ccid_desc.h usb: gadget: Add snapshot of CCID function driver 2017-02-01 15:29:26 -08:00
cdc-wdm.h
cdc.h
cdc_ncm.h NET: usb: cdc_mbim: add quirk for supporting Telit LE922A 2016-12-08 13:02:25 -05:00
ch9.h
chipidea.h
class-dual-role.h ANDROID: usb: dual-role: make stub functions inline 2017-01-27 13:55:03 -08:00
composite.h usb: composite: Increase ep0 buffer size to 4KB 2017-03-08 17:20:59 -08:00
ehci-dbgp.h
ehci_def.h
ehci_pdriver.h
ezusb.h
f_accessory.h ANDROID: usb: gadget: f_accessory: move userspace interface to uapi 2017-01-19 13:33:05 -08:00
f_mtp.h USB: gadget: Implement COMPAT_IOCTL for ioctls 2017-02-06 12:00:23 -08:00
functionfs.h
g_hid.h
gadget.h Merge remote-tracking branch 'origin/tmp-dcb6110' into 4.8 2017-02-17 16:14:38 -08:00
gadget_configfs.h
gpio_vbus.h
hcd.h usb: host: Flush hub workqueue before stopping controller 2017-03-27 10:54:56 -07:00
input.h
iowarrior.h
irda.h
isp116x.h
isp1301.h
isp1362.h
isp1760.h
m66592.h
msm_hsusb_hw.h
musb-ux500.h
musb.h
net2280.h
of.h
ohci_pdriver.h
otg-fsm.h
otg.h
phy.h
phy_companion.h
quirks.h
r8a66597.h
renesas_usbhs.h
rndis_host.h
samsung_usb_phy.h
serial.h
sl811.h
storage.h
tegra_usb_phy.h
tilegx.h
uas.h
ulpi.h
usb338x.h
usb_phy_generic.h
usb_qdss.h usb: gadget: Add snapshot of USB QDSS Function driver 2017-03-02 12:26:34 -08:00
usbdiag.h usb: gadget: Add snapshot of USB DIAG function driver 2016-11-01 11:51:48 -07:00
usbnet.h
usbpd.h usb: pd: add snapshot of qpnp-pdphy and policy_engine drivers 2017-02-10 10:29:28 -08:00
wusb-wa.h
wusb.h