summaryrefslogtreecommitdiffstats
path: root/sys/scsi/cd.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/scsi/cd.c')
-rw-r--r--sys/scsi/cd.c103
1 files changed, 47 insertions, 56 deletions
diff --git a/sys/scsi/cd.c b/sys/scsi/cd.c
index 879b0f7..d387c04 100644
--- a/sys/scsi/cd.c
+++ b/sys/scsi/cd.c
@@ -12,18 +12,9 @@
* on the understanding that TFS is not responsible for the correct
* functioning of this software in any circumstances.
*
- */
-static char rev[] = "$Revision: 1.5 $";
-
-/*
* Ported to run under 386BSD by Julian Elischer (julian@tfs.com) Sept 1992
*
- * PATCHES MAGIC LEVEL PATCH THAT GOT US HERE
- * -------------------- ----- ----------------------
- * CURRENT PATCH LEVEL: 1 00098
- * -------------------- ----- ----------------------
- *
- * 16 Feb 93 Julian Elischer ADDED for SCSI system
+ * $Id$
*/
#define SPLCD splbio
@@ -132,7 +123,8 @@ struct scsi_switch *scsi_switch;
\*******************************************************/
if( unit >= NCD)
{
- printf("Too many scsi CDs..(%d > %d) reconfigure kernel\n",(unit + 1),NCD);
+ printf("Too many scsi CDs..(%d > %d) reconfigure kernel\n",
+ (unit + 1),NCD);
return(0);
}
/*******************************************************\
@@ -159,11 +151,11 @@ struct scsi_switch *scsi_switch;
cd_get_parms(unit, SCSI_NOSLEEP | SCSI_NOMASK);
if(dp->disksize)
{
- printf("cd present\n");
+ printf("cd%d: cd present\n", unit);
}
else
{
- printf("drive empty\n");
+ printf("cd%d: drive empty\n", unit);
}
cd->flags |= CDINIT;
return;
@@ -328,7 +320,7 @@ int flags;
{
if (cd_xfer_block_wait[unit])
{
- printf("doing a wakeup from NOMASK mode\n");
+ printf("cd%d: doing a wakeup from NOMASK mode\n", unit);
wakeup((caddr_t)&cd_free_xfer[unit]);
}
xs->next = cd_free_xfer[unit];
@@ -1018,7 +1010,7 @@ cd_size(unit, flags)
2000,
flags) != 0)
{
- printf("could not get size of unit %d\n", unit);
+ printf("cd%d: could not get size\n", unit);
return(0);
} else {
size = rdcap.addr_0 + 1 ;
@@ -1265,7 +1257,7 @@ int unit,type,flags;
0) != 0)
{
if(!(flags & SCSI_SILENT))
- printf("cannot prevent/allow on cd%d\n", unit);
+ printf("cd%d: cannot prevent/allow\n", unit);
return(0);
}
}
@@ -1415,7 +1407,7 @@ int datalen;
xs = cd_get_xs(unit,flags); /* should wait unless booting */
if(!xs)
{
- printf("cd_scsi_cmd%d: controller busy"
+ printf("cd%d: scsi_cmd controller busy"
" (this should never happen)\n",unit);
return(EBUSY);
}
@@ -1539,10 +1531,10 @@ struct scsi_xfer *xs;
case 0x1:
if(!silent)
{
- printf("cd%d: soft error(corrected) ", unit);
+ printf("cd%d: soft error(corrected)", unit);
if(sense->error_code & SSD_ERRCODE_VALID)
{
- printf("block no. %d (decimal)",
+ printf(" block no. %d (decimal)",
(sense->ext.extended.info[0] <<24)|
(sense->ext.extended.info[1] <<16)|
(sense->ext.extended.info[2] <<8)|
@@ -1552,16 +1544,15 @@ struct scsi_xfer *xs;
}
return(ESUCCESS);
case 0x2:
- if(!silent)printf("cd%d: not ready\n ",
- unit);
+ if(!silent)printf("cd%d: not ready\n", unit);
return(ENODEV);
case 0x3:
if(!silent)
{
- printf("cd%d: medium error ", unit);
+ printf("cd%d: medium error", unit);
if(sense->error_code & SSD_ERRCODE_VALID)
{
- printf("block no. %d (decimal)",
+ printf(" block no. %d (decimal)",
(sense->ext.extended.info[0] <<24)|
(sense->ext.extended.info[1] <<16)|
(sense->ext.extended.info[2] <<8)|
@@ -1571,15 +1562,15 @@ struct scsi_xfer *xs;
}
return(EIO);
case 0x4:
- if(!silent)printf("cd%d: non-media hardware failure\n ",
+ if(!silent)printf("cd%d: non-media hardware failure\n",
unit);
return(EIO);
case 0x5:
- if(!silent)printf("cd%d: illegal request\n ",
+ if(!silent)printf("cd%d: illegal request\n",
unit);
return(EINVAL);
case 0x6:
- if(!silent)printf("cd%d: Unit attention.\n ", unit);
+ if(!silent)printf("cd%d: Unit attention\n", unit);
if (cd_data[unit].openparts)
cd_data[unit].flags &= ~(CDVALID | CDHAVELABEL);
{
@@ -1589,11 +1580,11 @@ struct scsi_xfer *xs;
case 0x7:
if(!silent)
{
- printf("cd%d: attempted protection violation ",
+ printf("cd%d: attempted protection violation",
unit);
if(sense->error_code & SSD_ERRCODE_VALID)
{
- printf("block no. %d (decimal)\n",
+ printf(" block no. %d (decimal)",
(sense->ext.extended.info[0] <<24)|
(sense->ext.extended.info[1] <<16)|
(sense->ext.extended.info[2] <<8)|
@@ -1605,11 +1596,11 @@ struct scsi_xfer *xs;
case 0x8:
if(!silent)
{
- printf("cd%d: block wrong state (worm)\n ",
- unit);
+ printf("cd%d: block wrong state (worm)",
+ unit);
if(sense->error_code & SSD_ERRCODE_VALID)
{
- printf("block no. %d (decimal)\n",
+ printf(" block no. %d (decimal)",
(sense->ext.extended.info[0] <<24)|
(sense->ext.extended.info[1] <<16)|
(sense->ext.extended.info[2] <<8)|
@@ -1619,25 +1610,21 @@ struct scsi_xfer *xs;
}
return(EIO);
case 0x9:
- if(!silent)printf("cd%d: vendor unique\n",
- unit);
+ if(!silent)printf("cd%d: vendor unique\n", unit);
return(EIO);
case 0xa:
- if(!silent)printf("cd%d: copy aborted\n ",
- unit);
+ if(!silent)printf("cd%d: copy aborted\n", unit);
return(EIO);
case 0xb:
- if(!silent)printf("cd%d: command aborted\n ",
- unit);
+ if(!silent)printf("cd%d: command aborted\n", unit);
return(EIO);
case 0xc:
if(!silent)
{
- printf("cd%d: search returned\n ",
- unit);
+ printf("cd%d: search returned", unit);
if(sense->error_code & SSD_ERRCODE_VALID)
{
- printf("block no. %d (decimal)\n",
+ printf(" block no. %d (decimal)",
(sense->ext.extended.info[0] <<24)|
(sense->ext.extended.info[1] <<16)|
(sense->ext.extended.info[2] <<8)|
@@ -1647,17 +1634,15 @@ struct scsi_xfer *xs;
}
return(ESUCCESS);
case 0xd:
- if(!silent)printf("cd%d: volume overflow\n ",
- unit);
+ if(!silent)printf("cd%d: volume overflow\n", unit);
return(ENOSPC);
case 0xe:
if(!silent)
{
- printf("cd%d: verify miscompare\n ",
- unit);
+ printf("cd%d: verify miscompare", unit);
if(sense->error_code & SSD_ERRCODE_VALID)
{
- printf("block no. %d (decimal)\n",
+ printf(" block no. %d (decimal)",
(sense->ext.extended.info[0] <<24)|
(sense->ext.extended.info[1] <<16)|
(sense->ext.extended.info[2] <<8)|
@@ -1667,22 +1652,27 @@ struct scsi_xfer *xs;
}
return(EIO);
case 0xf:
- if(!silent)printf("cd%d: unknown error key\n ",
- unit);
+ if(!silent)printf("cd%d: unknown error key\n", unit);
return(EIO);
}
break;
}
default:
{
- if(!silent)printf("cd%d: error code %d\n",
- unit,
- sense->error_code & SSD_ERRCODE);
- if(sense->error_code & SSD_ERRCODE_VALID)
- if(!silent)printf("block no. %d (decimal)\n",
- (sense->ext.unextended.blockhi <<16)
- + (sense->ext.unextended.blockmed <<8)
- + (sense->ext.unextended.blocklow ));
+ if(!silent)
+ {
+ printf("cd%d: error code %d",
+ unit,
+ sense->error_code & SSD_ERRCODE);
+ if(sense->error_code & SSD_ERRCODE_VALID)
+ {
+ printf(" block no. %d (decimal)",
+ (sense->ext.unextended.blockhi <<16)
+ + (sense->ext.unextended.blockmed <<8)
+ + (sense->ext.unextended.blocklow ));
+ }
+ printf("\n");
+ }
}
return(EIO);
}
@@ -1697,6 +1687,7 @@ cdsize(dev_t dev)
return (-1);
}
+#if 0
show_mem(address,num)
unsigned char *address;
int num;
@@ -1711,4 +1702,4 @@ int num;
}
printf("\n------------------------------\n");
}
-
+#endif
OpenPOWER on IntegriCloud