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