scsi: ufs: Skip last hci reset to get valid register values
authorJunwoo Lee <junwoo80.lee@samsung.com>
Tue, 5 Jul 2022 08:35:38 +0000 (17:35 +0900)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 7 Jul 2022 21:28:51 +0000 (17:28 -0400)
commit174e909b5435d3f840067f36c4915a618d44b6bb
treef41d9de8ee2597866e9ca7f5669457debba86ff1
parent1466b3bc456a04c2eecb639d303b91ca8ef02c33
scsi: ufs: Skip last hci reset to get valid register values

Once the host link startup fails 3 times, all host registers are reset to
default values except in ufshcd_hba_enable().

The ufs host controller is disabled and enabled in ufshcd_hba_enable().
Consequently we need to skip last hci reset to get valid host register
values.

e.g.
[    1.898026] [2:  kworker/u16:2:  211] ufs: link startup failed 1
[    1.898133] [2:  kworker/u16:2:  211] host_regs: 000000001383ff1f 00000000 00000300 00000000
[    1.898141] [2:  kworker/u16:2:  211] host_regs: 0000001000000106 000001ce 00000000 00000000
[    1.898148] [2:  kworker/u16:2:  211] host_regs: 0000002000000000 00000470 00000000 00000000
[    1.898155] [2:  kworker/u16:2:  211] host_regs: 0000003000000008 00000003 00000000 00000000
[    1.898163] [2:  kworker/u16:2:  211] host_regs: 0000004000000000 00000000 00000000 00000000
[    1.898171] [2:  kworker/u16:2:  211] host_regs: 0000005000000000 00000000 00000000 00000000
[    1.898177] [2:  kworker/u16:2:  211] host_regs: 0000006000000000 00000000 00000000 00000000
[    1.898186] [2:  kworker/u16:2:  211] host_regs: 0000007000000000 00000000 00000000 00000000
[    1.898194] [2:  kworker/u16:2:  211] host_regs: 0000008000000000 00000000 00000000 00000000
[    1.898201] [2:  kworker/u16:2:  211] host_regs: 0000009000000000 00000000 00000000 00000000

Link: https://lore.kernel.org/r/20220705083538.15143-1-sh043.lee@samsung.com
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Signed-off-by: Junwoo Lee <junwoo80.lee@samsung.com>
Signed-off-by: Seunghui Lee <sh043.lee@samsung.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/core/ufshcd.c