summary refs log tree commit diff
diff options
context:
space:
mode:
authorBart Van Assche <bvanassche@acm.org>2020-03-13 13:31:02 -0700
committerMartin K. Petersen <martin.petersen@oracle.com>2020-03-16 22:08:36 -0400
commit3cef59481a1f57762eee15b0ebcd344278353c65 (patch)
treeab10842a9da7c26cf4a9e194cf5635ad4dd8bfe3
parent35b703dbfa156f40b6e702191e43a3766fa71244 (diff)
downloadlinux-3cef59481a1f57762eee15b0ebcd344278353c65.tar.gz
scsi: scsi_trace: Use get_unaligned_be24()
This makes the SCSI tracing code slightly easier to read.

Link: https://lore.kernel.org/r/20200313203102.16613-6-bvanassche@acm.org
Fixes: bf8162354233 ("[SCSI] add scsi trace core functions and put trace points")
Cc: Christoph Hellwig <hch@lst.de>
Cc: James E.J. Bottomley <jejb@linux.ibm.com>
Cc: Martin K. Petersen <martin.petersen@oracle.com>
Reported-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/scsi_trace.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/scsi/scsi_trace.c b/drivers/scsi/scsi_trace.c
index ac35c301c792..41a950075913 100644
--- a/drivers/scsi/scsi_trace.c
+++ b/drivers/scsi/scsi_trace.c
@@ -18,11 +18,9 @@ static const char *
 scsi_trace_rw6(struct trace_seq *p, unsigned char *cdb, int len)
 {
 	const char *ret = trace_seq_buffer_ptr(p);
-	u32 lba = 0, txlen;
+	u32 lba, txlen;
 
-	lba |= ((cdb[1] & 0x1F) << 16);
-	lba |=  (cdb[2] << 8);
-	lba |=   cdb[3];
+	lba = get_unaligned_be24(&cdb[1]) & 0x1fffff;
 	/*
 	 * From SBC-2: a TRANSFER LENGTH field set to zero specifies that 256
 	 * logical blocks shall be read (READ(6)) or written (WRITE(6)).