zfcp_hba_dbf_event_fsf_unsol("fail", adapter, NULL); 
zfcp_fsf_status_read(struct zfcp_adapter *adapter, int req_flags){	struct zfcp_fsf_req *fsf_req;	struct fsf_status_read_buffer *status_buffer;	unsigned long lock_flags;	volatile struct qdio_buffer_element *sbale;	int retval = 0;	/* setup new FSF request */	retval = zfcp_fsf_req_create(adapter, FSF_QTCB_UNSOLICITED_STATUS,				     req_flags | ZFCP_REQ_NO_QTCB,				     adapter->pool.fsf_req_status_read,				     &lock_flags, &fsf_req);	if (retval < 0) {		ZFCP_LOG_INFO("error: Could not create unsolicited status "			      "buffer for adapter %s.\n",			      zfcp_get_busid_by_adapter(adapter));		goto failed_req_create;	}	sbale = zfcp_qdio_sbale_req(fsf_req, fsf_req->sbal_curr, 0);        sbale[0].flags |= SBAL_FLAGS0_TYPE_STATUS;        sbale[2].flags |= SBAL_FLAGS_LAST_ENTRY;        fsf_req->sbale_curr = 2;	status_buffer =		mempool_alloc(adapter->pool.data_status_read, GFP_ATOMIC);	if (!status_buffer) {		ZFCP_LOG_NORMAL("bug: could not get some buffer\n");		goto failed_buf;	}	memset(status_buffer, 0, sizeof (struct fsf_status_read_buffer));	fsf_req->data = (unsigned long) status_buffer;	/* insert pointer to respective buffer */	sbale = zfcp_qdio_sbale_curr(fsf_req);	sbale->addr = (void *) status_buffer;	sbale->length = sizeof(struct fsf_status_read_buffer);	/* start QDIO request for this FSF request */	retval = zfcp_fsf_req_send(fsf_req, NULL);	if (retval) {		ZFCP_LOG_DEBUG("error: Could not set-up unsolicited status "			       "environment.\n");		goto failed_req_send;	}	ZFCP_LOG_TRACE("Status Read request initiated (adapter%s)\n",		       zfcp_get_busid_by_adapter(adapter));	goto out; failed_req_send:	mempool_free(status_buffer, adapter->pool.data_status_read); failed_buf:	zfcp_fsf_req_free(fsf_req); failed_req_create: out:	write_unlock_irqrestore(&adapter->request_queue.queue_lock, lock_flags);	return retval;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/8a36e4532ea10471f0a8605207d071361d7be2c3/zfcp_fsf.c/clean/drivers/s390/scsi/zfcp_fsf.c