aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLuden <luden@ghostmail.com>2016-03-28 22:08:59 +0000
committerZiyan <jaraidaniel@gmail.com>2016-05-01 23:35:59 +0200
commitf5899ac868e8e65f92c5a40cd7f532df32069e44 (patch)
tree3768759fe95102592d80553449164201c54fa53f /include
parentf3ccb5a5514a8b6a87b77b2ee4c146886ff6d104 (diff)
downloadkernel_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.h1
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;