diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2018-10-26 11:19:49 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2018-10-29 11:26:35 +0100 |
commit | 7da5b5cd93050ce264ba36556f2f2720a0a39acd (patch) | |
tree | 32b24f35cc86ac0ea9cf0f3ca919bc5841709075 | |
parent | 94f808bafaac85bdceb70d74375549eaddcc209c (diff) | |
download | barebox-7da5b5cd93050ce264ba36556f2f2720a0a39acd.tar.gz barebox-7da5b5cd93050ce264ba36556f2f2720a0a39acd.tar.xz |
usb: imx: unregister ehci controller on device removal
ehci does DMA and hence must be properly quiesced before we leave
barebox. Call ehci_unregister() on device removal when we previously
registered a ehci controller.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | drivers/usb/imx/chipidea-imx.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/usb/imx/chipidea-imx.c b/drivers/usb/imx/chipidea-imx.c index 321a8ada3f..7bf2ef76c5 100644 --- a/drivers/usb/imx/chipidea-imx.c +++ b/drivers/usb/imx/chipidea-imx.c @@ -364,6 +364,11 @@ static int imx_chipidea_probe(struct device_d *dev) static void imx_chipidea_remove(struct device_d *dev) { + struct imx_chipidea *ci = dev->priv; + + if (ci->ehci) + ehci_unregister(ci->ehci); + if (IS_ENABLED(CONFIG_USB_GADGET_DRIVER_ARC)) ci_udc_unregister(); } |