diff options
author | dufault <dufault@FreeBSD.org> | 1995-03-15 14:22:12 +0000 |
---|---|---|
committer | dufault <dufault@FreeBSD.org> | 1995-03-15 14:22:12 +0000 |
commit | a2ba9cd1b8ee3df0f77c580a3f92fa591873ea5c (patch) | |
tree | fe70ef9e140150260e09472556888a192eb7f6a7 /sys/scsi/scsi_base.c | |
parent | c20bdce1e09ff7c3db7910a8b0353fadb210e6f1 (diff) | |
download | FreeBSD-src-a2ba9cd1b8ee3df0f77c580a3f92fa591873ea5c.zip FreeBSD-src-a2ba9cd1b8ee3df0f77c580a3f92fa591873ea5c.tar.gz |
1. Add text for ASC/ASCQ
2. Clean up probe messages. This is how I propose it looks for 2.1 so
if you don't like it you have my e-mail address.
Diffstat (limited to 'sys/scsi/scsi_base.c')
-rw-r--r-- | sys/scsi/scsi_base.c | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/sys/scsi/scsi_base.c b/sys/scsi/scsi_base.c index a055b33..954e4cc 100644 --- a/sys/scsi/scsi_base.c +++ b/sys/scsi/scsi_base.c @@ -8,7 +8,7 @@ * file. * * Written by Julian Elischer (julian@dialix.oz.au) - * $Id: scsi_base.c,v 1.20 1995/02/15 07:44:07 davidg Exp $ + * $Id: scsi_base.c,v 1.21 1995/03/04 20:50:49 dufault Exp $ */ #define SPLSD splbio @@ -656,6 +656,7 @@ void scsi_sense_print(xs) u_int32 key; u_int32 info; errval errcode; + int asc, ascq; /* This sense key text now matches what is in the SCSI spec * (Yes, even the capitals) @@ -701,20 +702,20 @@ void scsi_sense_print(xs) case 0x7: /* DATA PROTECT */ break; case 0x8: /* BLANK CHECK */ - printf(" requested size: %ld (decimal)", + printf(" req sz: %ld (decimal)", info); break; default: if (info) - printf(" info:%08lx", info); + printf(" info:%lx", info); } } else if (info) - printf(" info(inval):%08lx", info); + printf(" info?:%lx", info); if (ext->extra_len >= 4) { if (memcmp(ext->cmd_spec_info, "\0\0\0\0", 4)) { - printf(" csi:%02x,%02x,%02x,%02x", + printf(" csi:%x,%x,%x,%x", ext->cmd_spec_info[0], ext->cmd_spec_info[1], ext->cmd_spec_info[2], @@ -722,21 +723,19 @@ void scsi_sense_print(xs) } } - if (ext->extra_len >= 5 && ext->add_sense_code) { - printf(" asc:%02x", ext->add_sense_code); - } - - if (ext->extra_len >= 6 && ext->add_sense_code_qual) { - printf(" ascq:%02x", ext->add_sense_code_qual); - } + asc = (ext->extra_len >= 5) ? ext->add_sense_code : 0; + ascq = (ext->extra_len >= 6) ? ext->add_sense_code_qual : 0; + if (asc || ascq) + printf(" asc:%x,%x %s", asc, ascq, scsi_sense_desc(asc, ascq)); + if (ext->extra_len >= 7 && ext->fru) { - printf(" fru:%02x", ext->fru); + printf(" fru:%x", ext->fru); } if (ext->extra_len >= 10 && (ext->sense_key_spec_1 & SSD_SCS_VALID)) { - printf(" sks:%02x,%04x", ext->sense_key_spec_1, + printf(" sks:%x,%x", ext->sense_key_spec_1, (ext->sense_key_spec_2 | ext->sense_key_spec_3)); } |