aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_aux.c
diff options
context:
space:
mode:
authorSwen Schillig <swen@vnet.ibm.com>2009-04-17 09:08:05 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-04-27 11:07:27 -0400
commit828bc1212a685918bbdb5866504b63eea2c241f5 (patch)
tree414f4e64ef934c37d873afb9711074011a6eb03c /drivers/s390/scsi/zfcp_aux.c
parent92d5193b467c68e8432d6878980621c787e735af (diff)
[SCSI] zfcp: Set WKA-port to offline on adapter deactivation
The nameserver port might be in state online when the adapter is offlined. On adapter reactivation the nameserver port is not re-opened due to the PORT_ONLINE status. This results in an unsuccessful recovery. In forcing the nameserver port status to offline on all adapter offline events this issue is prevented. Waiting for the reference count to drop to zero in zfcp_wka_port_offline is not required, so remove it. 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@HansenPartnership.com>
Diffstat (limited to 'drivers/s390/scsi/zfcp_aux.c')
-rw-r--r--drivers/s390/scsi/zfcp_aux.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/s390/scsi/zfcp_aux.c b/drivers/s390/scsi/zfcp_aux.c
index 5a01ef9aeb66..a00d2bb9559c 100644
--- a/drivers/s390/scsi/zfcp_aux.c
+++ b/drivers/s390/scsi/zfcp_aux.c
@@ -524,6 +524,8 @@ int zfcp_adapter_enqueue(struct ccw_device *ccw_device)
524 524
525 atomic_clear_mask(ZFCP_STATUS_COMMON_REMOVE, &adapter->status); 525 atomic_clear_mask(ZFCP_STATUS_COMMON_REMOVE, &adapter->status);
526 526
527 zfcp_fc_nameserver_init(adapter);
528
527 if (!zfcp_adapter_scsi_register(adapter)) 529 if (!zfcp_adapter_scsi_register(adapter))
528 return 0; 530 return 0;
529 531
@@ -552,7 +554,6 @@ void zfcp_adapter_dequeue(struct zfcp_adapter *adapter)
552 554
553 cancel_work_sync(&adapter->scan_work); 555 cancel_work_sync(&adapter->scan_work);
554 cancel_work_sync(&adapter->stat_work); 556 cancel_work_sync(&adapter->stat_work);
555 cancel_delayed_work_sync(&adapter->nsp.work);
556 zfcp_adapter_scsi_unregister(adapter); 557 zfcp_adapter_scsi_unregister(adapter);
557 sysfs_remove_group(&adapter->ccw_device->dev.kobj, 558 sysfs_remove_group(&adapter->ccw_device->dev.kobj,
558 &zfcp_sysfs_adapter_attrs); 559 &zfcp_sysfs_adapter_attrs);