diff options
author | Joe Eykholt <jeykholt@cisco.com> | 2010-03-12 19:08:07 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-04-11 10:23:37 -0400 |
commit | f4568b8b9766d083c0e61346173bb22274128208 (patch) | |
tree | ef55e06fd86a64127a19eb9100f7cbd114e8564b | |
parent | 7d65b0df6c5951271cd368170bca8601aa2e65c7 (diff) |
[SCSI] libfc: recognize incoming FLOGI for point-to-point mode
When receiving a FLOGI request from a point-to-point peer,
the D_ID of 0xfffffe was not recognized as belonging to one
of the lports, so it was dropped.
Change fc_vport_id_lookup() to treat d_id 0xfffffe as a match.
Signed-off-by: Joe Eykholt <jeykholt@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
-rw-r--r-- | drivers/scsi/libfc/fc_npiv.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/libfc/fc_npiv.c b/drivers/scsi/libfc/fc_npiv.c index c68f6c7341c2..45b6f1e2df92 100644 --- a/drivers/scsi/libfc/fc_npiv.c +++ b/drivers/scsi/libfc/fc_npiv.c | |||
@@ -72,6 +72,9 @@ struct fc_lport *fc_vport_id_lookup(struct fc_lport *n_port, u32 port_id) | |||
72 | if (fc_host_port_id(n_port->host) == port_id) | 72 | if (fc_host_port_id(n_port->host) == port_id) |
73 | return n_port; | 73 | return n_port; |
74 | 74 | ||
75 | if (port_id == FC_FID_FLOGI) | ||
76 | return n_port; /* for point-to-point */ | ||
77 | |||
75 | mutex_lock(&n_port->lp_mutex); | 78 | mutex_lock(&n_port->lp_mutex); |
76 | list_for_each_entry(vn_port, &n_port->vports, list) { | 79 | list_for_each_entry(vn_port, &n_port->vports, list) { |
77 | if (fc_host_port_id(vn_port->host) == port_id) { | 80 | if (fc_host_port_id(vn_port->host) == port_id) { |