PERFORCE change 120592 for review

Sam Leffler sam at FreeBSD.org
Wed May 30 03:26:27 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=120592

Change 120592 by sam at sam_ebb on 2007/05/30 03:26:05

	IFC @ 120591

Affected files ...

.. //depot/projects/wifi/sys/amd64/amd64/busdma_machdep.c#13 integrate
.. //depot/projects/wifi/sys/amd64/amd64/trap.c#14 integrate
.. //depot/projects/wifi/sys/amd64/conf/GENERIC#20 integrate
.. //depot/projects/wifi/sys/arm/arm/busdma_machdep.c#18 integrate
.. //depot/projects/wifi/sys/arm/conf/AVILA.hints#2 integrate
.. //depot/projects/wifi/sys/arm/include/vmparam.h#6 integrate
.. //depot/projects/wifi/sys/arm/xscale/ixp425/avila_ata.c#5 integrate
.. //depot/projects/wifi/sys/arm/xscale/ixp425/ixp425.c#6 integrate
.. //depot/projects/wifi/sys/arm/xscale/ixp425/ixp425var.h#4 integrate
.. //depot/projects/wifi/sys/arm/xscale/ixp425/uart_bus_ixp425.c#3 integrate
.. //depot/projects/wifi/sys/arm/xscale/ixp425/uart_cpu_ixp425.c#3 integrate
.. //depot/projects/wifi/sys/boot/i386/Makefile#2 integrate
.. //depot/projects/wifi/sys/boot/i386/libfirewire/Makefile#1 branch
.. //depot/projects/wifi/sys/boot/i386/libfirewire/dconsole.c#1 branch
.. //depot/projects/wifi/sys/boot/i386/libfirewire/firewire.c#1 branch
.. //depot/projects/wifi/sys/boot/i386/libfirewire/fwohci.c#1 branch
.. //depot/projects/wifi/sys/boot/i386/libfirewire/fwohci.h#1 branch
.. //depot/projects/wifi/sys/boot/i386/libfirewire/fwohcireg.h#1 branch
.. //depot/projects/wifi/sys/boot/i386/loader/Makefile#8 integrate
.. //depot/projects/wifi/sys/boot/i386/loader/conf.c#2 integrate
.. //depot/projects/wifi/sys/boot/i386/loader/main.c#6 integrate
.. //depot/projects/wifi/sys/boot/ia64/common/exec.c#2 integrate
.. //depot/projects/wifi/sys/cam/README.quirks#1 branch
.. //depot/projects/wifi/sys/cam/scsi/scsi_da.c#15 integrate
.. //depot/projects/wifi/sys/compat/opensolaris/sys/mutex.h#2 integrate
.. //depot/projects/wifi/sys/compat/opensolaris/sys/rwlock.h#2 integrate
.. //depot/projects/wifi/sys/conf/files#50 integrate
.. //depot/projects/wifi/sys/conf/kern.mk#8 integrate
.. //depot/projects/wifi/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c#3 integrate
.. //depot/projects/wifi/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 integrate
.. //depot/projects/wifi/sys/dev/acpica/acpi.c#26 integrate
.. //depot/projects/wifi/sys/dev/ath/if_ath.c#142 integrate
.. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_ael1002.c#2 integrate
.. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_common.h#2 integrate
.. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_ctl_defs.h#1 branch
.. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_firmware_exports.h#2 integrate
.. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_mc5.c#2 integrate
.. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#2 integrate
.. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_regs.h#2 integrate
.. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_sge_defs.h#2 integrate
.. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_t3_cpl.h#2 integrate
.. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_t3_hw.c#2 integrate
.. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_tcb.h#2 integrate
.. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_version.h#2 integrate
.. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_vsc8211.c#2 integrate
.. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_xgmac.c#2 integrate
.. //depot/projects/wifi/sys/dev/cxgb/common/jhash.h#1 branch
.. //depot/projects/wifi/sys/dev/cxgb/cxgb_adapter.h#3 integrate
.. //depot/projects/wifi/sys/dev/cxgb/cxgb_config.h#2 integrate
.. //depot/projects/wifi/sys/dev/cxgb/cxgb_include.h#1 branch
.. //depot/projects/wifi/sys/dev/cxgb/cxgb_ioctl.h#2 integrate
.. //depot/projects/wifi/sys/dev/cxgb/cxgb_l2t.c#1 branch
.. //depot/projects/wifi/sys/dev/cxgb/cxgb_l2t.h#1 branch
.. //depot/projects/wifi/sys/dev/cxgb/cxgb_lro.c#3 integrate
.. //depot/projects/wifi/sys/dev/cxgb/cxgb_main.c#4 integrate
.. //depot/projects/wifi/sys/dev/cxgb/cxgb_offload.c#1 branch
.. //depot/projects/wifi/sys/dev/cxgb/cxgb_offload.h#1 branch
.. //depot/projects/wifi/sys/dev/cxgb/cxgb_osdep.h#3 integrate
.. //depot/projects/wifi/sys/dev/cxgb/cxgb_sge.c#5 integrate
.. //depot/projects/wifi/sys/dev/cxgb/sys/mbufq.h#1 branch
.. //depot/projects/wifi/sys/dev/cxgb/sys/mvec.h#3 integrate
.. //depot/projects/wifi/sys/dev/cxgb/sys/uipc_mvec.c#3 integrate
.. //depot/projects/wifi/sys/dev/cxgb/t3fw-3.2.bin.gz.uu#2 delete
.. //depot/projects/wifi/sys/dev/cxgb/t3fw-4.0.0.bin.gz.uu#1 branch
.. //depot/projects/wifi/sys/dev/cxgb/ulp/toecore/toedev.h#1 branch
.. //depot/projects/wifi/sys/dev/dcons/dcons.c#3 integrate
.. //depot/projects/wifi/sys/dev/dcons/dcons_crom.c#3 integrate
.. //depot/projects/wifi/sys/dev/dcons/dcons_os.c#9 integrate
.. //depot/projects/wifi/sys/dev/en/midway.c#9 integrate
.. //depot/projects/wifi/sys/dev/lmc/if_lmc.c#6 integrate
.. //depot/projects/wifi/sys/dev/mmc/bridge.h#2 integrate
.. //depot/projects/wifi/sys/dev/mmc/mmc.c#3 integrate
.. //depot/projects/wifi/sys/dev/mmc/mmcbr_if.m#2 integrate
.. //depot/projects/wifi/sys/dev/mmc/mmcbrvar.h#2 integrate
.. //depot/projects/wifi/sys/dev/mmc/mmcbus_if.m#2 integrate
.. //depot/projects/wifi/sys/dev/mmc/mmcreg.h#2 integrate
.. //depot/projects/wifi/sys/dev/mmc/mmcsd.c#3 integrate
.. //depot/projects/wifi/sys/dev/mmc/mmcvar.h#3 integrate
.. //depot/projects/wifi/sys/dev/mxge/if_mxge.c#10 integrate
.. //depot/projects/wifi/sys/dev/random/randomdev_soft.c#9 integrate
.. //depot/projects/wifi/sys/dev/random/yarrow.c#4 integrate
.. //depot/projects/wifi/sys/dev/sk/if_sk.c#7 integrate
.. //depot/projects/wifi/sys/dev/sound/isa/ess.c#8 integrate
.. //depot/projects/wifi/sys/dev/sound/pci/emu10k1.c#10 integrate
.. //depot/projects/wifi/sys/dev/sound/pci/envy24.c#7 integrate
.. //depot/projects/wifi/sys/dev/sound/pci/envy24.h#2 integrate
.. //depot/projects/wifi/sys/dev/sound/pci/envy24ht.c#6 integrate
.. //depot/projects/wifi/sys/dev/sound/pci/envy24ht.h#2 integrate
.. //depot/projects/wifi/sys/dev/sound/pci/solo.c#9 integrate
.. //depot/projects/wifi/sys/dev/sound/pci/spicds.c#3 integrate
.. //depot/projects/wifi/sys/dev/sound/pci/spicds.h#2 integrate
.. //depot/projects/wifi/sys/dev/sound/pcm/ac97.c#12 integrate
.. //depot/projects/wifi/sys/dev/syscons/scmouse.c#6 integrate
.. //depot/projects/wifi/sys/dev/usb/if_ural.c#26 integrate
.. //depot/projects/wifi/sys/dev/usb/usbdevs#26 integrate
.. //depot/projects/wifi/sys/fs/nullfs/null_vfsops.c#14 integrate
.. //depot/projects/wifi/sys/fs/nullfs/null_vnops.c#18 integrate
.. //depot/projects/wifi/sys/fs/smbfs/smbfs_node.c#12 integrate
.. //depot/projects/wifi/sys/gnu/fs/xfs/FreeBSD/support/spin.h#3 integrate
.. //depot/projects/wifi/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c#3 integrate
.. //depot/projects/wifi/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c#5 integrate
.. //depot/projects/wifi/sys/gnu/fs/xfs/xfs_bit.c#3 integrate
.. //depot/projects/wifi/sys/gnu/fs/xfs/xfs_bmap.c#3 integrate
.. //depot/projects/wifi/sys/gnu/fs/xfs/xfs_bmap_btree.c#3 integrate
.. //depot/projects/wifi/sys/gnu/fs/xfs/xfs_dir.c#3 integrate
.. //depot/projects/wifi/sys/gnu/fs/xfs/xfs_ialloc.c#3 integrate
.. //depot/projects/wifi/sys/gnu/fs/xfs/xfs_inode.c#3 integrate
.. //depot/projects/wifi/sys/gnu/fs/xfs/xfs_log.c#3 integrate
.. //depot/projects/wifi/sys/gnu/fs/xfs/xfs_log_recover.c#3 integrate
.. //depot/projects/wifi/sys/gnu/fs/xfs/xfs_rtalloc.h#3 integrate
.. //depot/projects/wifi/sys/gnu/fs/xfs/xfs_vnodeops.c#3 integrate
.. //depot/projects/wifi/sys/i386/conf/GENERIC#18 integrate
.. //depot/projects/wifi/sys/i386/i386/busdma_machdep.c#13 integrate
.. //depot/projects/wifi/sys/i386/i386/identcpu.c#15 integrate
.. //depot/projects/wifi/sys/i386/i386/machdep.c#23 integrate
.. //depot/projects/wifi/sys/i386/i386/sys_machdep.c#15 integrate
.. //depot/projects/wifi/sys/i386/i386/trap.c#14 integrate
.. //depot/projects/wifi/sys/i386/i386/vm_machdep.c#23 integrate
.. //depot/projects/wifi/sys/i386/include/vmparam.h#5 integrate
.. //depot/projects/wifi/sys/ia64/ia64/busdma_machdep.c#9 integrate
.. //depot/projects/wifi/sys/ia64/ia64/exception.S#4 integrate
.. //depot/projects/wifi/sys/ia64/ia64/locore.S#3 integrate
.. //depot/projects/wifi/sys/ia64/ia64/pmap.c#16 integrate
.. //depot/projects/wifi/sys/ia64/include/ia64_cpu.h#3 integrate
.. //depot/projects/wifi/sys/ia64/include/vmparam.h#7 integrate
.. //depot/projects/wifi/sys/kern/kern_clock.c#12 integrate
.. //depot/projects/wifi/sys/kern/kern_event.c#15 integrate
.. //depot/projects/wifi/sys/kern/kern_malloc.c#14 integrate
.. //depot/projects/wifi/sys/kern/kern_mib.c#9 integrate
.. //depot/projects/wifi/sys/kern/kern_mtxpool.c#4 integrate
.. //depot/projects/wifi/sys/kern/kern_resource.c#12 integrate
.. //depot/projects/wifi/sys/kern/kern_sx.c#10 integrate
.. //depot/projects/wifi/sys/kern/subr_mbpool.c#3 integrate
.. //depot/projects/wifi/sys/kern/subr_witness.c#28 integrate
.. //depot/projects/wifi/sys/kern/sys_pipe.c#12 integrate
.. //depot/projects/wifi/sys/kern/uipc_usrreq.c#20 integrate
.. //depot/projects/wifi/sys/kern/vfs_cache.c#13 integrate
.. //depot/projects/wifi/sys/kern/vfs_lookup.c#21 integrate
.. //depot/projects/wifi/sys/kern/vfs_subr.c#40 integrate
.. //depot/projects/wifi/sys/modules/cxgb/Makefile#3 integrate
.. //depot/projects/wifi/sys/net/ethernet.h#6 integrate
.. //depot/projects/wifi/sys/net/if_ethersubr.c#21 integrate
.. //depot/projects/wifi/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#8 integrate
.. //depot/projects/wifi/sys/netgraph/ng_base.c#23 integrate
.. //depot/projects/wifi/sys/netinet/sctp.h#6 integrate
.. //depot/projects/wifi/sys/netinet/sctp_asconf.c#7 integrate
.. //depot/projects/wifi/sys/netinet/sctp_auth.c#8 integrate
.. //depot/projects/wifi/sys/netinet/sctp_bsd_addr.c#6 integrate
.. //depot/projects/wifi/sys/netinet/sctp_bsd_addr.h#5 integrate
.. //depot/projects/wifi/sys/netinet/sctp_constants.h#9 integrate
.. //depot/projects/wifi/sys/netinet/sctp_indata.c#9 integrate
.. //depot/projects/wifi/sys/netinet/sctp_input.c#9 integrate
.. //depot/projects/wifi/sys/netinet/sctp_lock_bsd.h#5 integrate
.. //depot/projects/wifi/sys/netinet/sctp_os_bsd.h#7 integrate
.. //depot/projects/wifi/sys/netinet/sctp_output.c#9 integrate
.. //depot/projects/wifi/sys/netinet/sctp_pcb.c#9 integrate
.. //depot/projects/wifi/sys/netinet/sctp_pcb.h#6 integrate
.. //depot/projects/wifi/sys/netinet/sctp_peeloff.c#8 integrate
.. //depot/projects/wifi/sys/netinet/sctp_structs.h#8 integrate
.. //depot/projects/wifi/sys/netinet/sctp_sysctl.c#4 integrate
.. //depot/projects/wifi/sys/netinet/sctp_timer.c#8 integrate
.. //depot/projects/wifi/sys/netinet/sctp_uio.h#9 integrate
.. //depot/projects/wifi/sys/netinet/sctp_usrreq.c#9 integrate
.. //depot/projects/wifi/sys/netinet/sctputil.c#9 integrate
.. //depot/projects/wifi/sys/netinet/sctputil.h#8 integrate
.. //depot/projects/wifi/sys/netinet/tcp.h#14 integrate
.. //depot/projects/wifi/sys/netinet/tcp_hostcache.c#7 integrate
.. //depot/projects/wifi/sys/netinet/tcp_input.c#26 integrate
.. //depot/projects/wifi/sys/netinet/tcp_subr.c#31 integrate
.. //depot/projects/wifi/sys/netinet/tcp_syncache.c#18 integrate
.. //depot/projects/wifi/sys/netinet/tcp_timer.c#16 integrate
.. //depot/projects/wifi/sys/netinet/tcp_var.h#21 integrate
.. //depot/projects/wifi/sys/netinet6/in6.c#12 integrate
.. //depot/projects/wifi/sys/netinet6/sctp6_usrreq.c#9 integrate
.. //depot/projects/wifi/sys/netipsec/ipsec.c#8 integrate
.. //depot/projects/wifi/sys/netipsec/ipsec_output.c#4 integrate
.. //depot/projects/wifi/sys/netipsec/key.c#4 integrate
.. //depot/projects/wifi/sys/netncp/ncp_conn.c#6 integrate
.. //depot/projects/wifi/sys/pci/ncr.c#8 integrate
.. //depot/projects/wifi/sys/powerpc/include/vmparam.h#4 integrate
.. //depot/projects/wifi/sys/powerpc/powerpc/clock.c#7 integrate
.. //depot/projects/wifi/sys/powerpc/powerpc/machdep.c#17 integrate
.. //depot/projects/wifi/sys/sparc64/conf/GENERIC#17 integrate
.. //depot/projects/wifi/sys/sparc64/sparc64/bus_machdep.c#6 integrate
.. //depot/projects/wifi/sys/sun4v/sun4v/bus_machdep.c#4 integrate
.. //depot/projects/wifi/sys/sun4v/sun4v/machdep.c#4 integrate
.. //depot/projects/wifi/sys/sun4v/sun4v/trap.c#2 integrate
.. //depot/projects/wifi/sys/sys/sx.h#9 integrate
.. //depot/projects/wifi/sys/sys/syslimits.h#5 integrate
.. //depot/projects/wifi/sys/sys/vnode.h#33 integrate
.. //depot/projects/wifi/sys/ufs/ufs/ufs_gjournal.c#2 integrate

