drivers/scsi/ufs/ufshcd.c | 1 + 1 file changed, 1 insertion(+)
The return value of ufshcd_set_dev_pwr_mode is given to
device pm core. However, the function currently returns a result
in scsi command and the device pm core doesn't understand it.
It might lead to unexpected behaviors of user land. I found
the return value led to platform reset in Android.
This patch is to use an generic code for SSU failures.
Signed-off-by: Kiwoong Kim <kwmad.kim@samsung.com>
---
drivers/scsi/ufs/ufshcd.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 1049e41..a60816c 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -8669,6 +8669,7 @@ static int ufshcd_set_dev_pwr_mode(struct ufs_hba *hba,
pwr_mode, ret);
if (ret > 0 && scsi_sense_valid(&sshdr))
scsi_print_sense_hdr(sdp, NULL, &sshdr);
+ ret = -EIO;
}
if (!ret)
--
2.7.4
On 1/17/22 02:29, Kiwoong Kim wrote: > The return value of ufshcd_set_dev_pwr_mode is given to > device pm core. However, the function currently returns a result > in scsi command and the device pm core doesn't understand it. > It might lead to unexpected behaviors of user land. I found > the return value led to platform reset in Android. > > This patch is to use an generic code for SSU failures. > > Signed-off-by: Kiwoong Kim <kwmad.kim@samsung.com> > --- > drivers/scsi/ufs/ufshcd.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c > index 1049e41..a60816c 100644 > --- a/drivers/scsi/ufs/ufshcd.c > +++ b/drivers/scsi/ufs/ufshcd.c > @@ -8669,6 +8669,7 @@ static int ufshcd_set_dev_pwr_mode(struct ufs_hba *hba, > pwr_mode, ret); > if (ret > 0 && scsi_sense_valid(&sshdr)) > scsi_print_sense_hdr(sdp, NULL, &sshdr); > + ret = -EIO; > } > > if (!ret) Shouldn't "ret = -EIO" only be executed if ret > 0? Additionally, please update the documentation of ufshcd_set_dev_pwr_mode(). I'm referring to the following comment: "Returns non-zero if failed to set the requested power mode". Thanks, Bart.
© 2016 - 2026 Red Hat, Inc.