aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_erp.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/scsi/zfcp_erp.c')
-rw-r--r--drivers/s390/scsi/zfcp_erp.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c
index 4dd8fe70c415..b18c6dd37294 100644
--- a/drivers/s390/scsi/zfcp_erp.c
+++ b/drivers/s390/scsi/zfcp_erp.c
@@ -669,8 +669,6 @@ static int zfcp_erp_adapter_strategy_open_fsf_xport(struct zfcp_erp_action *act)
669 int ret; 669 int ret;
670 struct zfcp_adapter *adapter = act->adapter; 670 struct zfcp_adapter *adapter = act->adapter;
671 671
672 atomic_clear_mask(ZFCP_STATUS_ADAPTER_XPORT_OK, &adapter->status);
673
674 write_lock_irq(&adapter->erp_lock); 672 write_lock_irq(&adapter->erp_lock);
675 zfcp_erp_action_to_running(act); 673 zfcp_erp_action_to_running(act);
676 write_unlock_irq(&adapter->erp_lock); 674 write_unlock_irq(&adapter->erp_lock);
@@ -741,8 +739,7 @@ static int zfcp_erp_adapter_strategy_generic(struct zfcp_erp_action *act,
741 ZFCP_STATUS_COMMON_OPEN, ZFCP_CLEAR); 739 ZFCP_STATUS_COMMON_OPEN, ZFCP_CLEAR);
742 failed_qdio: 740 failed_qdio:
743 atomic_clear_mask(ZFCP_STATUS_ADAPTER_XCONFIG_OK | 741 atomic_clear_mask(ZFCP_STATUS_ADAPTER_XCONFIG_OK |
744 ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED | 742 ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED,
745 ZFCP_STATUS_ADAPTER_XPORT_OK,
746 &act->adapter->status); 743 &act->adapter->status);
747 return retval; 744 return retval;
748} 745}
@@ -751,15 +748,11 @@ static int zfcp_erp_adapter_strategy(struct zfcp_erp_action *act)
751{ 748{
752 int retval; 749 int retval;
753 750
754 atomic_set_mask(ZFCP_STATUS_COMMON_CLOSING, &act->adapter->status);
755 zfcp_erp_adapter_strategy_generic(act, 1); /* close */ 751 zfcp_erp_adapter_strategy_generic(act, 1); /* close */
756 atomic_clear_mask(ZFCP_STATUS_COMMON_CLOSING, &act->adapter->status);
757 if (act->status & ZFCP_STATUS_ERP_CLOSE_ONLY) 752 if (act->status & ZFCP_STATUS_ERP_CLOSE_ONLY)
758 return ZFCP_ERP_EXIT; 753 return ZFCP_ERP_EXIT;
759 754
760 atomic_set_mask(ZFCP_STATUS_COMMON_OPENING, &act->adapter->status);
761 retval = zfcp_erp_adapter_strategy_generic(act, 0); /* open */ 755 retval = zfcp_erp_adapter_strategy_generic(act, 0); /* open */
762 atomic_clear_mask(ZFCP_STATUS_COMMON_OPENING, &act->adapter->status);
763 756
764 if (retval == ZFCP_ERP_FAILED) 757 if (retval == ZFCP_ERP_FAILED)
765 ssleep(8); 758 ssleep(8);
@@ -783,9 +776,7 @@ static int zfcp_erp_port_forced_strategy_close(struct zfcp_erp_action *act)
783 776
784static void zfcp_erp_port_strategy_clearstati(struct zfcp_port *port) 777static void zfcp_erp_port_strategy_clearstati(struct zfcp_port *port)
785{ 778{
786 atomic_clear_mask(ZFCP_STATUS_COMMON_OPENING | 779 atomic_clear_mask(ZFCP_STATUS_COMMON_ACCESS_DENIED |
787 ZFCP_STATUS_COMMON_CLOSING |
788 ZFCP_STATUS_COMMON_ACCESS_DENIED |
789 ZFCP_STATUS_PORT_DID_DID | 780 ZFCP_STATUS_PORT_DID_DID |
790 ZFCP_STATUS_PORT_PHYS_CLOSING | 781 ZFCP_STATUS_PORT_PHYS_CLOSING |
791 ZFCP_STATUS_PORT_INVALID_WWPN, 782 ZFCP_STATUS_PORT_INVALID_WWPN,
@@ -998,9 +989,7 @@ static int zfcp_erp_port_strategy(struct zfcp_erp_action *erp_action)
998 989
999static void zfcp_erp_unit_strategy_clearstati(struct zfcp_unit *unit) 990static void zfcp_erp_unit_strategy_clearstati(struct zfcp_unit *unit)
1000{ 991{
1001 atomic_clear_mask(ZFCP_STATUS_COMMON_OPENING | 992 atomic_clear_mask(ZFCP_STATUS_COMMON_ACCESS_DENIED |
1002 ZFCP_STATUS_COMMON_CLOSING |
1003 ZFCP_STATUS_COMMON_ACCESS_DENIED |
1004 ZFCP_STATUS_UNIT_SHARED | 993 ZFCP_STATUS_UNIT_SHARED |
1005 ZFCP_STATUS_UNIT_READONLY, 994 ZFCP_STATUS_UNIT_READONLY,
1006 &unit->status); 995 &unit->status);