From: Joe Eykholt Date: Sat, 13 Mar 2010 00:08:07 +0000 (-0800) Subject: [SCSI] libfc: recognize incoming FLOGI for point-to-point mode X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=f4568b8b9766d083c0e61346173bb22274128208;p=deliverable%2Flinux.git [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 Signed-off-by: Robert Love Signed-off-by: James Bottomley --- 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) if (fc_host_port_id(n_port->host) == port_id) return n_port; + if (port_id == FC_FID_FLOGI) + return n_port; /* for point-to-point */ + mutex_lock(&n_port->lp_mutex); list_for_each_entry(vn_port, &n_port->vports, list) { if (fc_host_port_id(vn_port->host) == port_id) {