diff options
Diffstat (limited to 'drivers/scsi/libfc/fc_disc.c')
-rw-r--r-- | drivers/scsi/libfc/fc_disc.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/scsi/libfc/fc_disc.c b/drivers/scsi/libfc/fc_disc.c index e6b13bfecf73..266aa1ea01e4 100644 --- a/drivers/scsi/libfc/fc_disc.c +++ b/drivers/scsi/libfc/fc_disc.c | |||
@@ -377,12 +377,9 @@ static int fc_disc_new_target(struct fc_disc *disc, | |||
377 | ids->port_id != fc_host_port_id(lport->host) && | 377 | ids->port_id != fc_host_port_id(lport->host) && |
378 | ids->port_name != lport->wwpn) { | 378 | ids->port_name != lport->wwpn) { |
379 | if (!rdata) { | 379 | if (!rdata) { |
380 | rdata = lport->tt.rport_lookup(lport, ids->port_id); | 380 | rdata = lport->tt.rport_create(lport, ids); |
381 | if (!rdata) { | 381 | if (!rdata) |
382 | rdata = lport->tt.rport_create(lport, ids); | 382 | error = -ENOMEM; |
383 | if (!rdata) | ||
384 | error = -ENOMEM; | ||
385 | } | ||
386 | } | 383 | } |
387 | if (rdata) { | 384 | if (rdata) { |
388 | rdata->ops = &fc_disc_rport_ops; | 385 | rdata->ops = &fc_disc_rport_ops; |