Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Jun 2007 22:47:29 GMT
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 121108 for review
Message-ID:  <200706062247.l56MlTqo039641@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=121108

Change 121108 by peter@peter_overcee on 2007/06/06 22:46:37

	IFC @121107

Affected files ...

.. //depot/projects/hammer/contrib/bind9/lib/isc/arm/include/isc/atomic.h#1 branch
.. //depot/projects/hammer/contrib/nvi/cl/cl_screen.c#2 integrate
.. //depot/projects/hammer/games/fortune/datfiles/fortunes#67 integrate
.. //depot/projects/hammer/lib/bind/config.mk#10 integrate
.. //depot/projects/hammer/lib/libc/net/getaddrinfo.3#13 integrate
.. //depot/projects/hammer/share/man/man4/axe.4#12 integrate
.. //depot/projects/hammer/share/man/man4/wlan.4#9 integrate
.. //depot/projects/hammer/share/man/man9/condvar.9#9 integrate
.. //depot/projects/hammer/sys/amd64/amd64/cpu_switch.S#40 integrate
.. //depot/projects/hammer/sys/amd64/amd64/genassym.c#46 integrate
.. //depot/projects/hammer/sys/amd64/amd64/machdep.c#160 integrate
.. //depot/projects/hammer/sys/dev/ath/ah_osdep.c#3 integrate
.. //depot/projects/hammer/sys/dev/ath/ah_osdep.h#2 integrate
.. //depot/projects/hammer/sys/dev/ath/ath_rate/onoe/onoe.c#12 integrate
.. //depot/projects/hammer/sys/dev/ath/ath_rate/onoe/onoe.h#3 integrate
.. //depot/projects/hammer/sys/dev/ath/if_ath.c#51 integrate
.. //depot/projects/hammer/sys/dev/ath/if_ath_pci.c#17 integrate
.. //depot/projects/hammer/sys/dev/ath/if_athioctl.h#14 integrate
.. //depot/projects/hammer/sys/dev/ath/if_athrate.h#5 integrate
.. //depot/projects/hammer/sys/dev/ath/if_athvar.h#27 integrate
.. //depot/projects/hammer/sys/dev/firewire/firewire.c#36 integrate
.. //depot/projects/hammer/sys/dev/firewire/firewirereg.h#22 integrate
.. //depot/projects/hammer/sys/dev/firewire/fwdev.c#22 integrate
.. //depot/projects/hammer/sys/dev/firewire/fwdma.c#9 integrate
.. //depot/projects/hammer/sys/dev/firewire/fwmem.c#19 integrate
.. //depot/projects/hammer/sys/dev/firewire/fwohci.c#31 integrate
.. //depot/projects/hammer/sys/dev/firewire/fwohci_pci.c#38 integrate
.. //depot/projects/hammer/sys/dev/firewire/fwohcivar.h#11 integrate
.. //depot/projects/hammer/sys/dev/firewire/if_fwe.c#27 integrate
.. //depot/projects/hammer/sys/dev/firewire/if_fwevar.h#6 integrate
.. //depot/projects/hammer/sys/dev/firewire/if_fwip.c#13 integrate
.. //depot/projects/hammer/sys/dev/firewire/if_fwipvar.h#4 integrate
.. //depot/projects/hammer/sys/dev/firewire/sbp.c#39 integrate
.. //depot/projects/hammer/sys/dev/firewire/sbp_targ.c#11 integrate
.. //depot/projects/hammer/sys/dev/mii/ciphy.c#6 integrate
.. //depot/projects/hammer/sys/dev/mii/ciphyreg.h#3 integrate
.. //depot/projects/hammer/sys/dev/mii/miidevs#17 integrate
.. //depot/projects/hammer/sys/dev/mii/rlphy.c#14 integrate
.. //depot/projects/hammer/sys/dev/puc/puc.c#24 integrate
.. //depot/projects/hammer/sys/dev/sound/pcm/ac97.c#26 integrate
.. //depot/projects/hammer/sys/dev/usb/uftdi.c#20 integrate
.. //depot/projects/hammer/sys/dev/usb/usbdevs#78 integrate
.. //depot/projects/hammer/sys/geom/part/g_part.c#4 integrate
.. //depot/projects/hammer/sys/geom/part/g_part_apm.c#3 integrate
.. //depot/projects/hammer/sys/geom/part/g_part_gpt.c#3 integrate
.. //depot/projects/hammer/sys/i386/i386/genassym.c#19 integrate
.. //depot/projects/hammer/sys/i386/i386/machdep.c#77 integrate
.. //depot/projects/hammer/sys/i386/i386/swtch.s#17 integrate
.. //depot/projects/hammer/sys/ia64/ia64/mp_machdep.c#18 integrate
.. //depot/projects/hammer/sys/kern/kern_mutex.c#46 integrate
.. //depot/projects/hammer/sys/kern/kern_umtx.c#27 integrate
.. //depot/projects/hammer/sys/kern/sched_4bsd.c#47 integrate
.. //depot/projects/hammer/sys/kern/sched_ule.c#76 integrate
.. //depot/projects/hammer/sys/net80211/_ieee80211.h#8 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211.c#28 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211.h#11 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_acl.c#4 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_crypto.c#12 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_crypto.h#10 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_crypto_ccmp.c#7 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_crypto_none.c#4 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_crypto_tkip.c#7 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_crypto_wep.c#6 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_freebsd.c#11 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_freebsd.h#9 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_input.c#36 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_ioctl.c#32 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_ioctl.h#16 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_node.c#39 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_node.h#21 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_output.c#27 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_proto.c#27 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_proto.h#16 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_var.h#28 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_xauth.c#3 integrate
.. //depot/projects/hammer/sys/netinet/ip_carp.c#23 integrate
.. //depot/projects/hammer/sys/netinet/sctp_sysctl.c#5 integrate
.. //depot/projects/hammer/sys/netinet/sctputil.c#8 integrate
.. //depot/projects/hammer/sys/netinet/tcp_syncache.c#42 integrate
.. //depot/projects/hammer/sys/pc98/pc98/machdep.c#18 integrate
.. //depot/projects/hammer/sys/powerpc/powerpc/vm_machdep.c#29 integrate
.. //depot/projects/hammer/sys/sparc64/fhc/fhc.c#10 integrate
.. //depot/projects/hammer/sys/sparc64/pci/psycho.c#31 integrate
.. //depot/projects/hammer/sys/sparc64/sbus/sbus.c#25 integrate
.. //depot/projects/hammer/sys/sys/mutex.h#29 integrate
.. //depot/projects/hammer/sys/sys/pcpu.h#12 integrate
.. //depot/projects/hammer/sys/sys/proc.h#104 integrate
.. //depot/projects/hammer/sys/sys/umtx.h#15 integrate
.. //depot/projects/hammer/usr.bin/gzip/gzip.1#4 integrate
.. //depot/projects/hammer/usr.sbin/boot0cfg/boot0cfg.8#11 integrate