Differences ...

==== //depot/projects/wifi/sys/amd64/amd64/busdma_machdep.c#13 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.80 2007/04/17 21:05:34 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.81 2007/05/29 06:30:25 yongari Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -649,6 +649,8 @@
 		 * Compute the segment size, and adjust counts.
 		 */
 		sgsize = PAGE_SIZE - ((u_long)curaddr & PAGE_MASK);
+		if (sgsize > dmat->maxsegsz)
+			sgsize = dmat->maxsegsz;
 		if (buflen < sgsize)
 			sgsize = buflen;
 

==== //depot/projects/wifi/sys/amd64/amd64/trap.c#14 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.315 2007/03/26 21:45:44 kris Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.316 2007/05/27 19:16:45 rwatson Exp $");
 
 /*
  * AMD64 Trap and System call handling
@@ -468,7 +468,6 @@
 			 * Otherwise, debugger traps "can't happen".
 			 */
 #ifdef KDB
-			/* XXX Giant */
 			if (kdb_trap(type, 0, frame))
 				goto out;
 #endif

==== //depot/projects/wifi/sys/amd64/conf/GENERIC#20 (text+ko) ====

@@ -16,7 +16,7 @@
 # If you are in doubt as to the purpose or necessity of a line, check first
 # in NOTES.
 #
-# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.477 2007/05/10 01:39:50 kevlo Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.478 2007/05/28 14:38:42 simokawa Exp $
 
 cpu		HAMMER
 ident		GENERIC
@@ -285,3 +285,6 @@
 device		firewire	# FireWire bus code
 device		sbp		# SCSI over FireWire (Requires scbus and da)
 device		fwe		# Ethernet over FireWire (non-standard!)
+device		fwip		# IP over FireWire (RFC 2734,3146)
+device		dcons		# Dumb console driver
+device		dcons_crom	# Configuration ROM for dcons

==== //depot/projects/wifi/sys/arm/arm/busdma_machdep.c#18 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.30 2007/05/19 13:17:31 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.31 2007/05/29 06:30:25 yongari Exp $");
 
 /*
  * ARM bus dma support routines
@@ -799,6 +799,8 @@
 		 * Compute the segment size, and adjust counts.
 		 */
 		sgsize = PAGE_SIZE - ((u_long)curaddr & PAGE_MASK);
+		if (sgsize > dmat->maxsegsz)
+			sgsize = dmat->maxsegsz;
 		if (buflen < sgsize)
 			sgsize = buflen;
 

==== //depot/projects/wifi/sys/arm/conf/AVILA.hints#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/arm/conf/AVILA.hints,v 1.1 2007/05/24 16:27:48 sam Exp $
+# $FreeBSD: src/sys/arm/conf/AVILA.hints,v 1.2 2007/05/29 18:10:42 jhay Exp $
 
 #
 # Device wiring for the Gateworks Avila 2384.
