diff options
author | Luden <luden@ghostmail.com> | 2016-03-28 22:08:59 +0000 |
---|---|---|
committer | Ziyan <jaraidaniel@gmail.com> | 2016-05-01 23:35:59 +0200 |
commit | f5899ac868e8e65f92c5a40cd7f532df32069e44 (patch) | |
tree | 3768759fe95102592d80553449164201c54fa53f /include | |
parent | f3ccb5a5514a8b6a87b77b2ee4c146886ff6d104 (diff) | |
download | kernel_samsung_tuna-f5899ac868e8e65f92c5a40cd7f532df32069e44.zip kernel_samsung_tuna-f5899ac868e8e65f92c5a40cd7f532df32069e44.tar.gz kernel_samsung_tuna-f5899ac868e8e65f92c5a40cd7f532df32069e44.tar.bz2 |
Ducati reloading fix for early suspend.
When the device is suspended with the running camera and then resumed,
it's possible that autosuspend counter won't reach zero and the main
condition in rproc_last_busy() won't be satisfied, so rproc won't be
restarted.
Fixed that by tracking the need to restart rproc separately and
independent of pm state.
Also cleaned up reference counting in rproc_put and rproc_get a bit
to make sure that forced offline and restart don't screw up the number
of references + won't result in race conditions.
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/remoteproc.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/remoteproc.h b/include/linux/remoteproc.h index d8ca826..47e7fc8 100644 --- a/include/linux/remoteproc.h +++ b/include/linux/remoteproc.h @@ -277,6 +277,7 @@ struct rproc { unsigned sus_timeout; bool force_suspend; bool need_resume; + bool need_restart; struct mutex pm_lock; #endif struct pm_qos_request_list *qos_request; |