diff options
Diffstat (limited to 'drivers/s390/scsi/zfcp_erp.c')
-rw-r--r-- | drivers/s390/scsi/zfcp_erp.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c index 4ed4950d994b..387a3af528ac 100644 --- a/drivers/s390/scsi/zfcp_erp.c +++ b/drivers/s390/scsi/zfcp_erp.c | |||
@@ -840,7 +840,6 @@ static int zfcp_erp_open_ptp_port(struct zfcp_erp_action *act) | |||
840 | return ZFCP_ERP_FAILED; | 840 | return ZFCP_ERP_FAILED; |
841 | } | 841 | } |
842 | port->d_id = adapter->peer_d_id; | 842 | port->d_id = adapter->peer_d_id; |
843 | atomic_set_mask(ZFCP_STATUS_PORT_DID_DID, &port->status); | ||
844 | return zfcp_erp_port_strategy_open_port(act); | 843 | return zfcp_erp_port_strategy_open_port(act); |
845 | } | 844 | } |
846 | 845 | ||
@@ -871,12 +870,12 @@ static int zfcp_erp_port_strategy_open_common(struct zfcp_erp_action *act) | |||
871 | case ZFCP_ERP_STEP_PORT_CLOSING: | 870 | case ZFCP_ERP_STEP_PORT_CLOSING: |
872 | if (fc_host_port_type(adapter->scsi_host) == FC_PORTTYPE_PTP) | 871 | if (fc_host_port_type(adapter->scsi_host) == FC_PORTTYPE_PTP) |
873 | return zfcp_erp_open_ptp_port(act); | 872 | return zfcp_erp_open_ptp_port(act); |
874 | if (!(p_status & ZFCP_STATUS_PORT_DID_DID)) { | 873 | if (!port->d_id) { |
875 | queue_work(zfcp_data.work_queue, &port->gid_pn_work); | 874 | queue_work(zfcp_data.work_queue, &port->gid_pn_work); |
876 | return ZFCP_ERP_CONTINUES; | 875 | return ZFCP_ERP_CONTINUES; |
877 | } | 876 | } |
878 | case ZFCP_ERP_STEP_NAMESERVER_LOOKUP: | 877 | case ZFCP_ERP_STEP_NAMESERVER_LOOKUP: |
879 | if (!(p_status & ZFCP_STATUS_PORT_DID_DID)) { | 878 | if (!port->d_id) { |
880 | if (p_status & (ZFCP_STATUS_PORT_INVALID_WWPN)) { | 879 | if (p_status & (ZFCP_STATUS_PORT_INVALID_WWPN)) { |
881 | zfcp_erp_port_failed(port, 26, NULL); | 880 | zfcp_erp_port_failed(port, 26, NULL); |
882 | return ZFCP_ERP_EXIT; | 881 | return ZFCP_ERP_EXIT; |
@@ -888,7 +887,7 @@ static int zfcp_erp_port_strategy_open_common(struct zfcp_erp_action *act) | |||
888 | case ZFCP_ERP_STEP_PORT_OPENING: | 887 | case ZFCP_ERP_STEP_PORT_OPENING: |
889 | /* D_ID might have changed during open */ | 888 | /* D_ID might have changed during open */ |
890 | if (p_status & ZFCP_STATUS_COMMON_OPEN) { | 889 | if (p_status & ZFCP_STATUS_COMMON_OPEN) { |
891 | if (p_status & ZFCP_STATUS_PORT_DID_DID) | 890 | if (port->d_id) |
892 | return ZFCP_ERP_SUCCEEDED; | 891 | return ZFCP_ERP_SUCCEEDED; |
893 | else { | 892 | else { |
894 | act->step = ZFCP_ERP_STEP_PORT_CLOSING; | 893 | act->step = ZFCP_ERP_STEP_PORT_CLOSING; |
@@ -1385,6 +1384,7 @@ static int zfcp_erp_thread(void *data) | |||
1385 | struct list_head *next; | 1384 | struct list_head *next; |
1386 | struct zfcp_erp_action *act; | 1385 | struct zfcp_erp_action *act; |
1387 | unsigned long flags; | 1386 | unsigned long flags; |
1387 | int ignore; | ||
1388 | 1388 | ||
1389 | daemonize("zfcperp%s", dev_name(&adapter->ccw_device->dev)); | 1389 | daemonize("zfcperp%s", dev_name(&adapter->ccw_device->dev)); |
1390 | /* Block all signals */ | 1390 | /* Block all signals */ |
@@ -1407,7 +1407,7 @@ static int zfcp_erp_thread(void *data) | |||
1407 | } | 1407 | } |
1408 | 1408 | ||
1409 | zfcp_rec_dbf_event_thread_lock(4, adapter); | 1409 | zfcp_rec_dbf_event_thread_lock(4, adapter); |
1410 | down_interruptible(&adapter->erp_ready_sem); | 1410 | ignore = down_interruptible(&adapter->erp_ready_sem); |
1411 | zfcp_rec_dbf_event_thread_lock(5, adapter); | 1411 | zfcp_rec_dbf_event_thread_lock(5, adapter); |
1412 | } | 1412 | } |
1413 | 1413 | ||