Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Jun 2007 18:50:01 GMT
From:      Warner Losh <imp@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 121093 for review
Message-ID:  <200706061850.l56Io1NS091905@repoman.freebsd.org>

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

Change 121093 by imp@imp_paco-paco on 2007/06/06 18:49:48

	IFC @121090

Affected files ...

.. //depot/projects/arm/src/contrib/nvi/cl/cl_screen.c#2 integrate
.. //depot/projects/arm/src/games/fortune/datfiles/fortunes#13 integrate
.. //depot/projects/arm/src/share/man/man4/wlan.4#2 integrate
.. //depot/projects/arm/src/sys/amd64/amd64/cpu_switch.S#6 integrate
.. //depot/projects/arm/src/sys/amd64/amd64/genassym.c#8 integrate
.. //depot/projects/arm/src/sys/amd64/amd64/machdep.c#24 integrate
.. //depot/projects/arm/src/sys/dev/ath/ah_osdep.c#3 integrate
.. //depot/projects/arm/src/sys/dev/ath/ah_osdep.h#2 integrate
.. //depot/projects/arm/src/sys/dev/ath/ath_rate/onoe/onoe.c#5 integrate
.. //depot/projects/arm/src/sys/dev/ath/ath_rate/onoe/onoe.h#2 integrate
.. //depot/projects/arm/src/sys/dev/ath/if_ath.c#29 integrate
.. //depot/projects/arm/src/sys/dev/ath/if_ath_pci.c#8 integrate
.. //depot/projects/arm/src/sys/dev/ath/if_athioctl.h#8 integrate
.. //depot/projects/arm/src/sys/dev/ath/if_athrate.h#4 integrate
.. //depot/projects/arm/src/sys/dev/ath/if_athvar.h#17 integrate
.. //depot/projects/arm/src/sys/dev/firewire/firewire.c#7 integrate
.. //depot/projects/arm/src/sys/dev/firewire/firewirereg.h#6 integrate
.. //depot/projects/arm/src/sys/dev/firewire/fwdev.c#7 integrate
.. //depot/projects/arm/src/sys/dev/firewire/fwdma.c#3 integrate
.. //depot/projects/arm/src/sys/dev/firewire/fwmem.c#3 integrate
.. //depot/projects/arm/src/sys/dev/firewire/fwohci.c#6 integrate
.. //depot/projects/arm/src/sys/dev/firewire/fwohci_pci.c#9 integrate
.. //depot/projects/arm/src/sys/dev/firewire/fwohcivar.h#3 integrate
.. //depot/projects/arm/src/sys/dev/firewire/if_fwe.c#4 integrate
.. //depot/projects/arm/src/sys/dev/firewire/if_fwevar.h#3 integrate
.. //depot/projects/arm/src/sys/dev/firewire/if_fwip.c#6 integrate
.. //depot/projects/arm/src/sys/dev/firewire/if_fwipvar.h#3 integrate
.. //depot/projects/arm/src/sys/dev/firewire/sbp.c#8 integrate
.. //depot/projects/arm/src/sys/dev/firewire/sbp_targ.c#6 integrate
.. //depot/projects/arm/src/sys/dev/mii/ciphy.c#6 integrate
.. //depot/projects/arm/src/sys/dev/mii/ciphyreg.h#2 integrate
.. //depot/projects/arm/src/sys/dev/mii/miidevs#16 integrate
.. //depot/projects/arm/src/sys/dev/mii/rlphy.c#8 integrate
.. //depot/projects/arm/src/sys/geom/part/g_part.c#5 integrate
.. //depot/projects/arm/src/sys/geom/part/g_part_apm.c#3 integrate
.. //depot/projects/arm/src/sys/geom/part/g_part_gpt.c#3 integrate
.. //depot/projects/arm/src/sys/i386/i386/genassym.c#8 integrate
.. //depot/projects/arm/src/sys/i386/i386/machdep.c#29 integrate
.. //depot/projects/arm/src/sys/i386/i386/swtch.s#7 integrate
.. //depot/projects/arm/src/sys/ia64/ia64/mp_machdep.c#8 integrate
.. //depot/projects/arm/src/sys/kern/kern_mutex.c#18 integrate
.. //depot/projects/arm/src/sys/kern/kern_umtx.c#18 integrate
.. //depot/projects/arm/src/sys/kern/sched_4bsd.c#18 integrate
.. //depot/projects/arm/src/sys/kern/sched_ule.c#19 integrate
.. //depot/projects/arm/src/sys/net80211/_ieee80211.h#7 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211.c#14 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211.h#5 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_acl.c#3 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_crypto.c#4 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_crypto.h#4 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_crypto_ccmp.c#4 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_crypto_none.c#3 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_crypto_tkip.c#4 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_crypto_wep.c#4 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_freebsd.c#8 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_freebsd.h#6 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_input.c#17 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_ioctl.c#16 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_ioctl.h#8 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_node.c#16 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_node.h#6 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_output.c#14 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_proto.c#13 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_proto.h#9 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_var.h#15 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_xauth.c#2 integrate
.. //depot/projects/arm/src/sys/netinet/ip_carp.c#12 integrate
.. //depot/projects/arm/src/sys/pc98/pc98/machdep.c#18 integrate
.. //depot/projects/arm/src/sys/powerpc/powerpc/vm_machdep.c#7 integrate
.. //depot/projects/arm/src/sys/sys/mutex.h#15 integrate
.. //depot/projects/arm/src/sys/sys/pcpu.h#8 integrate
.. //depot/projects/arm/src/sys/sys/proc.h#26 integrate
.. //depot/projects/arm/src/sys/sys/umtx.h#11 integrate
.. //depot/projects/arm/src/usr.bin/gzip/gzip.1#4 integrate

