[SCSI] zfcp: Enable debug feature before setting adapter online
Already register the debug feature before the zfcp adapter is set online. This allows to use the debug feature to investigate the online/offline sequence. Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by: Swen Schillig <swen@vnet.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
52ef11a717
commit
ff17a29d3c
2 changed files with 9 additions and 7 deletions
|
@ -1038,6 +1038,10 @@ zfcp_adapter_enqueue(struct ccw_device *ccw_device)
|
|||
spin_lock_init(&adapter->san_dbf_lock);
|
||||
spin_lock_init(&adapter->scsi_dbf_lock);
|
||||
|
||||
retval = zfcp_adapter_debug_register(adapter);
|
||||
if (retval)
|
||||
goto debug_register_failed;
|
||||
|
||||
/* initialize error recovery stuff */
|
||||
|
||||
rwlock_init(&adapter->erp_lock);
|
||||
|
@ -1084,6 +1088,8 @@ zfcp_adapter_enqueue(struct ccw_device *ccw_device)
|
|||
generic_services_failed:
|
||||
zfcp_sysfs_adapter_remove_files(&adapter->ccw_device->dev);
|
||||
sysfs_failed:
|
||||
zfcp_adapter_debug_unregister(adapter);
|
||||
debug_register_failed:
|
||||
dev_set_drvdata(&ccw_device->dev, NULL);
|
||||
zfcp_reqlist_free(adapter);
|
||||
failed_low_mem_buffers:
|
||||
|
@ -1129,6 +1135,8 @@ zfcp_adapter_dequeue(struct zfcp_adapter *adapter)
|
|||
goto out;
|
||||
}
|
||||
|
||||
zfcp_adapter_debug_unregister(adapter);
|
||||
|
||||
/* remove specified adapter data structure from list */
|
||||
write_lock_irq(&zfcp_data.config_lock);
|
||||
list_del(&adapter->list);
|
||||
|
|
|
@ -150,15 +150,12 @@ zfcp_ccw_set_online(struct ccw_device *ccw_device)
|
|||
down(&zfcp_data.config_sema);
|
||||
adapter = dev_get_drvdata(&ccw_device->dev);
|
||||
|
||||
retval = zfcp_adapter_debug_register(adapter);
|
||||
if (retval)
|
||||
goto out;
|
||||
retval = zfcp_erp_thread_setup(adapter);
|
||||
if (retval) {
|
||||
ZFCP_LOG_INFO("error: start of error recovery thread for "
|
||||
"adapter %s failed\n",
|
||||
zfcp_get_busid_by_adapter(adapter));
|
||||
goto out_erp_thread;
|
||||
goto out;
|
||||
}
|
||||
|
||||
retval = zfcp_adapter_scsi_register(adapter);
|
||||
|
@ -177,8 +174,6 @@ zfcp_ccw_set_online(struct ccw_device *ccw_device)
|
|||
|
||||
out_scsi_register:
|
||||
zfcp_erp_thread_kill(adapter);
|
||||
out_erp_thread:
|
||||
zfcp_adapter_debug_unregister(adapter);
|
||||
out:
|
||||
up(&zfcp_data.config_sema);
|
||||
return retval;
|
||||
|
@ -201,7 +196,6 @@ zfcp_ccw_set_offline(struct ccw_device *ccw_device)
|
|||
zfcp_erp_adapter_shutdown(adapter, 0);
|
||||
zfcp_erp_wait(adapter);
|
||||
zfcp_erp_thread_kill(adapter);
|
||||
zfcp_adapter_debug_unregister(adapter);
|
||||
up(&zfcp_data.config_sema);
|
||||
return 0;
|
||||
}
|
||||
|
|
Reference in a new issue