extcon: Fix error handling in extcon_dev_register
authorDinghao Liu <dinghao.liu@zju.edu.cn>
Tue, 19 Jan 2021 08:10:55 +0000 (16:10 +0800)
committerChanwoo Choi <cw00.choi@samsung.com>
Mon, 15 Mar 2021 02:09:38 +0000 (11:09 +0900)
When devm_kcalloc() fails, we should execute device_unregister()
to unregister edev->dev from system.

Fixes: 046050f6e623e ("extcon: Update the prototype of extcon_register_notifier() with enum extcon")
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
drivers/extcon/extcon.c

index 0a6438c..e7a9561 100644 (file)
@@ -1241,6 +1241,7 @@ int extcon_dev_register(struct extcon_dev *edev)
                                sizeof(*edev->nh), GFP_KERNEL);
        if (!edev->nh) {
                ret = -ENOMEM;
+               device_unregister(&edev->dev);
                goto err_dev;
        }