Re: [PATCH] scsi: ufs: Remove redundant sense size definition

2018-12-07 Thread Martin K. Petersen


Avri,

> By spec, the ufs sense data is 18 bytes long.

Applied to 4.21/scsi-queue, thanks!

-- 
Martin K. Petersen  Oracle Linux Engineering


[PATCH] scsi: ufs: Remove redundant sense size definition

2018-11-22 Thread Avri Altman
By spec, the ufs sense data is 18 bytes long.

Signed-off-by: Avri Altman 
---
 drivers/scsi/ufs/ufs.h|  4 ++--
 drivers/scsi/ufs/ufshcd.c | 17 +++--
 2 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/drivers/scsi/ufs/ufs.h b/drivers/scsi/ufs/ufs.h
index 8e4e526..dd65fea 100644
--- a/drivers/scsi/ufs/ufs.h
+++ b/drivers/scsi/ufs/ufs.h
@@ -46,7 +46,7 @@
 #define QUERY_DESC_HDR_SIZE   2
 #define QUERY_OSF_SIZE(GENERAL_UPIU_REQUEST_SIZE - \
(sizeof(struct utp_upiu_header)))
-#define RESPONSE_UPIU_SENSE_DATA_LENGTH18
+#define UFS_SENSE_SIZE 18
 
 #define UPIU_HEADER_DWORD(byte3, byte2, byte1, byte0)\
cpu_to_be32((byte3 << 24) | (byte2 << 16) |\
@@ -458,7 +458,7 @@ struct utp_cmd_rsp {
__be32 residual_transfer_count;
__be32 reserved[4];
__be16 sense_data_len;
-   u8 sense_data[RESPONSE_UPIU_SENSE_DATA_LENGTH];
+   u8 sense_data[UFS_SENSE_SIZE];
 };
 
 /**
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 003d489..303cefd 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -51,8 +51,6 @@
 #define CREATE_TRACE_POINTS
 #include 
 
-#define UFSHCD_REQ_SENSE_SIZE  18
-
 #define UFSHCD_ENABLE_INTRS(UTP_TRANSFER_REQ_COMPL |\
 UTP_TASK_REQ_COMPL |\
 UFSHCD_ERROR_MASK)
@@ -1890,11 +1888,10 @@ static inline void ufshcd_copy_sense_data(struct 
ufshcd_lrb *lrbp)
int len_to_copy;
 
len = be16_to_cpu(lrbp->ucd_rsp_ptr->sr.sense_data_len);
-   len_to_copy = min_t(int, RESPONSE_UPIU_SENSE_DATA_LENGTH, len);
+   len_to_copy = min_t(int, UFS_SENSE_SIZE, len);
 
-   memcpy(lrbp->sense_buffer,
-   lrbp->ucd_rsp_ptr->sr.sense_data,
-   min_t(int, len_to_copy, UFSHCD_REQ_SENSE_SIZE));
+   memcpy(lrbp->sense_buffer, lrbp->ucd_rsp_ptr->sr.sense_data,
+  len_to_copy);
}
 }
 
@@ -2456,7 +2453,7 @@ static int ufshcd_queuecommand(struct Scsi_Host *host, 
struct scsi_cmnd *cmd)
 
WARN_ON(lrbp->cmd);
lrbp->cmd = cmd;
-   lrbp->sense_bufflen = UFSHCD_REQ_SENSE_SIZE;
+   lrbp->sense_bufflen = UFS_SENSE_SIZE;
lrbp->sense_buffer = cmd->sense_buffer;
lrbp->task_tag = tag;
lrbp->lun = ufshcd_scsi_to_upiu_lun(cmd->device->lun);
@@ -7461,19 +7458,19 @@ static void ufshcd_hba_exit(struct ufs_hba *hba)
0,
0,
0,
-   UFSHCD_REQ_SENSE_SIZE,
+   UFS_SENSE_SIZE,
0};
char *buffer;
int ret;
 
-   buffer = kzalloc(UFSHCD_REQ_SENSE_SIZE, GFP_KERNEL);
+   buffer = kzalloc(UFS_SENSE_SIZE, GFP_KERNEL);
if (!buffer) {
ret = -ENOMEM;
goto out;
}
 
ret = scsi_execute(sdp, cmd, DMA_FROM_DEVICE, buffer,
-   UFSHCD_REQ_SENSE_SIZE, NULL, NULL,
+   UFS_SENSE_SIZE, NULL, NULL,
msecs_to_jiffies(1000), 3, 0, RQF_PM, NULL);
if (ret)
pr_err("%s: failed with err %d\n", __func__, ret);
-- 
1.9.1