linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/10] [FCoE] This patch set removes the ASSERT code in Open-FCoE.
@ 2008-01-23  0:35 Robert Love
  2008-01-23  0:35 ` [PATCH 01/10] [FCoE] Changing all ASSERT_NOTIMPL to WARN_ON(1) Robert Love
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: Robert Love @ 2008-01-23  0:35 UTC (permalink / raw)
  To: linux-scsi

The following series removes the sa_assert.[ch] files. It also converts
all calls to ASSERT* to either WARN_ON or ERROR_ON calls. This is part of 
the effort to remove libsa.

--
Signature

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 01/10] [FCoE] Changing all ASSERT_NOTIMPL to WARN_ON(1)
  2008-01-23  0:35 [PATCH 00/10] [FCoE] This patch set removes the ASSERT code in Open-FCoE Robert Love
@ 2008-01-23  0:35 ` Robert Love
  2008-01-23  0:35 ` [PATCH 02/10] [FCoE] Convert one ASSERT_NOTREACHED " Robert Love
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Robert Love @ 2008-01-23  0:35 UTC (permalink / raw)
  To: linux-scsi

Trigger the warning every time the block is encountered.

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

 drivers/scsi/ofc/libfc/fc_exch.c       |   11 +----------
 drivers/scsi/ofc/libfc/fc_frame.c      |    2 +-
 drivers/scsi/ofc/libfc/fc_local_port.c |    2 +-
 drivers/scsi/ofc/openfc/openfc_scsi.c  |    4 ++--
 4 files changed, 5 insertions(+), 14 deletions(-)


diff --git a/drivers/scsi/ofc/libfc/fc_exch.c b/drivers/scsi/ofc/libfc/fc_exch.c
index 4a19936..9a5cd98 100644
--- a/drivers/scsi/ofc/libfc/fc_exch.c
+++ b/drivers/scsi/ofc/libfc/fc_exch.c
@@ -203,14 +203,6 @@ static int fc_exch_mgr_init(struct fc_exch_mgr *mp, enum fc_class class,
 	u_int pool_count;
 	u_int cpu;
 
-	/*
-	 * Check to make sure the declaration of ESB and SSB structures came out
-	 * with the right size and no unexpected padding.
-	 */
-	ASSERT_NOTIMPL(sizeof(struct fc_esb) == FC_ESB_SIZE);
-	ASSERT_NOTIMPL(sizeof(struct fc_ssb) == FC_SSB_SIZE);
-	ASSERT_NOTIMPL(sizeof(struct fc_frame_header) == FC_FRAME_HEADER_LEN);
-
 	mp->em_class = class;
 
 	/*
@@ -562,7 +554,6 @@ static struct fc_exch *fc_exch_alloc(struct fc_exch_mgr *mp)
 
 	spin_lock_bh(&pp->emp_lock);
 	if (list_empty(&pp->emp_exch_free)) {
-		ASSERT_NOTIMPL(ep);	/* not generally handled */
 		atomic_inc(&mp->em_stats.ems_error_no_free_exch);
 		spin_unlock_bh(&pp->emp_lock);
 	} else {
@@ -1144,7 +1135,7 @@ static void fc_seq_send_ack(struct fc_seq *sp, const struct fc_frame *rx_fp)
 	 */
 	if (fc_sof_needs_ack(rx_fp->fr_sof)) {
 		fp = fc_frame_alloc(fc_seq_exch(sp)->ex_port, 0);
-		ASSERT_NOTIMPL(fp);
+		BUG_ON(!fp);
 		if (!fp)
 			return;
 		fc_seq_fill_hdr(sp, fp);
diff --git a/drivers/scsi/ofc/libfc/fc_frame.c b/drivers/scsi/ofc/libfc/fc_frame.c
index 056df3d..c609ebd 100644
--- a/drivers/scsi/ofc/libfc/fc_frame.c
+++ b/drivers/scsi/ofc/libfc/fc_frame.c
@@ -44,7 +44,7 @@ u_int32_t fc_frame_crc_check(struct fc_frame *fp)
 	const u_int8_t *bp;
 	u_int len;
 
-	ASSERT_NOTIMPL(fc_frame_is_linear(fp));
+	WARN_ON(!fc_frame_is_linear(fp));
 	fp->fr_flags &= ~FCPHF_CRC_UNCHECKED;
 	len = (fp->fr_len + 3) & ~3;	/* round up length to include fill */
 	bp = (const u_int8_t *)fp->fr_hdr;
diff --git a/drivers/scsi/ofc/libfc/fc_local_port.c b/drivers/scsi/ofc/libfc/fc_local_port.c
index 311b5e9..cd70c74 100644
--- a/drivers/scsi/ofc/libfc/fc_local_port.c
+++ b/drivers/scsi/ofc/libfc/fc_local_port.c
@@ -1329,7 +1329,7 @@ static void fc_local_port_rscn_req(struct fc_seq *sp, struct fc_frame *fp,
 			if (fc_local_port_debug)
 				OFC_DBG("RSCN received: rediscovering");
 			error = fc_disc_targ_restart(lp);
-			ASSERT_NOTIMPL(error == 0);
+			WARN_ON(error != 0);
 		} else if (fc_local_port_debug) {
 			OFC_DBG("RSCN received: not rediscovering. "
 			       "redisc %d state %d disc_cb %p in_prog %d",
diff --git a/drivers/scsi/ofc/openfc/openfc_scsi.c b/drivers/scsi/ofc/openfc/openfc_scsi.c
index cd3afb7..9c7f9bb 100644
--- a/drivers/scsi/ofc/openfc/openfc_scsi.c
+++ b/drivers/scsi/ofc/openfc/openfc_scsi.c
@@ -309,7 +309,7 @@ static void openfc_scsi_send_data(struct fc_scsi_pkt *fsp, struct fc_seq *sp,
 							 tlen);
 				data = (void *)(fp->fr_hdr + 1);
 			}
-			ASSERT_NOTIMPL(fp != NULL);	/* XXX */
+			BUG_ON(!fp);
 			fc_frame_setup(fp, FC_RCTL_DD_SOL_DATA, FC_TYPE_FCP);
 			fc_frame_set_offset(fp, frame_offset);
 		}
@@ -442,7 +442,7 @@ static void openfc_scsi_rcv(struct fc_seq *sp, struct fc_frame *fp, void *arg)
 		 */
 		ASSERT(!(fp->fr_flags & FCPHF_CRC_UNCHECKED));
 		dd = fc_frame_payload_get(fp, sizeof(*dd));
-		ASSERT_NOTIMPL(dd != NULL);
+		WARN_ON(!dd);
 		fsp->state = OPENFC_SRB_IN_DATA_TRANS;
 
 		/*


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 02/10] [FCoE] Convert one ASSERT_NOTREACHED to WARN_ON(1)
  2008-01-23  0:35 [PATCH 00/10] [FCoE] This patch set removes the ASSERT code in Open-FCoE Robert Love
  2008-01-23  0:35 ` [PATCH 01/10] [FCoE] Changing all ASSERT_NOTIMPL to WARN_ON(1) Robert Love
@ 2008-01-23  0:35 ` Robert Love
  2008-01-23  0:36 ` [PATCH 03/10] [FCoE] Remove DEBUG_ASSERTS statements Robert Love
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Robert Love @ 2008-01-23  0:35 UTC (permalink / raw)
  To: linux-scsi


---

 drivers/scsi/ofc/openfc/openfc_if.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


diff --git a/drivers/scsi/ofc/openfc/openfc_if.c b/drivers/scsi/ofc/openfc/openfc_if.c
index 8725845..0b0c782 100644
--- a/drivers/scsi/ofc/openfc/openfc_if.c
+++ b/drivers/scsi/ofc/openfc/openfc_if.c
@@ -1059,7 +1059,7 @@ out_host_rem:
 	scsi_remove_host(openfcp->host);
 out_host_put:
 	scsi_host_put(openfcp->host);
-	ASSERT_NOTREACHED;	/* XXX caller doesn't check return yet */
+	WARN_ON(1);
 	return -1;
 }
 EXPORT_SYMBOL(openfc_register);


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 03/10] [FCoE] Remove DEBUG_ASSERTS statements
  2008-01-23  0:35 [PATCH 00/10] [FCoE] This patch set removes the ASSERT code in Open-FCoE Robert Love
  2008-01-23  0:35 ` [PATCH 01/10] [FCoE] Changing all ASSERT_NOTIMPL to WARN_ON(1) Robert Love
  2008-01-23  0:35 ` [PATCH 02/10] [FCoE] Convert one ASSERT_NOTREACHED " Robert Love
@ 2008-01-23  0:36 ` Robert Love
  2008-01-23  0:36 ` [PATCH 04/10] [FCoE] Remove ASSERTs from libfc Robert Love
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Robert Love @ 2008-01-23  0:36 UTC (permalink / raw)
  To: linux-scsi


---

 drivers/scsi/ofc/include/fc_els.h |   17 -----------------
 drivers/scsi/ofc/include/fc_fs.h  |   13 -------------
 drivers/scsi/ofc/include/fc_gs.h  |   12 ------------
 drivers/scsi/ofc/libfc/fc_ils.h   |   33 ---------------------------------
 drivers/scsi/ofc/libfc/fc_sess.c  |   14 --------------
 5 files changed, 0 insertions(+), 89 deletions(-)


diff --git a/drivers/scsi/ofc/include/fc_els.h b/drivers/scsi/ofc/include/fc_els.h
index 8ef10c0..6bff73e 100644
--- a/drivers/scsi/ofc/include/fc_els.h
+++ b/drivers/scsi/ofc/include/fc_els.h
@@ -808,21 +808,4 @@ enum fc_els_clid_ic {
 	ELS_CLID_IC_LIP =	8,	/* receiving LIP */
 };
 
-#ifdef DEBUG_ASSERTS
-/*
- * Static checks for packet structure sizes.
- * These catch some obvious errors in structure definitions.
- * They should generate no code since they can be tested at compile time.
- */
-static inline void fc_els_size_checks(void)
-{
-	ASSERT_NOTIMPL(sizeof(struct fc_els_csp) == FC_ELS_CSP_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_els_cssp) == FC_ELS_CSSP_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_els_flogi) == FC_ELS_FLOGI_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_els_spp) == FC_ELS_SPP_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_els_prli) == FC_ELS_PRLI_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_els_logo) == FC_ELS_LOGO_LEN);
-}
-#endif /* DEBUG_ASSERTS */
-
 #endif /* _FC_ELS_H_ */
diff --git a/drivers/scsi/ofc/include/fc_fs.h b/drivers/scsi/ofc/include/fc_fs.h
index 150a711..fdbed64 100644
--- a/drivers/scsi/ofc/include/fc_fs.h
+++ b/drivers/scsi/ofc/include/fc_fs.h
@@ -324,17 +324,4 @@ struct fc_data_desc {
 
 #define FC_DATA_DESC_LEN    12	/* expected length of structure */
 
-#ifdef DEBUG_ASSERTS
-/*
- * Static checks for packet structure sizes.
- * These catch some obvious errors in structure definitions.
- * This should generate no code.  The check should be true at compile time.
- */
-static inline void fc_fs_size_checks(void)
-{
-	ASSERT_NOTIMPL(sizeof(struct fc_frame_header) == FC_FRAME_HEADER_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_data_desc) == FC_DATA_DESC_LEN);
-}
-#endif /* DEBUG_ASSERTS */
-
 #endif /* _FC_FS_H_ */
diff --git a/drivers/scsi/ofc/include/fc_gs.h b/drivers/scsi/ofc/include/fc_gs.h
index 2ac3d24..6738535 100644
--- a/drivers/scsi/ofc/include/fc_gs.h
+++ b/drivers/scsi/ofc/include/fc_gs.h
@@ -90,16 +90,4 @@ enum fc_ct_explan {
 	/* definitions not complete */
 };
 
-#ifdef DEBUG_ASSERTS
-/*
- * Static checks for packet structure sizes.
- * These catch some obvious errors in structure definitions.
- * These should generate no code since they can be tested at compile time.
- */
-static inline void fc_gs_size_checks(void)
-{
-	ASSERT_NOTIMPL(sizeof(struct fc_ct_hdr) == FC_CT_HDR_LEN);
-}
-#endif /* DEBUG_ASSERTS */
-
 #endif /* _FC_GS_H_ */
diff --git a/drivers/scsi/ofc/libfc/fc_ils.h b/drivers/scsi/ofc/libfc/fc_ils.h
index 7225ac5..c421df7 100644
--- a/drivers/scsi/ofc/libfc/fc_ils.h
+++ b/drivers/scsi/ofc/libfc/fc_ils.h
@@ -521,37 +521,4 @@ struct fc_ils_mrra_resp {
 #define	FC_MRRR_AVAIL	1		/* resources available */
 #define	FC_MRRR_UNAV	2		/* resources unavailable */
 
-#ifdef DEBUG_ASSERTS
-/*
- * Static checks for packet structure sizes.
- * These catch some obvious errors in structure definitions.
- * This should generate no code.  The check should be true at compile time.
- */
-static inline void fc_ils_size_checks(void)
-{
-	ASSERT_NOTIMPL(sizeof(struct fc_ils_sw_rjt) == FC_ILS_SW_RJT_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_ils_gnf) == FC_ILS_GNF_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_elp_f_params) ==
-		       FC_ILS_ELP_F_PARAMS_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_ils_elp) == FC_ILS_ELP_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_ils_elp_r_rdy) == FC_ILS_ELP_R_RDY_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_ils_elp_vc_rdy) ==
-		       FC_ILS_ELP_VC_RDY_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_ils_efp) == FC_ILS_EFP_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_ils_efp_rec) == FC_ILS_EFP_REC_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_ils_mcast_id_rec) ==
-		       FC_ILS_MCAST_ID_REC_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_ils_dia) == FC_ILS_DIA_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_ils_rdi) == FC_ILS_RDI_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_ils_fspf) == FC_ILS_FSPF_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_ils_hlo) == FC_ILS_HLO_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_ils_lsu) == FC_ILS_LSU_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_ils_lsr) == FC_ILS_LSR_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_link_desc) == FC_LINK_DESC_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_ils_esc) == FC_ILS_ESC_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_ils_mrra) == FC_ILS_MRRA_LEN);
-	ASSERT_NOTIMPL(sizeof(struct fc_ils_mrra_resp) == FC_ILS_MRRA_RESP_LEN);
-}
-#endif /* DEBUG_ASSERTS */
-
 #endif /* _FC_ILS_H_ */
diff --git a/drivers/scsi/ofc/libfc/fc_sess.c b/drivers/scsi/ofc/libfc/fc_sess.c
index 65204ae..ee08c97 100644
--- a/drivers/scsi/ofc/libfc/fc_sess.c
+++ b/drivers/scsi/ofc/libfc/fc_sess.c
@@ -116,20 +116,6 @@ static inline void fc_sess_unlock(struct fc_sess *sess)
 	spin_unlock_bh(&sess->fs_lock);
 }
 
