summaryrefslogtreecommitdiff
path: root/drivers/hsi
diff options
context:
space:
mode:
authorCarlos Chinea <carlos.chinea@nokia.com>2012-04-11 11:01:11 +0300
committerCarlos Chinea <carlos.chinea@nokia.com>2012-04-23 14:23:31 +0300
commit90e41f9dc75b47ab94e2191e4c86aa8259699a33 (patch)
treefa163ec22d60c9c8f270fca4f31c2bf39aae4acd /drivers/hsi
parent5a218ceba7b64f506bf4f004b04bb457c1805a62 (diff)
downloadlinux-3.10-90e41f9dc75b47ab94e2191e4c86aa8259699a33.tar.gz
linux-3.10-90e41f9dc75b47ab94e2191e4c86aa8259699a33.tar.bz2
linux-3.10-90e41f9dc75b47ab94e2191e4c86aa8259699a33.zip
HSI: hsi: Fix error path cleanup on client registration
HSI client structure should be freed on error path after calling device_registration by dropping a reference to it. Signed-off-by: Carlos Chinea <carlos.chinea@nokia.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/hsi')
-rw-r--r--drivers/hsi/hsi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/hsi/hsi.c b/drivers/hsi/hsi.c
index c17d12ca8e7..5c76a36419d 100644
--- a/drivers/hsi/hsi.c
+++ b/drivers/hsi/hsi.c
@@ -100,7 +100,7 @@ static void hsi_new_client(struct hsi_port *port, struct hsi_board_info *info)
cl->device.archdata = *info->archdata;
if (device_register(&cl->device) < 0) {
pr_err("hsi: failed to register client: %s\n", info->name);
- kfree(cl);
+ put_device(&cl->device);
}
}