diff options
-rw-r--r-- | drivers/s390/scsi/zfcp_erp.c | 7 | ||||
-rw-r--r-- | drivers/s390/scsi/zfcp_fc.c | 7 |
2 files changed, 12 insertions, 2 deletions
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c index 3f64aded6caa..e50ea465bc2b 100644 --- a/drivers/s390/scsi/zfcp_erp.c +++ b/drivers/s390/scsi/zfcp_erp.c | |||
@@ -895,8 +895,13 @@ static int zfcp_erp_port_strategy_open_common(struct zfcp_erp_action *act) | |||
895 | act->step = ZFCP_ERP_STEP_PORT_CLOSING; | 895 | act->step = ZFCP_ERP_STEP_PORT_CLOSING; |
896 | return ZFCP_ERP_CONTINUES; | 896 | return ZFCP_ERP_CONTINUES; |
897 | } | 897 | } |
898 | /* fall through otherwise */ | ||
899 | } | 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 */ | ||
900 | } | 905 | } |
901 | return ZFCP_ERP_FAILED; | 906 | return ZFCP_ERP_FAILED; |
902 | } | 907 | } |
diff --git a/drivers/s390/scsi/zfcp_fc.c b/drivers/s390/scsi/zfcp_fc.c index 19ae0842047c..bb2752b4130f 100644 --- a/drivers/s390/scsi/zfcp_fc.c +++ b/drivers/s390/scsi/zfcp_fc.c | |||
@@ -150,9 +150,14 @@ static void _zfcp_fc_incoming_rscn(struct zfcp_fsf_req *fsf_req, u32 range, | |||
150 | struct zfcp_port *port; | 150 | struct zfcp_port *port; |
151 | 151 | ||
152 | read_lock_irqsave(&zfcp_data.config_lock, flags); | 152 | read_lock_irqsave(&zfcp_data.config_lock, flags); |
153 | list_for_each_entry(port, &fsf_req->adapter->port_list_head, list) | 153 | list_for_each_entry(port, &fsf_req->adapter->port_list_head, list) { |
154 | if ((port->d_id & range) == (elem->nport_did & range)) | 154 | if ((port->d_id & range) == (elem->nport_did & range)) |
155 | zfcp_test_link(port); | 155 | zfcp_test_link(port); |
156 | if (!port->d_id) | ||
157 | zfcp_erp_port_reopen(port, | ||
158 | ZFCP_STATUS_COMMON_ERP_FAILED, | ||
159 | "fcrscn1", NULL); | ||
160 | } | ||
156 | 161 | ||
157 | read_unlock_irqrestore(&zfcp_data.config_lock, flags); | 162 | read_unlock_irqrestore(&zfcp_data.config_lock, flags); |
158 | } | 163 | } |