Style cleanup.
Removed some temporary debug output. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7834 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -79,8 +79,10 @@ scsi_requeue_request(scsi_ccb *request, bool bus_overflow)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// restart request ASAP because something went wrong
|
/** restart request ASAP because something went wrong */
|
||||||
void scsi_resubmit_request( scsi_ccb *request )
|
|
||||||
|
void
|
||||||
|
scsi_resubmit_request(scsi_ccb *request)
|
||||||
{
|
{
|
||||||
scsi_bus_info *bus = request->bus;
|
scsi_bus_info *bus = request->bus;
|
||||||
scsi_device_info *device = request->device;
|
scsi_device_info *device = request->device;
|
||||||
@@ -134,8 +136,10 @@ void scsi_resubmit_request( scsi_ccb *request )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// submit autosense for request
|
/** submit autosense for request */
|
||||||
static void submit_autosense( scsi_ccb *request )
|
|
||||||
|
static void
|
||||||
|
submit_autosense(scsi_ccb *request)
|
||||||
{
|
{
|
||||||
scsi_device_info *device = request->device;
|
scsi_device_info *device = request->device;
|
||||||
|
|
||||||
@@ -164,12 +168,13 @@ static void submit_autosense( scsi_ccb *request )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// finish special auto-sense request
|
/** finish special auto-sense request */
|
||||||
static void finish_autosense( scsi_device_info *device )
|
|
||||||
|
static void
|
||||||
|
finish_autosense(scsi_device_info *device)
|
||||||
{
|
{
|
||||||
scsi_ccb
|
scsi_ccb *orig_request = device->auto_sense_originator;
|
||||||
*orig_request = device->auto_sense_originator,
|
scsi_ccb *request = device->auto_sense_request;
|
||||||
*request = device->auto_sense_request;
|
|
||||||
|
|
||||||
FAST_LOG2(device->log, ev_scsi_finish_autosense, (uint32)request, (uint32)orig_request);
|
FAST_LOG2(device->log, ev_scsi_finish_autosense, (uint32)request, (uint32)orig_request);
|
||||||
SHOW_FLOW0(3, "");
|
SHOW_FLOW0(3, "");
|
||||||
@@ -186,7 +191,6 @@ static void finish_autosense( scsi_device_info *device )
|
|||||||
memcpy(orig_request->sense, request->data, sense_len);
|
memcpy(orig_request->sense, request->data, sense_len);
|
||||||
|
|
||||||
orig_request->sense_resid = SCSI_MAX_SENSE_SIZE - sense_len;
|
orig_request->sense_resid = SCSI_MAX_SENSE_SIZE - sense_len;
|
||||||
|
|
||||||
orig_request->subsys_status |= SCSI_AUTOSNS_VALID;
|
orig_request->subsys_status |= SCSI_AUTOSNS_VALID;
|
||||||
} else {
|
} else {
|
||||||
// failed to get sense
|
// failed to get sense
|
||||||
@@ -198,8 +202,10 @@ static void finish_autosense( scsi_device_info *device )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// device refused request because command queue is full
|
/** device refused request because command queue is full */
|
||||||
static void scsi_device_queue_overflow( scsi_ccb *request, uint num_requests )
|
|
||||||
|
static void
|
||||||
|
scsi_device_queue_overflow(scsi_ccb *request, uint num_requests)
|
||||||
{
|
{
|
||||||
scsi_bus_info *bus = request->bus;
|
scsi_bus_info *bus = request->bus;
|
||||||
scsi_device_info *device = request->device;
|
scsi_device_info *device = request->device;
|
||||||
@@ -231,8 +237,11 @@ static void scsi_device_queue_overflow( scsi_ccb *request, uint num_requests )
|
|||||||
scsi_requeue_request(request, false);
|
scsi_requeue_request(request, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// finish scsi request
|
|
||||||
void scsi_request_finished( scsi_ccb *request, uint num_requests )
|
/** finish scsi request */
|
||||||
|
|
||||||
|
void
|
||||||
|
scsi_request_finished(scsi_ccb *request, uint num_requests)
|
||||||
{
|
{
|
||||||
scsi_device_info *device = request->device;
|
scsi_device_info *device = request->device;
|
||||||
scsi_bus_info *bus = request->bus;
|
scsi_bus_info *bus = request->bus;
|
||||||
@@ -253,9 +262,8 @@ void scsi_request_finished( scsi_ccb *request, uint num_requests )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// check for queue overflow reported by device
|
// check for queue overflow reported by device
|
||||||
if( request->subsys_status == SCSI_REQ_CMP_ERR &&
|
if (request->subsys_status == SCSI_REQ_CMP_ERR
|
||||||
request->device_status == SCSI_STATUS_QUEUE_FULL )
|
&& request->device_status == SCSI_STATUS_QUEUE_FULL) {
|
||||||
{
|
|
||||||
scsi_device_queue_overflow(request, num_requests);
|
scsi_device_queue_overflow(request, num_requests);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -270,11 +278,10 @@ void scsi_request_finished( scsi_ccb *request, uint num_requests )
|
|||||||
// device reported a check condition state and auto-sense haven't
|
// device reported a check condition state and auto-sense haven't
|
||||||
// been retrieved by SIM
|
// been retrieved by SIM
|
||||||
// (last test is implicit as SIM adds SCSI_AUTOSNS_VALID to subsys_status)
|
// (last test is implicit as SIM adds SCSI_AUTOSNS_VALID to subsys_status)
|
||||||
do_autosense =
|
do_autosense = device->manual_autosense
|
||||||
device->manual_autosense &&
|
&& (request->flags & SCSI_DIS_AUTOSENSE) == 0
|
||||||
(request->flags & SCSI_DIS_AUTOSENSE) == 0 &&
|
&& request->subsys_status == SCSI_REQ_CMP_ERR
|
||||||
request->subsys_status == SCSI_REQ_CMP_ERR &&
|
&& request->device_status == SCSI_STATUS_CHECK_CONDITION;
|
||||||
request->device_status == SCSI_STATUS_CHECK_CONDITION;
|
|
||||||
|
|
||||||
if (request->subsys_status != SCSI_REQ_CMP) {
|
if (request->subsys_status != SCSI_REQ_CMP) {
|
||||||
SHOW_FLOW(3, "subsys=%x, device=%x, flags=%x, manual_auto_sense=%d",
|
SHOW_FLOW(3, "subsys=%x, device=%x, flags=%x, manual_auto_sense=%d",
|
||||||
@@ -316,9 +323,8 @@ void scsi_request_finished( scsi_ccb *request, uint num_requests )
|
|||||||
scsi_finish_emulation(request);
|
scsi_finish_emulation(request);
|
||||||
|
|
||||||
// copy data from buffer and release it
|
// copy data from buffer and release it
|
||||||
if( request->buffered ) {
|
if (request->buffered)
|
||||||
scsi_release_dma_buffer(request);
|
scsi_release_dma_buffer(request);
|
||||||
}
|
|
||||||
|
|
||||||
// special treatment for finished auto-sense
|
// special treatment for finished auto-sense
|
||||||
if (request == device->auto_sense_request)
|
if (request == device->auto_sense_request)
|
||||||
@@ -331,10 +337,13 @@ void scsi_request_finished( scsi_ccb *request, uint num_requests )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// check whether request can be executed right now, enqueuing it if not,
|
/** check whether request can be executed right now, enqueuing it if not,
|
||||||
// return: true if request can be executed
|
* return: true if request can be executed
|
||||||
// side effect: updates device->last_sort
|
* side effect: updates device->last_sort
|
||||||
static inline bool scsi_check_enqueue_request( scsi_ccb *request )
|
*/
|
||||||
|
|
||||||
|
static inline bool
|
||||||
|
scsi_check_enqueue_request(scsi_ccb *request)
|
||||||
{
|
{
|
||||||
scsi_bus_info *bus = request->bus;
|
scsi_bus_info *bus = request->bus;
|
||||||
scsi_device_info *device = request->device;
|
scsi_device_info *device = request->device;
|
||||||
@@ -345,9 +354,8 @@ static inline bool scsi_check_enqueue_request( scsi_ccb *request )
|
|||||||
// if device/bus is locked, or there are waiting requests
|
// if device/bus is locked, or there are waiting requests
|
||||||
// or waiting devices (last condition makes sure we don't overtake
|
// or waiting devices (last condition makes sure we don't overtake
|
||||||
// requests that got queued because bus was full)
|
// requests that got queued because bus was full)
|
||||||
if( device->lock_count > 0 || device->queued_reqs != NULL ||
|
if (device->lock_count > 0 || device->queued_reqs != NULL
|
||||||
bus->lock_count > 0 || bus->waiting_devices != NULL )
|
|| bus->lock_count > 0 || bus->waiting_devices != NULL) {
|
||||||
{
|
|
||||||
SHOW_FLOW0(3, "bus/device is currently locked");
|
SHOW_FLOW0(3, "bus/device is currently locked");
|
||||||
scsi_add_queued_request(request);
|
scsi_add_queued_request(request);
|
||||||
execute = false;
|
execute = false;
|
||||||
@@ -449,7 +457,7 @@ scsi_async_io(scsi_ccb *request)
|
|||||||
if ((request->device->emulation_map[request->cdb[0] >> 3]
|
if ((request->device->emulation_map[request->cdb[0] >> 3]
|
||||||
& (1 << (request->cdb[0] & 7))) != 0) {
|
& (1 << (request->cdb[0] & 7))) != 0) {
|
||||||
request->emulated = true;
|
request->emulated = true;
|
||||||
dprintf("emulation!\n");
|
|
||||||
if (!scsi_start_emulation(request)) {
|
if (!scsi_start_emulation(request)) {
|
||||||
SHOW_ERROR( 3, "cannot emulate SCSI command 0x%02x", request->cdb[0] );
|
SHOW_ERROR( 3, "cannot emulate SCSI command 0x%02x", request->cdb[0] );
|
||||||
goto err2;
|
goto err2;
|
||||||
@@ -507,7 +515,6 @@ scsi_sync_io(scsi_ccb *request)
|
|||||||
if ((request->flags & SCSI_DIR_MASK) != SCSI_DIR_NONE
|
if ((request->flags & SCSI_DIR_MASK) != SCSI_DIR_NONE
|
||||||
&& request->sg_list == NULL && request->data_len > 0) {
|
&& request->sg_list == NULL && request->data_len > 0) {
|
||||||
tmp_sg = true;
|
tmp_sg = true;
|
||||||
dprintf("create temp request\n");
|
|
||||||
if (!create_temp_sg(request)) {
|
if (!create_temp_sg(request)) {
|
||||||
SHOW_ERROR0( 3, "data is too much fragmented - you should use s/g list" );
|
SHOW_ERROR0( 3, "data is too much fragmented - you should use s/g list" );
|
||||||
|
|
||||||
@@ -534,7 +541,8 @@ scsi_term_io(scsi_ccb *ccb_to_terminate)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
uchar scsi_abort( scsi_ccb *req_to_abort )
|
uchar
|
||||||
|
scsi_abort(scsi_ccb *req_to_abort)
|
||||||
{
|
{
|
||||||
scsi_bus_info *bus = req_to_abort->bus;
|
scsi_bus_info *bus = req_to_abort->bus;
|
||||||
|
|
||||||
@@ -580,14 +588,18 @@ uchar scsi_abort( scsi_ccb *req_to_abort )
|
|||||||
if (start_retry)
|
if (start_retry)
|
||||||
release_sem(bus->start_service);
|
release_sem(bus->start_service);
|
||||||
|
|
||||||
break; }
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return SCSI_REQ_CMP;
|
return SCSI_REQ_CMP;
|
||||||
}
|
}
|
||||||
|
|
||||||
// submit pending request (at most one!)
|
|
||||||
bool scsi_check_exec_service( scsi_bus_info *bus )
|
/** submit pending request (at most one!) */
|
||||||
|
|
||||||
|
bool
|
||||||
|
scsi_check_exec_service(scsi_bus_info *bus)
|
||||||
{
|
{
|
||||||
SHOW_FLOW0(3, "");
|
SHOW_FLOW0(3, "");
|
||||||
ACQUIRE_BEN(&bus->mutex);
|
ACQUIRE_BEN(&bus->mutex);
|
||||||
|
|||||||
Reference in New Issue
Block a user