diff options
| author | Jim Harris <jimharris@FreeBSD.org> | 2012-12-18 00:00:07 +0000 |
|---|---|---|
| committer | Jim Harris <jimharris@FreeBSD.org> | 2012-12-18 00:00:07 +0000 |
| commit | 61ba2ac6b44e016b36bac70a7dc9d62a8d60da55 (patch) | |
| tree | c8f336c65e91ccf6436830e9795418c2a53f7815 /sys/dev/arcmsr | |
| parent | 44383aa35eeffec9687329bce2b0694a7633cffe (diff) | |
Notes
Diffstat (limited to 'sys/dev/arcmsr')
| -rw-r--r-- | sys/dev/arcmsr/arcmsr.c | 6 |
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); } } |
