aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_erp.c
diff options
context:
space:
mode:
authorChristof Schmitt <christof.schmitt@de.ibm.com>2008-12-25 07:38:50 -0500
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2008-12-25 07:39:01 -0500
commitbd43a42b7e9880f426ed715f18bb4f963b7352af (patch)
tree1c58540f9df8d6b45f932b77830bf21eb47dabf9 /drivers/s390/scsi/zfcp_erp.c
parent6bcac508fbebdca52f5a55d69a4316997ecb5391 (diff)
[S390] zfcp: Report microcode level through service level interface
Register zfcp with the new /proc/service_level interface to report the FCP microcode level. When the adapter goes offline or a channel path disappears, zfcp unregisters, since the microcode version might change and zfcp does not know about it. Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/scsi/zfcp_erp.c')
-rw-r--r--drivers/s390/scsi/zfcp_erp.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c
index c557ba34e1aa..174d29ce2a69 100644
--- a/drivers/s390/scsi/zfcp_erp.c
+++ b/drivers/s390/scsi/zfcp_erp.c
@@ -1281,10 +1281,13 @@ static void zfcp_erp_action_cleanup(struct zfcp_erp_action *act, int result)
1281 break; 1281 break;
1282 1282
1283 case ZFCP_ERP_ACTION_REOPEN_ADAPTER: 1283 case ZFCP_ERP_ACTION_REOPEN_ADAPTER:
1284 if (result != ZFCP_ERP_SUCCEEDED) 1284 if (result != ZFCP_ERP_SUCCEEDED) {
1285 unregister_service_level(&adapter->service_level);
1285 zfcp_erp_rports_del(adapter); 1286 zfcp_erp_rports_del(adapter);
1286 else 1287 } else {
1288 register_service_level(&adapter->service_level);
1287 schedule_work(&adapter->scan_work); 1289 schedule_work(&adapter->scan_work);
1290 }
1288 zfcp_adapter_put(adapter); 1291 zfcp_adapter_put(adapter);
1289 break; 1292 break;
1290 } 1293 }