Spotted by Charles Coffing <ccoffing@novell.com>
return -EINVAL;
policy = kmalloc(sizeof(struct cpufreq_policy), GFP_KERNEL);
- if (!policy)
- return -ENOMEM;
+ if (!policy) {
+ ret = -ENOMEM;
+ goto nomem_out;
+ }
memset(policy, 0, sizeof(struct cpufreq_policy));
policy->cpu = cpu;
return 0;
- err_out_unregister:
+err_out_unregister:
spin_lock_irqsave(&cpufreq_driver_lock, flags);
cpufreq_cpu_data[cpu] = NULL;
spin_unlock_irqrestore(&cpufreq_driver_lock, flags);
kobject_unregister(&policy->kobj);
wait_for_completion(&policy->kobj_unregister);
- err_out:
+err_out:
kfree(policy);
+
+nomem_out:
module_put(cpufreq_driver->owner);
return ret;
}