From: Rafael J. Wysocki Date: Fri, 17 Feb 2012 22:39:39 +0000 (+0100) Subject: PM / Sleep: Make __pm_stay_awake() delete wakeup source timers X-Git-Tag: v3.4-rc1~173^2~7^2~3 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4782e1654bdbd30cf307da090b3c4f70157477cb;p=pandora-kernel.git PM / Sleep: Make __pm_stay_awake() delete wakeup source timers If __pm_stay_awake() is called after __pm_wakeup_event() for the same wakep source object before its timer expires, it won't cancel the timer, so the wakeup source will be deactivated from the timer function as scheduled by __pm_wakeup_event(). In that case __pm_stay_awake() doesn't have any effect beyond incrementing the wakeup source's event_count field, although it should cancel the timer and make the wakeup source stay active until __pm_relax() is called for it. To fix this problem make __pm_stay_awake() delete the wakeup source's timer and ensure that it won't be deactivated from the timer funtion afterwards by clearing its timer_expires field. Reported-by: Arve Hjønnevåg Signed-off-by: Rafael J. Wysocki --- Reading git-diff-tree failed