diff options
author | Swen Schillig <swen@vnet.ibm.com> | 2009-08-18 09:43:14 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2009-09-05 09:49:18 -0400 |
commit | 058b8647892ed49ba6a0d2c0966a72e20e2e69ff (patch) | |
tree | ba8baad2244bbacc5974207fb2274fb6c355d385 /drivers/s390/scsi/zfcp_erp.c | |
parent | bd63eaf4b8d783e6033930e377e516169abcadc4 (diff) |
[SCSI] zfcp: Replace fsf_req wait_queue with completion
The combination wait_queue/wakeup in conjunction with the flag
ZFCP_STATUS_FSFREQ_COMPLETED to signal the completion of an fsfreq
was not race-safe and can be better solved by a completion.
Signed-off-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/s390/scsi/zfcp_erp.c')
-rw-r--r-- | drivers/s390/scsi/zfcp_erp.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c index 39e4dd15453f..a377e2f91251 100644 --- a/drivers/s390/scsi/zfcp_erp.c +++ b/drivers/s390/scsi/zfcp_erp.c | |||
@@ -485,8 +485,7 @@ static void zfcp_erp_strategy_check_fsfreq(struct zfcp_erp_action *act) | |||
485 | } | 485 | } |
486 | if (act->status & ZFCP_STATUS_ERP_TIMEDOUT) | 486 | if (act->status & ZFCP_STATUS_ERP_TIMEDOUT) |
487 | zfcp_rec_dbf_event_action("erscf_2", act); | 487 | zfcp_rec_dbf_event_action("erscf_2", act); |
488 | if (act->fsf_req->status & (ZFCP_STATUS_FSFREQ_COMPLETED | | 488 | if (act->fsf_req->status & ZFCP_STATUS_FSFREQ_DISMISSED) |
489 | ZFCP_STATUS_FSFREQ_DISMISSED)) | ||
490 | act->fsf_req = NULL; | 489 | act->fsf_req = NULL; |
491 | } else | 490 | } else |
492 | act->fsf_req = NULL; | 491 | act->fsf_req = NULL; |