m68k/scsi: a3000 - Do not use legacy Scsi_Host.base
[safe/jmp/linux-2.6] / drivers / scsi / constants.c
index 9129bcf..cd05e04 100644 (file)
@@ -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;
@@ -349,6 +346,9 @@ void scsi_print_command(struct scsi_cmnd *cmd)
 {
        int k;
 
+       if (cmd->cmnd == NULL)
+               return;
+
        scmd_printk(KERN_INFO, cmd, "CDB: ");
        print_opcode_name(cmd->cmnd, cmd->cmd_len);