patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / drivers / s390 / scsi / zfcp_erp.c
index 045d04b..505e16f 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.51 $"
+#define ZFCP_ERP_REVISION "$Revision: 1.54 $"
 
 #include "zfcp_ext.h"
 
@@ -126,37 +126,6 @@ static void zfcp_erp_memwait_handler(unsigned long);
 static void zfcp_erp_timeout_handler(unsigned long);
 static inline void zfcp_erp_timeout_init(struct zfcp_erp_action *);
 
-/*
- * function:   zfcp_erp_adapter_shutdown_all
- *
- * purpose:    recursively calls zfcp_erp_adapter_shutdown to stop all
- *              IO on each adapter, return all outstanding packets and 
- *              relinquish all IRQs
- *              Note: This function waits for completion of all shutdowns
- *
- * returns:     0 in all cases
- */
-int
-zfcp_erp_adapter_shutdown_all(void)
-{
-       int retval = 0;
-       unsigned long flags;
-       struct zfcp_adapter *adapter;
-
-       read_lock_irqsave(&zfcp_data.config_lock, flags);
-       list_for_each_entry(adapter, &zfcp_data.adapter_list_head, list)
-           zfcp_erp_adapter_shutdown(adapter, 0);
-       read_unlock_irqrestore(&zfcp_data.config_lock, flags);
-
-       /*
-        * FIXME : need to take config_lock but cannot, since we schedule here.
-        */
-       /* start all shutdowns first before any waiting to allow for concurreny */
-       list_for_each_entry(adapter, &zfcp_data.adapter_list_head, list)
-           zfcp_erp_wait(adapter);
-
-       return retval;
-}
 
 /*
  * function:   zfcp_fsf_scsi_er_timeout_handler
@@ -2328,7 +2297,7 @@ zfcp_erp_adapter_strategy_open_qdio(struct zfcp_erp_action *erp_action)
 
        if (qdio_establish(&adapter->qdio_init_data) != 0) {
                ZFCP_LOG_INFO("error: establishment of QDIO queues failed "
-                             "on adapter %s\n.",
+                             "on adapter %s\n",
                              zfcp_get_busid_by_adapter(adapter));
                goto failed_qdio_establish;
        }
@@ -2540,6 +2509,7 @@ zfcp_erp_adapter_strategy_open_fsf_xconfig(struct zfcp_erp_action *erp_action)
                atomic_clear_mask(ZFCP_STATUS_ADAPTER_HOST_CON_INIT,
                                  &adapter->status);
                ZFCP_LOG_DEBUG("Doing exchange config data\n");
+               zfcp_erp_action_to_running(erp_action);
                zfcp_erp_timeout_init(erp_action);
                if (zfcp_fsf_exchange_config_data(erp_action)) {
                        retval = ZFCP_ERP_FAILED;
@@ -2566,7 +2536,7 @@ zfcp_erp_adapter_strategy_open_fsf_xconfig(struct zfcp_erp_action *erp_action)
                 * _must_ be the one belonging to the 'exchange config
                 * data' request.
                 */
-               down_interruptible(&adapter->erp_ready_sem);
+               down(&adapter->erp_ready_sem);
                if (erp_action->status & ZFCP_STATUS_ERP_TIMEDOUT) {
                        ZFCP_LOG_INFO("error: exchange of configuration data "
                                      "for adapter %s timed out\n",