write_unlock(&adapter->fsf_req_list_lock); 
spin_unlock(&adapter->fsf_req_list_lock); 
zfcp_erp_strategy_check_fsfreq(struct zfcp_erp_action *erp_action){	int retval = 0;	struct zfcp_fsf_req *fsf_req;	struct zfcp_adapter *adapter = erp_action->adapter;	if (erp_action->fsf_req) {		/* take lock to ensure that request is not being deleted meanwhile */		write_lock(&adapter->fsf_req_list_lock);		/* check whether fsf req does still exist */		list_for_each_entry(fsf_req, &adapter->fsf_req_list_head, list)		    if (fsf_req == erp_action->fsf_req)			break;		if (fsf_req == erp_action->fsf_req) {			/* fsf_req still exists */			debug_text_event(adapter->erp_dbf, 3, "a_ca_req");			debug_event(adapter->erp_dbf, 3, &fsf_req,				    sizeof (unsigned long));			/* dismiss fsf_req of timed out or dismissed erp_action */			if (erp_action->status & (ZFCP_STATUS_ERP_DISMISSED |						  ZFCP_STATUS_ERP_TIMEDOUT)) {				debug_text_event(adapter->erp_dbf, 3,						 "a_ca_disreq");				fsf_req->status |= ZFCP_STATUS_FSFREQ_DISMISSED;			}			if (erp_action->status & ZFCP_STATUS_ERP_TIMEDOUT) {				ZFCP_LOG_NORMAL("error: erp step timed out "						"(action=%d, fsf_req=%p)\n ",						erp_action->action,						erp_action->fsf_req);			}			/*			 * If fsf_req is neither dismissed nor completed			 * then keep it running asynchronously and don't mess			 * with the association of erp_action and fsf_req.			 */			if (fsf_req->status & (ZFCP_STATUS_FSFREQ_COMPLETED |					       ZFCP_STATUS_FSFREQ_DISMISSED)) {				/* forget about association between fsf_req				   and erp_action */				fsf_req->erp_action = NULL;				erp_action->fsf_req = NULL;			}		} else {			debug_text_event(adapter->erp_dbf, 3, "a_ca_gonereq");			/*			 * even if this fsf_req has gone, forget about			 * association between erp_action and fsf_req			 */			erp_action->fsf_req = NULL;		}		write_unlock(&adapter->fsf_req_list_lock);	} else		debug_text_event(adapter->erp_dbf, 3, "a_ca_noreq");	return retval;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/1db2c9c0931a53fe013db55fd2ff58859db31e8d/zfcp_erp.c/buggy/drivers/s390/scsi/zfcp_erp.c