diff options
Diffstat (limited to 'drivers/cpuidle')
-rw-r--r-- | drivers/cpuidle/cpuidle.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c index 588b44aa1de4..8ffef26ffdcf 100644 --- a/drivers/cpuidle/cpuidle.c +++ b/drivers/cpuidle/cpuidle.c | |||
@@ -285,6 +285,9 @@ int cpuidle_enable_device(struct cpuidle_device *dev) | |||
285 | int ret, i; | 285 | int ret, i; |
286 | struct cpuidle_driver *drv = cpuidle_get_driver(); | 286 | struct cpuidle_driver *drv = cpuidle_get_driver(); |
287 | 287 | ||
288 | if (!dev) | ||
289 | return -EINVAL; | ||
290 | |||
288 | if (dev->enabled) | 291 | if (dev->enabled) |
289 | return 0; | 292 | return 0; |
290 | if (!drv || !cpuidle_curr_governor) | 293 | if (!drv || !cpuidle_curr_governor) |
@@ -369,8 +372,6 @@ static int __cpuidle_register_device(struct cpuidle_device *dev) | |||
369 | struct device *cpu_dev = get_cpu_device((unsigned long)dev->cpu); | 372 | struct device *cpu_dev = get_cpu_device((unsigned long)dev->cpu); |
370 | struct cpuidle_driver *cpuidle_driver = cpuidle_get_driver(); | 373 | struct cpuidle_driver *cpuidle_driver = cpuidle_get_driver(); |
371 | 374 | ||
372 | if (!dev) | ||
373 | return -EINVAL; | ||
374 | if (!try_module_get(cpuidle_driver->owner)) | 375 | if (!try_module_get(cpuidle_driver->owner)) |
375 | return -EINVAL; | 376 | return -EINVAL; |
376 | 377 | ||
@@ -395,6 +396,9 @@ int cpuidle_register_device(struct cpuidle_device *dev) | |||
395 | { | 396 | { |
396 | int ret; | 397 | int ret; |
397 | 398 | ||
399 | if (!dev) | ||
400 | return -EINVAL; | ||
401 | |||
398 | mutex_lock(&cpuidle_lock); | 402 | mutex_lock(&cpuidle_lock); |
399 | 403 | ||
400 | if ((ret = __cpuidle_register_device(dev))) { | 404 | if ((ret = __cpuidle_register_device(dev))) { |