Re: [PATCH] drivers/base: error handling fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 5 Oct 2006 14:48:48 +0200,
Heiko Carstens <[email protected]> wrote:

> If sysfs_remove_group() would also work for non-created (-existent) groups
> then the patch below would work. Unfortunately that is not the case. So one
> would have to remember if sysfs_create_group() was done and succeeded before
> calling sysfs_remove_group()...
> There must be an easier way.

<snip>

> @@ -132,11 +135,15 @@ static struct notifier_block __cpuinitda
>  
>  static int __cpuinit topology_sysfs_init(void)
>  {
> -	int i;
> -
> -	for_each_online_cpu(i) {
> -		topology_cpu_callback(&topology_cpu_notifier, CPU_ONLINE,
> -				(void *)(long)i);
> +	struct sys_device *sys_dev;
> +	int cpu;
> +	int rc;
> +
> +	for_each_online_cpu(cpu) {
> +		sys_dev = get_cpu_sysdev(cpu);
> +		rc = topology_add_dev(sys_dev);
> +		if (rc)
> +			return rc;
>  	}
>  
>  	register_hotcpu_notifier(&topology_cpu_notifier);

Shouldn't the added attribute groups be removed again in the failure
case?

Also, it might be a bit overkill to fail the whole initialization
because of one "bad" cpu. (And the "bad" cpu wouldn't matter if we
could safely remove non-existent groups :)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux