aboutsummaryrefslogtreecommitdiff
path: root/drivers/staging/quickstart
diff options
context:
space:
mode:
authorSzymon Janc <szymon@janc.net.pl>2012-01-11 23:22:43 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-02-08 17:16:49 -0800
commitffe1c0565c27324f6e23a5b47ae5ff873553c62f (patch)
tree06b806441c5fbd48951de771a34067f5f711ab89 /drivers/staging/quickstart
parentf27a551968bb8780c8a5255c0ea6c3a2fcaf4a47 (diff)
Staging: quickstart: Cleanup quickstart_acpi_config
Signed-off-by: Szymon Janc <szymon@janc.net.pl> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/quickstart')
-rw-r--r--drivers/staging/quickstart/quickstart.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/drivers/staging/quickstart/quickstart.c b/drivers/staging/quickstart/quickstart.c
index 97e62e9faf6..b183d215336 100644
--- a/drivers/staging/quickstart/quickstart.c
+++ b/drivers/staging/quickstart/quickstart.c
@@ -240,21 +240,24 @@ static int quickstart_acpi_ghid(struct quickstart_acpi *quickstart)
return ret;
}
-static int quickstart_acpi_config(struct quickstart_acpi *quickstart, char *bid)
+static int quickstart_acpi_config(struct quickstart_acpi *quickstart)
{
- int len = strlen(bid);
+ char *bid = acpi_device_bid(quickstart->device);
+ char *name;
int ret;
+ name = kmalloc(strlen(bid) + 1, GFP_KERNEL);
+ if (!name)
+ return -ENOMEM;
+
/* Add button to list */
ret = quickstart_btnlst_add(&quickstart->btn);
- if (ret)
+ if (ret < 0) {
+ kfree(name);
return ret;
-
- quickstart->btn->name = kzalloc(len + 1, GFP_KERNEL);
- if (!quickstart->btn->name) {
- quickstart_btnlst_free();
- return -ENOMEM;
}
+
+ quickstart->btn->name = name;
strcpy(quickstart->btn->name, bid);
return 0;
@@ -280,7 +283,7 @@ static int quickstart_acpi_add(struct acpi_device *device)
device->driver_data = quickstart;
/* Add button to list and initialize some stuff */
- ret = quickstart_acpi_config(quickstart, acpi_device_bid(device));
+ ret = quickstart_acpi_config(quickstart);
if (ret < 0)
goto fail_config;