rem: if( --bus->left_slots == 0 ) { SHOW_FLOW0( 3, "bus is saturated, blocking further requests" ); scsi_block_bus_nolock( bus, false ); }   if( --device->left_slots == 0 || request->ordered ) { SHOW_FLOW0( 3, "device is saturated/blocked by requests, blocking further requests" ); scsi_block_device_nolock( device, false ); }  if( request->sort >= 0 ) { device->last_sort = request->sort; SHOW_FLOW( 1, "%Ld", device->last_sort );
add: if (--bus->left_slots == 0) { SHOW_FLOW0(3, "bus is saturated, blocking further requests"); scsi_block_bus_nolock(bus, false);
context: bool scsi_check_exec_service( scsi_bus_info *bus ){	SHOW_FLOW0( 3, "" );	ACQUIRE_BEN( &bus->mutex );	if( scsi_can_service_bus( bus )) {		scsi_ccb *request;		scsi_device_info *device;				SHOW_FLOW0( 3, "servicing bus" );				//snooze( 1000000 );				// handle devices in round-robin-style		device = bus->waiting_devices;		bus->waiting_devices = bus->waiting_devices->waiting_next;				request = device->queued_reqs;		scsi_remove_queued_request( request );				// if bus is saturated, block it			if( --bus->left_slots == 0 ) {			SHOW_FLOW0( 3, "bus is saturated, blocking further requests" );			scsi_block_bus_nolock( bus, false );		}			// if device saturated or blocking request, block device			if( --device->left_slots == 0 || request->ordered ) {			SHOW_FLOW0( 3, "device is saturated/blocked by requests, blocking further requests" );			scsi_block_device_nolock( device, false );		}				if( request->sort >= 0 ) {			device->last_sort = request->sort;			SHOW_FLOW( 1, "%Ld", device->last_sort );		}		RELEASE_BEN( &bus->mutex );		FAST_LOG1( request->device->log, ev_scsi_do_resend_request, (uint32)request );				request->state = SCSI_STATE_SENT;		bus->interface->scsi_io( bus->sim_cookie, request );				return true;	} 		RELEASE_BEN( &bus->mutex );		return false;}