OSDN Git Service

scsi: ufs-mediatek: Do not gate clocks if auto-hibern8 is not entered yet
authorStanley Chu <stanley.chu@mediatek.com>
Mon, 1 Jun 2020 10:46:43 +0000 (18:46 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 16 Jun 2020 03:06:39 +0000 (23:06 -0400)
commit9006e3986f6689897c2f1ede2671656b1cb41582
treee8d364cb19aef2f0744f7776758422df997c347e
parentfb43337cd4cff6639b174e3b6766e6eade523836
scsi: ufs-mediatek: Do not gate clocks if auto-hibern8 is not entered yet

There is a chance that link enters hibern8 via auto-hibern8 scheme during
the clock-gating flow. Clocks shall not be gated if link is still active
otherwise host or device may hang.

Fix this by returning error code to the caller __ufshcd_setup_clocks() to
skip gating clocks there if link is not confirmed in hibern8 state yet.

Also allow some waiting time for the hibern8 state transition.

Link: https://lore.kernel.org/r/20200601104646.15436-3-stanley.chu@mediatek.com
Reviewed-by: Andy Teng <andy.teng@mediatek.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ufs/ufs-mediatek.c