Differences ...

==== //depot/projects/hammer/contrib/nvi/cl/cl_screen.c#2 (text+ko) ====

@@ -6,7 +6,7 @@
  *
  * See the LICENSE file for redistribution information.
  *
- * $FreeBSD: src/contrib/nvi/cl/cl_screen.c,v 1.2 2001/11/09 02:23:05 rwatson Exp $
+ * $FreeBSD: src/contrib/nvi/cl/cl_screen.c,v 1.4 2007/06/06 11:14:30 rafan Exp $
  */
 
 #include "config.h"
@@ -25,6 +25,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <term.h>
 #include <termios.h>
 #include <unistd.h>
 

==== //depot/projects/hammer/games/fortune/datfiles/fortunes#67 (text+ko) ====

@@ -1,5 +1,5 @@
 This fortune brought to you by:
-$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.239 2007/05/31 20:16:46 dougb Exp $
+$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.240 2007/06/06 11:12:56 ceri Exp $
 
 %
 =======================================================================
@@ -27058,7 +27058,7 @@
 have let me in on it by now.  I contribute enough to the shule.
 		-- Saul Goodman
 %
-If there was in justice in the world, "trust" would be a four-letter word.
+If there was any justice in the world, "trust" would be a four-letter word.
 %
 If there were a school for, say, sheet metal workers, that after three
 years left its graduates as unprepared for their careers as does law

==== //depot/projects/hammer/lib/bind/config.mk#10 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/bind/config.mk,v 1.18 2007/06/03 16:49:57 dougb Exp $
+# $FreeBSD: src/lib/bind/config.mk,v 1.19 2007/06/05 22:17:16 dougb Exp $
 
 .include <bsd.own.mk>
 
@@ -65,8 +65,6 @@
 # Use the right version of the atomic.h file from lib/isc
 .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
 ISC_ATOMIC_ARCH=	x86_32
-.elif ${MACHINE_ARCH} == "arm"
-ISC_ATOMIC_ARCH=	noatomic
 .else
 ISC_ATOMIC_ARCH=	${MACHINE_ARCH}
 .endif