@@ -8,7 +8,7 @@
 hint.uart.0.at="ixp0"
 hint.uart.0.addr=0xc8000000
 hint.uart.0.irq=15
-#hint.uart.0.flags=0x10
+hint.uart.0.flags=0x10
 # USART0 is unit 1
 hint.uart.1.at="ixp0"
 hint.uart.1.addr=0xc8001000

==== //depot/projects/wifi/sys/arm/include/vmparam.h#6 (text+ko) ====

@@ -28,7 +28,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/arm/include/vmparam.h,v 1.8 2007/05/05 19:50:26 alc Exp $
+ * $FreeBSD: src/sys/arm/include/vmparam.h,v 1.9 2007/05/28 21:04:22 alc Exp $
  */
 
 #ifndef	_MACHINE_VMPARAM_H_
@@ -48,31 +48,12 @@
 #define	KERNBASE		0xc0000000
 
 /*
- * Override the default pager_map size, there's not enough KVA.
- */
-
-/*
  * max number of non-contig chunks of physical RAM you can have
  */
 
 #define	VM_PHYSSEG_MAX		32
 
 /*
- * when converting a physical address to a vm_page structure, we
- * want to use a binary search on the chunks of physical memory
- * to find our RAM
- */
-
-#define	VM_PHYSSEG_STRAT	VM_PSTRAT_BSEARCH
-
-/*
- * this indicates that we can't add RAM to the VM system after the
- * vm system is init'd.
- */
-
-#define	VM_PHYSSEG_NOADD
-
-/*
  * The physical address space is densely populated.
  */
 #define	VM_PHYSSEG_DENSE

==== //depot/projects/wifi/sys/arm/xscale/ixp425/avila_ata.c#5 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_ata.c,v 1.4 2007/05/24 16:15:20 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_ata.c,v 1.5 2007/05/28 18:45:16 jhay Exp $");
 
 /*
  * Compact Flash Support for the Avila Gateworks XScale boards.
@@ -120,7 +120,7 @@
 {
 	struct ata_avila_softc *sc = device_get_softc(dev);
 	struct ixp425_softc *sa = device_get_softc(device_get_parent(dev));
-	u_int32_t alt_t_off, ide_gpin, ide_gptype, ide_irq;
+	u_int32_t alt_t_off, ide_gpin, ide_irq;
 
 	sc->sc_dev = dev;
 	/* NB: borrow from parent */
@@ -137,7 +137,6 @@
 			panic("%s: unable to map Expansion Bus CS2 window",
 			    __func__);
 		ide_gpin = AVILA_IDE_GPIN;
-		ide_gptype = GPIO_TYPE(ide_gpin, GPIO_TYPE_EDG_RISING);
 		ide_irq = AVILA_IDE_IRQ;
 		sc->sc_16bit_off = EXP_TIMING_CS1_OFFSET;
 		alt_t_off = EXP_TIMING_CS2_OFFSET;
@@ -152,7 +151,6 @@
 			panic("%s: unable to map Expansion Bus CS4 window",
 			    __func__);
 		ide_gpin = PRONGHORN_IDE_GPIN;
-		ide_gptype = GPIO_TYPE(ide_gpin, GPIO_TYPE_ACT_HIGH);
 		ide_irq = PRONGHORN_IDE_IRQ;
 		sc->sc_16bit_off = EXP_TIMING_CS3_OFFSET;
 		alt_t_off = EXP_TIMING_CS4_OFFSET;
@@ -190,7 +188,8 @@
 	/* set interrupt type */
 	GPIO_CONF_WRITE_4(sa, GPIO_TYPE_REG(ide_gpin),
 	    (GPIO_CONF_READ_4(sa, GPIO_TYPE_REG(ide_gpin)) &~
-	     GPIO_TYPE(ide_gpin, GPIO_TYPE_MASK)) | ide_gptype);
+	     GPIO_TYPE(ide_gpin, GPIO_TYPE_MASK)) |
+	     GPIO_TYPE(ide_gpin, GPIO_TYPE_EDG_RISING));
 
 	/* clear ISR */
 	GPIO_CONF_WRITE_4(sa, IXP425_GPIO_GPISR, (1<<ide_gpin));

==== //depot/projects/wifi/sys/arm/xscale/ixp425/ixp425.c#6 (text+ko) ====

