Commit 795f05ec authored by Martin Schwidefsky's avatar Martin Schwidefsky Committed by Linus Torvalds

[PATCH] s390: zfcp host adapter.

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: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 3999e97e
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
#define ZFCP_DEF_H #define ZFCP_DEF_H
/* this drivers version (do not edit !!! generated and updated by cvs) */ /* 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 *****************************************/ /*************************** INCLUDES *****************************************/
...@@ -1125,32 +1125,6 @@ extern void _zfcp_hex_dump(char *, int); ...@@ -1125,32 +1125,6 @@ extern void _zfcp_hex_dump(char *, int);
if (ZFCP_LOG_CHECK(level)) { \ if (ZFCP_LOG_CHECK(level)) { \
_zfcp_hex_dump(addr, count); \ _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_adapter(adapter) (adapter->ccw_device->dev.bus_id)
#define zfcp_get_busid_by_port(port) (zfcp_get_busid_by_adapter(port->adapter)) #define zfcp_get_busid_by_port(port) (zfcp_get_busid_by_adapter(port->adapter))
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#define ZFCP_LOG_AREA ZFCP_LOG_AREA_ERP #define ZFCP_LOG_AREA ZFCP_LOG_AREA_ERP
/* this drivers version (do not edit !!! generated and updated by cvs) */ /* 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" #include "zfcp_ext.h"
...@@ -436,8 +436,8 @@ zfcp_els_handler(unsigned long data) ...@@ -436,8 +436,8 @@ zfcp_els_handler(unsigned long data)
int retval = 0; int retval = 0;
if (send_els->status != 0) { if (send_els->status != 0) {
ZFCP_LOG_NORMAL("ELS request timed out, physical port reopen " ZFCP_LOG_NORMAL("ELS request timed out, force physical port "
"of port 0x%016Lx on adapter %s failed\n", "reopen of port 0x%016Lx on adapter %s\n",
port->wwpn, zfcp_get_busid_by_port(port)); port->wwpn, zfcp_get_busid_by_port(port));
debug_text_event(port->adapter->erp_dbf, 3, "forcreop"); debug_text_event(port->adapter->erp_dbf, 3, "forcreop");
retval = zfcp_erp_port_forced_reopen(port, 0); retval = zfcp_erp_port_forced_reopen(port, 0);
...@@ -2187,11 +2187,6 @@ zfcp_erp_adapter_strategy(struct zfcp_erp_action *erp_action) ...@@ -2187,11 +2187,6 @@ zfcp_erp_adapter_strategy(struct zfcp_erp_action *erp_action)
ZFCP_LOG_INFO("Waiting to allow the adapter %s " ZFCP_LOG_INFO("Waiting to allow the adapter %s "
"to recover itself\n", "to recover itself\n",
zfcp_get_busid_by_adapter(adapter)); 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; timeout = ZFCP_TYPE2_RECOVERY_TIME;
set_current_state(TASK_UNINTERRUPTIBLE); set_current_state(TASK_UNINTERRUPTIBLE);
schedule_timeout(timeout); schedule_timeout(timeout);
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
*/ */
/* this drivers version (do not edit !!! generated and updated by cvs) */ /* 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" #include "zfcp_ext.h"
...@@ -4717,14 +4717,14 @@ zfcp_fsf_req_sbal_get(struct zfcp_adapter *adapter, int req_flags, ...@@ -4717,14 +4717,14 @@ zfcp_fsf_req_sbal_get(struct zfcp_adapter *adapter, int req_flags,
unsigned long *lock_flags) unsigned long *lock_flags)
{ {
int condition; int condition;
unsigned long timeout = ZFCP_SBAL_TIMEOUT;
struct zfcp_qdio_queue *req_queue = &adapter->request_queue; struct zfcp_qdio_queue *req_queue = &adapter->request_queue;
if (unlikely(req_flags & ZFCP_WAIT_FOR_SBAL)) { if (unlikely(req_flags & ZFCP_WAIT_FOR_SBAL)) {
ZFCP_WAIT_EVENT_TIMEOUT(adapter->request_wq, timeout, wait_event_interruptible_timeout(adapter->request_wq,
(condition = (condition =
(zfcp_fsf_req_create_sbal_check) zfcp_fsf_req_create_sbal_check
(lock_flags, req_queue, 1))); (lock_flags, req_queue, 1)),
ZFCP_SBAL_TIMEOUT);
if (!condition) { if (!condition) {
return -EIO; return -EIO;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment