summaryrefslogtreecommitdiff
path: root/drivers/scsi
diff options
context:
space:
mode:
authorCan Guo <cang@codeaurora.org>2017-05-11 08:46:03 +0800
committerCan Guo <cang@codeaurora.org>2017-05-12 08:20:54 +0800
commit6a4c4fcfe2066f86eef3650e0468402cb71b3d70 (patch)
tree746ce9eca013c18729ac3f9beb641b5bbcab8f94 /drivers/scsi
parentd70b0a18f6e507fdfde4c29a341f0ffe586a5d23 (diff)
scsi: ufs: Initialize cmd_id and check lrbp->cmd NULL
In commit d70b0a18f6e5 ("scsi: ufs: add command logging infrastructure"), cmd_id is not initialized and lrbp->cmd is explicitly dereferenced without checking NULL. Fix them by initializing cmd_id with an initial value 0 and checking NULL for lrbp->cmd. Change-Id: I6f66066adc8d53e3615df50ac49dd313f6d7ea8e Signed-off-by: Can Guo <cang@codeaurora.org>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/ufs/ufshcd.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 7e2f5e06c036..f7ea76ab65c7 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -653,7 +653,7 @@ static inline void ufshcd_cond_add_cmd_trace(struct ufs_hba *hba,
struct ufshcd_lrb *lrbp;
char *cmd_type;
u8 opcode = 0;
- u8 cmd_id, idn = 0;
+ u8 cmd_id = 0, idn = 0;
sector_t lba = -1;
int transfer_len = -1;
@@ -674,7 +674,7 @@ static inline void ufshcd_cond_add_cmd_trace(struct ufs_hba *hba,
}
}
- if (lrbp->command_type == UTP_CMD_TYPE_SCSI) {
+ if (lrbp->cmd && (lrbp->command_type == UTP_CMD_TYPE_SCSI)) {
cmd_type = "scsi";
cmd_id = (u8)(*lrbp->cmd->cmnd);
} else if (lrbp->command_type == UTP_CMD_TYPE_DEV_MANAGE) {