diff options
Diffstat (limited to 'drivers/s390/scsi/zfcp_erp.c')
-rw-r--r-- | drivers/s390/scsi/zfcp_erp.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c index fdc9b4352a6..e50ea465bc2 100644 --- a/drivers/s390/scsi/zfcp_erp.c +++ b/drivers/s390/scsi/zfcp_erp.c | |||
@@ -880,6 +880,7 @@ static int zfcp_erp_port_strategy_open_common(struct zfcp_erp_action *act) | |||
880 | zfcp_port_put(port); | 880 | zfcp_port_put(port); |
881 | return ZFCP_ERP_CONTINUES; | 881 | return ZFCP_ERP_CONTINUES; |
882 | } | 882 | } |
883 | /* fall through */ | ||
883 | case ZFCP_ERP_STEP_NAMESERVER_LOOKUP: | 884 | case ZFCP_ERP_STEP_NAMESERVER_LOOKUP: |
884 | if (!port->d_id) | 885 | if (!port->d_id) |
885 | return ZFCP_ERP_FAILED; | 886 | return ZFCP_ERP_FAILED; |
@@ -894,8 +895,13 @@ static int zfcp_erp_port_strategy_open_common(struct zfcp_erp_action *act) | |||
894 | act->step = ZFCP_ERP_STEP_PORT_CLOSING; | 895 | act->step = ZFCP_ERP_STEP_PORT_CLOSING; |
895 | return ZFCP_ERP_CONTINUES; | 896 | return ZFCP_ERP_CONTINUES; |
896 | } | 897 | } |
897 | /* fall through otherwise */ | ||
898 | } | 898 | } |
899 | if (port->d_id && !(p_status & ZFCP_STATUS_COMMON_NOESC)) { | ||
900 | port->d_id = 0; | ||
901 | _zfcp_erp_port_reopen(port, 0, "erpsoc1", NULL); | ||
902 | return ZFCP_ERP_EXIT; | ||
903 | } | ||
904 | /* fall through otherwise */ | ||
899 | } | 905 | } |
900 | return ZFCP_ERP_FAILED; | 906 | return ZFCP_ERP_FAILED; |
901 | } | 907 | } |