==== //depot/projects/hammer/lib/libc/net/getaddrinfo.3#13 (text+ko) ====

@@ -16,9 +16,9 @@
 .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 .\" PERFORMANCE OF THIS SOFTWARE.
 .\"
-.\" $FreeBSD: src/lib/libc/net/getaddrinfo.3,v 1.32 2005/06/15 19:04:03 ru Exp $
+.\" $FreeBSD: src/lib/libc/net/getaddrinfo.3,v 1.33 2007/06/06 19:24:02 remko Exp $
 .\"
-.Dd December 20, 2004
+.Dd June 6, 2007
 .Dt GETADDRINFO 3
 .Os
 .Sh NAME
@@ -119,11 +119,41 @@
 .Fa ai_protocol
 is zero the caller will accept any protocol.
 .It Fa ai_flags
+The
 .Fa ai_flags
-is formed by
-.Tn OR Ns 'ing
-the following values:
+field to which the
+.Fa hints
+parameter points shall be set to zero
+or be the bitwise-inclusive OR of one or more of the values
+.Dv AI_ADDRCONFIG ,
+.Dv AI_ALL ,
+.Dv AI_CANONNAME ,
+.Dv AI_NUMERICHOST ,
+.Dv AI_NUMERICSERV ,
+.Dv AI_PASSIVE ,
+and
+.Dv AI_V4MAPPED .
 .Bl -tag -width "AI_CANONNAMEXX"
+.It Dv AI_ADDRCONFIG
+If the
+.Dv AI_ADDRCONFIG
+bit is set, IPv4 addresses shall be returned only if
+an IPv4 address is configured on the local system,
+and IPv6 addresses shall be returned only if
+an IPv6 address is configured on the local system.
+.It Dv AI_ALL
+If the
+.Dv AI_ALL
+bit is set with the
+.Dv AI_V4MAPPED
+bit, then
+.Fn getaddrinfo
+shall return all matching IPv6 and IPv4 addresses.
+The
+.Dv AI_ALL
+bit without the
+.Dv AI_V4MAPPED
+bit is ignored.
 .It Dv AI_CANONNAME
 If the
 .Dv AI_CANONNAME
@@ -142,6 +172,18 @@
 .Fa hostname
 should be treated as a numeric string defining an IPv4 or IPv6 address
 and no name resolution should be attempted.
+.It Dv AI_NUMERICSERV
+If the
+.Dv AI_NUMERICSERV
+bit is set,
+then a non-null
+.Fa servname
+string supplied shall be a numeric port string.
+Otherwise, an
+.Dv EAI_NONAME
+error shall be returned.
+This bit shall prevent any type of name resolution service
+(for example, NIS+) from being invoked.
 .It Dv AI_PASSIVE
 If the
 .Dv AI_PASSIVE
@@ -176,6 +218,25 @@
 is the null pointer and
 .Dv AI_PASSIVE
 is not set.
+.It Dv AI_V4MAPPED
+If the
+.Dv AI_V4MAPPED
+flag is specified along with an
+.Fa ai_family
+of
+.Dv AF_INET6 ,
+then
+.Fn getaddrinfo
+shall return IPv4-mapped IPv6 addresses
+on finding no matching IPv6 addresses (
+.Fa ai_addrlen
+shall be 16).
+The
+.Dv AI_V4MAPPED
+flag shall be ignored unless
+.Fa ai_family
+equals
+.Dv AF_INET6 .
 .El
 .El
 .Pp
@@ -428,7 +489,7 @@
 The
 .Fn getaddrinfo
 function is defined by the
-.St -p1003.1g-2000
-draft specification and documented in
+.St -p1003.1-2004
+specification and documented in
 .Dv "RFC 3493" ,
 .Dq Basic Socket Interface Extensions for IPv6 .

==== //depot/projects/hammer/share/man/man4/axe.4#12 (text+ko) ====

@@ -28,9 +28,9 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
 .\" THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man4/axe.4,v 1.13 2007/05/12 05:59:15 brueffer Exp $
+.\" $FreeBSD: src/share/man/man4/axe.4,v 1.14 2007/06/06 19:27:10 remko Exp $
 .\"
-.Dd May 12, 2007
+.Dd June 6, 2007
 .Dt AXE 4
 .Os
 .Sh NAME
@@ -134,7 +134,7 @@
 .It
 Buffalo (Melco Inc.) LUA-U2-KTX
 .It
-D-Link DUBE100
+D-Link DUB-E100, revision A
 .It
 LinkSys USB200M
 .It

==== //depot/projects/hammer/share/man/man4/wlan.4#9 (text+ko) ====