-#ifdef DEBUG_ASSERTS
-/*
- * Check whether session is locked.
- */
-static inline int fc_sess_locked(const struct fc_sess *sess)
-{
-#if defined(CONFIG_SMP) || defined(CONFIG_DEBUG_SPINLOCK)
-	return spin_is_locked((spinlock_t *) &sess->fs_lock);
-#else
-	return 1;
-#endif /* CONFIG_SMP || CONFIG_DEBUG_SPINLOCK */
-}
-#endif /* DEBUG_ASSERTS */
-
 /*
  * Unlock session.
  * This must handle operations that defer because they can't be done


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 04/10] [FCoE] Remove ASSERTs from libfc
  2008-01-23  0:35 [PATCH 00/10] [FCoE] This patch set removes the ASSERT code in Open-FCoE Robert Love
                   ` (2 preceding siblings ...)
  2008-01-23  0:36 ` [PATCH 03/10] [FCoE] Remove DEBUG_ASSERTS statements Robert Love
@ 2008-01-23  0:36 ` Robert Love
  2008-01-23  0:36 ` [PATCH 05/10] [FCoE] Remove ASSERTs from libsa Robert Love
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Robert Love @ 2008-01-23  0:36 UTC (permalink / raw)
  To: linux-scsi


---

 drivers/scsi/ofc/include/fc_frame.h         |   17 +----
 drivers/scsi/ofc/libfc/fc_disc_targ.c       |   25 ++------
 drivers/scsi/ofc/libfc/fc_exch.c            |   89 ++++++++-------------------
 drivers/scsi/ofc/libfc/fc_frame.c           |    1 
 drivers/scsi/ofc/libfc/fc_local_port.c      |   60 ++++--------------
 drivers/scsi/ofc/libfc/fc_local_port_impl.h |    1 
 drivers/scsi/ofc/libfc/fc_port.c            |    9 +--
 drivers/scsi/ofc/libfc/fc_print.c           |    1 
 drivers/scsi/ofc/libfc/fc_remote_port.c     |   21 +++---
 drivers/scsi/ofc/libfc/fc_sess.c            |   63 +++++++------------
 drivers/scsi/ofc/libfc/fc_virt_fab.c        |    1 
 drivers/scsi/ofc/libfc/fcs_attr.c           |    1 
 drivers/scsi/ofc/libfc/fcs_cmd.c            |    7 +-
 drivers/scsi/ofc/libfc/fcs_event.c          |    3 -
 drivers/scsi/ofc/libfc/fcs_state.c          |   25 +++-----
 15 files changed, 103 insertions(+), 221 deletions(-)


diff --git a/drivers/scsi/ofc/include/fc_frame.h b/drivers/scsi/ofc/include/fc_frame.h
index 36e9dce..6f8e85e 100644
--- a/drivers/scsi/ofc/include/fc_frame.h
+++ b/drivers/scsi/ofc/include/fc_frame.h
@@ -109,7 +109,6 @@ static inline void fc_frame_init_static(struct fc_frame *fp)
  */
 static inline int fc_frame_freed_static(struct fc_frame *fp)
 {
-	ASSERT(fp->fr_flags & FCPHF_STATIC);
 	return (fp->fr_flags & FCPHF_FREED);
 }
 
@@ -127,8 +126,7 @@ struct fc_frame *fc_frame_alloc_fill(struct fc_port *, size_t payload_len);
 static inline struct fc_frame *fc_port_frame_alloc(struct fc_port *port,
 	size_t payload_len)
 {
-	ASSERT(port->np_frame_alloc);
-	ASSERT((payload_len % 4) == 0);
+	WARN_ON((payload_len % 4) != 0);
 	return (*port->np_frame_alloc)(payload_len);
 }
 
