scsi: ufs: re-probing hba when UFS initialization failed.
We observed several failures when probing hba.
Since there is no error recovery design, the device is
not boot into Android.
Log as shown below:
pwr ctrl cmd 0x2 failed, host upmcrs:0x4
...
ufshcd_change_power_mode: power mode change failed 4
ufshcd_probe_hba: Failed setting power mode, err = 4
Because we do not support removable UFS card,
we can introduce a retry design in async_scan().
The UFS can be initlized after re-probing hba.
Log as shown below:
ufshcd_async_scan failed. Err = 4. Retry 3
qcom_ice 1d90000.ufsice: QC ICE 3.1.79 device found @0xffffff800d9a0000
ufshcd_print_pwr_info:[RX, TX]: gear=[1, 1], lane[1, 1], pwr[SLOWAUTO_MODE, SLOWAUTO_MODE], rate = 0
ufshcd_print_pwr_info:[RX, TX]: gear=[3, 3], lane[2, 2], pwr[FAST MODE, FAST MODE], rate = 2
Bug: 151080047
Test: inject failure and boot to Android
Change-Id: I76af5c89f91c72aecb1b5824fcada66dadbc5c4a
Signed-off-by:
Randall Huang <huangrandall@google.com>
Loading
Please register or sign in to comment