]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] s390: zfcp host adapter.
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 28 Jul 2004 16:12:10 +0000 (09:12 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Wed, 28 Jul 2004 16:12:10 +0000 (09:12 -0700)
From: Heiko Carstens <heiko.carstens@de.ibm.com>
From: Maxim Shchetynin <maxim@de.ibm.com>

zfcp host adapter changes:
 - Get rid of ZFCP_WAIT_EVENT_TIMEOUT macro.
 - Correct an error log mesage.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/s390/scsi/zfcp_def.h
drivers/s390/scsi/zfcp_erp.c
drivers/s390/scsi/zfcp_fsf.c

index 19fe2766da1cc7306b515c654943c3a14cdf6a9b..eb65b928825e6887cc4889b3d191e856f416f126 100644 (file)
@@ -33,7 +33,7 @@
 #define ZFCP_DEF_H
 
 /* this drivers version (do not edit !!! generated and updated by cvs) */
-#define ZFCP_DEF_REVISION "$Revision: 1.75 $"
+#define ZFCP_DEF_REVISION "$Revision: 1.78 $"
 
 /*************************** INCLUDES *****************************************/
 
@@ -1125,32 +1125,6 @@ extern void _zfcp_hex_dump(char *, int);
                if (ZFCP_LOG_CHECK(level)) { \
                        _zfcp_hex_dump(addr, count); \
                }
-/*
- * Not yet optimal but useful:
- * Waits until the condition is met or the timeout occurs.
- * The condition may be a function call. This allows to
- * execute some additional instructions in addition
- * to a simple condition check.
- * The timeout is modified on exit and holds the remaining time.
- * Thus it is zero if a timeout ocurred, i.e. the condition was 
- * not met in the specified interval.
- */
-#define __ZFCP_WAIT_EVENT_TIMEOUT(timeout, condition) \
-do { \
-       set_current_state(TASK_UNINTERRUPTIBLE); \
-       while (!(condition) && timeout) \
-               timeout = schedule_timeout(timeout); \
-       current->state = TASK_RUNNING; \
-} while (0);
-
-#define ZFCP_WAIT_EVENT_TIMEOUT(waitqueue, timeout, condition) \
-do { \
-       wait_queue_t entry; \
-       init_waitqueue_entry(&entry, current); \
-       add_wait_queue(&waitqueue, &entry); \
-       __ZFCP_WAIT_EVENT_TIMEOUT(timeout, condition) \
-       remove_wait_queue(&waitqueue, &entry); \
-} while (0);
 
 #define zfcp_get_busid_by_adapter(adapter) (adapter->ccw_device->dev.bus_id)
 #define zfcp_get_busid_by_port(port) (zfcp_get_busid_by_adapter(port->adapter))
index a927b912bbded24b7c721ea3be3f23d1bc4b58c3..52d11563ee76daa9e942bc6c4d63e9e4314582e2 100644 (file)
@@ -31,7 +31,7 @@
 #define ZFCP_LOG_AREA                  ZFCP_LOG_AREA_ERP
 
 /* this drivers version (do not edit !!! generated and updated by cvs) */
-#define ZFCP_ERP_REVISION "$Revision: 1.56 $"
+#define ZFCP_ERP_REVISION "$Revision: 1.60 $"
 
 #include "zfcp_ext.h"
 
@@ -436,8 +436,8 @@ zfcp_els_handler(unsigned long data)
        int retval = 0;
 
        if (send_els->status != 0) {
-               ZFCP_LOG_NORMAL("ELS request timed out, physical port reopen "
-                               "of port 0x%016Lx on adapter %s failed\n",
+               ZFCP_LOG_NORMAL("ELS request timed out, force physical port "
+                               "reopen of port 0x%016Lx on adapter %s\n",
                                port->wwpn, zfcp_get_busid_by_port(port));
                debug_text_event(port->adapter->erp_dbf, 3, "forcreop");
                retval = zfcp_erp_port_forced_reopen(port, 0);
@@ -2187,11 +2187,6 @@ zfcp_erp_adapter_strategy(struct zfcp_erp_action *erp_action)
                ZFCP_LOG_INFO("Waiting to allow the adapter %s "
                              "to recover itself\n",
                              zfcp_get_busid_by_adapter(adapter));
-               /*
-                * SUGGESTION: substitute by
-                * timeout = ZFCP_TYPE2_RECOVERY_TIME;
-                * __ZFCP_WAIT_EVENT_TIMEOUT(timeout, 0);
-                */
                timeout = ZFCP_TYPE2_RECOVERY_TIME;
                set_current_state(TASK_UNINTERRUPTIBLE);
                schedule_timeout(timeout);
index 67a8202b9b6c2cf2857afeaaa9d8b460cc2de20d..93e6757dbbd2482c0eeed9f062713539e10d15a5 100644 (file)
@@ -29,7 +29,7 @@
  */
 
 /* this drivers version (do not edit !!! generated and updated by cvs) */
-#define ZFCP_FSF_C_REVISION "$Revision: 1.49 $"
+#define ZFCP_FSF_C_REVISION "$Revision: 1.53 $"
 
 #include "zfcp_ext.h"
 
@@ -4717,14 +4717,14 @@ zfcp_fsf_req_sbal_get(struct zfcp_adapter *adapter, int req_flags,
                      unsigned long *lock_flags)
 {
         int condition;
-        unsigned long timeout = ZFCP_SBAL_TIMEOUT;
         struct zfcp_qdio_queue *req_queue = &adapter->request_queue;
 
         if (unlikely(req_flags & ZFCP_WAIT_FOR_SBAL)) {
-                ZFCP_WAIT_EVENT_TIMEOUT(adapter->request_wq, timeout,
-                                        (condition =
-                                         (zfcp_fsf_req_create_sbal_check)
-                                         (lock_flags, req_queue, 1)));
+                wait_event_interruptible_timeout(adapter->request_wq,
+                                                (condition =
+                                                 zfcp_fsf_req_create_sbal_check
+                                                 (lock_flags, req_queue, 1)),
+                                                ZFCP_SBAL_TIMEOUT);
                 if (!condition) {
                         return -EIO;
                }