@@ -137,8 +135,6 @@ static inline struct fc_frame *fc_frame_alloc_inline(struct fc_port *port,
 {
 	struct fc_frame *fp;
 
-	ASSERT(port);
-
 	/*
 	 * Note: Since len will often be a constant multiple of 4,
 	 * this check will usually be evaluated and eliminated at compile time.
@@ -166,9 +162,6 @@ static inline struct fc_frame *fc_frame_alloc_inline(struct fc_port *port,
  */
 static inline void fc_frame_free(struct fc_frame *fp)
 {
-	ASSERT(fp);
-	ASSERT(fp->fr_free);
-	ASSERT(fp->fr_hdr);
 	FC_FRAME_STAMP(fp);
 	fp->fr_hdr = NULL;
 	(*fp->fr_free)(fp);
@@ -186,8 +179,7 @@ static inline int fc_frame_is_linear(struct fc_frame *fp)
 static inline struct fc_frame_header *fc_frame_header_get(const struct
 							  fc_frame *fp)
 {
-	ASSERT(fp != NULL);
-	ASSERT(fp->fr_len >= sizeof(struct fc_frame_header));
+	WARN_ON(fp->fr_len < sizeof(struct fc_frame_header));
 	return fp->fr_hdr;
 }
 
@@ -206,7 +198,6 @@ static inline void *fc_frame_payload_get(const struct fc_frame *fp,
 {
 	void *pp = NULL;
 
-	ASSERT(fp != NULL);
 	if (fp->fr_len >= sizeof(struct fc_frame_header) + len)
 		pp = fc_frame_header_get(fp) + 1;
 	return pp;
@@ -239,8 +230,7 @@ static inline void fc_frame_setup(struct fc_frame *fp, enum fc_rctl r_ctl,
 	struct fc_frame_header *fh;
 
 	fh = fc_frame_header_get(fp);
-	ASSERT(fh != NULL);
-	ASSERT(r_ctl != 0);
+	WARN_ON(r_ctl == 0);
 	fh->fh_r_ctl = r_ctl;
 	fh->fh_type = type;
 	net32_put(&fh->fh_parm_offset, 0);
@@ -255,7 +245,6 @@ fc_frame_set_offset(struct fc_frame *fp, u_int32_t offset)
 	struct fc_frame_header *fh;
 
 	fh = fc_frame_header_get(fp);
-	ASSERT(fh != NULL);
 	net32_put(&fh->fh_parm_offset, offset);
 }
 
diff --git a/drivers/scsi/ofc/libfc/fc_disc_targ.c b/drivers/scsi/ofc/libfc/fc_disc_targ.c
index 4906a2b..eb24e52 100644
--- a/drivers/scsi/ofc/libfc/fc_disc_targ.c
+++ b/drivers/scsi/ofc/libfc/fc_disc_targ.c
@@ -26,7 +26,6 @@
 #undef LIST_HEAD
 #include "net_types.h"
 
-#include "sa_assert.h"
 #include "ofc_dbg.h"
 #include "sa_timer.h"
 #include "sa_event.h"
@@ -204,7 +203,6 @@ static int fcdt_new_target(struct fc_local_port *lp,
 	int error = 0;
 
 	if (rp && wwpn) {
-		ASSERT(atomic_read(&rp->rp_refcnt) > 0);
 		if (rp->rp_port_wwn == 0) {
 			/*
 			 * Set WWN and fall through to notify of create.
@@ -258,7 +256,6 @@ static void fcdt_del_target(struct fc_local_port *lp, struct fc_remote_port *rp)
 {
 	struct fc_sess *sess;
 
-	ASSERT(atomic_read(&rp->rp_refcnt) > 0);	/* caller holds rp */
 	sess = rp->rp_sess;
 	if (sess) {
 		rp->rp_sess_ready = 0;
@@ -310,7 +307,7 @@ static void fcdt_done(struct fc_local_port *lp)
 		else
 			held = NULL;
 	}
-	ASSERT(!held);
+	WARN_ON(held);
 	fc_virt_fab_unlock(vp);
 	(*lp->fl_disc_cb) (lp->fl_disc_cb_arg, NULL, FC_EV_NONE);
 	lp->fl_disc_in_prog = 0;
@@ -347,12 +344,10 @@ static void fcdt_gpn_ft_req(struct fc_local_port *lp)
 		error = ENOMEM;
 	} else {
 		rp = fc_frame_payload_get(fp, sizeof(*rp));
-		ASSERT(rp);
 		fcdt_fill_dns_hdr(lp, &rp->ct, FC_NS_GPN_FT, sizeof(rp->gid));
 		rp->gid.fn_fc4_type = lp->fl_disc_type;
 
-		ASSERT(lp->fl_dns_sess);
-		ASSERT(fc_local_port_test_ready(lp));
+		WARN_ON(!fc_local_port_test_ready(lp));
 
 		fc_frame_setup(fp, FC_RCTL_DD_UNSOL_CTL, FC_TYPE_CT);
 		error = fc_sess_send_req(lp->fl_dns_sess, fp, fcdt_gpn_ft_resp,
@@ -406,10 +401,10 @@ static int fcdt_gpn_ft_parse(struct fc_local_port *lp, void *buf, size_t len)
 	np = (struct fc_gpn_ft_resp *)bp;
 	tlen = lp->fl_disc_buf_len;
 	if (tlen) {
-		ASSERT(tlen < sizeof(*np));
+		WARN_ON(tlen >= sizeof(*np));
 		plen = sizeof(*np) - tlen;
-		ASSERT(plen > 0);
-		ASSERT(plen < sizeof(*np));
+		WARN_ON(plen <= 0);
+		WARN_ON(plen >= sizeof(*np));
 		if (plen > len)
 			plen = len;
 		np = &lp->fl_disc_buf;
@@ -492,7 +487,7 @@ static void fcdt_gpn_ft_resp(struct fc_seq *sp, struct fc_frame *fp,
 	u_int len;
 	int error;
 
-	ASSERT(fc_frame_is_linear(fp));	/* buffer must be contiguous */
+	WARN_ON(!fc_frame_is_linear(fp));	/* buffer must be contiguous */
 	fh = fc_frame_header_get(fp);
 	len = fp->fr_len - sizeof(*fh);;
 	seq_cnt = net16_get(&fh->fh_seq_cnt);
@@ -571,12 +566,10 @@ static int fcdt_gpn_id_req(struct fc_local_port *lp, struct fc_remote_port *rp)
 		error = ENOMEM;
 	} else {
 		cp = fc_frame_payload_get(fp, sizeof(*cp));
-		ASSERT(cp);
 		fcdt_fill_dns_hdr(lp, &cp->ct, FC_NS_GPN_ID, sizeof(cp->fid));
 		net24_put(&cp->fid.fp_fid, rp->rp_fid);
 
-		ASSERT(lp->fl_dns_sess);
-		ASSERT(fc_local_port_test_ready(lp));
+		WARN_ON(!fc_local_port_test_ready(lp));
 
 		fc_frame_setup(fp, FC_RCTL_DD_UNSOL_CTL, FC_TYPE_CT);
 		error = fc_sess_send_req(lp->fl_dns_sess, fp, fcdt_gpn_id_resp,
@@ -601,8 +594,7 @@ static void fcdt_gpn_id_resp(struct fc_seq *sp, struct fc_frame *fp,
 	u_int cmd;
 
 	lp = list_first_entry(&rp->rp_vf->vf_local_ports, struct fc_local_port, fl_list);
-	ASSERT(lp);
-	ASSERT(fc_frame_is_linear(fp));	/* buffer must be contiguous */
+	WARN_ON(!fc_frame_is_linear(fp));	/* buffer must be contiguous */
 
 	cp = fc_frame_payload_get(fp, sizeof(cp->ct));
 	if (cp == NULL) {
@@ -652,7 +644,6 @@ static void fcdt_gpn_id_error(enum fc_event event, void *rp_arg)
 	case FC_EV_TIMEOUT:
 	case FC_EV_READY:
 		lp = list_first_entry(&rp->rp_vf->vf_local_ports, struct fc_local_port, fl_list);
-		ASSERT(lp);
 		fc_disc_targ_restart(lp);
 		break;
 	case FC_EV_CLOSED:
diff --git a/drivers/scsi/ofc/libfc/fc_exch.c b/drivers/scsi/ofc/libfc/fc_exch.c
index 9a5cd98..ff9b301 100644
--- a/drivers/scsi/ofc/libfc/fc_exch.c
+++ b/drivers/scsi/ofc/libfc/fc_exch.c
@@ -22,7 +22,6 @@
  */
 
 #include "sa_kernel.h"
-#include "sa_assert.h"
 #include "net_types.h"
 #include "ofc_dbg.h"
 #include "sa_hash.h"
@@ -225,7 +224,7 @@ static int fc_exch_mgr_init(struct fc_exch_mgr *mp, enum fc_class class,
 	 */
 	min_xid = (min_xid + (pool_count - 1)) & ~(pool_count - 1);
 	max_xid = (max_xid - (pool_count - 1)) | (pool_count - 1);
-	ASSERT(min_xid < max_xid);
+	WARN_ON(min_xid > max_xid);
 	mp->em_min_xid = min_xid;
 	mp->em_max_xid = max_xid;
 
@@ -243,7 +242,7 @@ static int fc_exch_mgr_init(struct fc_exch_mgr *mp, enum fc_class class,
 		for (xid = min_xid + pool; xid <= max_xid;
 		     xid += (fc_xid_t) pool_count) {
 
-			ASSERT((xid % pool_count) == pool);
+			WARN_ON((xid % pool_count) != pool);
 			ep = &mp->em_exch[xid - min_xid];
 			ep->ex_pool = pp;
 			ep->ex_xid = xid;
@@ -269,7 +268,7 @@ struct fc_exch_mgr *fc_exch_mgr_alloc(enum fc_class class,
 
 	if (!min_xid)
 		min_xid++;
-	ASSERT(min_xid < max_xid);
+	WARN_ON(min_xid > max_xid);
 	len = (max_xid + 1 - min_xid) * sizeof(struct fc_exch) + sizeof(*mp);
 
 	while (len > (PAGE_SIZE << order))
@@ -306,7 +305,7 @@ static inline struct fc_exch *fc_exch_lookup(struct fc_exch_mgr *mp,
 
 	if (xid >= mp->em_min_xid && xid <= mp->em_max_xid) {
 		ep = &mp->em_exch[xid - mp->em_min_xid];
-		ASSERT(ep->ex_xid == xid);
+		WARN_ON(ep->ex_xid != xid);
 		if (atomic_read(&ep->ex_refcnt) == 0 &&
 		    (ep->ex_e_stat & ESB_ST_COMPLETE)) {
 			ep = NULL;	/* exchange is free */
@@ -321,7 +320,6 @@ static inline struct fc_exch *fc_exch_lookup(struct fc_exch_mgr *mp,
 static void fc_exch_hold(struct fc_exch *ep)
 {
 	atomic_inc(&ep->ex_refcnt);
-	ASSERT(atomic_read(&ep->ex_refcnt) != 0);	/* detect overflow */
 }
 
 /*
@@ -332,14 +330,12 @@ static void fc_exch_release(struct fc_exch *ep)
 {
 	struct fc_exch_pool *pp;
 
-	ASSERT(atomic_read(&ep->ex_refcnt) != 0);
-
 	if (atomic_dec_and_test(&ep->ex_refcnt) &&
 	    (ep->ex_e_stat & ESB_ST_COMPLETE)) {
 		sa_timer_cancel(&ep->ex_timer);
 		pp = ep->ex_pool;
 		spin_lock_bh(&pp->emp_lock);
-		ASSERT(pp->emp_exch_in_use > 0);
+		WARN_ON(pp->emp_exch_in_use <= 0);
 		pp->emp_exch_in_use--;
 		list_del(&ep->ex_list);
 		list_add_tail(&ep->ex_list, &pp->emp_exch_free);
@@ -353,7 +349,7 @@ static void fc_exch_release(struct fc_exch *ep)
  */
 inline struct fc_exch *fc_seq_exch(const struct fc_seq *sp)
 {
-	ASSERT(sp);
+	WARN_ON(!sp);
 	return (struct fc_exch *)
 	    ((char *)sp - offsetof(struct fc_exch, ex_seq));
 }
@@ -364,7 +360,6 @@ inline struct fc_exch *fc_seq_exch(const struct fc_seq *sp)
 inline void fc_seq_hold(struct fc_seq *sp)
 {
 	atomic_inc(&sp->seq_refcnt);
-	ASSERT(atomic_read(&sp->seq_refcnt) != 0);
 }
 
 /*
@@ -378,7 +373,6 @@ static struct fc_seq *fc_seq_alloc(struct fc_exch *ep, u_int8_t seq_id)
 {
 	struct fc_seq *sp;
 
-	ASSERT(ep);
 	sp = &ep->ex_seq;
 	if (atomic_read(&sp->seq_refcnt) == 0 && sp->seq_active == 0)
 		fc_exch_hold(ep);	/* hold exchange for the sequence */
@@ -407,7 +401,6 @@ void fc_seq_release(struct fc_seq *sp)
  */
 inline void fc_seq_complete(struct fc_seq *sp)
 {
-	ASSERT(atomic_read(&sp->seq_refcnt) != 0);
 	sp->seq_active = 0;
 }
 
@@ -423,7 +416,7 @@ static void fc_exch_timeout(void *ep_arg)
 	void *arg;
 
 	fc_seq_hold(sp);
-	ASSERT(sp->seq_active);
+	WARN_ON(!sp->seq_active);
 	if (ep->ex_aborted) {
 		fc_seq_exch_complete(sp);
 	} else {
@@ -466,7 +459,6 @@ int fc_seq_abort_exch(const struct fc_seq *req_sp)
 	int error;
 
 	ep = fc_seq_exch(req_sp);
-	ASSERT(ep);
 
 	/*
 	 * Send the abort on a new sequence if possible.
@@ -563,10 +555,8 @@ static struct fc_exch *fc_exch_alloc(struct fc_exch_mgr *mp)
 		pp->emp_exch_in_use++;
 		spin_unlock_bh(&pp->emp_lock);
 
-		ASSERT(ep->ex_pool == pp);
-		ASSERT(atomic_read(&ep->ex_refcnt) == 0);
-		ASSERT(ep->ex_xid != 0);
-		ASSERT(spin_can_lock(&ep->ex_lock));
+		WARN_ON(ep->ex_pool != pp);
+		WARN_ON(ep->ex_xid == 0);
 
 		/*
 		 * Clear the portion of the exchange not maintained
@@ -576,10 +566,8 @@ static struct fc_exch *fc_exch_alloc(struct fc_exch_mgr *mp)
 		       offsetof(struct fc_exch, fc_exch_clear_start), 0,
 		       sizeof(*ep) - offsetof(struct fc_exch,
 					      fc_exch_clear_start));
-		ASSERT(ep->ex_pool == pp);
-		ASSERT(atomic_read(&ep->ex_refcnt) == 0);
-		ASSERT(ep->ex_xid != 0);
-		ASSERT(spin_can_lock(&ep->ex_lock));
+		WARN_ON(ep->ex_pool != pp);
+		WARN_ON(ep->ex_xid == 0);
 
 		ep->ex_f_ctl = FC_FC_FIRST_SEQ;	/* next seq is first seq */
 		ep->ex_rx_id = FC_XID_UNKNOWN;
@@ -653,7 +641,7 @@ static struct fc_exch *fc_exch_resp(struct fc_exch_mgr *mp,
 		 */
 		if (fh->fh_type != FC_TYPE_BLS) {
 			rx_id = net16_get(&fh->fh_rx_id);
-			ASSERT(rx_id == FC_XID_UNKNOWN);
+			WARN_ON(rx_id != FC_XID_UNKNOWN);
 			net16_put(&fh->fh_rx_id, ep->ex_rx_id);
 		}
 	}
@@ -674,7 +662,7 @@ fc_seq_lookup_recip(struct fc_exch_mgr *mp, struct fc_frame *fp)
 	fc_xid_t xid;
 
 	f_ctl = net24_get(&fh->fh_f_ctl);
-	ASSERT((f_ctl & FC_FC_SEQ_CTX) == 0);
+	WARN_ON((f_ctl & FC_FC_SEQ_CTX) != 0);
 
 	/*
 	 * Lookup or create the exchange if we will be creating the sequence.
@@ -733,7 +721,6 @@ fc_seq_lookup_recip(struct fc_exch_mgr *mp, struct fc_frame *fp)
 	 * At this point, we should have the exchange.
 	 * Find or create the sequence.
 	 */
-	ASSERT(ep);
 	if (fc_sof_is_init(fp->fr_sof)) {
 		sp = fc_seq_alloc(ep, fh->fh_seq_id);
 		fc_exch_release(ep);	/* sequence now holds exch */
@@ -754,10 +741,7 @@ fc_seq_lookup_recip(struct fc_exch_mgr *mp, struct fc_frame *fp)
 			goto out;
 		}
 	}
-	ASSERT(sp);
-	ASSERT(ep);
-	ASSERT(ep == fc_seq_exch(sp));
-	ASSERT(atomic_read(&sp->seq_refcnt));
+	WARN_ON(ep != fc_seq_exch(sp));
 
 	if (f_ctl & FC_FC_SEQ_INIT)
 		ep->ex_e_stat |= ESB_ST_SEQ_INIT;
@@ -783,7 +767,7 @@ static struct fc_seq *fc_seq_lookup_orig(struct fc_exch_mgr *mp,
 	fc_xid_t xid;
 
 	f_ctl = net24_get(&fh->fh_f_ctl);
-	ASSERT(f_ctl & FC_FC_SEQ_CTX);
+	WARN_ON((f_ctl & FC_FC_SEQ_CTX) != FC_FC_SEQ_CTX);
 	xid = net16_get((f_ctl & FC_FC_EX_CTX) ? &fh->fh_ox_id : &fh->fh_rx_id);
 	ep = fc_exch_lookup(mp, xid);
 	if (ep && ep->ex_seq.seq_id == fh->fh_seq_id) {
@@ -840,10 +824,10 @@ struct fc_seq *fc_seq_start(struct fc_exch *ep)
 	struct fc_seq *sp = NULL;
 
 	spin_lock_bh(&ep->ex_lock);
-	ASSERT((ep->ex_e_stat & ESB_ST_COMPLETE) == 0);
+	WARN_ON((ep->ex_e_stat & ESB_ST_COMPLETE) != 0);
 
 	sp = fc_seq_alloc(ep, ep->ex_seq_id++);
-	ASSERT(sp);
+
 	if (fc_exch_debug)
 		OFC_DBG("exch %4x f_ctl %6x seq %2x f_ctl %6x\n",
 		       ep->ex_xid, ep->ex_f_ctl, sp->seq_id, sp->seq_f_ctl);
@@ -920,8 +904,8 @@ size_t fc_seq_mfs(struct fc_seq *sp)
 	size_t mfs;
 
 	mfs = fc_seq_exch(sp)->ex_max_payload;
-	ASSERT(mfs >= FC_SP_MIN_MAX_PAYLOAD);
-	ASSERT(mfs <= FC_SP_MAX_MAX_PAYLOAD);
+	WARN_ON(mfs < FC_SP_MIN_MAX_PAYLOAD);
+	WARN_ON(mfs > FC_SP_MAX_MAX_PAYLOAD);
 	return mfs;
 }
 
@@ -956,12 +940,11 @@ int fc_seq_send_frag(struct fc_seq *sp, struct fc_frame *fp)
 	int error;
 
 	ep = fc_seq_exch(sp);
-	ASSERT(ep);
-	ASSERT(ep->ex_e_stat & ESB_ST_SEQ_INIT);
+	WARN_ON((ep->ex_e_stat & ESB_ST_SEQ_INIT) != ESB_ST_SEQ_INIT);
 	port = ep->ex_port;
-	ASSERT(port);
-	ASSERT((sp->seq_f_ctl & FC_FC_END_SEQ) == 0);
-	ASSERT(fp->fr_len % 4 == 0);	/* can't pad except on last frame */
+
+	WARN_ON((sp->seq_f_ctl & FC_FC_END_SEQ) != 0);
+	WARN_ON(fp->fr_len % 4 != 0);	/* can't pad except on last frame */
 
 	class = ep->ex_class;
 	fp->fr_sof = class;
@@ -1013,11 +996,9 @@ int fc_seq_send(struct fc_seq *sp, struct fc_frame *fp)
 	int error;
 
 	ep = fc_seq_exch(sp);
-	ASSERT(ep);
-	ASSERT(ep->ex_e_stat & ESB_ST_SEQ_INIT);
+	WARN_ON((ep->ex_e_stat & ESB_ST_SEQ_INIT) != ESB_ST_SEQ_INIT);
 	port = ep->ex_port;
-	ASSERT(port);
-	ASSERT((sp->seq_f_ctl & FC_FC_END_SEQ) == 0);
+	WARN_ON((sp->seq_f_ctl & FC_FC_END_SEQ) != 0);
 
 	class = ep->ex_class;
 	fp->fr_sof = class;
@@ -1114,7 +1095,6 @@ int fc_seq_send_req(struct fc_seq *sp, struct fc_frame *fp,
 int fc_seq_send_next_req(struct fc_seq *sp, struct fc_frame *fp)
 {
 	sp = fc_seq_start_next(sp);
-	ASSERT(sp);
 	sp->seq_f_ctl |= FC_FC_SEQ_INIT;
 	return fc_seq_send(sp, fp);
 }
@@ -1197,11 +1177,7 @@ void fc_exch_recv_req(struct fc_exch_mgr *mp, struct fc_frame *fp,
 	reject = fc_seq_lookup_recip(mp, fp);
 	if (reject == FC_RJT_NONE) {
 		sp = fp->fr_seq;	/* sequence will be held */
-		ASSERT(sp);
-		ASSERT(atomic_read(&sp->seq_refcnt) != 0);
 		ep = fc_seq_exch(sp);
-		ASSERT(ep);
-		ASSERT(atomic_read(&ep->ex_refcnt) != 0);
 		ep->ex_max_payload = (u_int16_t) max_payload;
 		sof = fp->fr_sof;
 		eof = fp->fr_eof;
@@ -1223,8 +1199,8 @@ void fc_exch_recv_req(struct fc_exch_mgr *mp, struct fc_frame *fp,
 			if ((f_ctl & (FC_FC_LAST_SEQ | FC_FC_END_SEQ)) ==
 			    (FC_FC_LAST_SEQ | FC_FC_END_SEQ))
 				fc_exch_complete_locked(ep);
-			ASSERT(atomic_read(&sp->seq_refcnt) != 0);
-			ASSERT(fc_seq_exch(sp) == ep);
+
+			WARN_ON(fc_seq_exch(sp) != ep);
 			fc_seq_complete(sp);
 		}
 		spin_unlock_bh(&ep->ex_lock);
@@ -1316,7 +1292,6 @@ void fc_exch_recv_seq_resp(struct fc_exch_mgr *mp, struct fc_frame *fp)
 	sof = fp->fr_sof;
 	if (fc_sof_is_init(sof)) {
 		sp = fc_seq_alloc(ep, fh->fh_seq_id);
-		ASSERT(sp);
 		sp->seq_s_stat |= SSB_ST_RESP;
 	} else {
 		sp = &ep->ex_seq;
@@ -1348,8 +1323,7 @@ void fc_exch_recv_seq_resp(struct fc_exch_mgr *mp, struct fc_frame *fp)
 		if ((f_ctl & (FC_FC_LAST_SEQ | FC_FC_END_SEQ)) ==
 		    (FC_FC_LAST_SEQ | FC_FC_END_SEQ))
 			fc_exch_complete_locked(ep);
-		ASSERT(atomic_read(&sp->seq_refcnt) != 0);
-		ASSERT(fc_seq_exch(sp) == ep);
+		WARN_ON(fc_seq_exch(sp) != ep);
 		fc_seq_complete(sp);
 		spin_unlock_bh(&ep->ex_lock);
 	}
@@ -1397,7 +1371,6 @@ void fc_exch_recv_resp(struct fc_exch_mgr *mp, struct fc_frame *fp)
 			OFC_DBG("seq lookup failed: reject %x\n", reject);
 	} else {
 		ep = fc_seq_exch(sp);
-		ASSERT(ep);
 		if (fh->fh_type == FC_TYPE_BLS) {
 			spin_lock_bh(&ep->ex_lock);
 			f_ctl = net24_get(&fh->fh_f_ctl);
@@ -1455,7 +1428,6 @@ static void fc_seq_fill_hdr(struct fc_seq *sp, struct fc_frame *fp)
 	struct fc_exch *ep;
 
 	ep = fc_seq_exch(sp);
-	ASSERT(ep);
 
 	net24_put(&fh->fh_s_id, ep->ex_s_id);
 	net24_put(&fh->fh_d_id, ep->ex_d_id);
@@ -1478,11 +1450,9 @@ void fc_seq_ls_acc(struct fc_seq *req_sp)
 	struct fc_frame *fp;
 
 	sp = fc_seq_start_next(req_sp);
-	ASSERT(sp);
 	fp = fc_frame_alloc(fc_seq_exch(sp)->ex_port, sizeof(*acc));
 	if (fp) {
 		acc = fc_frame_payload_get(fp, sizeof(*acc));
-		ASSERT(acc);
 		memset(acc, 0, sizeof(*acc));
 		acc->la_cmd = ELS_LS_ACC;
 		fc_seq_send_last(sp, fp, FC_RCTL_ELS_REP, FC_TYPE_ELS);
@@ -1504,11 +1474,9 @@ void fc_seq_ls_rjt(struct fc_seq *req_sp, enum fc_els_rjt_reason reason,
 	struct fc_frame *fp;
 
 	sp = fc_seq_start_next(req_sp);
-	ASSERT(sp);
 	fp = fc_frame_alloc(fc_seq_exch(sp)->ex_port, sizeof(*rjt));
 	if (fp) {
 		rjt = fc_frame_payload_get(fp, sizeof(*rjt));
-		ASSERT(rjt);
 		memset(rjt, 0, sizeof(*rjt));
 		rjt->er_cmd = ELS_LS_RJT;
 		rjt->er_reason = reason;
@@ -1575,7 +1543,6 @@ struct fc_seq *fc_seq_rec_req(struct fc_seq *inq_sp,
 	}
 	fc_seq_exch(sp)->ex_port = ep->ex_port;
 	rp = fc_frame_payload_get(fp, sizeof(*rp));
-	ASSERT(rp);
 	memset(rp, 0, sizeof(*rp));
 	rp->rec_cmd = ELS_REC;
 	if (ep->ex_f_ctl & FC_FC_EX_CTX)
diff --git a/drivers/scsi/ofc/libfc/fc_frame.c b/drivers/scsi/ofc/libfc/fc_frame.c
index c609ebd..34d7a8a 100644
--- a/drivers/scsi/ofc/libfc/fc_frame.c
+++ b/drivers/scsi/ofc/libfc/fc_frame.c
@@ -23,7 +23,6 @@
 
 #include "sa_kernel.h"
 #include "net_types.h"
-#include "sa_assert.h"
 #include "ofc_dbg.h"
 #include "fc_fs.h"
 #include "fc_types.h"
diff --git a/drivers/scsi/ofc/libfc/fc_local_port.c b/drivers/scsi/ofc/libfc/fc_local_port.c
index cd70c74..be3a77b 100644
--- a/drivers/scsi/ofc/libfc/fc_local_port.c
+++ b/drivers/scsi/ofc/libfc/fc_local_port.c
@@ -24,7 +24,6 @@
 #include "sa_kernel.h"
 #undef LIST_HEAD
 #include "net_types.h"
-#include "sa_assert.h"
 #include "ofc_dbg.h"
 #include "sa_timer.h"
 #include "sa_event.h"
@@ -209,7 +208,6 @@ const char *fc_local_port_state(struct fc_local_port *lp)
  */
 static void fc_local_port_retry(struct fc_local_port *lp)
 {
-	ASSERT(fc_local_port_locked(lp));
 	if (lp->fl_retry_count == 0)
 		OFC_DBG("local port %6x alloc failure in state %s "
 			"- will retry", lp->fl_fid, fc_local_port_state(lp));
@@ -266,7 +264,6 @@ static void fc_local_port_ptp_clear(struct fc_local_port *lp)
 {
 	struct fc_remote_port *rp;
 
-	ASSERT(fc_local_port_locked(lp));
 	rp = lp->fl_ptp_rp;
 	if (rp) {
 		lp->fl_ptp_rp = NULL;
@@ -425,7 +422,6 @@ static void fc_local_port_flogi_send(struct fc_local_port *lp)
 	fp = fc_frame_alloc(lp->fl_port, sizeof(*flp));
 	if (fp) {
 		flp = fc_frame_payload_get(fp, sizeof(*flp));
-		ASSERT(flp);
 		fc_local_port_flogi_fill(lp, flp, ELS_FLOGI);
 	}
 	fc_local_port_els_send(lp, sp, fp);
@@ -450,7 +446,6 @@ static void fc_local_port_recv_flogi_req(struct fc_seq *sp_in,
 	fc_fid_t local_fid;
 
 	fh = fc_frame_header_get(rx_fp);
-	ASSERT(fh);
 	remote_fid = net24_get(&fh->fh_s_id);
 	flp = fc_frame_payload_get(rx_fp, sizeof(*flp));
 	if (!flp)
@@ -469,7 +464,7 @@ static void fc_local_port_recv_flogi_req(struct fc_seq *sp_in,
 	 */
 #if 0	/* XXX - can't do this yet without clearing the FLOGI exchange */
 	fc_local_port_enter_init(lp);
-	ASSERT(lp->fl_fid == 0);
+	WARN_ON(lp->fl_fid != 0);
 #endif /* XXX */
 
 	/*
@@ -492,10 +487,8 @@ static void fc_local_port_recv_flogi_req(struct fc_seq *sp_in,
 	fp = fc_frame_alloc(lp->fl_port, sizeof(*flp));
 	if (fp) {
 		sp = fc_seq_start_next(rx_fp->fr_seq);
-		ASSERT(sp);
 		fc_seq_set_addr(sp, remote_fid, local_fid);
 		new_flp = fc_frame_payload_get(fp, sizeof(*flp));
-		ASSERT(new_flp);
 		fc_local_port_flogi_fill(lp, new_flp, ELS_FLOGI);
 		new_flp->fl_cmd = (net8_t) ELS_LS_ACC;
 
@@ -549,7 +542,6 @@ static void fc_local_port_sess_event(int event, void *lp_arg)
 		break;
 	case FC_EV_CLOSED:
 		sess = lp->fl_dns_sess;
-		ASSERT(sess);
 		lp->fl_dns_sess = NULL;
 		if (lp->fl_state == LOCAL_PORT_ST_DNS_STOP)
 			fc_local_port_enter_logo(lp);
@@ -577,6 +569,7 @@ static void fc_local_port_enter_dns(struct fc_local_port *lp)
 	struct fc_remote_port *rp;
 
 	fc_local_port_enter_state(lp, LOCAL_PORT_ST_DNS);
+
 	sess = lp->fl_dns_sess;
 	if (!sess) {
 		/*
@@ -668,7 +661,6 @@ static void fc_local_port_enter_reg_pn(struct fc_local_port *lp)
 		return;
 	}
 	rp = fc_frame_payload_get(fp, sizeof(*rp));
-	ASSERT(rp);
 	memset(rp, 0, sizeof(*rp));
 	fc_local_port_fill_dns_hdr(lp, &rp->ct, FC_NS_RPN_ID, sizeof(rp->rn));
 	net24_put(&rp->rn.fr_fid.fp_fid, lp->fl_fid);
@@ -717,6 +709,7 @@ static void fc_local_port_enter_reg_ft(struct fc_local_port *lp)
 	int i;
 
 	fc_local_port_enter_state(lp, LOCAL_PORT_ST_REG_FT);
+
 	lps = &lp->fl_ns_fts;
 	i = sizeof(lps->ff_type_map) / sizeof(lps->ff_type_map[0]);
 	while (--i >= 0)
@@ -726,7 +719,6 @@ static void fc_local_port_enter_reg_ft(struct fc_local_port *lp)
 		fp = fc_frame_alloc(lp->fl_port, sizeof(*rp));
 		if (fp) {
 			rp = fc_frame_payload_get(fp, sizeof(*rp));
-			ASSERT(rp);
 			fc_local_port_fill_dns_hdr(lp, &rp->ct,
 						   FC_NS_RFT_ID,
 						   sizeof(*rp) -
@@ -759,7 +751,6 @@ static void fc_local_port_enter_scr(struct fc_local_port *lp)
 	fp = fc_frame_alloc(lp->fl_port, sizeof(*scr));
 	if (fp) {
 		scr = fc_frame_payload_get(fp, sizeof(*scr));
-		ASSERT(scr);
 		memset(scr, 0, sizeof(*scr));
 		scr->scr_cmd = ELS_SCR;
 		scr->scr_reg_func = ELS_SCRF_FULL;
@@ -794,6 +785,7 @@ static void fc_local_port_enter_dns_stop(struct fc_local_port *lp)
 	struct fc_sess *sess;
 
 	fc_local_port_enter_state(lp, LOCAL_PORT_ST_DNS_STOP);
+
 	sess = lp->fl_dns_sess;
 	if (sess) {
 		fc_sess_stop(sess);
@@ -840,7 +832,6 @@ static void fc_local_port_enter_logo(struct fc_local_port *lp)
 	fp = fc_frame_alloc(lp->fl_port, sizeof(*logo));
 	if (fp) {
 		logo = fc_frame_payload_get(fp, sizeof(*logo));
-		ASSERT(logo);
 		memset(logo, 0, sizeof(*logo));
 		logo->fl_cmd = ELS_LOGO;
 		net24_put(&logo->fl_n_port_id, lp->fl_fid);
@@ -853,8 +844,7 @@ int fc_local_port_table_create(struct fc_virt_fab *vp)
 {
 	struct sa_hash *hp;
 
-	ASSERT(vp);
-	ASSERT(!vp->vf_lport_by_fid);
+	WARN_ON(vp->vf_lport_by_fid);
 
 	hp = sa_hash_create(&fc_local_port_hash_by_fid,
 			    FC_LOCAL_PORT_HASH_SIZE);
@@ -869,7 +859,7 @@ int fc_local_port_table_create(struct fc_virt_fab *vp)
 
 void fc_local_port_table_destroy(struct fc_virt_fab *vp)
 {
-	ASSERT(list_empty(&vp->vf_local_ports));
+	WARN_ON(!list_empty(&vp->vf_local_ports));
 	sa_hash_destroy(vp->vf_lport_by_fid);
 }
 
@@ -884,19 +874,6 @@ struct fc_local_port *fc_local_port_create(struct fc_virt_fab *vf,
 {
 	struct fc_local_port *lp;
 
-	/*
-	 * Static checks for packet structure sizes.
-	 * These catch some obvious errors in structure definitions.
-	 * These should generate no code since they can be tested
-	 * at compile time.
-	 */
-#ifdef DEBUG_ASSERTS
-	fc_fs_size_checks();
-	fc_gs_size_checks();
-	fc_ils_size_checks();
-	fc_els_size_checks();
-#endif /* DEBUG_ASSERTS */
-
 	lp = sa_malloc(sizeof(*lp));
 	if (!lp)
 		return NULL;
@@ -951,7 +928,6 @@ static void fc_local_port_set_fid_int(struct fc_local_port *lp, fc_fid_t fid)
 	struct fc_local_port *found;
 	struct fc_virt_fab *vf;
 
-	ASSERT(fc_local_port_locked(lp));
 	vf = lp->fl_vf;
 	if (lp->fl_fid != fid) {
 		if (fc_local_port_debug) {
@@ -962,10 +938,9 @@ static void fc_local_port_set_fid_int(struct fc_local_port *lp, fc_fid_t fid)
 		if (lp->fl_fid) {
 			found = sa_hash_lookup_delete(vf->vf_lport_by_fid,
 						      &lp->fl_fid);
-			ASSERT(found);
-			ASSERT(found == lp);
+			WARN_ON(found != lp);
 		}
-		ASSERT(!sa_hash_lookup(vf->vf_lport_by_fid, &fid));
+		WARN_ON(sa_hash_lookup(vf->vf_lport_by_fid, &fid));
 		lp->fl_fid = fid;
 		if (fid != 0)
 			sa_hash_insert(vf->vf_lport_by_fid, &fid, lp);
@@ -1041,8 +1016,6 @@ static void fc_local_port_delete(struct fc_local_port *lp)
 	struct fc_local_port *found;
 	struct fc_virt_fab *vf;
 
-	ASSERT(!atomic_read(&lp->fl_refcnt));
-
 	if (fc_local_port_debug)
 		OFC_DBG("local port %6x delete", lp->fl_fid);
 	vf = lp->fl_vf;
@@ -1050,12 +1023,11 @@ static void fc_local_port_delete(struct fc_local_port *lp)
 	fc_virt_fab_lock(vf);
 	if (lp->fl_fid) {
 		found = sa_hash_lookup_delete(vf->vf_lport_by_fid, &lp->fl_fid);
-		ASSERT(found = lp);
+		WARN_ON(found != lp);
 		lp->fl_fid = 0;
 	}
 	list_del(&lp->fl_list);
 	fc_virt_fab_unlock(vf);
-	ASSERT(!lp->fl_dns_sess);	/* otherwise it holds the local port */
 	sa_event_list_free(lp->fl_events);
 	sa_free(lp);
 }
@@ -1063,12 +1035,10 @@ static void fc_local_port_delete(struct fc_local_port *lp)
 void fc_local_port_hold(struct fc_local_port *lp)
 {
 	atomic_inc(&lp->fl_refcnt);
-	ASSERT(atomic_read(&lp->fl_refcnt) > 0);
 }
 
 void fc_local_port_release(struct fc_local_port *lp)
 {
-	ASSERT(atomic_read(&lp->fl_refcnt) > 0);
 	if (atomic_dec_and_test(&lp->fl_refcnt))
 		fc_local_port_delete(lp);
 }
@@ -1154,9 +1124,6 @@ static void fc_local_port_enter_init(struct fc_local_port *lp)
 	struct fc_sess *sess;
 	u_int mfs;
 
-	ASSERT(atomic_read(&lp->fl_refcnt) > 0);
-	ASSERT(fc_local_port_locked(lp));
-
 	if (fc_local_port_debug)
 		OFC_DBG("new state init");
 	sess = lp->fl_dns_sess;
@@ -1374,13 +1341,12 @@ static void fc_local_port_echo_req(struct fc_seq *sp, struct fc_frame *in_fp,
 
 	len = in_fp->fr_len - sizeof(struct fc_frame_header);
 	pp = fc_frame_payload_get(in_fp, len);
-	ASSERT(pp);
+
 	if (len < sizeof(net32_t))
 		len = sizeof(net32_t);
 	fp = fc_frame_alloc(lp->fl_port, len);
 	if (fp) {
 		dp = fc_frame_payload_get(fp, len);
-		ASSERT(dp);
 		memcpy(dp, pp, len);
 		net32_put(dp, ELS_LS_ACC << 24);
 		fc_seq_send_last(fc_seq_start_next(sp), fp,
@@ -1422,7 +1388,6 @@ static void fc_local_port_rnid_req(struct fc_seq *sp, struct fc_frame *in_fp,
 		fp = fc_frame_alloc(lp->fl_port, len);
 		if (fp) {
 			rp = fc_frame_payload_get(fp, len);
-			ASSERT(rp);
 			memset(rp, 0, len);
 			rp->rnid.rnid_cmd = ELS_LS_ACC;
 			rp->rnid.rnid_fmt = fmt;
@@ -1715,7 +1680,7 @@ static void fc_local_port_gid_pn_resp(struct fc_seq *sp, struct fc_frame *fp,
 
 	fc_local_port_lock(lp);
 
-	ASSERT(rp->dns_lookup == arg);
+	WARN_ON(rp->dns_lookup != arg);
 	rp->dns_lookup = NULL;
 	rp->dns_lookup_count = 0;
 	sa_free(lp_handle);
@@ -1786,7 +1751,6 @@ static int fc_local_port_send_gid_pn(struct fc_local_port_handle *lp_handle)
 		return ENOMEM;
 
 	req = fc_frame_payload_get(fp, sizeof(*req));
-	ASSERT(req);
 	fc_local_port_fill_dns_hdr(lp, &req->ct, FC_NS_GID_PN, sizeof(req->pn));
 	net64_put(&req->pn.fn_wwpn, rp->rp_port_wwn);
 
@@ -1820,7 +1784,7 @@ static void fc_local_port_gid_pn_error(enum fc_event event, void *arg)
 		}
 	}
 
-	ASSERT(rp->dns_lookup == arg);
+	WARN_ON(rp->dns_lookup != arg);
 	rp->dns_lookup = NULL;
 	sa_free(lp_handle);
 
diff --git a/drivers/scsi/ofc/libfc/fc_local_port_impl.h b/drivers/scsi/ofc/libfc/fc_local_port_impl.h
index d5825f1..4b5f342 100644
--- a/drivers/scsi/ofc/libfc/fc_local_port_impl.h
+++ b/drivers/scsi/ofc/libfc/fc_local_port_impl.h
@@ -138,7 +138,6 @@ static inline void fc_local_port_unlock(struct fc_local_port *lp)
 static inline void fc_local_port_unlock_send(struct fc_local_port *lp)
 {
 	fc_local_port_unlock(lp);
-	ASSERT(atomic_read(&lp->fl_refcnt) != 0);
 	sa_event_send_deferred(lp->fl_events);
 }
 
diff --git a/drivers/scsi/ofc/libfc/fc_port.c b/drivers/scsi/ofc/libfc/fc_port.c
index 191ab4f..c225fed 100644
--- a/drivers/scsi/ofc/libfc/fc_port.c
+++ b/drivers/scsi/ofc/libfc/fc_port.c
@@ -18,7 +18,6 @@
  */
 
 #include "sa_kernel.h"
-#include "sa_assert.h"
 #include "sa_error_inject.h"
 #include "ofc_dbg.h"
 #include "sa_event.h"
@@ -88,7 +87,7 @@ void fc_port_free(struct fc_port *port)
 void fc_port_set_max_frame_size(struct fc_port *port, u_int mfs)
 {
 	mfs &= ~3;
-	ASSERT((size_t) mfs >= FC_MIN_MAX_FRAME);
+	WARN_ON((size_t) mfs < FC_MIN_MAX_FRAME);
 	if (mfs > FC_MAX_FRAME)
 		mfs = FC_MAX_FRAME;
 	port->np_max_frame = mfs;
@@ -157,7 +156,7 @@ void fc_port_close_ingress(struct fc_port *port)
  */
 int fc_port_egress(struct fc_port *port, struct fc_frame *fp)
 {
-	ASSERT(port->np_egress);
+	WARN_ON(!port->np_egress);
 	if (SA_ERROR_INJECT) {
 		fc_frame_free(fp);
 		return EBUSY;
@@ -170,8 +169,8 @@ int fc_port_egress(struct fc_port *port, struct fc_frame *fp)
  */
 void fc_port_ingress(struct fc_port *port, struct fc_frame *fp)
 {
-	ASSERT(port != NULL);
-	ASSERT(port->np_ingress != NULL);
+	WARN_ON(!port);
+	WARN_ON(!(port->np_ingress));
 	(*port->np_ingress) (port->np_ingress_arg, fp);
 }
 
diff --git a/drivers/scsi/ofc/libfc/fc_print.c b/drivers/scsi/ofc/libfc/fc_print.c
index ae6fa1e..2b51a5b 100644
--- a/drivers/scsi/ofc/libfc/fc_print.c
+++ b/drivers/scsi/ofc/libfc/fc_print.c
@@ -22,7 +22,6 @@
  */
 
 #include "sa_kernel.h"
-#include "sa_assert.h"
 #include "net_types.h"
 #include "ofc_dbg.h"
 #include "fc_fs.h"
diff --git a/drivers/scsi/ofc/libfc/fc_remote_port.c b/drivers/scsi/ofc/libfc/fc_remote_port.c
index 9a5e62a..b0061f5 100644
--- a/drivers/scsi/ofc/libfc/fc_remote_port.c
+++ b/drivers/scsi/ofc/libfc/fc_remote_port.c
@@ -26,7 +26,6 @@
 
 #include "sa_kernel.h"
 #undef LIST_HEAD
-#include "sa_assert.h"
 #include "sa_event.h"
 #include "sa_hash.h"
 #include "ofc_dbg.h"
@@ -89,7 +88,7 @@ int fc_remote_port_table_create(struct fc_virt_fab *vp)
 
 void fc_remote_port_table_destroy(struct fc_virt_fab *vp)
 {
-	ASSERT(list_empty(&vp->vf_remote_ports));
+	WARN_ON(!list_empty(&vp->vf_remote_ports));
 	INIT_LIST_HEAD(&vp->vf_remote_ports);
 	if (vp->vf_rport_by_fid)
 		sa_hash_destroy(vp->vf_rport_by_fid);
@@ -226,8 +225,8 @@ void fc_remote_port_set_name(struct fc_remote_port *rp, fc_wwn_t wwpn,
 	if (old_name) {
 		found_rp = sa_hash_lookup_delete(vp->vf_rport_by_wwpn,
 						 &old_name);
-		ASSERT(found_rp);
-		ASSERT(found_rp == rp);
+		WARN_ON(!found_rp);
+		WARN_ON(found_rp != rp);
 	}
 #endif /* FC_REMOTE_PORT_BY_WWPN */
 	rp->rp_node_wwn = wwnn;
@@ -253,8 +252,8 @@ void fc_remote_port_set_fid(struct fc_remote_port *rp, fc_fid_t fid)
 		if (rp->rp_fid != 0) {
 			found_rp = sa_hash_lookup_delete(vp->vf_rport_by_fid,
 							 &rp->rp_fid);
-			ASSERT(found_rp);
-			ASSERT(found_rp == rp);
+			WARN_ON(!found_rp);
+			WARN_ON(found_rp != rp);
 		}
 		rp->rp_fid = fid;
 		if (fid)
@@ -273,15 +272,15 @@ static void fc_remote_port_delete(struct fc_remote_port *rp)
 	if (rp->rp_fid != 0) {
 		found = sa_hash_lookup_delete(rp->rp_vf->vf_rport_by_fid,
 					      &rp->rp_fid);
-		ASSERT(found);
-		ASSERT(found == rp);
+		WARN_ON(!found);
+		WARN_ON(found != rp);
 	}
 #ifdef FC_REMOTE_PORT_BY_WWPN
 	if (rp->rp_port_wwn) {
 		found = sa_hash_lookup_delete(rp->rp_vf->vf_rport_by_wwpn,
 					      &rp->rp_port_wwn);
-		ASSERT(found);
-		ASSERT(found == rp);
+		WARN_ON(!found);
+		WARN_ON(found != rp);
 	}
 #endif /* FC_REMOTE_PORT_BY_WWPN */
 	list_del(&rp->rp_list);
@@ -293,12 +292,10 @@ static void fc_remote_port_delete(struct fc_remote_port *rp)
 void fc_remote_port_hold(struct fc_remote_port *rp)
 {
 	atomic_inc(&rp->rp_refcnt);
-	ASSERT(atomic_read(&rp->rp_refcnt) > 0);
 }
 
 void fc_remote_port_release(struct fc_remote_port *rp)
 {
-	ASSERT(atomic_read(&rp->rp_refcnt) > 0);
 	if (atomic_dec_and_test(&rp->rp_refcnt))
 		fc_remote_port_delete(rp);
 }
diff --git a/drivers/scsi/ofc/libfc/fc_sess.c b/drivers/scsi/ofc/libfc/fc_sess.c
index ee08c97..c218c70 100644
--- a/drivers/scsi/ofc/libfc/fc_sess.c
+++ b/drivers/scsi/ofc/libfc/fc_sess.c
@@ -28,7 +28,6 @@
 #undef LIST_HEAD
 #include "net_types.h"
 
-#include "sa_assert.h"
 #include "ofc_dbg.h"
 #include "sa_timer.h"
 #include "sa_event.h"
@@ -126,8 +125,6 @@ static inline void fc_sess_unlock_send(struct fc_sess *sess)
 	struct fc_local_port *lp;
 	enum fc_sess_state state = sess->fs_state;
 
-	ASSERT(atomic_read(&sess->fs_refcnt) != 0);
-
 	/*
 	 * If the session is in the INIT or ERROR state and the session
 	 * has been started, meaning there's an internal reference, and that's
@@ -166,7 +163,6 @@ static inline void fc_sess_unlock_send(struct fc_sess *sess)
 
 static void fc_sess_state_enter(struct fc_sess *sess, enum fc_sess_state new)
 {
-	ASSERT(fc_sess_locked(sess));
 	if (sess->fs_state != new)
 		sess->fs_retries = 0;
 	sess->fs_state = new;
@@ -272,7 +268,7 @@ struct fc_sess *fc_sess_create(struct fc_local_port *lp,
 	struct fc_virt_fab *vp;
 	u_int64_t key;
 
-	ASSERT(lp->fl_vf == rp->rp_vf);
+	WARN_ON(lp->fl_vf != rp->rp_vf);
 
 	sess = sa_malloc(sizeof(*sess));
 	if (sess) {
@@ -358,9 +354,9 @@ static void fc_sess_delete(struct fc_sess *sess, void *arg)
 
 	if (fc_sess_debug)
 		OFC_DBG("sess to %6x delete", sess->fs_remote_fid);
-	ASSERT(sess);
-	ASSERT(sess->fs_local_port);
-	ASSERT(sess->fs_remote_port);
+	WARN_ON(!sess);
+	WARN_ON(!(sess->fs_local_port));
+	WARN_ON(!(sess->fs_remote_port));
 	lp = sess->fs_local_port;
 	rp = sess->fs_remote_port;
 	vp = lp->fl_vf;
@@ -369,8 +365,8 @@ static void fc_sess_delete(struct fc_sess *sess, void *arg)
 
 	fc_virt_fab_lock(vp);
 	found = sa_hash_lookup_delete(vp->vf_sess_by_fids, &key);
-	ASSERT(found);
-	ASSERT(found == sess);
+	WARN_ON(!found);
+	WARN_ON(found != sess);
 	list_del(&sess->fs_list);			/* under vf_lock */
 	fc_virt_fab_unlock(vp);
 
@@ -384,12 +380,10 @@ static void fc_sess_delete(struct fc_sess *sess, void *arg)
 void fc_sess_hold(struct fc_sess *sess)
 {
 	atomic_inc(&sess->fs_refcnt);
-	ASSERT(atomic_read(&sess->fs_refcnt) != 0);
 }
 
 void fc_sess_release(struct fc_sess *sess)
 {
-	ASSERT(atomic_read(&sess->fs_refcnt) > 0);
 	if (atomic_dec_and_test(&sess->fs_refcnt))
 		fc_sess_delete(sess, NULL);
 }
@@ -458,8 +452,8 @@ void fc_sess_reset(struct fc_sess *sess)
 		key = fc_sess_key(sess->fs_local_fid, sess->fs_remote_fid);
 		vp = lp->fl_vf;
 		found = sa_hash_lookup_delete(vp->vf_sess_by_fids, &key);
-		ASSERT(found);
-		ASSERT(found == sess);
+		WARN_ON(!found);
+		WARN_ON(found != sess);
 		sess->fs_local_fid = lp->fl_fid;
 		key = fc_sess_key(sess->fs_local_fid, sess->fs_remote_fid);
 		sa_hash_insert(vp->vf_sess_by_fids, &key, sess);
@@ -544,8 +538,8 @@ int fc_sess_send_req(struct fc_sess *sess, struct fc_frame *fp,
 	int rc;
 
 	fh = fc_frame_header_get(fp);
-	ASSERT(fh);
-	ASSERT(fh->fh_r_ctl != 0);	/* caller must use fc_frame_setup() */
+	WARN_ON(!fh);
+	WARN_ON(fh->fh_r_ctl == 0); /* caller must use fc_frame_setup() */
 
 	sp = fc_sess_seq_alloc(sess, recv, errh, arg);
 	if (sp) {
@@ -585,6 +579,7 @@ static void fc_sess_enter_started(struct fc_sess *sess)
 	 * Otherwise the local port will be logged on by fc_sess_unlock().
 	 */
 	fc_sess_state_enter(sess, SESS_ST_STARTED);
+
 	lp = sess->fs_local_port;
 	if (sess == lp->fl_dns_sess || fc_local_port_test_ready(lp))
 		fc_sess_enter_plogi(sess);
@@ -655,8 +650,6 @@ static void fc_sess_retry(struct fc_sess *sess)
 {
 	struct fc_local_port *lp;
 
-	ASSERT(fc_sess_locked(sess));
-
 	lp = sess->fs_local_port;
 
 	if (sess->fs_retries < lp->fl_retry_limit) {
@@ -749,7 +742,6 @@ static void fc_sess_enter_plogi(struct fc_sess *sess)
 	struct fc_frame *fp;
 	struct fc_els_flogi *rp;
 
-	ASSERT(fc_sess_locked(sess));
 	fc_sess_state_enter(sess, SESS_ST_PLOGI);
 	sess->fs_max_payload = sess->fs_local_port->fl_max_payload;
 	fp = fc_frame_alloc(sess->fs_local_port->fl_port, sizeof(*rp));
@@ -758,7 +750,7 @@ static void fc_sess_enter_plogi(struct fc_sess *sess)
 		return;
 	}
 	rp = fc_frame_payload_get(fp, sizeof(*rp));
-	ASSERT(rp);
+	WARN_ON(!rp);
 	fc_local_port_flogi_fill(sess->fs_local_port, rp, ELS_PLOGI);
 	sess->fs_e_d_tov = sess->fs_local_port->fl_e_d_tov;
 	fc_frame_setup(fp, FC_RCTL_ELS_REQ, FC_TYPE_ELS);
@@ -824,7 +816,6 @@ static void fc_sess_enter_prli(struct fc_sess *sess)
 	} *pp;
 	struct fc_frame *fp;
 
-	ASSERT(fc_sess_locked(sess));
 	fc_sess_state_enter(sess, SESS_ST_PRLI);
 
 	/*
@@ -842,7 +833,7 @@ static void fc_sess_enter_prli(struct fc_sess *sess)
 		return;
 	}
 	pp = fc_frame_payload_get(fp, sizeof(*pp));
-	ASSERT(pp);
+	WARN_ON(!pp);
 	memset(pp, 0, sizeof(*pp));
 	pp->prli.prli_cmd = ELS_PRLI;
 	pp->prli.prli_spp_len = sizeof(struct fc_els_spp);
@@ -902,7 +893,6 @@ static void fc_sess_enter_rtv(struct fc_sess *sess)
 	struct fc_els_rtv *rtv;
 	struct fc_frame *fp;
 
-	ASSERT(fc_sess_locked(sess));
 	fc_sess_state_enter(sess, SESS_ST_RTV);
 
 	fp = fc_frame_alloc(sess->fs_local_port->fl_port, sizeof(*rtv));
@@ -911,7 +901,7 @@ static void fc_sess_enter_rtv(struct fc_sess *sess)
 		return;
 	}
 	rtv = fc_frame_payload_get(fp, sizeof(*rtv));
-	ASSERT(rtv);
+	WARN_ON(!rtv);
 	memset(rtv, 0, sizeof(*rtv));
 	rtv->rtv_cmd = ELS_RTV;
 	fc_frame_setup(fp, FC_RCTL_ELS_REQ, FC_TYPE_ELS);
@@ -943,7 +933,6 @@ void fc_sess_event_deq(struct fc_sess *sess, sa_event_handler_t handler,
 
 static void fc_sess_enter_ready(struct fc_sess *sess)
 {
-	ASSERT(fc_sess_locked(sess));
 	fc_sess_state_enter(sess, SESS_ST_READY);
 	sa_event_call_cancel(sess->fs_events, FC_EV_CLOSED);
 	sa_event_call_cancel(sess->fs_events, FC_EV_RJT);
@@ -952,7 +941,6 @@ static void fc_sess_enter_ready(struct fc_sess *sess)
 
 static void fc_sess_enter_init(struct fc_sess *sess)
 {
-	ASSERT(fc_sess_locked(sess));
 	fc_sess_state_enter(sess, SESS_ST_INIT);
 	sa_event_call_cancel(sess->fs_events, FC_EV_READY);
 	sa_event_call_cancel(sess->fs_events, FC_EV_RJT);
@@ -961,7 +949,6 @@ static void fc_sess_enter_init(struct fc_sess *sess)
 
 static void fc_sess_enter_error(struct fc_sess *sess)
 {
-	ASSERT(fc_sess_locked(sess));
 	fc_sess_state_enter(sess, SESS_ST_ERROR);
 	sa_event_call_cancel(sess->fs_events, FC_EV_READY);
 	sa_event_call_cancel(sess->fs_events, FC_EV_CLOSED);
@@ -974,8 +961,8 @@ static void fc_sess_enter_logo(struct fc_sess *sess)
 	struct fc_els_logo *logo;
 	struct fc_local_port *lp;
 
-	ASSERT(fc_sess_locked(sess));
 	fc_sess_state_enter(sess, SESS_ST_LOGO);
+
 	lp = sess->fs_local_port;
 	fp = fc_frame_alloc(lp->fl_port, sizeof(*logo));
 	if (!fp) {
@@ -983,7 +970,6 @@ static void fc_sess_enter_logo(struct fc_sess *sess)
 		return;
 	}
 	logo = fc_frame_payload_get(fp, sizeof(*logo));
-	ASSERT(logo);
 	memset(logo, 0, sizeof(*logo));
 	logo->fl_cmd = ELS_LOGO;
 	net24_put(&logo->fl_n_port_id, lp->fl_fid);
@@ -1077,7 +1063,6 @@ void fc_sess_recv_req(struct fc_seq *sp, struct fc_frame *fp, void *sess_arg)
 	u_char op;
 
 	fh = fc_frame_header_get(fp);
-	ASSERT(fp);
 	op = fc_frame_payload_op(fp);
 
 	if (fh->fh_r_ctl == FC_RCTL_ELS_REQ && fh->fh_type == FC_TYPE_ELS) {
@@ -1125,11 +1110,11 @@ static void fc_sess_recv_plogi_req(struct fc_sess *sess,
 	pl = fc_frame_payload_get(fp, sizeof(*pl));
 	if (!pl) {
 		OFC_DBG("incoming PLOGI from %x too short", sid);
+		WARN_ON(1);
 		/* XXX TBD: send reject? */
 		fc_frame_free(fp);
 		return;
 	}
-	ASSERT(pl);		/* checked above */
 	wwpn = net64_get(&pl->fl_wwpn);
 	wwnn = net64_get(&pl->fl_wwnn);
 	fc_sess_lock(sess);
@@ -1207,7 +1192,7 @@ static void fc_sess_recv_plogi_req(struct fc_sess *sess,
 		fc_frame_free(fp);
 	} else {
 		sp = fc_seq_start_next(sp);
-		ASSERT(sp);
+		WARN_ON(!sp);
 		fc_frame_free(rx_fp);
 		fc_remote_port_set_name(rp, wwpn, wwnn);
 
@@ -1217,7 +1202,7 @@ static void fc_sess_recv_plogi_req(struct fc_sess *sess,
 		sess->fs_max_payload = (uint16_t)
 		    fc_local_port_get_payload_size(pl, lp->fl_max_payload);
 		pl = fc_frame_payload_get(fp, sizeof(*pl));
-		ASSERT(pl);
+		WARN_ON(!pl);
 		fc_local_port_flogi_fill(lp, pl, ELS_LS_ACC);
 
 		/*
@@ -1297,9 +1282,9 @@ static void fc_sess_recv_prli_req(struct fc_sess *sess,
 		fc_seq_ls_rjt(sp, reason, explan);
 	} else {
 		sp = fc_seq_start_next(sp);
-		ASSERT(sp);
+		WARN_ON(!sp);
 		pp = fc_frame_payload_get(fp, len);
-		ASSERT(pp);
+		WARN_ON(!pp);
 		memset(pp, 0, len);
 		pp->prli.prli_cmd = ELS_LS_ACC;
 		pp->prli.prli_spp_len = plen;
@@ -1324,7 +1309,7 @@ static void fc_sess_recv_prli_req(struct fc_sess *sess,
 				break;
 			case FC_TYPE_FCP:
 				rp = sess->fs_remote_port;
-				ASSERT(rp);
+				WARN_ON(!rp);
 				rp->rp_fcp_parm = net32_get(&rspp->spp_params);
 				net32_put(&spp->spp_params,
 					  rp->rp_local_fcp_parm);
@@ -1426,9 +1411,9 @@ struct fc_sess *fc_sess_lookup_create(struct fc_local_port *lp,
 	struct fc_sess *sess;
 	u_int64_t key;
 
-	ASSERT(fid != 0);
-	ASSERT(lp);
-	ASSERT(lp->fl_vf);
+	WARN_ON(fid == 0);
+	WARN_ON(!lp);
+	WARN_ON(!(lp->fl_vf));
 
 	vp = lp->fl_vf;
 
diff --git a/drivers/scsi/ofc/libfc/fc_virt_fab.c b/drivers/scsi/ofc/libfc/fc_virt_fab.c
index ff87244..dd84628 100644
--- a/drivers/scsi/ofc/libfc/fc_virt_fab.c
+++ b/drivers/scsi/ofc/libfc/fc_virt_fab.c
@@ -26,7 +26,6 @@
 
 #include "sa_kernel.h"
 #undef LIST_HEAD
-#include "sa_assert.h"
 #include "sa_event.h"
 #include "net_types.h"
 
diff --git a/drivers/scsi/ofc/libfc/fcs_attr.c b/drivers/scsi/ofc/libfc/fcs_attr.c
index 5b355de..cc6ad1f 100644
--- a/drivers/scsi/ofc/libfc/fcs_attr.c
+++ b/drivers/scsi/ofc/libfc/fcs_attr.c
@@ -35,7 +35,6 @@
 #include <scsi/scsi_tcq.h>
 
 #include "sa_kernel.h"
-#include "sa_assert.h"
 #include "ofc_dbg.h"
 #include "sa_event.h"
 #include "net_types.h"
diff --git a/drivers/scsi/ofc/libfc/fcs_cmd.c b/drivers/scsi/ofc/libfc/fcs_cmd.c
index 5564f82..fb066bd 100644
--- a/drivers/scsi/ofc/libfc/fcs_cmd.c
+++ b/drivers/scsi/ofc/libfc/fcs_cmd.c
@@ -18,7 +18,6 @@
  */
 
 #include "sa_kernel.h"
-#include "sa_assert.h"
 #include "ofc_dbg.h"
 #include "fc_types.h"
 #include "fc_event.h"
@@ -90,7 +89,7 @@ int fcs_cmd_send(struct fcs_state *sp, struct fc_frame *fp,
 	int rc;
 
 	might_sleep();
-	ASSERT(!rfp->fr_sg_len);
+	WARN_ON(rfp->fr_sg_len);
 	lp = sp->fs_local_port;
 	fh = fc_frame_header_get(fp);
 
@@ -198,8 +197,8 @@ static void fcs_cmd_recv(struct fc_seq *seq, struct fc_frame *fp, void *arg)
 	uint32_t len;
 	u_int error = 0;	/* XXX for debugging */
 
-	ASSERT(!fp->fr_sg_len);
-	ASSERT(!(fp->fr_flags & FCPHF_CRC_UNCHECKED));
+	WARN_ON(fp->fr_sg_len);
+	WARN_ON((fp->fr_flags & FCPHF_CRC_UNCHECKED) == FCPHF_CRC_UNCHECKED);
 
 	fh = fc_frame_header_get(fp);
 	if (fh->fh_type != cp->fcc_req_hdr.fh_type)
diff --git a/drivers/scsi/ofc/libfc/fcs_event.c b/drivers/scsi/ofc/libfc/fcs_event.c
index d6ab9d9..5d5cfa6 100644
--- a/drivers/scsi/ofc/libfc/fcs_event.c
+++ b/drivers/scsi/ofc/libfc/fcs_event.c
@@ -32,7 +32,7 @@
 #include <scsi/scsi_cmnd.h>
 #include <scsi/scsi_transport.h>
 #include <scsi/scsi_transport_fc.h>
-#include "sa_assert.h"
+
 #include "ofc_dbg.h"
 #include "fc_types.h"
 #include "fc_frame.h"
@@ -87,7 +87,6 @@ static struct fcs_ev_elem *fcs_ev_peek(struct fcs_event_queue *qp)
 {
 	struct fcs_ev_elem *fp = NULL;
 
-	ASSERT(spin_is_locked(&qp->fev_lock));
 	if (!list_empty(&qp->fev_list))
 		fp = list_entry(qp->fev_list.next, struct fcs_ev_elem, ev_list);
 	return fp;
diff --git a/drivers/scsi/ofc/libfc/fcs_state.c b/drivers/scsi/ofc/libfc/fcs_state.c
index 794f440..78dd61a 100644
--- a/drivers/scsi/ofc/libfc/fcs_state.c
+++ b/drivers/scsi/ofc/libfc/fcs_state.c
@@ -18,7 +18,6 @@
  */
 
 #include "sa_kernel.h"
-#include "sa_assert.h"
 #include "ofc_dbg.h"
 #include "fc_types.h"
 #include "fc_frame.h"
@@ -79,8 +78,8 @@ struct fcs_state *fcs_create(struct fcs_create_args *ap)
 	struct fc_port *outer_port;
 	size_t mfs;
 
-	ASSERT(ap->fca_disc_done);
-	ASSERT(ap->fca_port);
+	WARN_ON(!ap->fca_disc_done);
+	WARN_ON(!ap->fca_port);
 
 	sp = sa_malloc(sizeof(*sp));
 	if (!sp)
@@ -145,7 +144,7 @@ void fcs_destroy(struct fcs_state *sp)
 {
 	struct fc_port *port;
 
-	ASSERT(sp->fs_args.fca_port);
+	WARN_ON(!sp->fs_args.fca_port);
 
 	sp->fs_args.fca_disc_done = (void (*)(void *))fcs_nop;
 	sp->fs_args.fca_remote_port_state_change =
@@ -196,7 +195,6 @@ static void fcs_recv_req(void *sp_arg, struct fc_frame *fp)
 	struct fc_frame_header *fh;
 
 	fh = fc_frame_header_get(fp);
-	ASSERT(fh);
 
 	if (fh->fh_type == FC_TYPE_FCP && sp->fs_args.fca_fcp_recv) {
 		(*sp->fs_args.fca_fcp_recv) (fp->fr_seq,
@@ -215,8 +213,8 @@ int fcs_local_port_set(struct fcs_state *sp, fc_wwn_t wwnn, fc_wwn_t wwpn)
 {
 	struct fc_local_port *lp;
 
-	ASSERT(sp->fs_inner_port);
-	ASSERT(!sp->fs_local_port);
+	WARN_ON(!sp->fs_inner_port);
+	WARN_ON(sp->fs_local_port);
 	lp = fc_local_port_create(sp->fs_vf, sp->fs_inner_port, wwpn, wwnn,
 				  sp->fs_args.fca_e_d_tov,
 				  sp->fs_args.fca_plogi_retries);
@@ -236,7 +234,7 @@ int fcs_local_port_set(struct fcs_state *sp, fc_wwn_t wwnn, fc_wwn_t wwpn)
  */
 void fcs_start(struct fcs_state *sp)
 {
-	ASSERT(sp->fs_local_port);
+	WARN_ON(!sp->fs_local_port);
 	fc_local_port_logon(sp->fs_local_port, fcs_local_port_event, sp);
 }
 
@@ -245,7 +243,7 @@ void fcs_start(struct fcs_state *sp)
  */
 void fcs_stop(struct fcs_state *sp)
 {
-	ASSERT(sp->fs_local_port);
+	WARN_ON(!sp->fs_local_port);
 	fc_local_port_logoff(sp->fs_local_port);
 }
 
@@ -259,7 +257,7 @@ void fcs_reset(struct fcs_state *sp)
 {
 	struct fc_local_port *lp;
 
-	ASSERT(sp->fs_local_port);
+	WARN_ON(!sp->fs_local_port);
 	lp = sp->fs_local_port;
 	sp->fs_disc_done = 0;
 	fc_local_port_reset(lp);
@@ -336,10 +334,10 @@ static void fcs_add_remote(void *fcs_arg, struct fc_remote_port *rp,
 	struct fc_sess *sess;
 
 	lp = sp->fs_local_port;
-	ASSERT(lp);
+	WARN_ON(!lp);
 
 	if (event == FC_EV_CLOSED) {
-		ASSERT(rp->rp_sess_ready == 0);
+		WARN_ON(rp->rp_sess_ready != 0);
 		if (fcs_debug)
 			OFC_DBG("removing remote fid %x wwpn %llx ref %d",
 			       rp->rp_fid, rp->rp_port_wwn,
@@ -386,7 +384,6 @@ static void fcs_sess_event(int event, void *rp_arg)
 	void *arg;
 
 	sp = rp->rp_fcs_priv;
-	ASSERT(sp);
 	arg = sp->fs_args.fca_cb_arg;
 
 	switch (event) {
@@ -441,7 +438,7 @@ static void fcs_port_event(int event, void *sp_arg)
 		fcs_ev_add(sp, OFC_EV_LINK_UP, NULL, 0);
 		break;
 	}
-	ASSERT(sp->fs_inner_port);
+	WARN_ON(!sp->fs_inner_port);
 	fc_port_send_event(sp->fs_inner_port, event);
 }
 


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 05/10] [FCoE] Remove ASSERTs from libsa.
  2008-01-23  0:35 [PATCH 00/10] [FCoE] This patch set removes the ASSERT code in Open-FCoE Robert Love
                   ` (3 preceding siblings ...)
  2008-01-23  0:36 ` [PATCH 04/10] [FCoE] Remove ASSERTs from libfc Robert Love
@ 2008-01-23  0:36 ` Robert Love
  2008-01-23  0:36 ` [PATCH 06/10] [FCoE] Remove ASSERTs from openfc Robert Love
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Robert Love @ 2008-01-23  0:36 UTC (permalink / raw)
  To: linux-scsi

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

 drivers/scsi/ofc/libsa/sa_event.c     |   24 ------------------------
 drivers/scsi/ofc/libsa/sa_hash_kern.c |    7 -------
 drivers/scsi/ofc/libsa/sa_timer.c     |    1 -
 3 files changed, 0 insertions(+), 32 deletions(-)


diff --git a/drivers/scsi/ofc/libsa/sa_event.c b/drivers/scsi/ofc/libsa/sa_event.c
index cf6596a..7d9850b 100644
--- a/drivers/scsi/ofc/libsa/sa_event.c
+++ b/drivers/scsi/ofc/libsa/sa_event.c
@@ -18,7 +18,6 @@
  */
 
 #include "sa_kernel.h"
-#include "sa_assert.h"
 #include "ofc_dbg.h"
 #include "sa_event.h"
 #include "queue.h"
@@ -66,7 +65,6 @@ struct sa_event_list *sa_event_list_alloc(void)
 		TAILQ_INIT(&lp->se_head);
 		atomic_set(&lp->se_refcnt, 1);
 		spin_lock_init(&lp->se_lock);
-		ASSERT(sa_event_list_initialized(lp));
 	}
 	return lp;
 }
@@ -77,7 +75,6 @@ void sa_event_list_free(struct sa_event_list *lp)
 	struct sa_event *next;
 	unsigned long flags;
 
-	ASSERT(sa_event_list_initialized(lp));
 	spin_lock_irqsave(&lp->se_lock, flags);
 	TAILQ_FOREACH_SAFE(ev, &lp->se_head, se_list, next) {
 		if ((ev->se_flags & SEV_MARK) == 0) {
@@ -91,19 +88,16 @@ void sa_event_list_free(struct sa_event_list *lp)
 
 static void sa_event_list_free_int(struct sa_event_list *lp)
 {
-	ASSERT(!atomic_read(&lp->se_refcnt));
 	sa_free(lp);
 }
 
 static void sa_event_list_hold(struct sa_event_list *lp)
 {
 	atomic_inc(&lp->se_refcnt);
-	ASSERT(atomic_read(&lp->se_refcnt));
 }
 
 static void sa_event_list_release(struct sa_event_list *lp)
 {
-	ASSERT(atomic_read(&lp->se_refcnt));
 	if (atomic_dec_and_test(&lp->se_refcnt))
 		sa_event_list_free_int(lp);
 }
@@ -120,8 +114,6 @@ struct sa_event *sa_event_enq(struct sa_event_list *lp,
 	struct sa_event_head *hp;
 	unsigned long flags;
 
-	ASSERT(sa_event_list_initialized(lp));
-	ASSERT(handler != NULL);
 	spin_lock_irqsave(&lp->se_lock, flags);
 	hp = &lp->se_head;
 	TAILQ_FOREACH(ev, &lp->se_head, se_list) {
@@ -147,8 +139,6 @@ void sa_event_deq_ev(struct sa_event_list *lp, struct sa_event *ev)
 	unsigned long flags;
 
 	spin_lock_irqsave(&lp->se_lock, flags);
-	ASSERT(sa_event_list_initialized(lp));
-	ASSERT((ev->se_flags & SEV_MARK) == 0);
 	TAILQ_REMOVE(&lp->se_head, ev, se_list);
 	spin_unlock_irqrestore(&lp->se_lock, flags);
 	sa_free(ev);
@@ -162,7 +152,6 @@ sa_event_deq(struct sa_event_list *lp, void (*handler) (int, void *), void *arg)
 	unsigned long flags;
 
 	spin_lock_irqsave(&lp->se_lock, flags);
-	ASSERT(sa_event_list_initialized(lp));
 
 	TAILQ_FOREACH_SAFE(ev, &lp->se_head, se_list, next) {
 		if (ev->se_handler == handler && ev->se_arg == arg) {
@@ -187,7 +176,6 @@ void sa_event_call(struct sa_event_list *lp, int rc)
 	unsigned long flags;
 
 	spin_lock_irqsave(&lp->se_lock, flags);
-	ASSERT(sa_event_list_initialized(lp));
 	memset(&mark, 0, sizeof(mark));
 	mark.se_flags = SEV_MARK;
 
@@ -202,7 +190,6 @@ void sa_event_call(struct sa_event_list *lp, int rc)
 		TAILQ_INSERT_AFTER(&lp->se_head, ev, &mark, se_list);
 		spin_unlock_irqrestore(&lp->se_lock, flags);
 
-		ASSERT(ev->se_handler != NULL);
 		(*ev->se_handler) (rc, ev->se_arg);
 
 		spin_lock_irqsave(&lp->se_lock, flags);
@@ -218,9 +205,6 @@ void sa_event_call(struct sa_event_list *lp, int rc)
  */
 void sa_event_call_defer(struct sa_event_list *lp, int event)
 {
-	ASSERT(sa_event_list_initialized(lp));
-	ASSERT(event >= 0);
-	ASSERT(event < sizeof(lp->se_pending_events) * 8);
 	atomic_set_mask(1 << event, &lp->se_pending_events);
 }
 
@@ -229,9 +213,6 @@ void sa_event_call_defer(struct sa_event_list *lp, int event)
  */
 void sa_event_call_cancel(struct sa_event_list *lp, int event)
 {
-	ASSERT(sa_event_list_initialized(lp));
-	ASSERT(event >= 0);
-	ASSERT(event < sizeof(lp->se_pending_events) * 8);
 	atomic_clear_mask(1 << event, &lp->se_pending_events);
 }
 
@@ -243,13 +224,8 @@ void sa_event_send_deferred(struct sa_event_list *lp)
 	u_int32_t mask;
 	u_int event;
 
-	ASSERT(sa_event_list_initialized(lp));
-	ASSERT(sizeof(mask) == sizeof(lp->se_pending_events));
-
 	while ((mask = atomic_read(&lp->se_pending_events)) != 0) {
 		event = ffs(mask) - 1;
-		ASSERT(event >= 0);
-		ASSERT(event < sizeof(lp->se_pending_events) * 8);
 		atomic_clear_mask(1 << event, &lp->se_pending_events);
 		sa_event_call(lp, event);
 	}
diff --git a/drivers/scsi/ofc/libsa/sa_hash_kern.c b/drivers/scsi/ofc/libsa/sa_hash_kern.c
index 6046758..f1103a5 100644
--- a/drivers/scsi/ofc/libsa/sa_hash_kern.c
+++ b/drivers/scsi/ofc/libsa/sa_hash_kern.c
@@ -18,7 +18,6 @@
  */
 
 #include "sa_kernel.h"
-#include "sa_assert.h"
 #include "ofc_dbg.h"
 #include "sa_hash.h"
 
@@ -51,9 +50,6 @@ struct sa_hash *sa_hash_create(const struct sa_hash_type *tp, uint32_t req_size)
 	for (size = 4; size < (1UL << 31); size <<= 1)
 		if (size >= req_size)
 			break;
-	ASSERT(size >= req_size);
-	ASSERT(size < (1UL << 31));
-	ASSERT((size & (size - 1)) == 0);	/* test for a power of 2 */
 
 	len = sizeof(*hp) + size * sizeof(struct hlist_head);
 	hp = sa_malloc(len);
@@ -67,7 +63,6 @@ struct sa_hash *sa_hash_create(const struct sa_hash_type *tp, uint32_t req_size)
 
 void sa_hash_destroy(struct sa_hash *hp)
 {
-	ASSERT(hp->sh_entries == 0);
 	sa_free(hp);
 }
 
@@ -117,7 +112,6 @@ void sa_hash_insert(struct sa_hash *hp, const sa_hash_key_t key, void *ep)
 	hhp = sa_hash_bucket(hp, key);
 	hlist_add_head_rcu(lp, hhp);
 	hp->sh_entries++;
-	ASSERT(hp->sh_entries > 0);	/* check for overflow */
 }
 
 /*
@@ -144,5 +138,4 @@ sa_hash_iterate(struct sa_hash *hp,
 	}
 	if (count != hp->sh_entries)
 		OFC_DBG("sh_entries %d != count %d", hp->sh_entries, count);
-	ASSERT(count == hp->sh_entries);
 }
diff --git a/drivers/scsi/ofc/libsa/sa_timer.c b/drivers/scsi/ofc/libsa/sa_timer.c
index 0e3d422..df87fbd 100644
--- a/drivers/scsi/ofc/libsa/sa_timer.c
+++ b/drivers/scsi/ofc/libsa/sa_timer.c
@@ -22,7 +22,6 @@
 #include <linux/timer.h>
 #include <linux/jiffies.h>
 
-#include "sa_assert.h"
 #include "ofc_dbg.h"
 #include "sa_timer.h"
 


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 06/10] [FCoE] Remove ASSERTs from openfc
  2008-01-23  0:35 [PATCH 00/10] [FCoE] This patch set removes the ASSERT code in Open-FCoE Robert Love
                   ` (4 preceding siblings ...)
  2008-01-23  0:36 ` [PATCH 05/10] [FCoE] Remove ASSERTs from libsa Robert Love
@ 2008-01-23  0:36 ` Robert Love
  2008-01-23  0:37 ` [PATCH 07/10] [FCoE] Remove ASSERTs from fcoe Robert Love
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Robert Love @ 2008-01-23  0:36 UTC (permalink / raw)
  To: linux-scsi


---

 drivers/scsi/ofc/openfc/openfc_attr.c  |    1 -
 drivers/scsi/ofc/openfc/openfc_if.c    |    3 ---
 drivers/scsi/ofc/openfc/openfc_ioctl.c |    1 -
 drivers/scsi/ofc/openfc/openfc_pkt.c   |    4 ----
 drivers/scsi/ofc/openfc/openfc_scsi.c  |   24 +++++++++++-------------
 5 files changed, 11 insertions(+), 22 deletions(-)


diff --git a/drivers/scsi/ofc/openfc/openfc_attr.c b/drivers/scsi/ofc/openfc/openfc_attr.c
index 12b00c3..d2a3b17 100644
--- a/drivers/scsi/ofc/openfc/openfc_attr.c
+++ b/drivers/scsi/ofc/openfc/openfc_attr.c
@@ -33,7 +33,6 @@
 #include <scsi/scsi_transport_fc.h>
 
 #include "fc_types.h"
-#include "sa_assert.h"
 #include "fc_port.h"
 #include "fc_remote_port.h"
 #include "fcdev.h"
diff --git a/drivers/scsi/ofc/openfc/openfc_if.c b/drivers/scsi/ofc/openfc/openfc_if.c
index 0b0c782..179f750 100644
--- a/drivers/scsi/ofc/openfc/openfc_if.c
+++ b/drivers/scsi/ofc/openfc/openfc_if.c
@@ -34,7 +34,6 @@
 #include <scsi/scsi_tcq.h>
 
 #include "fc_types.h"
-#include "sa_assert.h"
 #include "fc_port.h"
 #include "fc_event.h"
 #include "fc_remote_port.h"
@@ -277,8 +276,6 @@ static int openfc_queuecommand(struct scsi_cmnd *sc_cmd,
 	int rc = 0;
 	struct fcoe_dev_stats *stats;
 
-	ASSERT(done != NULL);
-
 	openfcp = (struct openfc_softc *)sc_cmd->device->host->hostdata;
 
 	if (openfcp->state != OPENFC_RUNNING) {
diff --git a/drivers/scsi/ofc/openfc/openfc_ioctl.c b/drivers/scsi/ofc/openfc/openfc_ioctl.c
index d04164b..60662d9 100644
--- a/drivers/scsi/ofc/openfc/openfc_ioctl.c
+++ b/drivers/scsi/ofc/openfc/openfc_ioctl.c
@@ -28,7 +28,6 @@
 #include <scsi/scsi_transport_fc.h>
 #include <scsi/scsi_tcq.h>
 
-#include "sa_assert.h"
 #include "fc_types.h"
 #include "fc_encaps.h"
 #include "fc_frame.h"
diff --git a/drivers/scsi/ofc/openfc/openfc_pkt.c b/drivers/scsi/ofc/openfc/openfc_pkt.c
index baaa77f..ecb1aae 100644
--- a/drivers/scsi/ofc/openfc/openfc_pkt.c
+++ b/drivers/scsi/ofc/openfc/openfc_pkt.c
@@ -32,7 +32,6 @@
  */
 #include "sa_kernel.h"
 #include "fc_types.h"
-#include "sa_assert.h"
 #include "fc_event.h"
 #include "fc_port.h"
 #include "fc_remote_port.h"
@@ -69,8 +68,6 @@ struct fc_scsi_pkt *openfc_alloc_scsi_pkt(struct openfc_softc *openfcp)
 {
 	struct fc_scsi_pkt *sp;
 
-	ASSERT(openfcp != NULL);
-
 	sp = kmem_cache_alloc(openfcp->openfc_scsi_pkt_cachep,
 			      openfcp->alloc_flags);
 	if (sp) {
@@ -110,7 +107,6 @@ int openfc_free_scsi_pkt(struct fc_scsi_pkt *sp)
 void openfc_scsi_pkt_hold(struct fc_scsi_pkt *sp)
 {
 	atomic_inc(&sp->ref_cnt);
-	ASSERT(atomic_read(&sp->ref_cnt) != 0);
 }
 
 void openfc_scsi_pkt_release(struct fc_scsi_pkt *sp)
diff --git a/drivers/scsi/ofc/openfc/openfc_scsi.c b/drivers/scsi/ofc/openfc/openfc_scsi.c
index 9c7f9bb..f4c742f 100644
--- a/drivers/scsi/ofc/openfc/openfc_scsi.c
+++ b/drivers/scsi/ofc/openfc/openfc_scsi.c
@@ -34,7 +34,6 @@
  * non linux dot h files
  */
 #include "fc_types.h"
-#include "sa_assert.h"
 #include "fc_event.h"
 #include "fc_port.h"
 #include "fc_remote_port.h"
@@ -268,12 +267,12 @@ static void openfc_scsi_send_data(struct fc_scsi_pkt *fsp, struct fc_seq *sp,
 		}
 	}
 	mfs = fc_seq_mfs(sp);
-	ASSERT(mfs >= FC_MIN_MAX_PAYLOAD);
-	ASSERT(mfs <= FC_MAX_PAYLOAD);
+	WARN_ON(mfs > FC_MAX_PAYLOAD);
+	WARN_ON(mfs < FC_MIN_MAX_PAYLOAD);
 	if (mfs > 512)
 		mfs &= ~(512 - 1);	/* round down to block size */
-	ASSERT(mfs >= FC_MIN_MAX_PAYLOAD);	/* won't go below 256 */
-	ASSERT(len > 0);
+	WARN_ON(mfs < FC_MIN_MAX_PAYLOAD);	/* won't go below 256 */
+	WARN_ON(len <= 0);
 	sc = fsp->cmd;
 	if (sc->use_sg) {
 		sg = (struct scatterlist *)sc->request_buffer;
@@ -288,7 +287,7 @@ static void openfc_scsi_send_data(struct fc_scsi_pkt *fsp, struct fc_seq *sp,
 	frame_offset = offset;
 	tlen = 0;
 	sp = fc_seq_start_next_fctl(sp, FC_FC_REL_OFF);
-	ASSERT(sp);
+	WARN_ON(!sp);
 
 	if (page_count(sg_page(sg)) == 0)
 		using_sg = 0;
@@ -320,7 +319,7 @@ static void openfc_scsi_send_data(struct fc_scsi_pkt *fsp, struct fc_seq *sp,
 			 * because we can unpin the memory when the
 			 * status of this I/O is received
 			 */
-			ASSERT(fp->fr_sg_len < FC_FRAME_SG_LEN);
+			WARN_ON(fp->fr_sg_len > FC_FRAME_SG_LEN);
 			fsg = &fp->fr_sg[fp->fr_sg_len++];
 			sg_set_page(fsg, sg_page(sg),
 				    sg_bytes, sg->offset + offset);
@@ -355,11 +354,11 @@ static void openfc_scsi_send_data(struct fc_scsi_pkt *fsp, struct fc_seq *sp,
 		}
 		fp = NULL;
 
-		ASSERT(!error);
 		if (error) {
 			/*
 			 * we need to handle this case -XXX
 			 */
+			WARN_ON(1);
 			openfc_scsi_retry(fsp);
 			return;
 		}
@@ -440,7 +439,7 @@ static void openfc_scsi_rcv(struct fc_seq *sp, struct fc_frame *fp, void *arg)
 		 * received XFER RDY from the target
 		 * need to send data to the target
 		 */
-		ASSERT(!(fp->fr_flags & FCPHF_CRC_UNCHECKED));
+		WARN_ON(fp->fr_flags & FCPHF_CRC_UNCHECKED);
 		dd = fc_frame_payload_get(fp, sizeof(*dd));
 		WARN_ON(!dd);
 		fsp->state = OPENFC_SRB_IN_DATA_TRANS;
@@ -467,7 +466,7 @@ static void openfc_scsi_rcv(struct fc_seq *sp, struct fc_frame *fp, void *arg)
 		 * received a DATA frame
 		 * next we will copy the data to the system buffer
 		 */
-		ASSERT(fp->fr_len >= sizeof(*fh));	/* len may be 0 */
+		WARN_ON(fp->fr_len < sizeof(*fh));	/* len may be 0 */
 		fsp->state = OPENFC_SRB_IN_DATA_TRANS;
 		openfc_scsi_recv_data(fsp, fp);
 
@@ -478,7 +477,7 @@ static void openfc_scsi_rcv(struct fc_seq *sp, struct fc_frame *fp, void *arg)
 		 */
 		spin_unlock(&qp->scsi_pkt_lock);
 	} else if (r_ctl == FC_RCTL_DD_CMD_STATUS) {
-		ASSERT(!(fp->fr_flags & FCPHF_CRC_UNCHECKED));
+		WARN_ON(fp->fr_flags & FCPHF_CRC_UNCHECKED);
 
 		/*
 		 * NULL out the outstanding cmd pointer.
@@ -725,7 +724,7 @@ static void openfc_scsi_error(enum fc_event event, void *fsp_arg)
 		spin_unlock(&qp->scsi_pkt_lock);
 	}
 	diskp = fsp->disk;
-	ASSERT(fsp != NULL);
+
 	switch (event) {
 	case FC_EV_TIMEOUT:
 		/*
@@ -933,7 +932,6 @@ int openfc_target_reset(struct fcdev *dev, struct fc_scsi_pkt *fsp)
 				goto out;
 			}
 			sc_cmd = (struct scsi_cmnd *)ofsp->cmd;
-			ASSERT(sc_cmd != NULL);
 			opid = pid;
 			otid = sc_cmd->device->id;
 			olun = sc_cmd->device->lun;


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 07/10] [FCoE] Remove ASSERTs from fcoe
  2008-01-23  0:35 [PATCH 00/10] [FCoE] This patch set removes the ASSERT code in Open-FCoE Robert Love
                   ` (5 preceding siblings ...)
  2008-01-23  0:36 ` [PATCH 06/10] [FCoE] Remove ASSERTs from openfc Robert Love
@ 2008-01-23  0:37 ` Robert Love
  2008-01-23  0:37 ` [PATCH 08/10] [FCoE] Remove ASSERTs from frame headers Robert Love
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Robert Love @ 2008-01-23  0:37 UTC (permalink / raw)
  To: linux-scsi

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

 drivers/scsi/ofc/fcoe/fcoe_def.h  |    1 -
 drivers/scsi/ofc/fcoe/fcoe_dev.c  |   16 ++++++----------
 drivers/scsi/ofc/fcoe/fcoe_if.c   |    4 ----
 drivers/scsi/ofc/fcoe/fcoeinit.c  |    1 -
 drivers/scsi/ofc/fcoe/fcoeioctl.c |    1 -
 5 files changed, 6 insertions(+), 17 deletions(-)


diff --git a/drivers/scsi/ofc/fcoe/fcoe_def.h b/drivers/scsi/ofc/fcoe/fcoe_def.h
index 22c5934..867ae55 100644
--- a/drivers/scsi/ofc/fcoe/fcoe_def.h
+++ b/drivers/scsi/ofc/fcoe/fcoe_def.h
@@ -93,7 +93,6 @@ struct fcoe_rcv_info {
  */
 static inline struct fcoe_rcv_info *fcoe_dev_from_skb(struct sk_buff *skb)
 {
-        ASSERT(sizeof(struct fcoe_rcv_info) <= sizeof(skb->cb));
         return ((struct fcoe_rcv_info *) skb->cb);
 }
 
diff --git a/drivers/scsi/ofc/fcoe/fcoe_dev.c b/drivers/scsi/ofc/fcoe/fcoe_dev.c
index f37bd2c..0beb78e 100644
--- a/drivers/scsi/ofc/fcoe/fcoe_dev.c
+++ b/drivers/scsi/ofc/fcoe/fcoe_dev.c
@@ -36,7 +36,6 @@
 #include <scsi/scsi_transport_fc.h>
 #include <net/rtnetlink.h>
 
-#include "sa_assert.h"
 #include "fc_types.h"
 #include "fc_frame.h"
 #include "fc_print.h"
@@ -178,7 +177,7 @@ static void fcoe_skb_destroy(struct sk_buff *skb)
 	struct fcdev *fdev = (struct fcdev *)fp->fr_dev;
 	struct fcoe_softc *fc = NULL;
 
-	ASSERT(fp->fr_free_priv == skb);
+	WARN_ON(fp->fr_free_priv != skb);
 
 	if (fdev)
 		fc = (struct fcoe_softc *)fdev->drv_priv;
@@ -201,7 +200,7 @@ struct fc_frame *fcoe_frame_alloc(size_t len)
 	struct fc_frame *fp;
 	struct sk_buff *skb;
 
-	ASSERT((len % sizeof(uint32_t)) == 0);
+	WARN_ON((len % sizeof(uint32_t)) != 0);
 	len += sizeof(struct fc_frame_header);
 	skb = dev_alloc_skb(len + sizeof(*fp) +
 			    FC_FRAME_HEADROOM + FC_FRAME_TAILROOM);
@@ -245,7 +244,7 @@ int fcoe_xmit(struct fcdev *fc_dev, struct fc_frame *fp)
 	if (unlikely(debug_fcoe))
 		fc_print_frame_hdr("fcoe_xmit", fp);
 
-	ASSERT((fp->fr_len % sizeof(uint32_t)) == 0);
+	WARN_ON((fp->fr_len % sizeof(uint32_t)) != 0);
 
 	fc = (struct fcoe_softc *)fc_dev->drv_priv;
 	/*
@@ -272,9 +271,9 @@ int fcoe_xmit(struct fcdev *fc_dev, struct fc_frame *fp)
 		}
 	}
 
-	ASSERT(fp->fr_free == fcoe_frame_free);	/* allocated by us */
+	WARN_ON(fp->fr_free != fcoe_frame_free);	/* allocated by us */
 	skb = (struct sk_buff *)fp->fr_free_priv;
-	ASSERT(skb->data == (unsigned char *)fp->fr_hdr);
+	WARN_ON(skb->data != (unsigned char *)fp->fr_hdr);
 
 	sof = fp->fr_sof;
 	eof = fp->fr_eof;
@@ -394,7 +393,6 @@ int fcoe_xmit(struct fcdev *fc_dev, struct fc_frame *fp)
 	} else {
 		struct fcoe_hdr_old *ohp;
 
-		ASSERT(hlen == sizeof(*ohp));
 		ohp = (struct fcoe_hdr_old *)(eh + 1);
 		net16_put(&ohp->fcoe_plen, FC_FCOE_ENCAPS_LEN_SOF(wlen, sof));
 	}
@@ -502,7 +500,6 @@ int fcoe_percpu_receive_thread(void *arg)
 			struct fcoe_hdr_old *fchp;
 			u_int len;
 
-			ASSERT(hlen == sizeof(*fchp));
 			fchp = (struct fcoe_hdr_old *)skb->data;
 			len = net16_get(&fchp->fcoe_plen);
 			skb_pull(skb, sizeof(*fchp));
@@ -548,7 +545,6 @@ int fcoe_percpu_receive_thread(void *arg)
 		 * and it'll be more cache-efficient.
 		 */
 		fh = fc_frame_header_get(fp);
-		ASSERT(fh);
 		if (fh->fh_r_ctl == FC_RCTL_DD_SOL_DATA &&
 		    fh->fh_type == FC_TYPE_FCP) {
 			fp->fr_flags |= FCPHF_CRC_UNCHECKED;
@@ -568,7 +564,7 @@ int fcoe_percpu_receive_thread(void *arg)
 			stats->ErrorFrames++;
 			fc_frame_free(fp);
 		}
-		ASSERT(fc_frame_freed_static(fp));
+		WARN_ON(!fc_frame_freed_static(fp));
 		kfree_skb(skb);
 	}
 	return 0;
diff --git a/drivers/scsi/ofc/fcoe/fcoe_if.c b/drivers/scsi/ofc/fcoe/fcoe_if.c
index 9963593..f3e323d 100644
--- a/drivers/scsi/ofc/fcoe/fcoe_if.c
+++ b/drivers/scsi/ofc/fcoe/fcoe_if.c
@@ -40,7 +40,6 @@
 /*
  * Non Linux header definitions
  */
-#include "sa_assert.h"
 #include "fc_types.h"
 #include "fc_frame.h"
 #include "fc_print.h"
@@ -102,8 +101,6 @@ int fcoe_destroy_interface(struct fcdev *fd)
 	net8_t flogi_maddr[ETH_ALEN];
 #endif
 
-	ASSERT(fd != NULL);
-
 	openfc_unregister(fd);
 
 	fc = (struct fcoe_softc *)fd->drv_priv;
@@ -222,7 +219,6 @@ int fcoe_create_interface(struct fcoe_info *fci, void *ptr)
 	net8_t flogi_maddr[ETH_ALEN];
 #endif
 
-	ASSERT(fci != NULL);
 	fdev = openfc_alloc_dev(&fcoe_port_ops, sizeof(struct fcoe_softc));
 	if (unlikely(!fdev)) {
 		OFC_DBG("couldn't allocate space for hba struct");
diff --git a/drivers/scsi/ofc/fcoe/fcoeinit.c b/drivers/scsi/ofc/fcoe/fcoeinit.c
index 1ac7d69..a39f451 100644
--- a/drivers/scsi/ofc/fcoe/fcoeinit.c
+++ b/drivers/scsi/ofc/fcoe/fcoeinit.c
@@ -29,7 +29,6 @@
 #include <linux/if_ether.h>
 #include <linux/fs.h>
 
-#include "sa_assert.h"
 #include "fc_types.h"
 #include "fc_frame.h"
 #include "fcdev.h"
diff --git a/drivers/scsi/ofc/fcoe/fcoeioctl.c b/drivers/scsi/ofc/fcoe/fcoeioctl.c
index a2f8a25..8621cff 100644
--- a/drivers/scsi/ofc/fcoe/fcoeioctl.c
+++ b/drivers/scsi/ofc/fcoe/fcoeioctl.c
@@ -22,7 +22,6 @@
 #include <linux/kernel.h>
 #include <linux/fs.h>
 
-#include "sa_assert.h"
 #include "fc_types.h"
 #include "fc_frame.h"
 #include "fcdev.h"


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 08/10] [FCoE] Remove ASSERTs from frame headers.
  2008-01-23  0:35 [PATCH 00/10] [FCoE] This patch set removes the ASSERT code in Open-FCoE Robert Love
                   ` (6 preceding siblings ...)
  2008-01-23  0:37 ` [PATCH 07/10] [FCoE] Remove ASSERTs from fcoe Robert Love
@ 2008-01-23  0:37 ` Robert Love
  2008-01-23  0:37 ` [PATCH 09/10] [FCoE] Remove sa_assert files Robert Love
  2008-01-23  0:37 ` [PATCH 10/10] [FCoE] Removing unused defines Robert Love
  9 siblings, 0 replies; 11+ messages in thread
From: Robert Love @ 2008-01-23  0:37 UTC (permalink / raw)
  To: linux-scsi

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

 drivers/scsi/ofc/include/fc_frame.h |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)


diff --git a/drivers/scsi/ofc/include/fc_frame.h b/drivers/scsi/ofc/include/fc_frame.h
index 6f8e85e..3fce700 100644
--- a/drivers/scsi/ofc/include/fc_frame.h
+++ b/drivers/scsi/ofc/include/fc_frame.h
@@ -126,7 +126,6 @@ struct fc_frame *fc_frame_alloc_fill(struct fc_port *, size_t payload_len);
 static inline struct fc_frame *fc_port_frame_alloc(struct fc_port *port,
 	size_t payload_len)
 {
-	WARN_ON((payload_len % 4) != 0);
 	return (*port->np_frame_alloc)(payload_len);
 }
 


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 09/10] [FCoE] Remove sa_assert files
  2008-01-23  0:35 [PATCH 00/10] [FCoE] This patch set removes the ASSERT code in Open-FCoE Robert Love
                   ` (7 preceding siblings ...)
  2008-01-23  0:37 ` [PATCH 08/10] [FCoE] Remove ASSERTs from frame headers Robert Love
@ 2008-01-23  0:37 ` Robert Love
  2008-01-23  0:37 ` [PATCH 10/10] [FCoE] Removing unused defines Robert Love
  9 siblings, 0 replies; 11+ messages in thread
From: Robert Love @ 2008-01-23  0:37 UTC (permalink / raw)
  To: linux-scsi

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

 drivers/scsi/ofc/include/sa_assert.h |   85 ----------------------------------
 drivers/scsi/ofc/libsa/Makefile      |    1 
 drivers/scsi/ofc/libsa/sa_assert.c   |   50 --------------------
 3 files changed, 0 insertions(+), 136 deletions(-)
 delete mode 100644 drivers/scsi/ofc/include/sa_assert.h
 delete mode 100644 drivers/scsi/ofc/libsa/sa_assert.c


diff --git a/drivers/scsi/ofc/include/sa_assert.h b/drivers/scsi/ofc/include/sa_assert.h
deleted file mode 100644
index 16224d7..0000000
--- a/drivers/scsi/ofc/include/sa_assert.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright(c) 2007 Intel Corporation. All rights reserved.
- * 
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- * 
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- * 
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
- * 
- * Maintained at www.Open-FCoE.org
- */
-
-#ifndef _LIBSA_ASSERT_H_
-#define _LIBSA_ASSERT_H_
-
-extern void assert_failed(const char *s, ...)
-    __attribute__ ((format(printf, 1, 2)));
-
-#ifndef UNLIKELY
-#define UNLIKELY(_x) (_x)
-#endif /* UNLIKELY */
-
-/*
- * ASSERT macros
- *
- * ASSERT(expr) - this calls assert_failed() if expr is false.  This variant
- * is not present in production code or if DEBUG_ASSERTS is not defined.
- * Be careful not to rely on expr being evaluated.
- */
-#if defined(DEBUG_ASSERTS)
-#define ASSERT(_x) do {                                                 \
-                if (UNLIKELY(!(_x))) {                                  \
-                        assert_failed("ASSERT FAILED (%s) @ %s:%d\n",   \
-                          "" #_x, __FILE__, __LINE__);                  \
-                }                                                       \
-        } while (0)
-#else
-#define ASSERT(_x)
-#endif /* DEBUG_ASSERTS */
-
-/*
- * ASSERT_NOTIMPL(expr) - this calls assert_failed() if expr is false.
- * The implication is that the condition is not handled by the current
- * implementation, and work should be done eventually to handle this.
- */
-#define ASSERT_NOTIMPL(_x) do {                                         \
-                if (UNLIKELY(!(_x))) {                                  \
-                        assert_failed("ASSERT (NOT IMPL) (%s) @ %s:%d\n", \
-                          "" #_x, __FILE__, __LINE__);                  \
-                }                                                       \
-        } while (0)
-
-/*
- * ASSERT_NOTREACHED - this is the same as ASSERT_NOTIMPL(0).
- */
-#define ASSERT_NOTREACHED do {                                          \
-                assert_failed("ASSERT (NOT REACHED) @ %s:%d\n",         \
-                    __FILE__, __LINE__);                                \
-        } while (0)
-
-/*
- * ASSERT_BUG(bugno, expr).  This variant is used when a bug number has
- * been assigned to any one of the other assertion failures.  It is always
- * present in code.  It gives the bug number which helps locate
- * documentation and helps prevent duplicate bug filings.
- */
-#define ASSERT_BUG(_bugNr, _x) do {                                     \
-                if (UNLIKELY(!(_x))) {                                  \
-                        assert_failed("ASSERT (BUG %d) (%s) @ %s:%d\n", \
-                            (_bugNr), #_x, __FILE__, __LINE__);         \
-                }                                                       \
-        } while (0)
-
-#ifndef LIBSA_USE_DANGEROUS_ROUTINES
-#define gets   DONT_USE_gets
-#endif /* LIBSA_USE_DANGEROUS_ROUTINES */
-
-#endif /* _LIBSA_ASSERT_H_ */
diff --git a/drivers/scsi/ofc/libsa/Makefile b/drivers/scsi/ofc/libsa/Makefile
index 42b8733..6206b78 100644
--- a/drivers/scsi/ofc/libsa/Makefile
+++ b/drivers/scsi/ofc/libsa/Makefile
@@ -5,7 +5,6 @@ EXTRA_CFLAGS += -I$(OFC_DIR)/include
 obj-y += libsa.o
 
 libsa-y := \
-	sa_assert.o \
 	sa_event.o \
 	sa_hash_kern.o \
 	sa_timer.o
diff --git a/drivers/scsi/ofc/libsa/sa_assert.c b/drivers/scsi/ofc/libsa/sa_assert.c
deleted file mode 100644
index 0824bb6..0000000
--- a/drivers/scsi/ofc/libsa/sa_assert.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright(c) 2007 Intel Corporation. All rights reserved.
- * 
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- * 
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- * 
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
- * 
- * Maintained at www.Open-FCoE.org
- */
-
-#include <linux/autoconf.h>
-#include <linux/module.h>
-#include <linux/kernel.h>
-#include <linux/string.h>
-
-#include "sa_kernel.h"
-
-#include "ofc_dbg.h"
-#include "sa_assert.h"
-
-/*
- * Size of on-stack line buffers.
- * These shouldn't be to large for a kernel stack frame.
- */
-#define OFC_DBG_BUF_LEN  200	/* on-stack line buffer size */
-
-/*
- * Assert failures.
- */
-void assert_failed(const char *format, ...)
-{
-	va_list arg;
-	char buf[OFC_DBG_BUF_LEN];
-
-	va_start(arg, format);
-	vsnprintf(buf, sizeof(buf), format, arg);
-	va_end(arg);
-	panic(buf);
-}
-
-EXPORT_SYMBOL(assert_failed);


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 10/10] [FCoE] Removing unused defines
  2008-01-23  0:35 [PATCH 00/10] [FCoE] This patch set removes the ASSERT code in Open-FCoE Robert Love
                   ` (8 preceding siblings ...)
  2008-01-23  0:37 ` [PATCH 09/10] [FCoE] Remove sa_assert files Robert Love
@ 2008-01-23  0:37 ` Robert Love
  9 siblings, 0 replies; 11+ messages in thread
From: Robert Love @ 2008-01-23  0:37 UTC (permalink / raw)
  To: linux-scsi

These defines were used with the DEBUG_ASSERT code that has
been removed.

Removed defines are,

FC_ELS_CSP_LEN
FC_ELS_CSSP_LEN
FC_ELS_FLOGI_LEN
FC_ELS_SPP_LEN
FC_ELS_RRQ_LEN
FC_ELS_PRLI_LEN
FC_ELS_LOGO_LEN

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

 drivers/scsi/ofc/include/fc_els.h |   14 --------------
 1 files changed, 0 insertions(+), 14 deletions(-)


diff --git a/drivers/scsi/ofc/include/fc_els.h b/drivers/scsi/ofc/include/fc_els.h
index 6bff73e..502f0c5 100644
--- a/drivers/scsi/ofc/include/fc_els.h
+++ b/drivers/scsi/ofc/include/fc_els.h
@@ -232,8 +232,6 @@ struct fc_els_csp {
 #define	sp_rel_off	sp_u.sp_plogi._sp_rel_off
 #define	sp_r_a_tov	sp_u.sp_flogi_acc._sp_r_a_tov
 
-#define	FC_ELS_CSP_LEN	16	/* expected size of struct */
-
 #define	FC_SP_BB_DATA_MASK 0xfff /* mask for data field size in sp_bb_data */
 
 /*
@@ -278,8 +276,6 @@ struct fc_els_cssp {
 	u_int8_t	_cp_resv2[2];	/* reserved */
 };
 
-#define	FC_ELS_CSSP_LEN 16	/* expected size of struct */
-
 /*
  * cp_class flags.
  */
@@ -314,8 +310,6 @@ struct fc_els_flogi {
 	net8_t		fl_vend[16];	/* vendor version level */
 };
 
-#define	FC_ELS_FLOGI_LEN (7 * 16 + 4)	/* expected size of flogi struct */
-
 /*
  * Process login service parameter page.
  */
@@ -329,8 +323,6 @@ struct fc_els_spp {
 	net32_t		spp_params;	/* service parameters */
 };
 
-#define	FC_ELS_SPP_LEN	    16	/* expected length of struct */
-
 /*
  * spp_flags.
  */
@@ -365,8 +357,6 @@ struct fc_els_rrq {
 	net16_t		rrq_rx_id;	/* responders exchange ID */
 };
 
-#define	FC_ELS_RRQ_LEN	    12	/* expected length of struct */
-
 /*
  * ELS_REC - Read exchange concise.
  */
@@ -405,8 +395,6 @@ struct fc_els_prli {
 	/* service parameter pages follow */
 };
 
-#define	FC_ELS_PRLI_LEN     4	/* expected length of struct */
-
 /*
  * ELS_LOGO - process or fabric logout.
  */
@@ -418,8 +406,6 @@ struct fc_els_logo {
 	net64_t		fl_n_port_wwn;	/* port name */
 };
 
-#define	FC_ELS_LOGO_LEN     16	/* expected length of struct */
-
 /*
  * ELS_RTV - read timeout value.
  */


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2008-01-23  0:51 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-23  0:35 [PATCH 00/10] [FCoE] This patch set removes the ASSERT code in Open-FCoE Robert Love
2008-01-23  0:35 ` [PATCH 01/10] [FCoE] Changing all ASSERT_NOTIMPL to WARN_ON(1) Robert Love
2008-01-23  0:35 ` [PATCH 02/10] [FCoE] Convert one ASSERT_NOTREACHED " Robert Love
2008-01-23  0:36 ` [PATCH 03/10] [FCoE] Remove DEBUG_ASSERTS statements Robert Love
2008-01-23  0:36 ` [PATCH 04/10] [FCoE] Remove ASSERTs from libfc Robert Love
2008-01-23  0:36 ` [PATCH 05/10] [FCoE] Remove ASSERTs from libsa Robert Love
2008-01-23  0:36 ` [PATCH 06/10] [FCoE] Remove ASSERTs from openfc Robert Love
2008-01-23  0:37 ` [PATCH 07/10] [FCoE] Remove ASSERTs from fcoe Robert Love
2008-01-23  0:37 ` [PATCH 08/10] [FCoE] Remove ASSERTs from frame headers Robert Love
2008-01-23  0:37 ` [PATCH 09/10] [FCoE] Remove sa_assert files Robert Love
2008-01-23  0:37 ` [PATCH 10/10] [FCoE] Removing unused defines Robert Love

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).