rem: dprintf("create temp request\n");
context: scsi_sync_io(scsi_ccb *request){	bool tmp_sg = false;	// create scatter-gather list if required	if ((request->flags & SCSI_DIR_MASK) != SCSI_DIR_NONE		&& request->sg_list == NULL && request->data_len > 0) {		tmp_sg = true;dprintf("create temp request\n");		if (!create_temp_sg(request)) {			SHOW_ERROR0( 3, "data is too much fragmented - you should use s/g list" );			// ToDo: this means too much (fragmented) data			request->subsys_status = SCSI_DATA_RUN_ERR;			return;		}	}	scsi_async_io(request);	acquire_sem(request->completion_sem);	if (tmp_sg)		cleanup_tmp_sg(request);}