mmc: host: Fix soft lockup issue
authorPavan Kunapuli <pkunapuli@nvidia.com>
Tue, 27 Aug 2013 16:34:21 +0000 (21:34 +0530)
committerMrutyunjay Sawant <msawant@nvidia.com>
Tue, 3 Sep 2013 13:58:27 +0000 (06:58 -0700)
commit2e973631fc2b28ef540386509c998c13117dd538
tree8796e19386344b18adc5424bc6a731ed92858913
parentc59057530b62a382358854ab886822e7bb489a8e
mmc: host: Fix soft lockup issue

This patch fixes the soft lockup that could occur as a result of commit
8c226304. The mutex_unlock call from interrupt context could cause a
deadlock.

This patch partially reverts the commit 8c226304 by removing the mutex
lock/unlock calls before and after data transfers. mutex locks in
tuning implementation are still present.

This patch ensures that data transfers on all controllers triggered
while running tuning will be stopped until tuning is done inorder to
avoid the risk of any failures due to core voltage changes in tuning.

Locking needs to be extended for the transfer that is already in progress.
This will be done in subsequent patches after thorough testing.

Bug 1354967

Change-Id: Ic6bfd22ec84f24e8782d7da6e3267a7300cb267e
Signed-off-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Reviewed-on: http://git-master/r/266802
Reviewed-by: Mrutyunjay Sawant <msawant@nvidia.com>
Tested-by: Mrutyunjay Sawant <msawant@nvidia.com>
drivers/mmc/host/sdhci-tegra.c
drivers/mmc/host/sdhci.c