summary refs log tree commit diff
path: root/drivers/s390
diff options
context:
space:
mode:
authorChristof Schmitt <christof.schmitt@de.ibm.com>2010-07-08 09:53:05 +0200
committerJames Bottomley <James.Bottomley@suse.de>2010-07-28 09:46:34 -0500
commit5767620c383a226e39891e7e654a70ebb8e95e69 (patch)
tree6aa1acae40e09d79a5714f4f0e4b3fcdef7eb23d /drivers/s390
parent478a8a0543021172220feeb0b39bb1b3e43c988f (diff)
downloadlinux-5767620c383a226e39891e7e654a70ebb8e95e69.tar.gz
[SCSI] zfcp: Do not unblock rport from REOPEN_PORT_FORCED
When the REOPEN_PORT_FORCED erp action succeeds, the port has been
closed. A REOPEN_PORT will try to open the port after the
REPORT_PORT_FORCED. The rport should only be unblocked after the
successful completion of the reopen port.

Reviewed-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/s390')
-rw-r--r--drivers/s390/scsi/zfcp_erp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c
index fd068bc1bd0a..c663eb2ecf32 100644
--- a/drivers/s390/scsi/zfcp_erp.c
+++ b/drivers/s390/scsi/zfcp_erp.c
@@ -1197,10 +1197,11 @@ static void zfcp_erp_action_cleanup(struct zfcp_erp_action *act, int result)
 		put_device(&unit->dev);
 		break;
 
-	case ZFCP_ERP_ACTION_REOPEN_PORT_FORCED:
 	case ZFCP_ERP_ACTION_REOPEN_PORT:
 		if (result == ZFCP_ERP_SUCCEEDED)
 			zfcp_scsi_schedule_rport_register(port);
+		/* fall through */
+	case ZFCP_ERP_ACTION_REOPEN_PORT_FORCED:
 		put_device(&port->dev);
 		break;