cvs commit: src/share/man/man4 Makefile src/sys/dev/cxgb cxgb_adapter.h cxgb_config.h cxgb_ioctl.h cxgb_lro.c cxgb_main.c cxgb_osdep.h cxgb_sge.c t3fw-3.2.bin.gz.uu src/sys/dev/cxgb/common cxgb_ael1002.c cxgb_common.h cxgb_firmware_exports.h cxgb_mc5.c ...

Peter Pentchev roam at ringlet.net
Thu Mar 15 10:54:31 UTC 2007


On Thu, 15 Mar 2007 at 03:06:32 +0000 (UTC), Kip Macy wrote:
> 
> kmacy       2007-03-15 03:06:32 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:        (Branch: RELENG_6)
>     share/man/man4       Makefile 
>   Added files:           (Branch: RELENG_6)
>     sys/dev/cxgb         cxgb_adapter.h cxgb_config.h cxgb_ioctl.h 
>                          cxgb_lro.c cxgb_main.c cxgb_osdep.h 
>                          cxgb_sge.c t3fw-3.2.bin.gz.uu 
>     sys/dev/cxgb/common  cxgb_ael1002.c cxgb_common.h 
>                          cxgb_firmware_exports.h cxgb_mc5.c 
>                          cxgb_mv88e1xxx.c cxgb_regs.h 
>                          cxgb_sge_defs.h cxgb_t3_cpl.h 
>                          cxgb_t3_hw.c cxgb_tcb.h cxgb_version.h 
>                          cxgb_vsc8211.c cxgb_xgmac.c 
>     sys/modules/cxgb     Makefile 
>   Log:
>   MFC Chelsio T3 10 Gigabit Ethernet support
>   
>   Don't hook into build just

Is it possible that the GCC version in 6.x-STABLE is different from
that in -CURRENT?  On my laptop (i386, yesterday's -STABLE) LINT failed
to build with the following:

/fs/6/usr.src/sys/dev/cxgb/cxgb_sge.c: In function `sge_timer_reclaim':
/fs/6/usr.src/sys/dev/cxgb/cxgb_sge.c:172: warning: inlining failed in call to 'refill_rspq': function body not available
/fs/6/usr.src/sys/dev/cxgb/cxgb_sge.c:699: warning: called from here

It seems it simply needed refill_rspq() to be moved up, so that
the compiler could actually see the function body before first use;
or is this a bug in GCC?

Anyway, here's a simple patch that fixed the LINT build for me.

G'luck,
Peter

Index: src/sys/dev/cxgb/cxgb_sge.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/cxgb/cxgb_sge.c,v
retrieving revision 1.2.2.1
diff -u -r1.2.2.1 cxgb_sge.c
--- src/sys/dev/cxgb/cxgb_sge.c	15 Mar 2007 03:06:31 -0000	1.2.2.1
+++ src/sys/dev/cxgb/cxgb_sge.c	15 Mar 2007 10:16:46 -0000
@@ -640,6 +640,24 @@
 }
 
 
+/**
+ *	refill_rspq - replenish an SGE response queue
+ *	@adapter: the adapter
+ *	@q: the response queue to replenish
+ *	@credits: how many new responses to make available
+ *
+ *	Replenishes a response queue by making the supplied number of responses
+ *	available to HW.
+ */
+static __inline void
+refill_rspq(adapter_t *sc, const struct sge_rspq *q, u_int credits)
+{
+
+	/* mbufs are allocated on demand when a rspq entry is processed. */
+	t3_write_reg(sc, A_SG_RSPQ_CREDIT_RETURN,
+		     V_RSPQ(q->cntxt_id) | V_CREDITS(credits));
+}
+
 static void
 sge_timer_reclaim(void *arg, int ncount)
 {
@@ -1562,23 +1580,6 @@
 }
 
 
-/**
- *	refill_rspq - replenish an SGE response queue
- *	@adapter: the adapter
- *	@q: the response queue to replenish
- *	@credits: how many new responses to make available
- *
- *	Replenishes a response queue by making the supplied number of responses
- *	available to HW.
- */
-static __inline void
-refill_rspq(adapter_t *sc, const struct sge_rspq *q, u_int credits)
-{
-
-	/* mbufs are allocated on demand when a rspq entry is processed. */
-	t3_write_reg(sc, A_SG_RSPQ_CREDIT_RETURN,
-		     V_RSPQ(q->cntxt_id) | V_CREDITS(credits));
-}
 
 /**
  *	free_tx_desc - reclaims Tx descriptors and their buffers

-- 
Peter Pentchev	roam at ringlet.net    roam at cnsys.bg    roam at FreeBSD.org
PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
I am the meaning of this sentence.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/cvs-src/attachments/20070315/dadb5cb7/attachment.pgp


More information about the cvs-src mailing list