diff options
| -rw-r--r-- | drivers/s390/scsi/zfcp_scsi.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/s390/scsi/zfcp_scsi.c b/drivers/s390/scsi/zfcp_scsi.c index 967ede73f4c5..ba32709921a4 100644 --- a/drivers/s390/scsi/zfcp_scsi.c +++ b/drivers/s390/scsi/zfcp_scsi.c | |||
| @@ -534,6 +534,9 @@ static void zfcp_scsi_rport_register(struct zfcp_port *port) | |||
| 534 | struct fc_rport_identifiers ids; | 534 | struct fc_rport_identifiers ids; |
| 535 | struct fc_rport *rport; | 535 | struct fc_rport *rport; |
| 536 | 536 | ||
| 537 | if (port->rport) | ||
| 538 | return; | ||
| 539 | |||
| 537 | ids.node_name = port->wwnn; | 540 | ids.node_name = port->wwnn; |
| 538 | ids.port_name = port->wwpn; | 541 | ids.port_name = port->wwpn; |
| 539 | ids.port_id = port->d_id; | 542 | ids.port_id = port->d_id; |
| @@ -557,8 +560,10 @@ static void zfcp_scsi_rport_block(struct zfcp_port *port) | |||
| 557 | { | 560 | { |
| 558 | struct fc_rport *rport = port->rport; | 561 | struct fc_rport *rport = port->rport; |
| 559 | 562 | ||
| 560 | if (rport) | 563 | if (rport) { |
| 561 | fc_remote_port_delete(rport); | 564 | fc_remote_port_delete(rport); |
| 565 | port->rport = NULL; | ||
| 566 | } | ||
| 562 | } | 567 | } |
| 563 | 568 | ||
| 564 | void zfcp_scsi_schedule_rport_register(struct zfcp_port *port) | 569 | void zfcp_scsi_schedule_rport_register(struct zfcp_port *port) |
