public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Robert Love <robert.w.love@intel.com>
To: James.Bottomley@HansenPartnership.com, linux-scsi@vger.kernel.org
Cc: Joe Eykholt <jeykholt@cisco.com>, Robert Love <robert.w.love@intel.com>
Subject: [PATCH 02/24] libfcoe: Allow FIP to be disabled by the driver
Date: Fri, 18 Sep 2009 15:48:58 -0700	[thread overview]
Message-ID: <20090918224858.5928.50377.stgit@localhost.localdomain> (raw)
In-Reply-To: <20090918224847.5928.52092.stgit@localhost.localdomain>

From: Joe Eykholt <jeykholt@cisco.com>

Allow FIP to be disabled by the driver for devices
that want to use libfcoe in non-FIP mode.

The driver merely sets the fcoe_ctlr mode to the state which
should be entered when the link comes up.  The default is auto.
No change is needed for fcoe.c which uses auto mode.

Signed-off-by: Joe Eykholt <jeykholt@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
---

 drivers/scsi/fcoe/libfcoe.c |    6 ++++--
 include/scsi/libfcoe.h      |    2 ++
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/fcoe/libfcoe.c b/drivers/scsi/fcoe/libfcoe.c
index a563c99..b1e4d25 100644
--- a/drivers/scsi/fcoe/libfcoe.c
+++ b/drivers/scsi/fcoe/libfcoe.c
@@ -110,6 +110,7 @@ static inline int fcoe_ctlr_fcf_usable(struct fcoe_fcf *fcf)
 void fcoe_ctlr_init(struct fcoe_ctlr *fip)
 {
 	fip->state = FIP_ST_LINK_WAIT;
+	fip->mode = FIP_ST_AUTO;
 	INIT_LIST_HEAD(&fip->fcfs);
 	spin_lock_init(&fip->lock);
 	fip->flogi_oxid = FC_XID_UNKNOWN;
@@ -262,11 +263,12 @@ void fcoe_ctlr_link_up(struct fcoe_ctlr *fip)
 		spin_unlock_bh(&fip->lock);
 		fc_linkup(fip->lp);
 	} else if (fip->state == FIP_ST_LINK_WAIT) {
-		fip->state = FIP_ST_AUTO;
+		fip->state = fip->mode;
 		fip->last_link = 1;
 		fip->link = 1;
 		spin_unlock_bh(&fip->lock);
-		LIBFCOE_FIP_DBG("%s", "setting AUTO mode.\n");
+		if (fip->state == FIP_ST_AUTO)
+			LIBFCOE_FIP_DBG("%s", "setting AUTO mode.\n");
 		fc_linkup(fip->lp);
 		fcoe_ctlr_solicit(fip, NULL);
 	} else
diff --git a/include/scsi/libfcoe.h b/include/scsi/libfcoe.h
index 76d08c9..2344a00 100644
--- a/include/scsi/libfcoe.h
+++ b/include/scsi/libfcoe.h
@@ -55,6 +55,7 @@ enum fip_state {
 /**
  * struct fcoe_ctlr - FCoE Controller and FIP state
  * @state:	   internal FIP state for network link and FIP or non-FIP mode.
+ * @mode:	   LLD-selected mode.
  * @lp:		   &fc_lport: libfc local port.
  * @sel_fcf:	   currently selected FCF, or NULL.
  * @fcfs:	   list of discovered FCFs.
@@ -89,6 +90,7 @@ enum fip_state {
  */
 struct fcoe_ctlr {
 	enum fip_state state;
+	enum fip_state mode;
 	struct fc_lport *lp;
 	struct fcoe_fcf *sel_fcf;
 	struct list_head fcfs;


  parent reply	other threads:[~2009-09-18 22:48 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-18 22:48 [PATCH 00/24] libfc, libfcoe, fcoe and fnic updates for 2.6.32 Robert Love
2009-09-18 22:48 ` [PATCH 01/24] libfc: lport: fix minor documentation errors Robert Love
2009-09-18 22:48 ` Robert Love [this message]
2009-09-18 22:49 ` [PATCH 03/24] libfcoe: fip: use SCSI host number to identify debug messages Robert Love
2009-09-18 22:49 ` [PATCH 04/24] libfcoe: fip: allow FIP receive to be called from IRQ Robert Love
2009-09-18 22:49 ` [PATCH 05/24] libfcoe: FIP should report link to libfc whether selected or not Robert Love
2009-09-18 22:49 ` [PATCH 06/24] libfc: don't WARN_ON in lport_timeout for RESET state Robert Love
2009-09-18 22:49 ` [PATCH 07/24] libfcoe: don't send ELS in FIP mode if no FCF selected Robert Love
2009-09-18 22:49 ` [PATCH 08/24] fcoe: remove extra function decalrations Robert Love
2009-09-18 22:49 ` [PATCH 09/24] libfc: removes initializing fc_cpu_order and fc_cpu_mask per lport Robert Love
2009-09-18 22:49 ` [PATCH 10/24] libfc: adds missing exch release for accepted RRQ Robert Love
2009-09-18 22:49 ` [PATCH 11/24] libfc: removes unused disc_work and ex_list Robert Love
2009-09-18 22:50 ` [PATCH 12/24] fcoe: Use NETIF_F_FCOE_MTU flag to set up max frame size (lport->mfs) Robert Love
2009-09-18 22:50 ` [PATCH 13/24] fcoe: Call ndo_fcoe_enable/disable to turn FCoE feature on/off in LLD Robert Love
2009-09-18 22:50 ` [PATCH 14/24] fcoe: initialize return value in fcoe_destroy Robert Love
2009-09-18 22:50 ` [PATCH 15/24] fcoe: add check to fail gracefully in bonding mode Robert Love
2009-09-18 22:50 ` [PATCH 16/24] libfc: fix RNN_ID smashing skb payload Robert Love
2009-09-18 22:50 ` [PATCH 17/24] libfc: fix symbolic name registrations smashing skb data Robert Love
2009-09-18 22:50 ` [PATCH 18/24] libfc: fix fc_els_resp_type to correct display of CT responses Robert Love
2009-09-18 22:50 ` [PATCH 19/24] libfc: add set_fid function to libfc template Robert Love
2009-09-18 22:50 ` [PATCH 20/24] libfc: add host number to lport link up/down messages Robert Love
2009-09-18 22:50 ` [PATCH 21/24] libfcoe: fcoe: simplify receive FLOGI response Robert Love
2009-09-18 22:50 ` [PATCH 22/24] fnic: Add FIP support to the fnic driver Robert Love
2009-09-18 22:51 ` [PATCH 23/24] libfc: register FC4 features with the FC switch Robert Love
2009-09-18 22:51 ` [PATCH 24/24] MAINTAINERS: Update for libfc, libfcoe, fcoe Robert Love

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090918224858.5928.50377.stgit@localhost.localdomain \
    --to=robert.w.love@intel.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=jeykholt@cisco.com \
    --cc=linux-scsi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox