ZFCP_LOG_FLAGS(2, "FSF_QTCB_EXCHANGE_CONFIG_DATA\n"); 
zfcp_fsf_req_dispatch(struct zfcp_fsf_req *fsf_req){	struct zfcp_erp_action *erp_action = fsf_req->erp_action;	struct zfcp_adapter *adapter = fsf_req->adapter;	int retval = 0;	if (unlikely(fsf_req->status & ZFCP_STATUS_FSFREQ_ERROR)) {		ZFCP_LOG_TRACE("fsf_req=%p, QTCB=%p\n", fsf_req, fsf_req->qtcb);		ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_TRACE,			      (char *) fsf_req->qtcb, sizeof(struct fsf_qtcb));	}	switch (fsf_req->fsf_command) {	case FSF_QTCB_FCP_CMND:		ZFCP_LOG_FLAGS(3, "FSF_QTCB_FCP_CMND\n");		zfcp_fsf_send_fcp_command_handler(fsf_req);		break;	case FSF_QTCB_ABORT_FCP_CMND:		ZFCP_LOG_FLAGS(2, "FSF_QTCB_ABORT_FCP_CMND\n");		zfcp_fsf_abort_fcp_command_handler(fsf_req);		break;	case FSF_QTCB_SEND_GENERIC:		ZFCP_LOG_FLAGS(2, "FSF_QTCB_SEND_GENERIC\n");		zfcp_fsf_send_ct_handler(fsf_req);		break;	case FSF_QTCB_OPEN_PORT_WITH_DID:		ZFCP_LOG_FLAGS(2, "FSF_QTCB_OPEN_PORT_WITH_DID\n");		zfcp_fsf_open_port_handler(fsf_req);		break;	case FSF_QTCB_OPEN_LUN:		ZFCP_LOG_FLAGS(2, "FSF_QTCB_OPEN_LUN\n");		zfcp_fsf_open_unit_handler(fsf_req);		break;	case FSF_QTCB_CLOSE_LUN:		ZFCP_LOG_FLAGS(2, "FSF_QTCB_CLOSE_LUN\n");		zfcp_fsf_close_unit_handler(fsf_req);		break;	case FSF_QTCB_CLOSE_PORT:		ZFCP_LOG_FLAGS(2, "FSF_QTCB_CLOSE_PORT\n");		zfcp_fsf_close_port_handler(fsf_req);		break;	case FSF_QTCB_CLOSE_PHYSICAL_PORT:		ZFCP_LOG_FLAGS(2, "FSF_QTCB_CLOSE_PHYSICAL_PORT\n");		zfcp_fsf_close_physical_port_handler(fsf_req);		break;	case FSF_QTCB_EXCHANGE_CONFIG_DATA:		ZFCP_LOG_FLAGS(2, "FSF_QTCB_EXCHANGE_CONFIG_DATA\n");		zfcp_fsf_exchange_config_data_handler(fsf_req);		break;	case FSF_QTCB_EXCHANGE_PORT_DATA:		ZFCP_LOG_FLAGS(2, "FSF_QTCB_EXCHANGE_PORT_DATA\n");		zfcp_fsf_exchange_port_data_handler(fsf_req);		break;	case FSF_QTCB_SEND_ELS:		ZFCP_LOG_FLAGS(2, "FSF_QTCB_SEND_ELS\n");		zfcp_fsf_send_els_handler(fsf_req);		break;	case FSF_QTCB_DOWNLOAD_CONTROL_FILE:		ZFCP_LOG_FLAGS(2, "FSF_QTCB_DOWNLOAD_CONTROL_FILE\n");		zfcp_fsf_control_file_handler(fsf_req);		break;	case FSF_QTCB_UPLOAD_CONTROL_FILE:		ZFCP_LOG_FLAGS(2, "FSF_QTCB_UPLOAD_CONTROL_FILE\n");		zfcp_fsf_control_file_handler(fsf_req);		break;	default:		ZFCP_LOG_FLAGS(2, "FSF_QTCB_UNKNOWN\n");		fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;		ZFCP_LOG_NORMAL("bug: Command issued by the device driver is "				"not supported by the adapter %s\n",				zfcp_get_busid_by_adapter(fsf_req->adapter));		if (fsf_req->fsf_command != fsf_req->qtcb->header.fsf_command)			ZFCP_LOG_NORMAL			    ("bug: Command issued by the device driver differs "			     "from the command returned by the adapter %s "			     "(debug info 0x%x, 0x%x).\n",			     zfcp_get_busid_by_adapter(fsf_req->adapter),			     fsf_req->fsf_command,			     fsf_req->qtcb->header.fsf_command);	}	if (!erp_action)		return retval;	debug_text_event(adapter->erp_dbf, 3, "a_frh");	debug_event(adapter->erp_dbf, 3, &erp_action->action, sizeof (int));	zfcp_erp_async_handler(erp_action, 0);	return retval;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/6bc9dace767f1fffdf975b3398b3c4e37cd5ae18/zfcp_fsf.c/clean/drivers/s390/scsi/zfcp_fsf.c