Differences ...

==== //depot/projects/arm/src/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/arm/src/games/fortune/datfiles/fortunes#13 (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/arm/src/share/man/man4/wlan.4#2 (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/arm/src/sys/amd64/amd64/cpu_switch.S#6 (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/arm/src/sys/amd64/amd64/genassym.c#8 (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/arm/src/sys/amd64/amd64/machdep.c#24 (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/arm/src/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/arm/src/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/arm/src/sys/dev/ath/ath_rate/onoe/onoe.c#5 (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/arm/src/sys/dev/ath/ath_rate/onoe/onoe.h#2 (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/arm/src/sys/dev/ath/if_ath.c#29 (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/arm/src/sys/dev/ath/if_ath_pci.c#8 (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/arm/src/sys/dev/ath/if_athioctl.h#8 (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/arm/src/sys/dev/ath/if_athrate.h#4 (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/arm/src/sys/dev/ath/if_athvar.h#17 (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/arm/src/sys/dev/firewire/firewire.c#7 (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))
-		printf("firewire task thread didn't die\n");
-
+	mtx_destroy(&fc->wait_lock);
 	return(0);
 }
 #if 0
@@ -501,9 +545,11 @@
 
 	while ((xfer = STAILQ_FIRST(&xferq->q)) != NULL) {
 		STAILQ_REMOVE_HEAD(&xferq->q, link);
+#if 0
 		xferq->queued --;
+#endif
 		xfer->resp = EAGAIN;
-		xfer->state = FWXF_SENTERR;
+		xfer->flag = FWXF_SENTERR;
 		fw_xfer_done(xfer);
 	}
 }
@@ -511,12 +557,30 @@
 void
 fw_drain_txq(struct firewire_comm *fc)
 {
+	struct fw_xfer *xfer, *txfer;
+	STAILQ_HEAD(, fw_xfer) xfer_drain;
 	int i;
 
+	STAILQ_INIT(&xfer_drain);
+
+	FW_GLOCK(fc);
 	fw_xferq_drain(fc->atq);
 	fw_xferq_drain(fc->ats);
 	for(i = 0; i < fc->nisodma; i++)
 		fw_xferq_drain(fc->it[i]);
+
+	for (i = 0; i < 0x40; i ++)
+		while ((xfer = STAILQ_FIRST(&fc->tlabels[i])) != NULL) {
+			if (firewire_debug)
+				printf("tl=%d flag=%d\n", i, xfer->flag);
+			xfer->resp = EAGAIN;
+			STAILQ_REMOVE_HEAD(&fc->tlabels[i], tlabel);
+			STAILQ_INSERT_TAIL(&xfer_drain, xfer, tlabel);
+		}
+	FW_GUNLOCK(fc);
+
+	STAILQ_FOREACH_SAFE(xfer, &xfer_drain, tlabel, txfer)
+		xfer->hand(xfer);	
 }
 
 static void
