Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/aacraid/aacraid_cam.c
Show First 20 Lines • Show All 1,005 Lines • ▼ Show 20 Lines | case XPT_PATH_INQ: | ||||
cpi->version_num = 1; | cpi->version_num = 1; | ||||
cpi->target_sprt = 0; | cpi->target_sprt = 0; | ||||
cpi->hba_eng_cnt = 0; | cpi->hba_eng_cnt = 0; | ||||
cpi->max_target = camsc->inf->TargetsPerBus - 1; | cpi->max_target = camsc->inf->TargetsPerBus - 1; | ||||
cpi->max_lun = 7; /* Per the controller spec */ | cpi->max_lun = 7; /* Per the controller spec */ | ||||
cpi->initiator_id = camsc->inf->InitiatorBusId; | cpi->initiator_id = camsc->inf->InitiatorBusId; | ||||
cpi->bus_id = camsc->inf->BusNumber; | cpi->bus_id = camsc->inf->BusNumber; | ||||
cpi->maxio = sc->aac_max_sectors << 9; | cpi->maxio = AAC_MAXIO_SIZE(sc); | ||||
/* | /* | ||||
* Resetting via the passthrough or parallel bus scan | * Resetting via the passthrough or parallel bus scan | ||||
* causes problems. | * causes problems. | ||||
*/ | */ | ||||
cpi->hba_misc = PIM_NOBUSRESET; | cpi->hba_misc = PIM_NOBUSRESET; | ||||
cpi->hba_inquiry = PI_TAG_ABLE; | cpi->hba_inquiry = PI_TAG_ABLE; | ||||
cpi->base_transfer_speed = 300000; | cpi->base_transfer_speed = 300000; | ||||
▲ Show 20 Lines • Show All 177 Lines • ▼ Show 20 Lines | if (ccb->ccb_h.func_code == XPT_SCSI_IO) { | ||||
/* If this is an inquiry command, fake things out */ | /* If this is an inquiry command, fake things out */ | ||||
if (ccb->ccb_h.flags & CAM_CDB_POINTER) | if (ccb->ccb_h.flags & CAM_CDB_POINTER) | ||||
command = ccb->csio.cdb_io.cdb_ptr[0]; | command = ccb->csio.cdb_io.cdb_ptr[0]; | ||||
else | else | ||||
command = ccb->csio.cdb_io.cdb_bytes[0]; | command = ccb->csio.cdb_io.cdb_bytes[0]; | ||||
if (command == INQUIRY) { | if (command == INQUIRY) { | ||||
/* Ignore Data Overrun errors on INQUIRY */ | |||||
imp: This seems unrelated... | |||||
impUnsubmitted Done Inline ActionsIn that I'd make it a separate commit. imp: In that I'd make it a separate commit. | |||||
luporlAuthorUnsubmitted Done Inline ActionsMoved to D30843. luporl: Moved to D30843. | |||||
if ((ccb->ccb_h.status & CAM_STATUS_MASK) == | |||||
CAM_DATA_RUN_ERR) | |||||
ccb->ccb_h.status = (ccb->ccb_h.status & | |||||
~CAM_STATUS_MASK) | CAM_REQ_CMP; | |||||
if (ccb->ccb_h.status == CAM_REQ_CMP) { | if (ccb->ccb_h.status == CAM_REQ_CMP) { | ||||
device = ccb->csio.data_ptr[0] & 0x1f; | device = ccb->csio.data_ptr[0] & 0x1f; | ||||
/* | /* | ||||
* We want DASD and PROC devices to only be | * We want DASD and PROC devices to only be | ||||
* visible through the pass device. | * visible through the pass device. | ||||
*/ | */ | ||||
if ((device == T_DIRECT && | if ((device == T_DIRECT && | ||||
!(sc->aac_feature_bits & AAC_SUPPL_SUPPORTED_JBOD)) || | !(sc->aac_feature_bits & AAC_SUPPL_SUPPORTED_JBOD)) || | ||||
▲ Show 20 Lines • Show All 189 Lines • Show Last 20 Lines |
This seems unrelated...