- To: Colin Cross <ccross@xxxxxxxxxxx>
- Subject: Re: [PATCHv4 2/4] cpuidle: fix error handling in __cpuidle_register_device
- From: "Rafael J. Wysocki" <rjw@xxxxxxx>
- Date: Wed, 9 May 2012 23:04:00 +0200
- Cc: Kevin Hilman <khilman@xxxxxx>, Len Brown <len.brown@xxxxxxxxx>, Russell King <linux@xxxxxxxxxxxxxxxx>, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>, Kay Sievers <kay.sievers@xxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, Amit Kucheria <amit.kucheria@xxxxxxxxxx>, linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx, Arjan van de Ven <arjan@xxxxxxxxxxxxxxx>, Arnd Bergmann <arnd.bergmann@xxxxxxxxxx>, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
- Delivered-to: linux-pm@xxxxxxxxxxxxxxxxxxxxxxxx
- In-reply-to: <1336438662-10484-3-git-send-email-ccross@android.com>
- References: <1336438662-10484-1-git-send-email-ccross@android.com> <1336438662-10484-3-git-send-email-ccross@android.com>
- User-agent: KMail/1.13.6 (Linux/3.4.0-rc6+; KDE/4.6.0; x86_64; ; )
On Tuesday, May 08, 2012, Colin Cross wrote:
> Fix the error handling in __cpuidle_register_device to include
> the missing list_del. Move it to a label, which will simplify
> the error handling when coupled states are added.
>
> Reviewed-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
> Tested-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
> Reviewed-by: Kevin Hilman <khilman@xxxxxx>
> Tested-by: Kevin Hilman <khilman@xxxxxx>
> Signed-off-by: Colin Cross <ccross@xxxxxxxxxxx>
I've said
Reviewed-by: Rafael J. Wysocki <rjw@xxxxxxx>
to this already too.
Rafael
> ---
> drivers/cpuidle/cpuidle.c | 13 +++++++++----
> 1 files changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c
> index 3e3e3e4..4540672 100644
> --- a/drivers/cpuidle/cpuidle.c
> +++ b/drivers/cpuidle/cpuidle.c
> @@ -403,13 +403,18 @@ static int __cpuidle_register_device(struct cpuidle_device *dev)
>
> per_cpu(cpuidle_devices, dev->cpu) = dev;
> list_add(&dev->device_list, &cpuidle_detected_devices);
> - if ((ret = cpuidle_add_sysfs(cpu_dev))) {
> - module_put(cpuidle_driver->owner);
> - return ret;
> - }
> + ret = cpuidle_add_sysfs(cpu_dev);
> + if (ret)
> + goto err_sysfs;
>
> dev->registered = 1;
> return 0;
> +
> +err_sysfs:
> + list_del(&dev->device_list);
> + per_cpu(cpuidle_devices, dev->cpu) = NULL;
> + module_put(cpuidle_driver->owner);
> + return ret;
> }
>
> /**
>
_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/linux-pm
[Netdev]
[Ethernet Bridging]
[Linux Wireless]
[CPU Freq]
[Kernel Newbies]
[Fedora Kernel]
[Security]
[Linux for Hams]
[Netfilter]
[Bugtraq]
[Photo]
[Yosemite]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux RAID]
[Linux Admin]
[Samba]
[Video 4 Linux]
[Linux Resources]
[Free Dating]
[Archives]