aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_erp.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/scsi/zfcp_erp.c')
-rw-r--r--drivers/s390/scsi/zfcp_erp.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c
index 8ec8da0beaa8..f74412bd9d6a 100644
--- a/drivers/s390/scsi/zfcp_erp.c
+++ b/drivers/s390/scsi/zfcp_erp.c
@@ -848,18 +848,16 @@ zfcp_erp_strategy_check_fsfreq(struct zfcp_erp_action *erp_action)
848 struct zfcp_adapter *adapter = erp_action->adapter; 848 struct zfcp_adapter *adapter = erp_action->adapter;
849 849
850 if (erp_action->fsf_req) { 850 if (erp_action->fsf_req) {
851 /* take lock to ensure that request is not being deleted meanwhile */ 851 /* take lock to ensure that request is not deleted meanwhile */
852 spin_lock(&adapter->fsf_req_list_lock); 852 spin_lock(&adapter->req_list_lock);
853 /* check whether fsf req does still exist */ 853 if ((!zfcp_reqlist_ismember(adapter,
854 list_for_each_entry(fsf_req, &adapter->fsf_req_list_head, list) 854 erp_action->fsf_req->req_id)) &&
855 if (fsf_req == erp_action->fsf_req) 855 (fsf_req->erp_action == erp_action)) {
856 break;
857 if (fsf_req && (fsf_req->erp_action == erp_action)) {
858 /* fsf_req still exists */ 856 /* fsf_req still exists */
859 debug_text_event(adapter->erp_dbf, 3, "a_ca_req"); 857 debug_text_event(adapter->erp_dbf, 3, "a_ca_req");
860 debug_event(adapter->erp_dbf, 3, &fsf_req, 858 debug_event(adapter->erp_dbf, 3, &fsf_req,
861 sizeof (unsigned long)); 859 sizeof (unsigned long));
862 /* dismiss fsf_req of timed out or dismissed erp_action */ 860 /* dismiss fsf_req of timed out/dismissed erp_action */
863 if (erp_action->status & (ZFCP_STATUS_ERP_DISMISSED | 861 if (erp_action->status & (ZFCP_STATUS_ERP_DISMISSED |
864 ZFCP_STATUS_ERP_TIMEDOUT)) { 862 ZFCP_STATUS_ERP_TIMEDOUT)) {
865 debug_text_event(adapter->erp_dbf, 3, 863 debug_text_event(adapter->erp_dbf, 3,
@@ -892,7 +890,7 @@ zfcp_erp_strategy_check_fsfreq(struct zfcp_erp_action *erp_action)
892 */ 890 */
893 erp_action->fsf_req = NULL; 891 erp_action->fsf_req = NULL;
894 } 892 }
895 spin_unlock(&adapter->fsf_req_list_lock); 893 spin_unlock(&adapter->req_list_lock);
896 } else 894 } else
897 debug_text_event(adapter->erp_dbf, 3, "a_ca_noreq"); 895 debug_text_event(adapter->erp_dbf, 3, "a_ca_noreq");
898 896