aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_def.h
diff options
context:
space:
mode:
authorSwen Schillig <swen@vnet.ibm.com>2009-08-18 09:43:14 -0400
committerJames Bottomley <James.Bottomley@suse.de>2009-09-05 09:49:18 -0400
commit058b8647892ed49ba6a0d2c0966a72e20e2e69ff (patch)
treeba8baad2244bbacc5974207fb2274fb6c355d385 /drivers/s390/scsi/zfcp_def.h
parentbd63eaf4b8d783e6033930e377e516169abcadc4 (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_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 c1becfc1e7f..944f67754ee 100644
--- a/drivers/s390/scsi/zfcp_def.h
+++ b/drivers/s390/scsi/zfcp_def.h
@@ -248,7 +248,6 @@ enum zfcp_wka_status {
248 248
249/* FSF request status (this does not have a common part) */ 249/* FSF request status (this does not have a common part) */
250#define ZFCP_STATUS_FSFREQ_TASK_MANAGEMENT 0x00000002 250#define ZFCP_STATUS_FSFREQ_TASK_MANAGEMENT 0x00000002
251#define ZFCP_STATUS_FSFREQ_COMPLETED 0x00000004
252#define ZFCP_STATUS_FSFREQ_ERROR 0x00000008 251#define ZFCP_STATUS_FSFREQ_ERROR 0x00000008
253#define ZFCP_STATUS_FSFREQ_CLEANUP 0x00000010 252#define ZFCP_STATUS_FSFREQ_CLEANUP 0x00000010
254#define ZFCP_STATUS_FSFREQ_ABORTSUCCEEDED 0x00000040 253#define ZFCP_STATUS_FSFREQ_ABORTSUCCEEDED 0x00000040
@@ -532,7 +531,7 @@ struct zfcp_fsf_req {
532 u8 sbale_curr; /* current SBALE during creation 531 u8 sbale_curr; /* current SBALE during creation
533 of request */ 532 of request */
534 u8 sbal_response; /* SBAL used in interrupt */ 533 u8 sbal_response; /* SBAL used in interrupt */
535 wait_queue_head_t completion_wq; /* can be used by a routine 534 struct completion completion; /* can be used by a routine
536 to wait for completion */ 535 to wait for completion */
537 u32 status; /* status of this request */ 536 u32 status; /* status of this request */
538 u32 fsf_command; /* FSF Command copy */ 537 u32 fsf_command; /* FSF Command copy */