diff options
author | Allen Yu <alleny@nvidia.com> | 2014-03-19 16:49:01 +0800 |
---|---|---|
committer | Bharat Nihalani <bnihalani@nvidia.com> | 2014-03-20 00:56:24 -0700 |
commit | 12c2947deb045cc51b6d8f041d5e0b1602fd2b0e (patch) | |
tree | fa59544606c880748a4781039fabb7909b007734 /drivers/ata | |
parent | 40e85fd6df6ebc0ee5b26dcf7b79c18c59cc2547 (diff) |
video: tegra: dc: Fix race condition in dsi host suspend
There is a race condition between tegra_dsi_host_suspend and
tegra_dsi_deep_sleep. If tegra_dsi_deep_sleep is called in a
seperate thread (e.g. when we are disabling dc) right after we
have judged dsi->host_suspended as false and before acquiring
dsi host suspend locks in tegra_dsi_host_suspend(), we'll go
straightforward to stop dc stream and turn off TE after we
successfully acquire the locks, which will result in some warnings
and finally kernel panic since in this case dc have already been
power-gated and dsi have been clock-gated in the seperate thread.
Move the judgement of dsi->host_suspended into the critical area
to avoid the race condition.
Bug 1448032
Change-Id: I715756cbe0978a370693e9892eb08489ddcc128f
Signed-off-by: Allen Yu <alleny@nvidia.com>
Reviewed-on: http://git-master/r/383772
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'drivers/ata')
0 files changed, 0 insertions, 0 deletions