summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Frid <afrid@nvidia.com>2010-08-30 17:09:48 -0700
committerYu-Huan Hsu <yhsu@nvidia.com>2010-09-09 21:30:21 -0700
commitd9756d58daa769393558af6fb1005e5b8e1b78e7 (patch)
tree89f950689f5575ca80de41a0a107693c268c9051
parent573fa124d2094bbe5d0bb3d2fc41d148f8d6a19c (diff)
[ARM/tegra] nvhost: WAR power down of powered off module.
Replaced assert on powering down of already powered off module with skipping the power down procedure in this situation is detected. WAR for bug 727964. (cherry picked from commit c562c8fdf58a552fe9ba1c62ffec66e0b67447e5) Change-Id: I2f55052d38874bf196bc89a06fa478aa3e9783c2 Reviewed-on: http://git-master/r/6283 Tested-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
-rw-r--r--drivers/video/tegra/host/nvhost_acm.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/video/tegra/host/nvhost_acm.c b/drivers/video/tegra/host/nvhost_acm.c
index 360774b72bb6..4628306c02a8 100644
--- a/drivers/video/tegra/host/nvhost_acm.c
+++ b/drivers/video/tegra/host/nvhost_acm.c
@@ -50,8 +50,7 @@ static void powerdown_handler(struct work_struct *work)
struct nvhost_module *mod;
mod = container_of(to_delayed_work(work), struct nvhost_module, powerdown);
mutex_lock(&mod->lock);
- BUG_ON(!mod->powered);
- if (atomic_read(&mod->refcount) == 0) {
+ if ((atomic_read(&mod->refcount) == 0) && mod->powered){
int i;
if (mod->func)
mod->func(mod, NVHOST_POWER_ACTION_OFF);