@@ -23,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man4/wlan.4,v 1.10 2005/11/26 00:47:07 brueffer Exp $
+.\" $FreeBSD: src/share/man/man4/wlan.4,v 1.11 2007/06/06 07:58:03 kevlo Exp $
 .\"
 .Dd November 26, 2005
 .Dt WLAN 4
@@ -48,6 +48,7 @@
 .Xr ipw 4 ,
 .Xr iwi 4 ,
 .Xr ral 4 ,
+.Xr rum 4 ,
 .Xr ural 4 ,
 and
 .Xr wi 4
@@ -125,6 +126,7 @@
 .Xr iwi 4 ,
 .Xr netintro 4 ,
 .Xr ral 4 ,
+.Xr rum 4 ,
 .Xr ural 4 ,
 .Xr wi 4 ,
 .Xr wlan_acl 4 ,

==== //depot/projects/hammer/share/man/man9/condvar.9#9 (text+ko) ====

@@ -24,9 +24,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/condvar.9,v 1.19 2007/03/30 18:07:26 julian Exp $
+.\" $FreeBSD: src/share/man/man9/condvar.9,v 1.21 2007/06/05 20:53:18 imp Exp $
 .\"
-.Dd March 21, 2007
+.Dd June 5, 2007
 .Dt CONDVAR 9
 .Os
 .Sh NAME
@@ -117,6 +117,12 @@
 or
 .Xr sx 9
 lock.
+A 
+.Xr mutex 9
+argument must be initialized with
+.Dv MTX_DEF 
+and not
+.Dv MTX_SPIN .
 A thread must hold
 .Fa lock
 before calling

==== //depot/projects/hammer/sys/amd64/amd64/cpu_switch.S#40 (text+ko) ====

@@ -30,7 +30,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.157 2007/06/05 00:16:43 jeff Exp $
+ * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.158 2007/06/06 07:35:07 davidxu Exp $
  */
 
 #include <machine/asmacros.h>
@@ -203,9 +203,7 @@
 	movq	%rbx, (%rax)
 	movq	%rbx, PCPU(RSP0)
 
-	movl	TD_TID(%rsi), %eax
 	movq	%r8, PCPU(CURPCB)
-	movl	%eax, PCPU(CURTID)
 	movq	%rsi, PCPU(CURTHREAD)		/* into next thread */
 
 	testl	$PCB_32BIT,PCB_FLAGS(%r8)

==== //depot/projects/hammer/sys/amd64/amd64/genassym.c#46 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.162 2007/06/05 00:13:49 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.163 2007/06/06 07:35:07 davidxu Exp $");
 
 #include "opt_compat.h"
 #include "opt_kstack_pages.h"
@@ -194,7 +194,6 @@
 ASSYM(PC_CURPMAP, offsetof(struct pcpu, pc_curpmap));
 ASSYM(PC_TSSP, offsetof(struct pcpu, pc_tssp));
 ASSYM(PC_RSP0, offsetof(struct pcpu, pc_rsp0));
-ASSYM(PC_CURTID, offsetof(struct pcpu, pc_curtid));
  
 ASSYM(LA_VER, offsetof(struct LAPIC, version));
 ASSYM(LA_TPR, offsetof(struct LAPIC, tpr));

==== //depot/projects/hammer/sys/amd64/amd64/machdep.c#160 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.674 2007/06/05 00:00:49 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.675 2007/06/06 07:35:07 davidxu Exp $");
 
 #include "opt_atalk.h"
 #include "opt_atpic.h"
@@ -1179,7 +1179,6 @@
 	PCPU_SET(prvspace, pc);
 	PCPU_SET(curthread, &thread0);
 	PCPU_SET(curpcb, thread0.td_pcb);
-	PCPU_SET(curtid, thread0.td_tid);
 	PCPU_SET(tssp, &common_tss[0]);
 
 	/*

==== //depot/projects/hammer/sys/dev/ath/ah_osdep.c#3 (text+ko) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2002-2006 Sam Leffler, Errno Consulting
+ * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -12,14 +12,7 @@
  *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
  *    redistribution must be conditioned upon including a substantially
  *    similar Disclaimer requirement for further binary redistribution.
- * 3. Neither the names of the above-listed copyright holders nor the names
- *    of any contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
  *
- * Alternatively, this software may be distributed under the terms of the
- * GNU General Public License ("GPL") version 2 as published by the Free
- * Software Foundation.
- *
  * NO WARRANTY
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
@@ -33,7 +26,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGES.
  *
- * $FreeBSD: src/sys/dev/ath/ah_osdep.c,v 1.2 2007/04/10 15:48:45 rwatson Exp $
+ * $FreeBSD: src/sys/dev/ath/ah_osdep.c,v 1.3 2007/06/06 15:49:15 sam Exp $
  */
 #include "opt_ah.h"
 

==== //depot/projects/hammer/sys/dev/ath/ah_osdep.h#2 (text+ko) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2002-2006 Sam Leffler, Errno Consulting
+ * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -12,14 +12,7 @@
  *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
  *    redistribution must be conditioned upon including a substantially
  *    similar Disclaimer requirement for further binary redistribution.
- * 3. Neither the names of the above-listed copyright holders nor the names
- *    of any contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
  *
- * Alternatively, this software may be distributed under the terms of the
- * GNU General Public License ("GPL") version 2 as published by the Free
- * Software Foundation.
- *
  * NO WARRANTY
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
@@ -33,7 +26,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGES.
  *
- * $FreeBSD: src/sys/dev/ath/ah_osdep.h,v 1.1 2006/09/18 16:49:14 sam Exp $
+ * $FreeBSD: src/sys/dev/ath/ah_osdep.h,v 1.2 2007/06/06 15:49:15 sam Exp $
  */
 #ifndef _ATH_AH_OSDEP_H_
 #define _ATH_AH_OSDEP_H_

==== //depot/projects/hammer/sys/dev/ath/ath_rate/onoe/onoe.c#12 (text+ko) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting
+ * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -12,14 +12,7 @@
  *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
  *    redistribution must be conditioned upon including a substantially
  *    similar Disclaimer requirement for further binary redistribution.
- * 3. Neither the names of the above-listed copyright holders nor the names
- *    of any contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
  *
- * Alternatively, this software may be distributed under the terms of the
- * GNU General Public License ("GPL") version 2 as published by the Free
- * Software Foundation.
- *
  * NO WARRANTY
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
@@ -35,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/onoe/onoe.c,v 1.12 2006/12/13 19:34:35 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/onoe/onoe.c,v 1.13 2007/06/06 15:49:16 sam Exp $");
 
 /*
  * Atsushi Onoe's rate control algorithm.

==== //depot/projects/hammer/sys/dev/ath/ath_rate/onoe/onoe.h#3 (text+ko) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting
+ * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -7,19 +7,12 @@
  * are met:
  * 1. Redistributions of source code must retain the above copyright
  *    notice, this list of conditions and the following disclaimer,
-    without modification.
+ *    without modification.
  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
  *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
  *    redistribution must be conditioned upon including a substantially
  *    similar Disclaimer requirement for further binary redistribution.
- * 3. Neither the names of the above-listed copyright holders nor the names
- *    of any contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
  *
- * Alternatively, this software may be distributed under the terms of the
- * GNU General Public License ("GPL") version 2 as published by the Free
- * Software Foundation.
- *
  * NO WARRANTY
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
@@ -33,7 +26,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGES.
  *
- * $FreeBSD: src/sys/dev/ath/ath_rate/onoe/onoe.h,v 1.2 2004/12/31 22:41:45 sam Exp $
+ * $FreeBSD: src/sys/dev/ath/ath_rate/onoe/onoe.h,v 1.3 2007/06/06 15:49:16 sam Exp $
  */
 
 /*

==== //depot/projects/hammer/sys/dev/ath/if_ath.c#51 (text+ko) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2002-2006 Sam Leffler, Errno Consulting
+ * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -12,14 +12,7 @@
  *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
  *    redistribution must be conditioned upon including a substantially
  *    similar Disclaimer requirement for further binary redistribution.
- * 3. Neither the names of the above-listed copyright holders nor the names
- *    of any contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
  *
- * Alternatively, this software may be distributed under the terms of the
- * GNU General Public License ("GPL") version 2 as published by the Free
- * Software Foundation.
- *
  * NO WARRANTY
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
@@ -35,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.169 2007/06/03 02:16:48 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.170 2007/06/06 15:49:15 sam Exp $");
 
 /*
  * Driver for the Atheros Wireless LAN controller.

==== //depot/projects/hammer/sys/dev/ath/if_ath_pci.c#17 (text+ko) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting
+ * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -12,14 +12,7 @@
  *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
  *    redistribution must be conditioned upon including a substantially
  *    similar Disclaimer requirement for further binary redistribution.
- * 3. Neither the names of the above-listed copyright holders nor the names
- *    of any contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
  *
- * Alternatively, this software may be distributed under the terms of the
- * GNU General Public License ("GPL") version 2 as published by the Free
- * Software Foundation.
- *
  * NO WARRANTY
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
@@ -35,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.18 2007/02/23 12:18:33 piso Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.19 2007/06/06 15:49:15 sam Exp $");
 
 /*
  * PCI/Cardbus front-end for the Atheros Wireless LAN controller driver.

==== //depot/projects/hammer/sys/dev/ath/if_athioctl.h#14 (text+ko) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting
+ * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -12,14 +12,7 @@
  *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
  *    redistribution must be conditioned upon including a substantially
  *    similar Disclaimer requirement for further binary redistribution.
- * 3. Neither the names of the above-listed copyright holders nor the names
- *    of any contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
  *
- * Alternatively, this software may be distributed under the terms of the
- * GNU General Public License ("GPL") version 2 as published by the Free
- * Software Foundation.
- *
  * NO WARRANTY
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
@@ -33,7 +26,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGES.
  *
- * $FreeBSD: src/sys/dev/ath/if_athioctl.h,v 1.17 2006/08/10 16:31:37 sam Exp $
+ * $FreeBSD: src/sys/dev/ath/if_athioctl.h,v 1.18 2007/06/06 15:49:15 sam Exp $
  */
 
 /*

==== //depot/projects/hammer/sys/dev/ath/if_athrate.h#5 (text+ko) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2004-2005 Sam Leffler, Errno Consulting
+ * Copyright (c) 2004-2007 Sam Leffler, Errno Consulting
  * Copyright (c) 2004 Video54 Technologies, Inc.
  * All rights reserved.
  *
@@ -8,19 +8,12 @@
  * are met:
  * 1. Redistributions of source code must retain the above copyright
  *    notice, this list of conditions and the following disclaimer,
-    without modification.
+ *    without modification.
  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
  *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
  *    redistribution must be conditioned upon including a substantially
  *    similar Disclaimer requirement for further binary redistribution.
- * 3. Neither the names of the above-listed copyright holders nor the names
- *    of any contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
  *
- * Alternatively, this software may be distributed under the terms of the
- * GNU General Public License ("GPL") version 2 as published by the Free
- * Software Foundation.
- *
  * NO WARRANTY
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
@@ -34,7 +27,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGES.
  *
- * $FreeBSD: src/sys/dev/ath/if_athrate.h,v 1.5 2006/12/13 19:34:34 sam Exp $
+ * $FreeBSD: src/sys/dev/ath/if_athrate.h,v 1.6 2007/06/06 15:49:15 sam Exp $
  */
 #ifndef _ATH_RATECTRL_H_
 #define _ATH_RATECTRL_H_

