static void zfcp_erp_strategy_check_fsfreq(struct zfcp_erp_action *act)
 {
        struct zfcp_adapter *adapter = act->adapter;
+       struct zfcp_fsf_req *req;
 
-       if (!act->fsf_req)
+       if (!act->fsf_req_id)
                return;
 
        spin_lock(&adapter->req_list_lock);
-       if (zfcp_reqlist_find_safe(adapter, act->fsf_req) &&
-           act->fsf_req->erp_action == act) {
+       req = zfcp_reqlist_find(adapter, act->fsf_req_id);
+       if (req && req->erp_action == act) {
                if (act->status & (ZFCP_STATUS_ERP_DISMISSED |
                                   ZFCP_STATUS_ERP_TIMEDOUT)) {
-                       act->fsf_req->status |= ZFCP_STATUS_FSFREQ_DISMISSED;
+                       req->status |= ZFCP_STATUS_FSFREQ_DISMISSED;
                        zfcp_dbf_rec_action("erscf_1", act);
-                       act->fsf_req->erp_action = NULL;
+                       req->erp_action = NULL;
                }
                if (act->status & ZFCP_STATUS_ERP_TIMEDOUT)
                        zfcp_dbf_rec_action("erscf_2", act);
-               if (act->fsf_req->status & ZFCP_STATUS_FSFREQ_DISMISSED)
-                       act->fsf_req = NULL;
+               if (req->status & ZFCP_STATUS_FSFREQ_DISMISSED)
+                       act->fsf_req_id = 0;
        } else
-               act->fsf_req = NULL;
+               act->fsf_req_id = 0;
        spin_unlock(&adapter->req_list_lock);
 }
 
 
        unsigned long        flags;
        int                  idx;
        int                  with_qtcb = (req->qtcb != NULL);
+       int req_id = req->req_id;
 
        /* put allocated FSF request into hash table */
        spin_lock_irqsave(&adapter->req_list_lock, flags);
-       idx = zfcp_reqlist_hash(req->req_id);
+       idx = zfcp_reqlist_hash(req_id);
        list_add_tail(&req->list, &adapter->req_list[idx]);
        spin_unlock_irqrestore(&adapter->req_list_lock, flags);
 
                del_timer(&req->timer);
                spin_lock_irqsave(&adapter->req_list_lock, flags);
                /* lookup request again, list might have changed */
-               if (zfcp_reqlist_find_safe(adapter, req))
+               req = zfcp_reqlist_find(adapter, req_id);
+               if (req)
                        zfcp_reqlist_remove(adapter, req);
                spin_unlock_irqrestore(&adapter->req_list_lock, flags);
                zfcp_erp_adapter_reopen(adapter, 0, "fsrs__1", req);
                        FSF_FEATURE_UPDATE_ALERT;
        req->erp_action = erp_action;
        req->handler = zfcp_fsf_exchange_config_data_handler;
-       erp_action->fsf_req = req;
+       erp_action->fsf_req_id = req->req_id;
 
        zfcp_fsf_start_erp_timer(req);
        retval = zfcp_fsf_req_send(req);
        if (retval) {
                zfcp_fsf_req_free(req);
-               erp_action->fsf_req = NULL;
+               erp_action->fsf_req_id = 0;
        }
 out:
        spin_unlock_bh(&qdio->req_q_lock);
 
        req->handler = zfcp_fsf_exchange_port_data_handler;
        req->erp_action = erp_action;
-       erp_action->fsf_req = req;
+       erp_action->fsf_req_id = req->req_id;
 
        zfcp_fsf_start_erp_timer(req);
        retval = zfcp_fsf_req_send(req);
        if (retval) {
                zfcp_fsf_req_free(req);
-               erp_action->fsf_req = NULL;
+               erp_action->fsf_req_id = 0;
        }
 out:
        spin_unlock_bh(&qdio->req_q_lock);
        hton24(req->qtcb->bottom.support.d_id, port->d_id);
        req->data = port;
        req->erp_action = erp_action;
-       erp_action->fsf_req = req;
+       erp_action->fsf_req_id = req->req_id;
        get_device(&port->sysfs_device);
 
        zfcp_fsf_start_erp_timer(req);
        retval = zfcp_fsf_req_send(req);
        if (retval) {
                zfcp_fsf_req_free(req);
-               erp_action->fsf_req = NULL;
+               erp_action->fsf_req_id = 0;
                put_device(&port->sysfs_device);
        }
 out:
        req->data = erp_action->port;
        req->erp_action = erp_action;
        req->qtcb->header.port_handle = erp_action->port->handle;
-       erp_action->fsf_req = req;
+       erp_action->fsf_req_id = req->req_id;
 
        zfcp_fsf_start_erp_timer(req);
        retval = zfcp_fsf_req_send(req);
        if (retval) {
                zfcp_fsf_req_free(req);
-               erp_action->fsf_req = NULL;
+               erp_action->fsf_req_id = 0;
        }
 out:
        spin_unlock_bh(&qdio->req_q_lock);
        req->qtcb->header.port_handle = erp_action->port->handle;
        req->erp_action = erp_action;
        req->handler = zfcp_fsf_close_physical_port_handler;
-       erp_action->fsf_req = req;
+       erp_action->fsf_req_id = req->req_id;
 
        zfcp_fsf_start_erp_timer(req);
        retval = zfcp_fsf_req_send(req);
        if (retval) {
                zfcp_fsf_req_free(req);
-               erp_action->fsf_req = NULL;
+               erp_action->fsf_req_id = 0;
        }
 out:
        spin_unlock_bh(&qdio->req_q_lock);
        req->handler = zfcp_fsf_open_unit_handler;
        req->data = erp_action->unit;
        req->erp_action = erp_action;
-       erp_action->fsf_req = req;
+       erp_action->fsf_req_id = req->req_id;
 
        if (!(adapter->connection_features & FSF_FEATURE_NPIV_MODE))
                req->qtcb->bottom.support.option = FSF_OPEN_LUN_SUPPRESS_BOXING;
        retval = zfcp_fsf_req_send(req);
        if (retval) {
                zfcp_fsf_req_free(req);
-               erp_action->fsf_req = NULL;
+               erp_action->fsf_req_id = 0;
        }
 out:
        spin_unlock_bh(&qdio->req_q_lock);
        req->handler = zfcp_fsf_close_unit_handler;
        req->data = erp_action->unit;
        req->erp_action = erp_action;
-       erp_action->fsf_req = req;
+       erp_action->fsf_req_id = req->req_id;
 
        zfcp_fsf_start_erp_timer(req);
        retval = zfcp_fsf_req_send(req);
        if (retval) {
                zfcp_fsf_req_free(req);
-               erp_action->fsf_req = NULL;
+               erp_action->fsf_req_id = 0;
        }
 out:
        spin_unlock_bh(&qdio->req_q_lock);