From a50eaad2e1026f823ec28e193892bb066211c400 Mon Sep 17 00:00:00 2001 From: Szymon Janc Date: Wed, 11 Jan 2012 23:22:43 +0100 Subject: [PATCH] --- yaml --- r: 288959 b: refs/heads/master c: ffe1c0565c27324f6e23a5b47ae5ff873553c62f h: refs/heads/master i: 288957: b574712329b8929df1737aca5391e613ca7aef47 288955: df33cf20873110e9e73248b82952363ca01b1965 288951: fbdd5508ce578cd602a2000652682f424aa4a8c0 288943: 7041469461ad3d8836ef008b25c06e39e2dd9230 288927: f050483e7b2bab5102fe9a11b1ff78ee78aece9e 288895: a919aa2ca86795e556d0a4e7dcdc18bd0743b71f v: v3 --- [refs] | 2 +- trunk/drivers/staging/quickstart/quickstart.c | 21 +++++++++++-------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index 72c0f1f4d076..2f5bd453c803 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f27a551968bb8780c8a5255c0ea6c3a2fcaf4a47 +refs/heads/master: ffe1c0565c27324f6e23a5b47ae5ff873553c62f diff --git a/trunk/drivers/staging/quickstart/quickstart.c b/trunk/drivers/staging/quickstart/quickstart.c index 97e62e9faf60..b183d215336e 100644 --- a/trunk/drivers/staging/quickstart/quickstart.c +++ b/trunk/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;