PM / Sleep: Initialize wakeup source locks in wakeup_source_add()
Initialize wakeup source locks in wakeup_source_add() instead of wakeup_source_create(), because otherwise the locks of the wakeup sources that haven't been allocated with wakeup_source_create() aren't initialized and handled properly. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
This commit is contained in:
parent
a556d5b583
commit
7c95149b7f
|
@ -64,7 +64,6 @@ struct wakeup_source *wakeup_source_create(const char *name)
|
|||
if (!ws)
|
||||
return NULL;
|
||||
|
||||
spin_lock_init(&ws->lock);
|
||||
if (name)
|
||||
ws->name = kstrdup(name, GFP_KERNEL);
|
||||
|
||||
|
@ -105,6 +104,7 @@ void wakeup_source_add(struct wakeup_source *ws)
|
|||
if (WARN_ON(!ws))
|
||||
return;
|
||||
|
||||
spin_lock_init(&ws->lock);
|
||||
setup_timer(&ws->timer, pm_wakeup_timer_fn, (unsigned long)ws);
|
||||
ws->active = false;
|
||||
|
||||
|
|
Loading…
Reference in New Issue