aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/arcmsr
diff options
context:
space:
mode:
authorJim Harris <jimharris@FreeBSD.org>2012-12-18 00:00:07 +0000
committerJim Harris <jimharris@FreeBSD.org>2012-12-18 00:00:07 +0000
commit61ba2ac6b44e016b36bac70a7dc9d62a8d60da55 (patch)
treec8f336c65e91ccf6436830e9795418c2a53f7815 /sys/dev/arcmsr
parent44383aa35eeffec9687329bce2b0694a7633cffe (diff)
Notes
Diffstat (limited to 'sys/dev/arcmsr')
-rw-r--r--sys/dev/arcmsr/arcmsr.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/arcmsr/arcmsr.c b/sys/dev/arcmsr/arcmsr.c
index af359be89a72..609ff872790f 100644
--- a/sys/dev/arcmsr/arcmsr.c
+++ b/sys/dev/arcmsr/arcmsr.c
@@ -2432,14 +2432,13 @@ static void arcmsr_bus_reset(struct AdapterControlBlock *acb)
static void arcmsr_handle_virtual_command(struct AdapterControlBlock *acb,
union ccb * pccb)
{
- pccb->ccb_h.status |= CAM_REQ_CMP;
switch (pccb->csio.cdb_io.cdb_bytes[0]) {
case INQUIRY: {
unsigned char inqdata[36];
char *buffer=pccb->csio.data_ptr;
if (pccb->ccb_h.target_lun) {
- pccb->ccb_h.status |= CAM_SEL_TIMEOUT;
+ pccb->ccb_h.status |= CAM_DEV_NOT_THERE;
xpt_done(pccb);
return;
}
@@ -2455,6 +2454,7 @@ static void arcmsr_handle_virtual_command(struct AdapterControlBlock *acb,
strncpy(&inqdata[16], "RAID controller ", 16); /* Product Identification */
strncpy(&inqdata[32], "R001", 4); /* Product Revision */
memcpy(buffer, inqdata, sizeof(inqdata));
+ pccb->ccb_h.status |= CAM_REQ_CMP;
xpt_done(pccb);
}
break;
@@ -2464,10 +2464,12 @@ static void arcmsr_handle_virtual_command(struct AdapterControlBlock *acb,
pccb->ccb_h.status |= CAM_SCSI_STATUS_ERROR;
pccb->csio.scsi_status = SCSI_STATUS_CHECK_COND;
}
+ pccb->ccb_h.status |= CAM_REQ_CMP;
xpt_done(pccb);
}
break;
default:
+ pccb->ccb_h.status |= CAM_REQ_CMP;
xpt_done(pccb);
}
}