From: Bean Huo <[email protected]>
Hi Martin and Bart,
These patches are based on Avri's patch "scsi: ufs: ufshpb: Remove HPB2.0 flows",
which has been applid to 5.15/scsi-fixes.
Bean Huo (2):
scsi: core: Ignore the UHPPB preparation result
scsi: ufshpb: Delete ufshpb_set_write_buf_cmd()
drivers/scsi/ufs/ufshcd.c | 11 +++++------
drivers/scsi/ufs/ufshpb.c | 14 --------------
2 files changed, 5 insertions(+), 20 deletions(-)
--
2.25.1
From: Bean Huo <[email protected]>
Ignore the UHPPB preparation result and continue the original request if the
preparation fails
Signed-off-by: Bean Huo <[email protected]>
---
drivers/scsi/ufs/ufshcd.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index d91a405fd181..a11248d89a7e 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -2740,12 +2740,11 @@ static int ufshcd_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd)
lrbp->req_abort_skip = false;
- err = ufshpb_prep(hba, lrbp);
- if (err == -EAGAIN) {
- lrbp->cmd = NULL;
- ufshcd_release(hba);
- goto out;
- }
+ /*
+ * Ignore the UHPPB preparation result and continue with the original
+ * request if preperation fails.
+ */
+ ufshpb_prep(hba, lrbp);
ufshcd_comp_scsi_upiu(hba, lrbp);
--
2.25.1
From: Bean Huo <[email protected]>
Since commit "facdc632bb5f ('scsi: ufs: ufshpb: Remove HPB2.0 flows')",
no body uses it, so delete it.
Signed-off-by: Bean Huo <[email protected]>
---
drivers/scsi/ufs/ufshpb.c | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/drivers/scsi/ufs/ufshpb.c b/drivers/scsi/ufs/ufshpb.c
index 95ce20ff2194..106d8e0e50c7 100644
--- a/drivers/scsi/ufs/ufshpb.c
+++ b/drivers/scsi/ufs/ufshpb.c
@@ -342,20 +342,6 @@ ufshpb_set_hpb_read_to_upiu(struct ufs_hba *hba, struct ufshpb_lu *hpb,
lrbp->cmd->cmd_len = UFS_CDB_SIZE;
}
-static inline void ufshpb_set_write_buf_cmd(unsigned char *cdb,
- unsigned long lpn, unsigned int len,
- int read_id)
-{
- cdb[0] = UFSHPB_WRITE_BUFFER;
- cdb[1] = UFSHPB_WRITE_BUFFER_PREFETCH_ID;
-
- put_unaligned_be32(lpn, &cdb[2]);
- cdb[6] = read_id;
- put_unaligned_be16(len * HPB_ENTRY_SIZE, &cdb[7]);
-
- cdb[9] = 0x00; /* Control = 0x00 */
-}
-
static inline int ufshpb_get_read_id(struct ufshpb_lu *hpb)
{
if (++hpb->cur_read_id >= MAX_HPB_READ_ID)
--
2.25.1