@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.6 2007/05/24 16:25:49 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.8 2007/05/29 18:10:42 jhay Exp $");
 
 #define _ARM32_BUS_DMA_PRIVATE
 #include <sys/param.h>
@@ -95,7 +95,7 @@
 	  IXP425_EXP_BUS_CS4_VBASE },
 };
 
-static int
+int
 getvbase(uint32_t hwbase, uint32_t size, uint32_t *vbase)
 {
 	int i;
@@ -367,12 +367,8 @@
     driver_intr_t *intr, void *arg, void **cookiep)    
 {
 	uint32_t mask;
-	int i, irq;
+	int i;
 
-	if (BUS_READ_IVAR(dev, child, IXP425_IVAR_IRQ, &irq) == 0) {
-		rman_set_start(ires, irq);
-		rman_set_end(ires, rman_get_start(ires));
-	}
 	BUS_SETUP_INTR(device_get_parent(dev), child, ires, flags, filt, intr,
 	     arg, cookiep);
 

==== //depot/projects/wifi/sys/arm/xscale/ixp425/ixp425var.h#4 (text+ko) ====

@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425var.h,v 1.3 2007/05/24 16:25:49 sam Exp $
+ * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425var.h,v 1.4 2007/05/29 18:10:42 jhay Exp $
  *
  */
 
@@ -98,6 +98,8 @@
 int	ixp425_md_route_interrupt(device_t, device_t, int);
 void	ixp425_md_attach(device_t);
 
+int	getvbase(uint32_t, uint32_t, uint32_t *);
+
 struct ixp425_ivar {
 	uint32_t	addr;
 	int		irq;

==== //depot/projects/wifi/sys/arm/xscale/ixp425/uart_bus_ixp425.c#3 (text+ko) ====

@@ -23,7 +23,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/uart_bus_ixp425.c,v 1.2 2007/05/24 16:17:51 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/uart_bus_ixp425.c,v 1.3 2007/05/29 18:10:42 jhay Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -71,6 +71,15 @@
 
 	sc = device_get_softc(dev);
 	sc->sc_class = &uart_ns8250_class;
+	sc->sc_rrid = 0;
+	sc->sc_rtype = SYS_RES_MEMORY;
+	sc->sc_rres = bus_alloc_resource(dev, sc->sc_rtype, &sc->sc_rrid,
+	    0, ~0, uart_getrange(sc->sc_class), RF_ACTIVE);
+	if (sc->sc_rres == NULL) {
+		return (ENXIO);
+	}
+	sc->sc_bas.bsh = rman_get_bushandle(sc->sc_rres);
+	sc->sc_bas.bst = rman_get_bustag(sc->sc_rres);
 	/*
 	 * XXX set UART Unit Enable (0x40) AND
 	 *     receiver timeout int enable (0x10).
@@ -79,9 +88,9 @@
 	 * uart_ns8250 carefully avoids touching these bits so we can
 	 * just set them here and proceed.  But this is fragile...
 	 */
-	bus_space_write_4(&ixp425_a4x_bs_tag,
-	    device_get_unit(dev) == 0 ? IXP425_UART0_VBASE : IXP425_UART1_VBASE,
-	    IXP425_UART_IER, IXP425_UART_IER_UUE | IXP425_UART_IER_RTOIE);
+	bus_space_write_4(sc->sc_bas.bst, sc->sc_bas.bsh, IXP425_UART_IER,
+	    IXP425_UART_IER_UUE | IXP425_UART_IER_RTOIE);
+	bus_release_resource(dev, sc->sc_rtype, sc->sc_rrid, sc->sc_rres);
 
 	return uart_bus_probe(dev, 0, IXP425_UART_FREQ, 0, 0);
 }

==== //depot/projects/wifi/sys/arm/xscale/ixp425/uart_cpu_ixp425.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c,v 1.2 2007/04/02 22:00:22 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c,v 1.3 2007/05/29 18:10:42 jhay Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -51,17 +51,46 @@
 int
 uart_cpu_getdev(int devtype, struct uart_devinfo *di)
 {
-	di->ops = uart_getops(&uart_ns8250_class);
-	di->bas.chan = 0;
-	di->bas.bst = &ixp425_a4x_bs_tag;
-	di->bas.regshft = 0;
-	di->bas.rclk = IXP425_UART_FREQ;
-	di->baudrate = 115200;
-	di->databits = 8;
-	di->stopbits = 1;
-	di->parity = UART_PARITY_NONE;
-	uart_bus_space_io = &ixp425_a4x_bs_tag;
-	uart_bus_space_mem = NULL;
-	di->bas.bsh = IXP425_UART0_VBASE;
-	return (0);
+	uint32_t i, ivar, vaddr;
+
+	/*
+	 * Scan the hints. The IXP425 only have 2 serial ports, so only
+	 * scan them.
+	 */
+	for (i = 0; i < 2; i++) {
+		if (resource_int_value("uart", i, "flags", &ivar))
+			continue;
+		if (devtype == UART_DEV_CONSOLE && !UART_FLAGS_CONSOLE(ivar))
+			continue;
+		if (devtype == UART_DEV_DBGPORT && !UART_FLAGS_DBGPORT(ivar))
+			continue;
+		/*
+		 * We have a possible device. Make sure it's enabled and
+		 * that we have an I/O port.
+		 */
+		if (resource_int_value("uart", i, "disabled", &ivar) == 0 &&
+		    ivar != 0)
+			continue;
+		if (resource_int_value("uart", i, "addr", &ivar) != 0 ||
+		    ivar == 0)
+			continue;
+		/* Got it. Fill in the instance and return it. */
+		di->ops = uart_getops(&uart_ns8250_class);
+		di->bas.chan = 0;
+		di->bas.bst = &ixp425_a4x_bs_tag;
+		di->bas.regshft = 0;
+		di->bas.rclk = IXP425_UART_FREQ;
+		di->baudrate = 115200;
+		di->databits = 8;
+		di->stopbits = 1;
+		di->parity = UART_PARITY_NONE;
+		uart_bus_space_io = NULL;
+		uart_bus_space_mem = &ixp425_a4x_bs_tag;
+
+		getvbase(ivar, IXP425_REG_SIZE, &vaddr);
+		di->bas.bsh = vaddr;
+		return (0);
+	}
+
+	return (ENXIO);
 }

==== //depot/projects/wifi/sys/boot/i386/Makefile#2 (text+ko) ====

@@ -1,6 +1,7 @@
-# $FreeBSD: src/sys/boot/i386/Makefile,v 1.20 2003/12/08 19:02:06 obrien Exp $
+# $FreeBSD: src/sys/boot/i386/Makefile,v 1.21 2007/05/29 14:35:57 simokawa Exp $
 
-SUBDIR=		mbr boot0 boot0sio btx boot2 cdboot kgzldr libi386 loader
+SUBDIR=		mbr boot0 boot0sio btx boot2 cdboot kgzldr libi386 libfirewire \
+		loader
 
 # special boot programs, 'self-extracting boot2+loader'
 SUBDIR+=	pxeldr

==== //depot/projects/wifi/sys/boot/i386/loader/Makefile#8 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.84 2006/11/02 00:26:44 marcel Exp $
+# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.85 2007/05/29 14:35:57 simokawa Exp $
 
 .include <bsd.own.mk>
 
@@ -9,6 +9,12 @@
 # architecture-specific loader code
 SRCS=		main.c conf.c vers.c
 
+# Put LOADER_FIREWIRE_SUPPORT=yes in /etc/make.conf for FireWire/dcons support
+.if defined(LOADER_FIREWIRE_SUPPORT)
+CFLAGS+=	-DLOADER_FIREWIRE_SUPPORT
+LIBFIREWIRE=	${.OBJDIR}/../libfirewire/libfirewire.a
+.endif
+
 # Enable PXE TFTP or NFS support, not both.
 .if defined(LOADER_TFTP_SUPPORT)
 CFLAGS+=	-DLOADER_TFTP_SUPPORT
@@ -90,8 +96,8 @@
 # XXX crt0.o needs to be first for pxeboot(8) to work
 OBJS=	${BTXCRT} 
 
-DPADD=	${LIBFICL} ${LIBI386} ${LIBSTAND}
-LDADD=	${LIBFICL} ${LIBI386} -lstand
+DPADD=	${LIBFICL} ${LIBFIREWIRE} ${LIBI386} ${LIBSTAND}
+LDADD=	${LIBFICL} ${LIBFIREWIRE} ${LIBI386} -lstand
 
 .include <bsd.prog.mk>
 

==== //depot/projects/wifi/sys/boot/i386/loader/conf.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/i386/loader/conf.c,v 1.25 2004/08/29 00:48:42 iedowse Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/i386/loader/conf.c,v 1.26 2007/05/29 14:35:57 simokawa Exp $");
 
 #include <stand.h>
 #include <bootstrap.h>
@@ -46,6 +46,10 @@
 #error "Cannot have both tftp and nfs support yet."
 #endif
 
+#if defined(LOADER_FIREWIRE_SUPPORT)
+extern struct devsw fwohci;
+#endif
+
 /* Exported for libstand */
 struct devsw *devsw[] = {
     &bioscd,
@@ -53,6 +57,9 @@
 #if defined(LOADER_NFS_SUPPORT) || defined(LOADER_TFTP_SUPPORT)
     &pxedisk,
 #endif
+#if defined(LOADER_FIREWIRE_SUPPORT)
+    &fwohci,
+#endif
     NULL
 };
 
@@ -103,11 +110,17 @@
  */
 extern struct console vidconsole;
 extern struct console comconsole;
+#if defined(LOADER_FIREWIRE_SUPPORT)
+extern struct console dconsole;
+#endif
 extern struct console nullconsole;
 
 struct console *consoles[] = {
     &vidconsole,
     &comconsole,
+#if defined(LOADER_FIREWIRE_SUPPORT)
+    &dconsole,
+#endif
     &nullconsole,
     NULL
 };

==== //depot/projects/wifi/sys/boot/i386/loader/main.c#6 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/i386/loader/main.c,v 1.39 2006/11/16 13:32:30 ru Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/i386/loader/main.c,v 1.40 2007/05/29 14:35:57 simokawa Exp $");
 
 /*
  * MD bootstrap main() and assorted miscellaneous
@@ -91,7 +91,7 @@
      */
     bios_getmem();
 
-#ifdef LOADER_BZIP2_SUPPORT
+#if defined(LOADER_BZIP2_SUPPORT) || defined(LOADER_FIREWIRE_SUPPORT)
     heap_top = PTOV(memtop_copyin);
     memtop_copyin -= 0x300000;
     heap_bottom = PTOV(memtop_copyin);

==== //depot/projects/wifi/sys/boot/ia64/common/exec.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/ia64/common/exec.c,v 1.16 2006/11/05 22:03:03 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/ia64/common/exec.c,v 1.17 2007/05/27 19:02:46 marcel Exp $");
 
 #include <stand.h>
 #include <string.h>
@@ -105,7 +105,7 @@
 	ia64_set_rr(IA64_RR_BASE(7), (7 << 8) | (28 << 2));
 
 	pte = PTE_PRESENT | PTE_MA_WB | PTE_ACCESSED | PTE_DIRTY |
-	    PTE_PL_KERN | PTE_AR_RWX;
+	    PTE_PL_KERN | PTE_AR_RWX | PTE_ED;
 
 	__asm __volatile("mov cr.ifa=%0" :: "r"(IA64_RR_BASE(7)));
 	__asm __volatile("mov cr.itir=%0" :: "r"(28 << 2));

==== //depot/projects/wifi/sys/cam/scsi/scsi_da.c#15 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.211 2007/05/18 21:58:07 mjacob Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.213 2007/05/29 20:04:01 mjacob Exp $");
 
 #include <sys/param.h>
 

==== //depot/projects/wifi/sys/compat/opensolaris/sys/mutex.h#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/sys/compat/opensolaris/sys/mutex.h,v 1.2 2007/04/09 01:05:31 pjd Exp $
+ * $FreeBSD: src/sys/compat/opensolaris/sys/mutex.h,v 1.3 2007/05/26 21:37:14 pjd Exp $
  */
 
 #ifndef _OPENSOLARIS_SYS_MUTEX_H_
@@ -46,12 +46,18 @@
 
 typedef struct sx	kmutex_t;
 
+#ifndef DEBUG
+#define	MUTEX_FLAGS	(SX_DUPOK | SX_NOWITNESS)
+#else
+#define	MUTEX_FLAGS	(SX_DUPOK)
+#endif
+
 #define	mutex_init(lock, desc, type, arg)	do {			\
 	ASSERT((type) == MUTEX_DEFAULT);				\
 	KASSERT(((lock)->lock_object.lo_flags & LO_ALLMASK) !=		\
 	    LO_EXPECTED, ("lock %s already initialized", #lock));	\
 	bzero((lock), sizeof(struct sx));				\
-	sx_init_flags((lock), "zfs:" #lock, SX_DUPOK);			\
+	sx_init_flags((lock), "zfs:" #lock, MUTEX_FLAGS);		\
 } while (0)
 #define	mutex_destroy(lock)	sx_destroy(lock)
 #define	mutex_enter(lock)	sx_xlock(lock)

==== //depot/projects/wifi/sys/compat/opensolaris/sys/rwlock.h#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/sys/compat/opensolaris/sys/rwlock.h,v 1.2 2007/04/09 01:05:31 pjd Exp $
+ * $FreeBSD: src/sys/compat/opensolaris/sys/rwlock.h,v 1.3 2007/05/26 21:37:14 pjd Exp $
  */
 
 #ifndef _OPENSOLARIS_SYS_RWLOCK_H_
@@ -48,6 +48,12 @@
 
 typedef	struct sx	krwlock_t;
 
+#ifndef DEBUG
+#define	RW_FLAGS	(SX_DUPOK | SX_NOWITNESS)
+#else
+#define	RW_FLAGS	(SX_DUPOK)
+#endif
+
 #define	RW_READ_HELD(x)		(rw_read_held((x)))
 #define	RW_WRITE_HELD(x)	(rw_write_held((x)))
 #define	RW_LOCK_HELD(x)		(rw_lock_held((x)))
@@ -57,7 +63,7 @@
 	KASSERT(((lock)->lock_object.lo_flags & LO_ALLMASK) !=		\
 	    LO_EXPECTED, ("lock %s already initialized", #lock));	\
 	bzero((lock), sizeof(struct sx));				\
-	sx_init_flags((lock), "zfs:" #lock, SX_DUPOK);			\
+	sx_init_flags((lock), "zfs:" #lock, RW_FLAGS);			\
 } while (0)
 #define	rw_destroy(lock)	sx_destroy(lock)
 #define	rw_enter(lock, how)	do {					\

==== //depot/projects/wifi/sys/conf/files#50 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1210 2007/05/22 12:00:31 mav Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1211 2007/05/25 09:48:18 kmacy Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -515,6 +515,8 @@
 dev/cs/if_cs_isa.c		optional cs isa
 dev/cs/if_cs_pccard.c		optional cs pccard
 dev/cxgb/cxgb_main.c		optional cxgb pci
+dev/cxgb/cxgb_offload.c		optional cxgb pci
+dev/cxgb/cxgb_l2t.c		optional cxgb pci
 dev/cxgb/cxgb_lro.c		optional cxgb pci
 dev/cxgb/cxgb_sge.c		optional cxgb pci
 dev/cxgb/common/cxgb_mc5.c	optional cxgb pci

==== //depot/projects/wifi/sys/conf/kern.mk#8 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/kern.mk,v 1.51 2007/05/19 04:45:54 kan Exp $
+# $FreeBSD: src/sys/conf/kern.mk,v 1.52 2007/05/24 21:53:42 obrien Exp $
 
 #
 # Warning flags for compiling the kernel and components of the kernel.
@@ -12,7 +12,10 @@
 .else
 CWARNFLAGS?=	-Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \
 		-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual \
-		${_wundef} -Wno-pointer-sign -fformat-extensions
+		${_wundef} ${_Wno_pointer_sign} -fformat-extensions
+.if !defined(WITH_GCC3)
+_Wno_pointer_sign=-Wno-pointer-sign
+.endif
 .if !defined(NO_UNDEF)
 _wundef=	-Wundef
 .endif

==== //depot/projects/wifi/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c#3 (text+ko) ====

@@ -154,6 +154,7 @@
 	if ((error = zfs_zget(zfsvfs, lr->lr_doid, &dzp)) != 0)
 		return (error);
 
+	bzero(&cn, sizeof(cn));
 	cn.cn_nameptr = name;
 	cn.cn_namelen = strlen(name);
 	cn.cn_nameiop = DELETE;
@@ -246,6 +247,7 @@
 
 	svp = tvp = NULL;
 
+	bzero(&scn, sizeof(scn));
 	scn.cn_nameptr = sname;
 	scn.cn_namelen = strlen(sname);
 	scn.cn_nameiop = DELETE;
@@ -260,6 +262,7 @@
 		goto fail;
 	VOP_UNLOCK(svp, 0, td);
 
+	bzero(&tcn, sizeof(tcn));
 	tcn.cn_nameptr = tname;
 	tcn.cn_namelen = strlen(tname);
 	tcn.cn_nameiop = RENAME;

==== //depot/projects/wifi/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 (text+ko) ====

@@ -3355,6 +3355,7 @@
 		return (EOPNOTSUPP);
 
 	vattr_init_mask(vap);
+	vap->va_mask &= ~AT_NOSET;
 
 	return (zfs_setattr(ap->a_vp, vap, 0, ap->a_cred, NULL));
 }

==== //depot/projects/wifi/sys/dev/acpica/acpi.c#26 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.237 2007/05/15 08:41:05 takawata Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.238 2007/05/25 05:26:21 njl Exp $");
 
 #include "opt_acpi.h"
 #include <sys/param.h>
@@ -242,6 +242,10 @@
 /* Allow users to override quirks. */
 TUNABLE_INT("debug.acpi.quirks", &acpi_quirks);
 
+static int acpi_susp_bounce;
+SYSCTL_INT(_debug_acpi, OID_AUTO, suspend_bounce, CTLFLAG_RW,
+    &acpi_susp_bounce, 0, "Don't actually suspend, just test devices.");
+
 /*
  * ACPI can only be loaded as a module by the loader; activating it after
  * system bootstrap time is not useful, and can be fatal to the system.
@@ -2198,6 +2202,10 @@
 	}
 	slp_state = ACPI_SS_DEV_SUSPEND;
 
+	/* If testing device suspend only, back out of everything here. */
+	if (acpi_susp_bounce)
+	    break;
+
 	status = AcpiEnterSleepStatePrep(state);
 	if (ACPI_FAILURE(status)) {
 	    device_printf(sc->acpi_dev, "AcpiEnterSleepStatePrep failed - %s\n",

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

@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.165 2007/04/19 13:09:56 sephe Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.168 2007/05/29 16:13:59 sam Exp $");
 
 /*
  * Driver for the Atheros Wireless LAN controller.
@@ -5294,14 +5294,19 @@
 	ath_hal_setledstate(ah, leds[nstate]);	/* set LED */
 
 	if (nstate == IEEE80211_S_INIT) {
-		sc->sc_imask &= ~(HAL_INT_SWBA | HAL_INT_BMISS);
 		/*
-		 * NB: disable interrupts so we don't rx frames.
+		 * Shutdown host/driver operation:
+		 * o disable interrupts so we don't rx frames
+		 * o clean any pending items on the task q
+		 * o notify the rate control algorithm
 		 */
+		sc->sc_imask &= ~(HAL_INT_SWBA | HAL_INT_BMISS);
 		ath_intrset(sc, sc->sc_imask &~ HAL_INT_GLOBAL);
-		/*
-		 * Notify the rate control algorithm.
-		 */
+		/* XXX can't use taskqueue_drain 'cuz we're holding sc_mtx */
+		taskqueue_drain(sc->sc_tq, &sc->sc_rxtask);
+		taskqueue_drain(sc->sc_tq, &sc->sc_rxorntask);
+		taskqueue_drain(sc->sc_tq, &sc->sc_bmisstask);
+		taskqueue_drain(sc->sc_tq, &sc->sc_bstucktask);
 		ath_rate_newstate(sc, nstate);
 		goto done;
 	}
@@ -5497,7 +5502,7 @@
 	}
 	if (!ath_hal_init_channels(ah, chans, IEEE80211_CHAN_MAX, &nchan,
 	    NULL, 0, NULL, cc, HAL_MODE_ALL, outdoor, xchanmode)) {
-		ath_hal_getregdomain(ah, &regdomain);
+		(void) ath_hal_getregdomain(ah, &regdomain);
 		if_printf(ifp, "unable to collect channel list from hal; "
 			"regdomain likely %u country code %u\n", regdomain, cc);
 		free(chans, M_TEMP);
@@ -5543,7 +5548,7 @@
 	}
 	ic->ic_nchans = nchan;
 	free(chans, M_TEMP);
-	ath_hal_getregdomain(ah, &sc->sc_regdomain);
+	(void) ath_hal_getregdomain(ah, &sc->sc_regdomain);
 	ath_hal_getcountrycode(ah, &sc->sc_countrycode);
 	sc->sc_xchanmode = xchanmode;
 	sc->sc_outdoor = outdoor;
@@ -5617,14 +5622,14 @@
 	if (sc->sc_curtxpow != ic->ic_txpowlimit) {
 		ath_hal_settxpowlimit(ah, ic->ic_txpowlimit);
 		/* read back in case value is clamped */
-		ath_hal_gettxpowlimit(ah, &txpow);
-		ic->ic_txpowlimit = sc->sc_curtxpow = txpow;
+		if (ath_hal_gettxpowlimit(ah, &txpow))
+			ic->ic_txpowlimit = sc->sc_curtxpow = txpow;
 	}
 	/*
 	 * Fetch max tx power level for status requests.
 	 */
-	ath_hal_getmaxtxpow(sc->sc_ah, &txpow);
-	ic->ic_bss->ni_txpower = txpow;
+	if (ath_hal_getmaxtxpow(sc->sc_ah, &txpow))
+		ic->ic_bss->ni_txpower = txpow;
 }
 
 static int
@@ -6131,7 +6136,7 @@
 	u_int32_t scale;
 	int error;
 
-	ath_hal_gettpscale(sc->sc_ah, &scale);
+	(void) ath_hal_gettpscale(sc->sc_ah, &scale);
 	error = sysctl_handle_int(oidp, &scale, 0, req);
 	if (error || !req->newptr)
 		return error;
@@ -6174,7 +6179,7 @@
 	u_int rfsilent;
 	int error;
 
-	ath_hal_getrfsilent(sc->sc_ah, &rfsilent);
+	(void) ath_hal_getrfsilent(sc->sc_ah, &rfsilent);
 	error = sysctl_handle_int(oidp, &rfsilent, 0, req);
 	if (error || !req->newptr)
 		return error;
@@ -6230,7 +6235,7 @@
 	u_int32_t tpack;
 	int error;
 
-	ath_hal_gettpack(sc->sc_ah, &tpack);
+	(void) ath_hal_gettpack(sc->sc_ah, &tpack);
 	error = sysctl_handle_int(oidp, &tpack, 0, req);
 	if (error || !req->newptr)
 		return error;
@@ -6244,7 +6249,7 @@
 	u_int32_t tpcts;
 	int error;
 
-	ath_hal_gettpcts(sc->sc_ah, &tpcts);
+	(void) ath_hal_gettpcts(sc->sc_ah, &tpcts);
 	error = sysctl_handle_int(oidp, &tpcts, 0, req);
 	if (error || !req->newptr)
 		return error;

==== //depot/projects/wifi/sys/dev/cxgb/common/cxgb_ael1002.c#2 (text+ko) ====

@@ -9,11 +9,7 @@

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


More information about the p4-projects mailing list