ssb: use put_device() if device_register fail
authorArvind Yadav <arvind.yadav.cs@gmail.com>
Thu, 8 Mar 2018 06:23:24 +0000 (11:53 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 13 Mar 2018 16:48:29 +0000 (18:48 +0200)
Never directly free @dev after calling device_register(), even
if it returned an error! Always use put_device() to give up the
reference initialized.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/ssb/main.c

index fdb89b6..1165944 100644 (file)
@@ -522,7 +522,7 @@ static int ssb_devices_register(struct ssb_bus *bus)
                        /* Set dev to NULL to not unregister
                         * dev on error unwinding. */
                        sdev->dev = NULL;
-                       kfree(devwrap);
+                       put_device(dev);
                        goto error;
                }
                dev_idx++;