aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_fc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/scsi/zfcp_fc.c')
-rw-r--r--drivers/s390/scsi/zfcp_fc.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/s390/scsi/zfcp_fc.c b/drivers/s390/scsi/zfcp_fc.c
index db409684e06f..19ae0842047c 100644
--- a/drivers/s390/scsi/zfcp_fc.c
+++ b/drivers/s390/scsi/zfcp_fc.c
@@ -539,6 +539,9 @@ static void zfcp_validate_port(struct zfcp_port *port)
539{ 539{
540 struct zfcp_adapter *adapter = port->adapter; 540 struct zfcp_adapter *adapter = port->adapter;
541 541
542 if (!(atomic_read(&port->status) & ZFCP_STATUS_COMMON_NOESC))
543 return;
544
542 atomic_clear_mask(ZFCP_STATUS_COMMON_NOESC, &port->status); 545 atomic_clear_mask(ZFCP_STATUS_COMMON_NOESC, &port->status);
543 546
544 if ((port->supported_classes != 0) || 547 if ((port->supported_classes != 0) ||
@@ -599,10 +602,8 @@ static int zfcp_scan_eval_gpn_ft(struct zfcp_gpn_ft *gpn_ft, int max_entries)
599 if (acc->wwpn == fc_host_port_name(adapter->scsi_host)) 602 if (acc->wwpn == fc_host_port_name(adapter->scsi_host))
600 continue; 603 continue;
601 port = zfcp_get_port_by_wwpn(adapter, acc->wwpn); 604 port = zfcp_get_port_by_wwpn(adapter, acc->wwpn);
602 if (port) { 605 if (port)
603 zfcp_port_get(port);
604 continue; 606 continue;
605 }
606 607
607 port = zfcp_port_enqueue(adapter, acc->wwpn, 608 port = zfcp_port_enqueue(adapter, acc->wwpn,
608 ZFCP_STATUS_COMMON_NOESC, d_id); 609 ZFCP_STATUS_COMMON_NOESC, d_id);