aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorVolker Sameske <sameske@de.ibm.com>2007-05-29 09:29:49 -0400
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2007-06-19 17:51:14 -0400
commitc7f6b3a39967b0f28d0e507866840f82e4354a23 (patch)
tree0d03018a17f5d77c3ea4f4d6b0771280319fcf6c /drivers
parentda9c0c770e775e655e3f77c96d91ee557b117adb (diff)
[SCSI] zfcp: clear adapter status flags during adapter shutdown
In some cases we did not reset some adapter status flags properly. This patch clears these flags during FCP adapter shutdown. Signed-off-by: Volker Sameske <sameske@de.ibm.com> Signed-off-by: Swen Schillig <swen@vnet.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/s390/scsi/zfcp_erp.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c
index aef66bc2b6ca..4e7cb6dc4d34 100644
--- a/drivers/s390/scsi/zfcp_erp.c
+++ b/drivers/s390/scsi/zfcp_erp.c
@@ -1986,6 +1986,10 @@ zfcp_erp_adapter_strategy_generic(struct zfcp_erp_action *erp_action, int close)
1986 failed_openfcp: 1986 failed_openfcp:
1987 zfcp_close_fsf(erp_action->adapter); 1987 zfcp_close_fsf(erp_action->adapter);
1988 failed_qdio: 1988 failed_qdio:
1989 atomic_clear_mask(ZFCP_STATUS_ADAPTER_XCONFIG_OK |
1990 ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED |
1991 ZFCP_STATUS_ADAPTER_XPORT_OK,
1992 &erp_action->adapter->status);
1989 out: 1993 out:
1990 return retval; 1994 return retval;
1991} 1995}
@@ -2167,6 +2171,9 @@ zfcp_erp_adapter_strategy_open_fsf_xconfig(struct zfcp_erp_action *erp_action)
2167 sleep *= 2; 2171 sleep *= 2;
2168 } 2172 }
2169 2173
2174 atomic_clear_mask(ZFCP_STATUS_ADAPTER_HOST_CON_INIT,
2175 &adapter->status);
2176
2170 if (!atomic_test_mask(ZFCP_STATUS_ADAPTER_XCONFIG_OK, 2177 if (!atomic_test_mask(ZFCP_STATUS_ADAPTER_XCONFIG_OK,
2171 &adapter->status)) { 2178 &adapter->status)) {
2172 ZFCP_LOG_INFO("error: exchange of configuration data for " 2179 ZFCP_LOG_INFO("error: exchange of configuration data for "