From: Carlos Chinea Date: Wed, 11 Apr 2012 08:01:11 +0000 (+0300) Subject: HSI: hsi: Fix error path cleanup on client registration X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=90e41f9dc75b47ab94e2191e4c86aa8259699a33;p=linux-beck.git 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 Acked-by: Greg Kroah-Hartman Acked-by: Linus Walleij --- diff --git a/drivers/hsi/hsi.c b/drivers/hsi/hsi.c index c17d12ca8e7f..5c76a36419d4 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); } }