scsi: ufs: suspend clock scaling for failed runtime_resume
authorGilad Broner <gbroner@codeaurora.org>
Tue, 18 Oct 2016 00:10:00 +0000 (17:10 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 8 Nov 2016 22:29:58 +0000 (17:29 -0500)
commita508253d0916a0c5973081c4059425ec04e324c8
tree91398953943563ac0e6c3c9089fb4062c391e582
parentdcea0bfbc4cb6796a222ffaeebd77a0a89a1babc
scsi: ufs: suspend clock scaling for failed runtime_resume

During runtime resume operation, clock scaling may get indirectly
resumed via call to ufshcd_set_dev_pwr_mode(): Start/Stop Unit command
times out and SCSI error handling ultimately calls the host reset
handler to recover, during which clock scaling is resumed.  Error case
exit path of runtime resume will disable clocks.  As clock scaling was
already resumed, it will get scheduled later on and try to access UFS
registers while clocks are disabled, resulting in unclocked register
access.

Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ufs/ufshcd.c