@@ -802,13 +866,17 @@
 fw_bindlookup(struct firewire_comm *fc, uint16_t dest_hi, uint32_t dest_lo)
 {
 	u_int64_t addr;
-	struct fw_bind *tfw;
+	struct fw_bind *tfw, *r = NULL;
 
 	addr = ((u_int64_t)dest_hi << 32) | dest_lo;
+	FW_GLOCK(fc);
 	STAILQ_FOREACH(tfw, &fc->binds, fclist)
-		if (BIND_CMP(addr, tfw) == 0)
-			return(tfw);
-	return(NULL);
+		if (BIND_CMP(addr, tfw) == 0) {
+			r = tfw;
+			break;
+		}
+	FW_GUNLOCK(fc);
+	return(r);
 }
 
 /*
@@ -818,28 +886,29 @@
 fw_bindadd(struct firewire_comm *fc, struct fw_bind *fwb)
 {
 	struct fw_bind *tfw, *prev = NULL;
+	int r = 0;
 
 	if (fwb->start > fwb->end) {
 		printf("%s: invalid range\n", __func__);
 		return EINVAL;
 	}
 
+	FW_GLOCK(fc);
 	STAILQ_FOREACH(tfw, &fc->binds, fclist) {
 		if (fwb->end < tfw->start)
 			break;
 		prev = tfw;
 	}
-	if (prev == NULL) {
+	if (prev == NULL)
 		STAILQ_INSERT_HEAD(&fc->binds, fwb, fclist);
-		return (0);
-	}
-	if (prev->end < fwb->start) {
+	else if (prev->end < fwb->start)
 		STAILQ_INSERT_AFTER(&fc->binds, prev, fwb, fclist);
-		return (0);
+	else {
+		printf("%s: bind failed\n", __func__);
+		r = EBUSY;
 	}
-
-	printf("%s: bind failed\n", __func__);
-	return (EBUSY);
+	FW_GUNLOCK(fc);
+	return (r);
 }
 
 /*
@@ -855,6 +924,7 @@
 	int s;
 
 	s = splfw();
+	FW_GLOCK(fc);
 	STAILQ_FOREACH(tfw, &fc->binds, fclist)
 		if (tfw == fwb) {
 			STAILQ_REMOVE(&fc->binds, fwb, fw_bind, fclist);
@@ -862,6 +932,7 @@
 		}
 
 	printf("%s: no such binding\n", __func__);
+	FW_GUNLOCK(fc);
 	splx(s);
 	return (1);
 found:
@@ -873,6 +944,7 @@
 	}
 	STAILQ_INIT(&fwb->xferlist);
 #endif
+	FW_GUNLOCK(fc);
 
 	splx(s);
 	return 0;
@@ -911,6 +983,19 @@
         }
         STAILQ_INIT(q);
 }
+/*
+ * dump packet header
+ */
+static void
+fw_dump_hdr(struct fw_pkt *fp, char *prefix)
+{
+	printf("%s: dst=0x%02x tl=0x%02x rt=%d tcode=0x%x pri=0x%x "
+	    "src=0x%03x\n", prefix,
+	    fp->mode.hdr.dst & 0x3f,
+	    fp->mode.hdr.tlrt >> 2, fp->mode.hdr.tlrt & 3,
+	    fp->mode.hdr.tcode, fp->mode.hdr.pri,
+	    fp->mode.hdr.src);
+}
 
 /*
  * To free transaction label.
@@ -925,19 +1010,26 @@
 		return;
 
 	s = splfw();
+	FW_GLOCK(fc);
 #if 1	/* make sure the label is allocated */
 	STAILQ_FOREACH(txfer, &fc->tlabels[xfer->tl], tlabel)
 		if(txfer == xfer)
 			break;
 	if (txfer == NULL) {
-		printf("%s: the xfer is not in the tlabel(%d)\n",
-		    __FUNCTION__, xfer->tl);
+		printf("%s: the xfer is not in the queue "
+		    "(tlabel=%d, flag=0x%x)\n",
+		    __FUNCTION__, xfer->tl, xfer->flag);
+		fw_dump_hdr(&xfer->send.hdr, "send");
+		fw_dump_hdr(&xfer->recv.hdr, "recv");
+		kdb_backtrace();
+		FW_GUNLOCK(fc);
 		splx(s);
 		return;
 	}
 #endif
 
 	STAILQ_REMOVE(&fc->tlabels[xfer->tl], xfer, fw_xfer, tlabel);
+	FW_GUNLOCK(fc);
 	splx(s);
 	return;
 }
@@ -946,18 +1038,33 @@
  * To obtain XFER structure by transaction label.
  */
 static struct fw_xfer *
-fw_tl2xfer(struct firewire_comm *fc, int node, int tlabel)
+fw_tl2xfer(struct firewire_comm *fc, int node, int tlabel, int tcode)
 {
 	struct fw_xfer *xfer;
 	int s = splfw();
+	int req;
 
+	FW_GLOCK(fc);
 	STAILQ_FOREACH(xfer, &fc->tlabels[tlabel], tlabel)
 		if(xfer->send.hdr.mode.hdr.dst == node) {
+			FW_GUNLOCK(fc);
 			splx(s);
+			KASSERT(xfer->tl == tlabel,
+				("xfer->tl 0x%x != 0x%x", xfer->tl, tlabel));

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



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