==== //depot/projects/hammer/sys/dev/ath/if_athvar.h#27 (text+ko) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2002-2006 Sam Leffler, Errno Consulting
+ * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -12,14 +12,7 @@
  *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
  *    redistribution must be conditioned upon including a substantially
  *    similar Disclaimer requirement for further binary redistribution.
- * 3. Neither the names of the above-listed copyright holders nor the names
- *    of any contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
  *
- * Alternatively, this software may be distributed under the terms of the
- * GNU General Public License ("GPL") version 2 as published by the Free
- * Software Foundation.
- *
  * NO WARRANTY
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
@@ -33,7 +26,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGES.
  *
- * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.60 2007/03/05 21:56:33 sam Exp $
+ * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.61 2007/06/06 15:49:15 sam Exp $
  */
 
 /*

==== //depot/projects/hammer/sys/dev/firewire/firewire.c#36 (text+ko) ====

@@ -31,7 +31,7 @@
  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  * 
- * $FreeBSD: src/sys/dev/firewire/firewire.c,v 1.94 2007/05/21 12:17:54 simokawa Exp $
+ * $FreeBSD: src/sys/dev/firewire/firewire.c,v 1.95 2007/06/06 14:31:36 simokawa Exp $
  *
  */
 
@@ -46,6 +46,8 @@
 #include <sys/sysctl.h>
 #include <sys/kthread.h>
 
+#include <sys/kdb.h>
+
 #if defined(__DragonFly__) || __FreeBSD_version < 500000
 #include <machine/clock.h>	/* for DELAY() */
 #endif
@@ -95,6 +97,7 @@
 static int firewire_attach      (device_t);
 static int firewire_detach      (device_t);
 static int firewire_resume      (device_t);
+static void firewire_xfer_timeout(void *, int);
 #if 0
 static int firewire_shutdown    (device_t);
 #endif
