diff options
| author | mjacob <mjacob@NetBSD.org> | 2000-01-14 02:40:45 +0000 |
|---|---|---|
| committer | mjacob <mjacob@NetBSD.org> | 2000-01-14 02:40:45 +0000 |
| commit | 4cb8fbf10d0398f79f4a4aedb89898356afb274f (patch) | |
| tree | 445b457db0108f08549e677bc2491d18f53a8cd2 /sys/dev | |
| parent | a6b81f14b12e85f43a7cfbf340c88f839448ca1e (diff) | |
Print out the contents of an otherwise unreported undecodable
sense data buffer. This helps catch adapter breakage mostly.
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/scsipi/scsipi_base.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/sys/dev/scsipi/scsipi_base.c b/sys/dev/scsipi/scsipi_base.c index a3ddae0a339..dff37a2643a 100644 --- a/sys/dev/scsipi/scsipi_base.c +++ b/sys/dev/scsipi/scsipi_base.c @@ -1,4 +1,4 @@ -/* $NetBSD: scsipi_base.c,v 1.27 1999/10/20 15:22:28 enami Exp $ */ +/* $NetBSD: scsipi_base.c,v 1.28 2000/01/14 02:40:45 mjacob Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -409,6 +409,23 @@ scsipi_interpret_sense(xs) * Not code 70, just report it */ default: +#if defined(SCSIDEBUG) || defined(DEBUG) + { + static char *uc = "undecodable sense error"; + int i; + u_int8_t *cptr = (u_int8_t *) sense; + sc_link->sc_print_addr(sc_link); + if (xs->cmd == &xs->cmdstore) { + printf("%s for opcode 0x%x, data=", + uc, xs->cmdstore.opcode); + } else { + printf("%s, data=", uc); + } + for (i = 0; i < sizeof (sense); i++) + printf(" 0x%02x", *(cptr++) & 0xff); + printf("\n"); + } +#else sc_link->sc_print_addr(sc_link); printf("Sense Error Code 0x%x", sense->error_code & SSD_ERRCODE); @@ -419,6 +436,7 @@ scsipi_interpret_sense(xs) _3btol(usense->block)); } printf("\n"); +#endif return (EIO); } } |
