Stupid flags, go away!

Signed-off-by: Robert Love <[EMAIL PROTECTED]>
---

 drivers/scsi/libfc/fc_ns.c |   35 +++++------------------------------
 include/scsi/libfc/libfc.h |    2 --
 2 files changed, 5 insertions(+), 32 deletions(-)

diff --git a/drivers/scsi/libfc/fc_ns.c b/drivers/scsi/libfc/fc_ns.c
index 281e226..e1cdcd0 100644
--- a/drivers/scsi/libfc/fc_ns.c
+++ b/drivers/scsi/libfc/fc_ns.c
@@ -126,8 +126,7 @@ static void fc_ns_rscn_req(struct fc_seq *sp, struct 
fc_frame *fp,
        } else {
                if (fc_ns_debug)
                        FC_DBG("RSCN received: not rediscovering. "
-                               "redisc %d state %d in_prog %d",
-                               redisc, lp->state, lp->ns_disc_pending);
+                              "redisc %d state %d", redisc, lp->state);
                list_for_each_entry_safe(dp, next, &disc_list, peers) {
                        list_del(&dp->peers);
                        fc_ns_single(lp, dp);
@@ -162,14 +161,9 @@ static void fc_ns_recv_req(struct fc_seq *sp, struct 
fc_frame *fp,
  */
 static int fc_ns_restart(struct fc_lport *lp)
 {
-       fc_lport_lock(lp);
-       if (!lp->ns_disc_requested && !lp->ns_disc_pending) {
-               FC_DBG("Scheduling work\n");
-               schedule_delayed_work(&lp->ns_disc_work,
-                               msecs_to_jiffies(lp->ns_disc_delay * 1000));
-       }
-       lp->ns_disc_requested = 1;
-       fc_lport_unlock(lp);
+       FC_DBG("Scheduling work\n");
+       schedule_delayed_work(&lp->ns_disc_work,
+                             msecs_to_jiffies(lp->ns_disc_delay * 1000));
        return 0;
 }
 
@@ -234,18 +228,6 @@ int fc_ns_disc_start(struct fc_lport *lp)
        int error;
        struct fc_rport_identifiers ids;
 
-       fc_lport_lock(lp);
-
-       /*
-        * If not ready, or already running discovery, just set request flag.
-        */
-       if (!fc_lport_test_ready(lp) || lp->ns_disc_pending) {
-               lp->ns_disc_requested = 1;
-               fc_lport_unlock(lp);
-               return 0;
-       }
-       lp->ns_disc_pending = 1;
-       lp->ns_disc_requested = 0;
        lp->ns_disc_retry_count = 0;
 
        /*
@@ -259,11 +241,9 @@ int fc_ns_disc_start(struct fc_lport *lp)
                ids.node_name = rport->node_name;
                ids.roles = FC_RPORT_ROLE_UNKNOWN;
                get_device(&rport->dev);
-               fc_lport_unlock(lp);
                error = fc_ns_new_target(lp, rport, &ids);
                put_device(&rport->dev);
        } else {
-               fc_lport_unlock(lp);
                fc_block_rports(lp);
                fc_ns_gpn_ft_req(lp);   /* get ports by FC-4 type */
                error = 0;
@@ -527,13 +507,8 @@ static void fc_ns_gpn_ft_parse(struct fc_lport *lp, void 
*buf, size_t len)
 static void fc_ns_timeout(struct work_struct *work)
 {
        struct fc_lport *lp;
-
        lp = container_of(work, struct fc_lport, ns_disc_work.work);
-
-       if (lp->ns_disc_pending)
-               fc_ns_gpn_ft_req(lp);
-       else
-               lp->tt.disc_start(lp);
+       fc_ns_disc_start(lp);
 }
 
 /**
diff --git a/include/scsi/libfc/libfc.h b/include/scsi/libfc/libfc.h
index 954d1c7..e4e7899 100644
--- a/include/scsi/libfc/libfc.h
+++ b/include/scsi/libfc/libfc.h
@@ -420,8 +420,6 @@ struct fc_lport {
        u8                      retry_count;
        unsigned char           ns_disc_retry_count;
        unsigned char           ns_disc_delay;
-       unsigned char           ns_disc_pending;
-       unsigned char           ns_disc_requested;
        unsigned short          ns_disc_seq_count;
        unsigned char           ns_disc_buf_len;
 

_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel

Reply via email to