summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_transport_fc.c
diff options
context:
space:
mode:
authorAndrew Vasquez2006-02-14 23:22:14 +0100
committerJames Bottomley2006-02-28 04:25:40 +0100
commit8b097a67264ba3e10620b268979de3be6fe5e3cd (patch)
treea014abfb3e58ddf7b71e1c37dbecdac44020a312 /drivers/scsi/scsi_transport_fc.c
parent[SCSI] sg: Remove aha1542 hack (diff)
downloadkernel-qcow2-linux-8b097a67264ba3e10620b268979de3be6fe5e3cd.tar.gz
kernel-qcow2-linux-8b097a67264ba3e10620b268979de3be6fe5e3cd.tar.xz
kernel-qcow2-linux-8b097a67264ba3e10620b268979de3be6fe5e3cd.zip
[SCSI] fc_transport: stop creating duplicate rport entries.
Current fc_transport consumers initially register rports with an UNKNOWN role-state and follow-up with a call to fc_remote_port_rolechg(). Modify code in fc_remote_port_add() to scan the fc_host_rport_bindings() array for consistent bindings regardless of role-type. Original code would only scan bindings array for targets, causing duplicate fc_remote_ports/rport-X:Y-Z entries to be created for the yet-to-be-role-changed rports. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/scsi_transport_fc.c')
-rw-r--r--drivers/scsi/scsi_transport_fc.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c
index f2c9acf11bd0..929032e370db 100644
--- a/drivers/scsi/scsi_transport_fc.c
+++ b/drivers/scsi/scsi_transport_fc.c
@@ -1498,8 +1498,7 @@ fc_remote_port_add(struct Scsi_Host *shost, int channel,
}
/* Search the bindings array */
- if (likely((ids->roles & FC_RPORT_ROLE_FCP_TARGET) &&
- (fc_host_tgtid_bind_type(shost) != FC_TGTID_BIND_NONE))) {
+ if (fc_host_tgtid_bind_type(shost) != FC_TGTID_BIND_NONE) {
/* search for a matching consistent binding */