linux/drivers/usb/chipidea
Stefan Wahren 991d5add50 usb: chipidea: host: fix NULL ptr dereference during shutdown
After commit b09b5224fe ("usb: chipidea: implement platform shutdown
callback") and commit 43a404577a ("usb: chipidea: host: set host to
be null after hcd is freed") a NULL pointer dereference is caused
on i.MX23 during shutdown. So ensure that role is set to CI_ROLE_END and
we finish interrupt handling before the hcd is deallocated. This avoids
the NULL pointer dereference.

Suggested-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Fixes: b09b5224fe ("usb: chipidea: implement platform shutdown callback")
Signed-off-by: Peter Chen <peter.chen@nxp.com>
2016-10-25 16:14:32 +08:00
..
Kconfig usb: chipidea: Kconfig: improve Kconfig help text 2016-06-21 10:48:30 +08:00
Makefile usb: chipidea: delete static debug support 2015-12-24 14:15:26 +08:00
bits.h usb: chipidea: add tx/rx burst size configuration interface 2015-08-14 10:03:58 +08:00
ci.h usb: chipidea: support debugfs without CONFIG_USB_CHIPIDEA_DEBUG 2015-12-24 14:15:26 +08:00
ci_hdrc_imx.c usb: chipidea: imx: set over current polarity per dts setting 2016-09-14 10:58:13 +08:00
ci_hdrc_imx.h usb: chipidea: imx: set over current polarity per dts setting 2016-09-14 10:58:13 +08:00
ci_hdrc_msm.c usb: chipidea: msm: Use posted data writes on AHB 2015-12-01 14:57:12 -08:00
ci_hdrc_pci.c usb: chipidea: fix return value check in ci_hdrc_pci_probe() 2016-02-19 14:13:44 +08:00
ci_hdrc_usb2.c usb: chipidea: add xilinx zynq platform data 2015-09-15 16:08:49 +08:00
ci_hdrc_zevio.c Chipidea: TI-NSPIRE USB OTG hardware does not support high speed and must connect at full speed 2015-03-18 16:19:11 +01:00
core.c usb: chipidea: add system interface for ttctrl.ttha 2016-02-29 13:37:51 +08:00
debug.c chipidea: error on overflow for port_test_write 2016-02-20 20:15:57 -08:00
host.c usb: chipidea: host: fix NULL ptr dereference during shutdown 2016-10-25 16:14:32 +08:00
host.h usb: chipidea: ehci_init_driver is intended to call one time 2015-07-22 08:03:41 +08:00
otg.c usb: chipidea: otg: change workqueue ci_otg as freezable 2016-02-25 09:33:29 +08:00
otg.h usb: chipidea: using one inline function to cover queue work operations 2014-05-23 11:35:02 +09:00
otg_fsm.c usb: chipidea: otg: add A idle to B disconnect timer 2016-03-04 15:14:38 +02:00
otg_fsm.h usb: chipidea: otg: add A idle to B disconnect timer 2016-03-04 15:14:38 +02:00
udc.c usb: chipidea: udc: Use the preferred form for passing a size of a struct 2016-09-14 10:58:13 +08:00
udc.h usb: chipidea: add role init and destroy APIs 2013-08-14 12:37:19 -07:00
usbmisc_imx.c usb: chipidea: imx: set over current polarity per dts setting 2016-09-14 10:58:13 +08:00