diff options
author | Maxim Shchetynin <maxim@de.ibm.com> | 2006-01-05 03:56:47 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2006-01-14 11:54:49 -0500 |
commit | 9eb69aff79264b5f35e41922df20a488c67e9ee2 (patch) | |
tree | 96bb41b45a4e5be1785af95aef57c49d505604c7 /drivers/s390/scsi/zfcp_fsf.c | |
parent | 6b7281d0a0f8f99d39808088a036459f6f7906a6 (diff) |
[SCSI] zfcp: handle unsolicited status notification lost
Handle unsolicited adapter status that informs about loss of
previous unsolicited status notification(s).
Signed-off-by: Maxim Shchetynin <maxim@de.ibm.com>
Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/s390/scsi/zfcp_fsf.c')
-rw-r--r-- | drivers/s390/scsi/zfcp_fsf.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/drivers/s390/scsi/zfcp_fsf.c b/drivers/s390/scsi/zfcp_fsf.c index 59587951c847..bf859c9982df 100644 --- a/drivers/s390/scsi/zfcp_fsf.c +++ b/drivers/s390/scsi/zfcp_fsf.c | |||
@@ -964,6 +964,40 @@ zfcp_fsf_status_read_handler(struct zfcp_fsf_req *fsf_req) | |||
964 | | ZFCP_STATUS_COMMON_ERP_FAILED); | 964 | | ZFCP_STATUS_COMMON_ERP_FAILED); |
965 | break; | 965 | break; |
966 | 966 | ||
967 | case FSF_STATUS_READ_NOTIFICATION_LOST: | ||
968 | ZFCP_LOG_NORMAL("Unsolicited status notification(s) lost: " | ||
969 | "adapter %s%s%s%s%s%s%s%s%s\n", | ||
970 | zfcp_get_busid_by_adapter(adapter), | ||
971 | (status_buffer->status_subtype & | ||
972 | FSF_STATUS_READ_SUB_INCOMING_ELS) ? | ||
973 | ", incoming ELS" : "", | ||
974 | (status_buffer->status_subtype & | ||
975 | FSF_STATUS_READ_SUB_SENSE_DATA) ? | ||
976 | ", sense data" : "", | ||
977 | (status_buffer->status_subtype & | ||
978 | FSF_STATUS_READ_SUB_LINK_STATUS) ? | ||
979 | ", link status change" : "", | ||
980 | (status_buffer->status_subtype & | ||
981 | FSF_STATUS_READ_SUB_PORT_CLOSED) ? | ||
982 | ", port close" : "", | ||
983 | (status_buffer->status_subtype & | ||
984 | FSF_STATUS_READ_SUB_BIT_ERROR_THRESHOLD) ? | ||
985 | ", bit error exception" : "", | ||
986 | (status_buffer->status_subtype & | ||
987 | FSF_STATUS_READ_SUB_ACT_UPDATED) ? | ||
988 | ", ACT update" : "", | ||
989 | (status_buffer->status_subtype & | ||
990 | FSF_STATUS_READ_SUB_ACT_HARDENED) ? | ||
991 | ", ACT hardening" : "", | ||
992 | (status_buffer->status_subtype & | ||
993 | FSF_STATUS_READ_SUB_FEATURE_UPDATE_ALERT) ? | ||
994 | ", adapter feature change" : ""); | ||
995 | |||
996 | if (status_buffer->status_subtype & | ||
997 | FSF_STATUS_READ_SUB_ACT_UPDATED) | ||
998 | zfcp_erp_adapter_access_changed(adapter); | ||
999 | break; | ||
1000 | |||
967 | case FSF_STATUS_READ_CFDC_UPDATED: | 1001 | case FSF_STATUS_READ_CFDC_UPDATED: |
968 | ZFCP_LOG_NORMAL("CFDC has been updated on the adapter %s\n", | 1002 | ZFCP_LOG_NORMAL("CFDC has been updated on the adapter %s\n", |
969 | zfcp_get_busid_by_adapter(adapter)); | 1003 | zfcp_get_busid_by_adapter(adapter)); |
@@ -1954,6 +1988,7 @@ zfcp_fsf_exchange_config_data(struct zfcp_erp_action *erp_action) | |||
1954 | erp_action->fsf_req->qtcb->bottom.config.feature_selection = | 1988 | erp_action->fsf_req->qtcb->bottom.config.feature_selection = |
1955 | FSF_FEATURE_CFDC | | 1989 | FSF_FEATURE_CFDC | |
1956 | FSF_FEATURE_LUN_SHARING | | 1990 | FSF_FEATURE_LUN_SHARING | |
1991 | FSF_FEATURE_NOTIFICATION_LOST | | ||
1957 | FSF_FEATURE_UPDATE_ALERT; | 1992 | FSF_FEATURE_UPDATE_ALERT; |
1958 | 1993 | ||
1959 | /* start QDIO request for this FSF request */ | 1994 | /* start QDIO request for this FSF request */ |