summaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_def.h
diff options
context:
space:
mode:
authorSwen Schillig <swen@vnet.ibm.com>2009-08-18 15:43:14 +0200
committerJames Bottomley <James.Bottomley@suse.de>2009-09-05 08:49:18 -0500
commit058b8647892ed49ba6a0d2c0966a72e20e2e69ff (patch)
treeba8baad2244bbacc5974207fb2274fb6c355d385 /drivers/s390/scsi/zfcp_def.h
parentbd63eaf4b8d783e6033930e377e516169abcadc4 (diff)
downloadblackbird-op-linux-058b8647892ed49ba6a0d2c0966a72e20e2e69ff.tar.gz
blackbird-op-linux-058b8647892ed49ba6a0d2c0966a72e20e2e69ff.zip
[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_def.h')
-rw-r--r--drivers/s390/scsi/zfcp_def.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/s390/scsi/zfcp_def.h b/drivers/s390/scsi/zfcp_def.h
index c1becfc1e7fe..944f67754eed 100644
--- a/drivers/s390/scsi/zfcp_def.h
+++ b/drivers/s390/scsi/zfcp_def.h
@@ -248,7 +248,6 @@ enum zfcp_wka_status {
/* FSF request status (this does not have a common part) */
#define ZFCP_STATUS_FSFREQ_TASK_MANAGEMENT 0x00000002
-#define ZFCP_STATUS_FSFREQ_COMPLETED 0x00000004
#define ZFCP_STATUS_FSFREQ_ERROR 0x00000008
#define ZFCP_STATUS_FSFREQ_CLEANUP 0x00000010
#define ZFCP_STATUS_FSFREQ_ABORTSUCCEEDED 0x00000040
@@ -532,7 +531,7 @@ struct zfcp_fsf_req {
u8 sbale_curr; /* current SBALE during creation
of request */
u8 sbal_response; /* SBAL used in interrupt */
- wait_queue_head_t completion_wq; /* can be used by a routine
+ struct completion completion; /* can be used by a routine
to wait for completion */
u32 status; /* status of this request */
u32 fsf_command; /* FSF Command copy */
OpenPOWER on IntegriCloud