Now the lport will check for the rport event and
if it's the NS it will do a dns_register otherwise
it will be ignored.
Signed-off-by: Robert Love <[EMAIL PROTECTED]>
---
drivers/scsi/libfc/fc_lport.c | 4 ++++
drivers/scsi/libfc/fc_rport.c | 12 ++++--------
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/scsi/libfc/fc_lport.c b/drivers/scsi/libfc/fc_lport.c
index 538529d..113a4df 100644
--- a/drivers/scsi/libfc/fc_lport.c
+++ b/drivers/scsi/libfc/fc_lport.c
@@ -62,6 +62,10 @@ static int fc_frame_drop(struct fc_lport *lp, struct
fc_frame *fp)
static int fc_lport_event_callback(struct fc_lport *lp, struct fc_rport *rp,
enum fc_lport_event event)
{
+ if (rp == lp->dns_rp && event == LPORT_EV_RPORT_SUCCESS) {
+ lp->tt.dns_register(lp);
+ }
+
return 0;
}
diff --git a/drivers/scsi/libfc/fc_rport.c b/drivers/scsi/libfc/fc_rport.c
index f352fa3..7666d40 100644
--- a/drivers/scsi/libfc/fc_rport.c
+++ b/drivers/scsi/libfc/fc_rport.c
@@ -720,14 +720,10 @@ static void fc_rport_enter_prli(struct fc_rport *rport)
fc_rport_state_enter(rport, RPORT_ST_READY);
if (fc_rp_debug)
FC_DBG("remote %6x ready", rport->port_id);
- if (rport == lp->dns_rp &&
- lp->state == LPORT_ST_DNS) {
- fc_lport_lock(lp);
- del_timer(&lp->state_timer);
- lp->tt.lport_event_callback(lp, rport,
LPORT_EV_RPORT_SUCCESS);
- lp->tt.dns_register(lp);
- fc_lport_unlock(lp);
- }
+ fc_lport_lock(lp);
+ del_timer(&lp->state_timer);
+ lp->tt.lport_event_callback(lp, rport, LPORT_EV_RPORT_SUCCESS);
+ fc_lport_unlock(lp);
return;
}
fp = fc_frame_alloc(lp, sizeof(*pp));
_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel