forked from Minki/linux
[SCSI] Fix printing of variable length commands
We dereferenced the MAINTENANCE IN array when decoding variable length commands. Use the right array. Also consolidate identical if statements below. Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
parent
78d85019ba
commit
8475f688d7
@ -219,18 +219,15 @@ static void print_opcode_name(unsigned char * cdbp, int cdb_len)
|
||||
break;
|
||||
}
|
||||
sa = (cdbp[8] << 8) + cdbp[9];
|
||||
name = get_sa_name(maint_in_arr, MAINT_IN_SZ, sa);
|
||||
if (name) {
|
||||
name = get_sa_name(variable_length_arr, VARIABLE_LENGTH_SZ, sa);
|
||||
if (name)
|
||||
printk("%s", name);
|
||||
if ((cdb_len > 0) && (len != cdb_len))
|
||||
printk(", in_cdb_len=%d, ext_len=%d",
|
||||
len, cdb_len);
|
||||
} else {
|
||||
else
|
||||
printk("cdb[0]=0x%x, sa=0x%x", cdb0, sa);
|
||||
if ((cdb_len > 0) && (len != cdb_len))
|
||||
printk(", in_cdb_len=%d, ext_len=%d",
|
||||
len, cdb_len);
|
||||
}
|
||||
|
||||
if ((cdb_len > 0) && (len != cdb_len))
|
||||
printk(", in_cdb_len=%d, ext_len=%d", len, cdb_len);
|
||||
|
||||
break;
|
||||
case MAINTENANCE_IN:
|
||||
sa = cdbp[1] & 0x1f;
|
||||
|
Loading…
Reference in New Issue
Block a user