ZFCP_LOG_FLAGS(1, "FSF_STATUS_READ_SUB_ERROR_PORT\n"); 
zfcp_fsf_status_read_port_closed(struct zfcp_fsf_req *fsf_req){	struct fsf_status_read_buffer *status_buffer;	struct zfcp_adapter *adapter;	struct zfcp_port *port;	unsigned long flags;	status_buffer = fsf_req->data.status_read.buffer;	adapter = fsf_req->adapter;	read_lock_irqsave(&zfcp_data.config_lock, flags);	list_for_each_entry(port, &adapter->port_list_head, list)	    if (port->d_id == (status_buffer->d_id & ZFCP_DID_MASK))		break;	read_unlock_irqrestore(&zfcp_data.config_lock, flags);	if (!port || (port->d_id != (status_buffer->d_id & ZFCP_DID_MASK))) {		ZFCP_LOG_NORMAL("bug: Reopen port indication received for"				"nonexisting port with d_id 0x%08x on "				"adapter %s. Ignored.\n",				status_buffer->d_id & ZFCP_DID_MASK,				zfcp_get_busid_by_adapter(adapter));		goto out;	}	switch (status_buffer->status_subtype) {	case FSF_STATUS_READ_SUB_CLOSE_PHYS_PORT:		ZFCP_LOG_FLAGS(2, "FSF_STATUS_READ_SUB_CLOSE_PHYS_PORT\n");		debug_text_event(adapter->erp_dbf, 3, "unsol_pc_phys:");		zfcp_erp_port_reopen(port, 0);		break;	case FSF_STATUS_READ_SUB_ERROR_PORT:		ZFCP_LOG_FLAGS(1, "FSF_STATUS_READ_SUB_ERROR_PORT\n");		debug_text_event(adapter->erp_dbf, 1, "unsol_pc_err:");		zfcp_erp_port_shutdown(port, 0);		break;	default:		debug_text_event(adapter->erp_dbf, 0, "unsol_unk_sub:");		debug_exception(adapter->erp_dbf, 0,				&status_buffer->status_subtype, sizeof (u32));		ZFCP_LOG_NORMAL("bug: Undefined status subtype received "				"for a reopen indication on port with "				"d_id 0x%08x on the adapter %s. "				"Ignored. (debug info 0x%x)\n",				status_buffer->d_id,				zfcp_get_busid_by_adapter(adapter),				status_buffer->status_subtype);	} out:	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/6bc9dace767f1fffdf975b3398b3c4e37cd5ae18/zfcp_fsf.c/clean/drivers/s390/scsi/zfcp_fsf.c