@@ -110,6 +113,7 @@
 static void fw_vmaccess (struct fw_xfer *);
 #endif
 static int fw_bmr (struct firewire_comm *);
+static void fw_dump_hdr(struct fw_pkt *, char *);
 
 static device_method_t firewire_methods[] = {
 	/* Device interface */
@@ -178,9 +182,11 @@
 	int s;
 
 	s = splfw();
+	FW_GLOCK(fc);
 	STAILQ_FOREACH(fwdev, &fc->devices, link)
 		if (FW_EUI64_EQUAL(fwdev->eui, *eui))
 			break;
+	FW_GUNLOCK(fc);
 	splx(s);
 
 	if(fwdev == NULL) return NULL;
@@ -196,7 +202,7 @@
 {
 	int err = 0;
 	struct fw_xferq *xferq;
-	int tl = -1, len;
+	int len;
 	struct fw_pkt *fp;
 	int tcode;
 	struct tcode_info *info;
@@ -242,16 +248,15 @@
 	if(!(xferq->queued < xferq->maxq)){
 		device_printf(fc->bdev, "Discard a packet (queued=%d)\n",
 			xferq->queued);
-		return EINVAL;
+		return EAGAIN;
 	}
 
+	xfer->tl = -1;
 	if (info->flag & FWTI_TLABEL) {
-		if ((tl = fw_get_tlabel(fc, xfer)) == -1)
+		if (fw_get_tlabel(fc, xfer) < 0)
 			return EAGAIN;
-		fp->mode.hdr.tlrt = tl << 2;
 	}
 
-	xfer->tl = tl;
 	xfer->resp = 0;
 	xfer->fc = fc;
 	xfer->q = xferq;
@@ -263,11 +268,32 @@
  * Wakeup blocked process.
  */
 void
-fw_asy_callback(struct fw_xfer *xfer){
+fw_xferwake(struct fw_xfer *xfer)
+{
+	struct mtx *lock = &xfer->fc->wait_lock;
+
+	mtx_lock(lock);
+	xfer->flag |= FWXF_WAKE;
+	mtx_unlock(lock);
+
 	wakeup(xfer);
 	return;
 }
 
+int
+fw_xferwait(struct fw_xfer *xfer)
+{
+	struct mtx *lock = &xfer->fc->wait_lock;
+	int err = 0;
+
+	mtx_lock(lock);
+	if ((xfer->flag & FWXF_WAKE) == 0)
+		err = msleep((void *)xfer, lock, PWAIT|PCATCH, "fw_xferwait", 0);
+	mtx_unlock(lock);
+
+	return (err);
+}
+
 /*
  * Async. request with given xfer structure.
  */
@@ -279,17 +305,22 @@
 #if 0 /* XXX allow bus explore packets only after bus rest */
 	if (fc->status < FWBUSEXPLORE) {
 		xfer->resp = EAGAIN;
-		xfer->state = FWXF_BUSY;
+		xfer->flag = FWXF_BUSY;
 		if (xfer->hand != NULL)
 			xfer->hand(xfer);
 		return;
 	}
 #endif
+	s = splfw();
+	/* Protect from interrupt/timeout */
+	FW_GLOCK(fc);
 	microtime(&xfer->tv);
-	s = splfw();
-	xfer->state = FWXF_INQ;
+	xfer->flag = FWXF_INQ;
 	STAILQ_INSERT_TAIL(&xfer->q->q, xfer, link);
+#if 0
 	xfer->q->queued ++;
+#endif
+	FW_GUNLOCK(fc);
 	splx(s);
 	/* XXX just queue for mbuf */
 	if (xfer->mbuf == NULL)
@@ -311,11 +342,13 @@
 }
 
 static void
-firewire_xfer_timeout(struct firewire_comm *fc)
+firewire_xfer_timeout(void *arg, int pending)
 {
-	struct fw_xfer *xfer;
+	struct firewire_comm *fc = (struct firewire_comm *)arg;
+	struct fw_xfer *xfer, *txfer;
 	struct timeval tv;
 	struct timeval split_timeout;
+	STAILQ_HEAD(, fw_xfer) xfer_timeout;
 	int i, s;
 
 	split_timeout.tv_sec = 0;
@@ -323,32 +356,41 @@
 
 	microtime(&tv);
 	timevalsub(&tv, &split_timeout);
+	STAILQ_INIT(&xfer_timeout);
 
 	s = splfw();
+	FW_GLOCK(fc);
 	for (i = 0; i < 0x40; i ++) {
 		while ((xfer = STAILQ_FIRST(&fc->tlabels[i])) != NULL) {
 			if (timevalcmp(&xfer->tv, &tv, >))
 				/* the rests are newer than this */
 				break;
-			if (xfer->state == FWXF_START)
+			if ((xfer->flag & FWXF_SENT) == 0)
 				/* not sent yet */
 				break;
 			device_printf(fc->bdev,
-				"split transaction timeout dst=0x%x tl=0x%x state=%d\n",
-				xfer->send.hdr.mode.hdr.dst, i, xfer->state);
+				"split transaction timeout: "
+				"tl=0x%x flag=0x%02x\n", i, xfer->flag);
+			fw_dump_hdr(&xfer->send.hdr, "send");
 			xfer->resp = ETIMEDOUT;
-			fw_xfer_done(xfer);
+			STAILQ_REMOVE_HEAD(&fc->tlabels[i], tlabel);
+			STAILQ_INSERT_TAIL(&xfer_timeout, xfer, tlabel);
 		}
 	}
+	FW_GUNLOCK(fc);
 	splx(s);
+	fc->timeout(fc);
+
+	STAILQ_FOREACH_SAFE(xfer, &xfer_timeout, tlabel, txfer)
+		xfer->hand(xfer);	
 }
 
-#define WATCHDOC_HZ 10
+#define WATCHDOG_HZ 10
 static void
 firewire_watchdog(void *arg)
 {
 	struct firewire_comm *fc;
-	static int watchdoc_clock = 0;
+	static int watchdog_clock = 0;
 
 	fc = (struct firewire_comm *)arg;
 
@@ -357,13 +399,12 @@
 	 * We encounter a timeout easily. To avoid this,
 	 * ignore clock interrupt for a while.
 	 */
-	if (watchdoc_clock > WATCHDOC_HZ * 15) {
-		firewire_xfer_timeout(fc);
-		fc->timeout(fc);
-	} else
-		watchdoc_clock ++;
+	if (watchdog_clock > WATCHDOG_HZ * 15)
+		taskqueue_enqueue(fc->taskqueue, &fc->task_timeout);
+	else
+		watchdog_clock ++;
 
-	callout_reset(&fc->timeout_callout, hz / WATCHDOC_HZ,
+	callout_reset(&fc->timeout_callout, hz / WATCHDOG_HZ,
 			(void *)firewire_watchdog, (void *)fc);
 }
 
@@ -377,7 +418,6 @@
 	struct firewire_softc *sc = device_get_softc(dev);
 	device_t pa = device_get_parent(dev);
 	struct firewire_comm *fc;
-	struct proc *p;
 
 	fc = (struct firewire_comm *)device_get_softc(pa);
 	sc->fc = fc;
@@ -388,15 +428,17 @@
 
 	fwdev_makedev(sc);
 
-	CALLOUT_INIT(&sc->fc->timeout_callout);
-	CALLOUT_INIT(&sc->fc->bmr_callout);
-	CALLOUT_INIT(&sc->fc->busprobe_callout);
+	mtx_init(&fc->wait_lock, "fwwait", NULL, MTX_DEF);
+	CALLOUT_INIT(&fc->timeout_callout);
+	CALLOUT_INIT(&fc->bmr_callout);
+	CALLOUT_INIT(&fc->busprobe_callout);
+	TASK_INIT(&fc->task_timeout, 0, firewire_xfer_timeout, (void *)fc);
 
 	callout_reset(&sc->fc->timeout_callout, hz,
 			(void *)firewire_watchdog, (void *)sc->fc);
 
 	/* create thread */
-	kthread_create(fw_bus_probe_thread, (void *)fc, &p,
+	kthread_create(fw_bus_probe_thread, (void *)fc, &fc->probe_thread,
 		0, 0, "fw%d_probe", unit);
 
 	/* Locate our children */
@@ -457,7 +499,12 @@
 
 	sc = (struct firewire_softc *)device_get_softc(dev);
 	fc = sc->fc;
+	mtx_lock(&fc->wait_lock);
 	fc->status = FWBUSDETACH;
+	wakeup(fc);
+	if (msleep(fc->probe_thread, &fc->wait_lock, PWAIT, "fwthr", hz * 60))
+		printf("firewire probe thread didn't die\n");
+	mtx_unlock(&fc->wait_lock);
 
 	if ((err = fwdev_destroydev(sc)) != 0)
 		return err;
@@ -479,10 +526,7 @@
 	free(fc->speed_map, M_FW);
 	free(fc->crom_src_buf, M_FW);
 
-	wakeup(fc);
-	if (tsleep(fc, PWAIT, "fwthr", hz * 60))

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200706062247.l56MlTqo039641>