From 1945ca8c8d791b28665474a1c471bf0a2b9a3782 Mon Sep 17 00:00:00 2001 From: Yang Yingliang Date: Mon, 27 May 2019 17:12:10 +0800 Subject: [PATCH] Revert "driver core: Postpone DMA tear-down until after devres release for probe failure" hulk inclusion category: cleanup bugzilla: 14629 CVE: NA ------------------------------------------------- This reverts commit 437f99ac3ba010dcf9b2c824995a41fe643c18f7. Use LTS patch to replace this patch. Signed-off-by: Yang Yingliang --- drivers/base/dd.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/base/dd.c b/drivers/base/dd.c index 031f58a6f909..f5b74856784a 100644 --- a/drivers/base/dd.c +++ b/drivers/base/dd.c @@ -482,7 +482,7 @@ static int really_probe(struct device *dev, struct device_driver *drv) ret = dma_configure(dev); if (ret) - goto probe_failed; + goto dma_failed; if (driver_sysfs_add(dev)) { printk(KERN_ERR "%s: driver_sysfs_add(%s) failed\n", @@ -537,13 +537,14 @@ static int really_probe(struct device *dev, struct device_driver *drv) goto done; probe_failed: + dma_deconfigure(dev); +dma_failed: if (dev->bus) blocking_notifier_call_chain(&dev->bus->p->bus_notifier, BUS_NOTIFY_DRIVER_NOT_BOUND, dev); pinctrl_bind_failed: device_links_no_driver(dev); devres_release_all(dev); - arch_teardown_dma_ops(dev); driver_sysfs_remove(dev); dev->driver = NULL; dev_set_drvdata(dev, NULL); -- GitLab