summary refs log tree commit diff
path: root/drivers/misc
diff options
context:
space:
mode:
authorGeliang Tang <geliangtang@163.com>2015-10-11 21:05:13 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-10-17 21:42:29 -0700
commit82ff3ac7641a645b55f3bee4acceabf6f17e62f4 (patch)
tree4c132acad29c0ceb736b20051ec170097e7c984e /drivers/misc
parentf8bf0dece0fcc9b5271b67cae1123ebfcaf8d8bc (diff)
downloadlinux-82ff3ac7641a645b55f3bee4acceabf6f17e62f4.tar.gz
misc: mic: replace kfree with put_device
Handle a failed device_register(), replace kfree() with put_device(),
which will call cosm/mbus/scif_release_dev().

Signed-off-by: Geliang Tang <geliangtang@163.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc')
-rw-r--r--drivers/misc/mic/bus/cosm_bus.c2
-rw-r--r--drivers/misc/mic/bus/mic_bus.c2
-rw-r--r--drivers/misc/mic/bus/scif_bus.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/drivers/misc/mic/bus/cosm_bus.c b/drivers/misc/mic/bus/cosm_bus.c
index 1e36830f1a4e..d31d6c6e6cb1 100644
--- a/drivers/misc/mic/bus/cosm_bus.c
+++ b/drivers/misc/mic/bus/cosm_bus.c
@@ -100,7 +100,7 @@ cosm_register_device(struct device *pdev, struct cosm_hw_ops *hw_ops)
 ida_remove:
 	ida_simple_remove(&cosm_index_ida, cdev->index);
 free_cdev:
-	kfree(cdev);
+	put_device(&cdev->dev);
 	return ERR_PTR(ret);
 }
 EXPORT_SYMBOL_GPL(cosm_register_device);
diff --git a/drivers/misc/mic/bus/mic_bus.c b/drivers/misc/mic/bus/mic_bus.c
index c64955d8cbc1..be37890abb93 100644
--- a/drivers/misc/mic/bus/mic_bus.c
+++ b/drivers/misc/mic/bus/mic_bus.c
@@ -175,7 +175,7 @@ mbus_register_device(struct device *pdev, int id, struct dma_map_ops *dma_ops,
 		goto free_mbdev;
 	return mbdev;
 free_mbdev:
-	kfree(mbdev);
+	put_device(&mbdev->dev);
 	return ERR_PTR(ret);
 }
 EXPORT_SYMBOL_GPL(mbus_register_device);
diff --git a/drivers/misc/mic/bus/scif_bus.c b/drivers/misc/mic/bus/scif_bus.c
index fd2702143022..ff6e01c25810 100644
--- a/drivers/misc/mic/bus/scif_bus.c
+++ b/drivers/misc/mic/bus/scif_bus.c
@@ -180,7 +180,7 @@ scif_register_device(struct device *pdev, int id, struct dma_map_ops *dma_ops,
 		goto free_sdev;
 	return sdev;
 free_sdev:
-	kfree(sdev);
+	put_device(&sdev->dev);
 	return ERR_PTR(ret);
 }
 EXPORT_SYMBOL_GPL(scif_register_device);