From ff2be616a76df452b59d04ba7976d7c3eb5e340b Mon Sep 17 00:00:00 2001 From: Joe Eykholt Date: Tue, 25 Aug 2009 14:01:55 -0700 Subject: [PATCH] --- yaml --- r: 161150 b: refs/heads/master c: 19f97e3c0acc5eb03486044f5428395b7690a01a h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/scsi/libfc/fc_disc.c | 9 +++------ trunk/drivers/scsi/libfc/fc_rport.c | 4 ++++ 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index f23f67f3d084..4fa33a671bcc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 48f00902ba40d3e4467782a42258b952437a89f9 +refs/heads/master: 19f97e3c0acc5eb03486044f5428395b7690a01a diff --git a/trunk/drivers/scsi/libfc/fc_disc.c b/trunk/drivers/scsi/libfc/fc_disc.c index e6b13bfecf73..266aa1ea01e4 100644 --- a/trunk/drivers/scsi/libfc/fc_disc.c +++ b/trunk/drivers/scsi/libfc/fc_disc.c @@ -377,12 +377,9 @@ static int fc_disc_new_target(struct fc_disc *disc, ids->port_id != fc_host_port_id(lport->host) && ids->port_name != lport->wwpn) { if (!rdata) { - rdata = lport->tt.rport_lookup(lport, ids->port_id); - if (!rdata) { - rdata = lport->tt.rport_create(lport, ids); - if (!rdata) - error = -ENOMEM; - } + rdata = lport->tt.rport_create(lport, ids); + if (!rdata) + error = -ENOMEM; } if (rdata) { rdata->ops = &fc_disc_rport_ops; diff --git a/trunk/drivers/scsi/libfc/fc_rport.c b/trunk/drivers/scsi/libfc/fc_rport.c index a9087b31bce9..29bb6fd10036 100644 --- a/trunk/drivers/scsi/libfc/fc_rport.c +++ b/trunk/drivers/scsi/libfc/fc_rport.c @@ -98,6 +98,10 @@ static struct fc_rport_priv *fc_rport_create(struct fc_lport *lport, { struct fc_rport_priv *rdata; + rdata = lport->tt.rport_lookup(lport, ids->port_id); + if (rdata) + return rdata; + rdata = kzalloc(sizeof(*rdata), GFP_KERNEL); if (!rdata) return NULL;