Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Jul 2005 13:40:31 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 79823 for review
Message-ID:  <200507091340.j69DeVNC063210@repoman.freebsd.org>

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

Change 79823 by jhb@jhb_slimer on 2005/07/09 13:40:16

	IFC @79819.

Affected files ...

.. //depot/projects/smpng/sys/alpha/include/atomic.h#25 integrate
.. //depot/projects/smpng/sys/amd64/include/atomic.h#20 integrate
.. //depot/projects/smpng/sys/compat/linux/linux_getcwd.c#18 integrate
.. //depot/projects/smpng/sys/compat/linux/linux_socket.c#24 integrate
.. //depot/projects/smpng/sys/compat/ndis/subr_ntoskrnl.c#30 integrate
.. //depot/projects/smpng/sys/dev/ipw/if_ipw.c#4 integrate
.. //depot/projects/smpng/sys/dev/iwi/if_iwi.c#5 integrate
.. //depot/projects/smpng/sys/dev/ral/if_ral.c#5 integrate
.. //depot/projects/smpng/sys/dev/sn/if_sn_pccard.c#16 integrate
.. //depot/projects/smpng/sys/dev/usb/if_ural.c#4 integrate
.. //depot/projects/smpng/sys/dev/usb/if_uralvar.h#3 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs#77 integrate
.. //depot/projects/smpng/sys/geom/gate/g_gate.c#11 integrate
.. //depot/projects/smpng/sys/geom/gate/g_gate.h#3 integrate
.. //depot/projects/smpng/sys/i386/include/atomic.h#39 integrate
.. //depot/projects/smpng/sys/kern/init_sysent.c#58 integrate
.. //depot/projects/smpng/sys/kern/syscalls.c#58 integrate
.. //depot/projects/smpng/sys/kern/syscalls.master#60 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_input.c#20 integrate
.. //depot/projects/smpng/sys/pci/if_ste.c#36 integrate
.. //depot/projects/smpng/sys/powerpc/powerpc/busdma_machdep.c#20 integrate
.. //depot/projects/smpng/sys/sys/socketvar.h#45 integrate
.. //depot/projects/smpng/sys/sys/syscall.h#57 integrate
.. //depot/projects/smpng/sys/sys/syscall.mk#57 integrate
.. //depot/projects/smpng/sys/sys/sysproto.h#59 integrate

Differences ...

==== //depot/projects/smpng/sys/alpha/include/atomic.h#25 (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/alpha/include/atomic.h,v 1.20 2005/03/02 21:33:20 joerg Exp $
+ * $FreeBSD: src/sys/alpha/include/atomic.h,v 1.21 2005/07/09 12:38:53 jhb Exp $
  */
 
 #ifndef _MACHINE_ATOMIC_H_

==== //depot/projects/smpng/sys/amd64/include/atomic.h#20 (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/amd64/include/atomic.h,v 1.33 2005/03/02 21:33:21 joerg Exp $
+ * $FreeBSD: src/sys/amd64/include/atomic.h,v 1.34 2005/07/09 12:38:53 jhb Exp $
  */
 #ifndef _MACHINE_ATOMIC_H_
 #define	_MACHINE_ATOMIC_H_

==== //depot/projects/smpng/sys/compat/linux/linux_getcwd.c#18 (text+ko) ====

@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.18 2005/04/13 10:59:07 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.19 2005/07/09 12:34:49 jhb Exp $");
 
 #include "opt_compat.h"
 #include "opt_mac.h"
@@ -465,8 +465,10 @@
 		 * limit it to N/2 vnodes for an N byte buffer.
 		 */
 
+		mtx_lock(&Giant);
 		error = linux_getcwd_common (td->td_proc->p_fd->fd_cdir, NULL,
 		    &bp, path, len/2, GETCWD_CHECK_ACCESS, td);
+		mtx_unlock(&Giant);
 
 		if (error)
 			goto out;

==== //depot/projects/smpng/sys/compat/linux/linux_socket.c#24 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.58 2005/03/23 08:28:00 das Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.59 2005/07/09 12:26:22 jhb Exp $");
 
 /* XXX we use functions that might not exist. */
 #include "opt_compat.h"
@@ -44,7 +44,9 @@
 #include <sys/fcntl.h>
 #include <sys/file.h>
 #include <sys/limits.h>
+#include <sys/lock.h>
 #include <sys/malloc.h>
+#include <sys/mutex.h>
 #include <sys/mbuf.h>
 #include <sys/socket.h>
 #include <sys/socketvar.h>
@@ -614,15 +616,20 @@
 	 * when on a non-blocking socket. Instead it returns the
 	 * error getsockopt(SOL_SOCKET, SO_ERROR) would return on BSD.
 	 */
-	if ((error = fgetsock(td, linux_args.s, &so, &fflag)) != 0)
-		return(error);
-	error = EISCONN;
-	if (fflag & FNONBLOCK) {
-		if (so->so_emuldata == 0)
-			error = so->so_error;
-		so->so_emuldata = (void *)1;
+	NET_LOCK_GIANT();
+	error = fgetsock(td, linux_args.s, &so, &fflag);
+	if (error == 0) {
+		error = EISCONN;
+		if (fflag & FNONBLOCK) {
+			SOCK_LOCK(so);
+			if (so->so_emuldata == 0)
+				error = so->so_error;
+			so->so_emuldata = (void *)1;
+			SOCK_UNLOCK(so);
+		}
+		fputsock(so);
 	}
-	fputsock(so);
+	NET_UNLOCK_GIANT();
 	return (error);
 }
 

==== //depot/projects/smpng/sys/compat/ndis/subr_ntoskrnl.c#30 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.70 2005/05/29 04:42:15 nyan Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.71 2005/07/08 18:36:59 rik Exp $");
 
 #include <sys/ctype.h>
 #include <sys/unistd.h>
@@ -3110,15 +3110,15 @@
 	if (dpc->k_lock == NULL)
 		return(FALSE);
 
-	mtx_lock_spin(dpc->k_lock);
+	mtx_lock_spin((struct mtx*)(dpc->k_lock));
 	if (dpc->k_dpclistentry.nle_flink == &dpc->k_dpclistentry) {
-		mtx_unlock_spin(dpc->k_lock);
+		mtx_unlock_spin((struct mtx*)(dpc->k_lock));
 		return(FALSE);
 	}
 
 	REMOVE_LIST_ENTRY((&dpc->k_dpclistentry));
 	INIT_LIST_HEAD((&dpc->k_dpclistentry));
-	mtx_unlock_spin(dpc->k_lock);
+	mtx_unlock_spin((struct mtx*)(dpc->k_lock));
 
 	return(TRUE);
 }

==== //depot/projects/smpng/sys/dev/ipw/if_ipw.c#4 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.6 2005/07/07 02:55:03 sam Exp $	*/
+/*	$FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.7 2005/07/08 19:30:29 damien Exp $	*/
 
 /*-
  * Copyright (c) 2004, 2005
@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.6 2005/07/07 02:55:03 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.7 2005/07/08 19:30:29 damien Exp $");
 
 /*-
  * Intel(R) PRO/Wireless 2100 MiniPCI driver
@@ -581,8 +581,8 @@
 	 * Pre-allocate rx buffers and DMA maps.
 	 */
 	error = bus_dma_tag_create(NULL, 1, 0, BUS_SPACE_MAXADDR_32BIT,
-	    BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, IPW_NRBD, MCLBYTES, 0,
-	    NULL, NULL, &sc->rxbuf_dmat);
+	    BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, 1, MCLBYTES, 0, NULL,
+	    NULL, &sc->rxbuf_dmat);
 	if (error != 0) {
 		device_printf(sc->sc_dev, "could not create rx DMA tag\n");
 		goto fail;

==== //depot/projects/smpng/sys/dev/iwi/if_iwi.c#5 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.6 2005/07/07 02:55:03 sam Exp $	*/
+/*	$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.7 2005/07/08 16:31:18 sam Exp $	*/
 
 /*-
  * Copyright (c) 2004, 2005
@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.6 2005/07/07 02:55:03 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.7 2005/07/08 16:31:18 sam Exp $");
 
 /*-
  * Intel(R) PRO/Wireless 2200BG/2225BG/2915ABG driver
@@ -1489,8 +1489,10 @@
 		BPF_MTAP(ifp, m0);
 
 		m0 = ieee80211_encap(ic, m0, ni);
-		if (m0 == NULL)
+		if (m0 == NULL) {
+			ieee80211_free_node(ni);
 			continue;
+		}
 
 		if (ic->ic_rawbpf != NULL)
 			bpf_mtap(ic->ic_rawbpf, m0);

==== //depot/projects/smpng/sys/dev/ral/if_ral.c#5 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$FreeBSD: src/sys/dev/ral/if_ral.c,v 1.5 2005/07/07 02:55:03 sam Exp $	*/
+/*	$FreeBSD: src/sys/dev/ral/if_ral.c,v 1.8 2005/07/08 19:33:42 damien Exp $	*/
 
 /*-
  * Copyright (c) 2005
@@ -18,7 +18,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ral/if_ral.c,v 1.5 2005/07/07 02:55:03 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ral/if_ral.c,v 1.8 2005/07/08 19:33:42 damien Exp $");
 
 /*-
  * Ralink Technology RT2500 chipset driver
@@ -63,6 +63,7 @@
 #include <dev/ral/if_ralreg.h>
 #include <dev/ral/if_ralvar.h>
 
+#define RAL_DEBUG
 #ifdef RAL_DEBUG
 #define DPRINTF(x)	do { if (ral_debug > 0) printf x; } while (0)
 #define DPRINTFN(n, x)	do { if (ral_debug >= (n)) printf x; } while (0)
@@ -920,6 +921,7 @@
 static int
 ral_media_change(struct ifnet *ifp)
 {
+	struct ral_softc *sc = ifp->if_softc;
 	int error;
 
 	error = ieee80211_media_change(ifp);
@@ -927,7 +929,7 @@
 		return error;
 
 	if ((ifp->if_flags & (IFF_UP | IFF_RUNNING)) == (IFF_UP | IFF_RUNNING))
-		ral_init(ifp);
+		ral_init(sc);
 
 	return 0;
 }
@@ -1016,8 +1018,10 @@
 	case IEEE80211_S_RUN:
 		ral_set_chan(sc, ic->ic_bss->ni_chan);
 
-		if (ic->ic_opmode != IEEE80211_M_MONITOR)
+		if (ic->ic_opmode != IEEE80211_M_MONITOR) {
 			ral_set_bssid(sc, ic->ic_bss->ni_bssid);
+			ral_update_slot(ic->ic_ifp);
+		}
 
 		if (ic->ic_opmode == IEEE80211_M_HOSTAP ||
 		    ic->ic_opmode == IEEE80211_M_IBSS) {
@@ -2108,8 +2112,10 @@
 			BPF_MTAP(ifp, m0);
 
 			m0 = ieee80211_encap(ic, m0, ni);
-			if (m0 == NULL)
+			if (m0 == NULL) {
+				ieee80211_free_node(ni);
 				continue;
+			}
 
 			if (ic->ic_rawbpf != NULL)
 				bpf_mtap(ic->ic_rawbpf, m0);

==== //depot/projects/smpng/sys/dev/sn/if_sn_pccard.c#16 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/sn/if_sn_pccard.c,v 1.29 2005/07/06 15:59:47 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/sn/if_sn_pccard.c,v 1.31 2005/07/09 05:14:32 scottl Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -56,10 +56,11 @@
 static const struct pccard_product sn_pccard_products[] = {
 	PCMCIA_CARD(DSPSI, XJACK),
 	PCMCIA_CARD(NEWMEDIA, BASICS),
-	PCMCIA_CARD(SMC, SMC91C96),
+	PCMCIA_CARD(PSION, GOLDCARD),
 #if 0
 	PCMCIA_CARD(SMC, 8020BT),
 #endif
+	PCMCIA_CARD(SMC, SMC91C96),
 	{ NULL }
 };
 

==== //depot/projects/smpng/sys/dev/usb/if_ural.c#4 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$FreeBSD: src/sys/dev/usb/if_ural.c,v 1.5 2005/07/07 02:55:04 sam Exp $	*/
+/*	$FreeBSD: src/sys/dev/usb/if_ural.c,v 1.9 2005/07/08 19:19:06 damien Exp $	*/
 
 /*-
  * Copyright (c) 2005
@@ -18,7 +18,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/if_ural.c,v 1.5 2005/07/07 02:55:04 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/if_ural.c,v 1.9 2005/07/08 19:19:06 damien Exp $");
 
 /*-
  * Ralink Technology RT2500USB chipset driver
@@ -86,12 +86,21 @@
 	{ USB_VENDOR_BELKIN,		USB_PRODUCT_BELKIN_F5D7050 },
 	{ USB_VENDOR_CONCEPTRONIC,	USB_PRODUCT_CONCEPTRONIC_C54U },
 	{ USB_VENDOR_DLINK,		USB_PRODUCT_DLINK_DWLG122 },
+	{ USB_VENDOR_GIGABYTE,		USB_PRODUCT_GIGABYTE_GNWBKG },
+	{ USB_VENDOR_GUILLEMOT,		USB_PRODUCT_GUILLEMOT_HWGUSB254 },
 	{ USB_VENDOR_LINKSYS4,		USB_PRODUCT_LINKSYS4_WUSB54G },
 	{ USB_VENDOR_LINKSYS4,		USB_PRODUCT_LINKSYS4_WUSB54GP },
 	{ USB_VENDOR_MELCO,		USB_PRODUCT_MELCO_KG54 },
+	{ USB_VENDOR_MELCO,		USB_PRODUCT_MELCO_KG54AI },
+	{ USB_VENDOR_MELCO,		USB_PRODUCT_MELCO_KG54YB },
+	{ USB_VENDOR_MSI,		USB_PRODUCT_MSI_RT2570 },
+	{ USB_VENDOR_MSI,		USB_PRODUCT_MSI_RT2570_2 },
+	{ USB_VENDOR_MSI,		USB_PRODUCT_MSI_RT2570_3 },
 	{ USB_VENDOR_RALINK,		USB_PRODUCT_RALINK_RT2570 },
 	{ USB_VENDOR_RALINK,		USB_PRODUCT_RALINK_RT2570_2 },
-	{ USB_VENDOR_SMC,		USB_PRODUCT_SMC_2862WG }
+	{ USB_VENDOR_SMC,		USB_PRODUCT_SMC_2862WG },
+	{ USB_VENDOR_VTECH,		USB_PRODUCT_VTECH_RT2570 },
+	{ USB_VENDOR_ZINWELL,		USB_PRODUCT_ZINWELL_RT2570 }
 };
 
 MODULE_DEPEND(ural, wlan, 1, 1, 1);
@@ -379,6 +388,7 @@
 	 */
 	id = usbd_get_interface_descriptor(sc->sc_iface);
 
+	sc->sc_rx_no = sc->sc_tx_no = -1;
 	for (i = 0; i < id->bNumEndpoints; i++) {
 		ed = usbd_interface2endpoint_descriptor(sc->sc_iface, i);
 		if (ed == NULL) {
@@ -394,6 +404,10 @@
 		    UE_GET_XFERTYPE(ed->bmAttributes) == UE_BULK)
 			sc->sc_tx_no = ed->bEndpointAddress;
 	}
+	if (sc->sc_rx_no == -1 || sc->sc_tx_no == -1) {
+		printf("%s: missing endpoint\n", USBDEVNAME(sc->sc_dev));
+		USB_ATTACH_ERROR_RETURN;
+	}
 
 	mtx_init(&sc->sc_mtx, USBDEVNAME(sc->sc_dev), MTX_NETWORK_LOCK,
 	    MTX_DEF | MTX_RECURSE);
@@ -676,7 +690,7 @@
 	}
 
 	if ((ifp->if_flags & (IFF_UP | IFF_RUNNING)) == (IFF_UP | IFF_RUNNING))
-		ural_init(ifp);
+		ural_init(sc);
 
 	RAL_UNLOCK(sc);
 
@@ -1312,8 +1326,10 @@
 			BPF_MTAP(ifp, m0);
 
 			m0 = ieee80211_encap(ic, m0, ni);
-			if (m0 == NULL)
+			if (m0 == NULL) {
+				ieee80211_free_node(ni);
 				continue;
+			}
 
 			if (ic->ic_rawbpf != NULL)
 				bpf_mtap(ic->ic_rawbpf, m0);

==== //depot/projects/smpng/sys/dev/usb/if_uralvar.h#3 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$FreeBSD: src/sys/dev/usb/if_uralvar.h,v 1.2 2005/06/10 16:49:16 brooks Exp $	*/
+/*	$FreeBSD: src/sys/dev/usb/if_uralvar.h,v 1.3 2005/07/08 19:19:06 damien Exp $	*/
 
 /*-
  * Copyright (c) 2005
@@ -76,8 +76,8 @@
 	usbd_device_handle		sc_udev;
 	usbd_interface_handle		sc_iface;
 
-	uint8_t				sc_rx_no;
-	uint8_t				sc_tx_no;
+	int				sc_rx_no;
+	int				sc_tx_no;
 
 	uint32_t			asic_rev;
 	uint8_t				rf_rev;

==== //depot/projects/smpng/sys/dev/usb/usbdevs#77 (text+ko) ====

@@ -1,4 +1,4 @@
-$FreeBSD: src/sys/dev/usb/usbdevs,v 1.231 2005/07/03 23:51:16 hrs Exp $
+$FreeBSD: src/sys/dev/usb/usbdevs,v 1.232 2005/07/08 16:28:24 sam Exp $
 /* $NetBSD: usbdevs,v 1.392 2004/12/29 08:38:44 imp Exp $ */
 
 /*-
@@ -484,7 +484,9 @@
 vendor PILOTECH		0x0eaf	Pilotech
 vendor EGALAX		0x0eef	eGalax
 vendor MICROTUNE	0x0f4d	Microtune
+vendor VTECH		0x0f88	VTech
 vendor QUALCOMM2	0x1004	Qualcomm
+vendor GIGABYTE		0x1044	GIGABYTE
 vendor WESTERN		0x1058	Western Digital
 vendor MOTOROLA		0x1063	Motorola
 vendor CCYU		0x1065	CCYU
@@ -530,6 +532,7 @@
 vendor DELL		0x413c	Dell
 vendor AVERATEC		0x50c2	Averatec
 vendor ONSPEC2		0x55aa	OnSpec
+vendor ZINWELL		0x5a57	Zinwell
 vendor SITECOM		0x6189	Sitecom
 vendor INTEL		0x8086	Intel
 vendor HP2		0xf003	Hewlett Packard
@@ -892,9 +895,18 @@
 product GENESYS GL641USB2IDE_2	0x0701	GL641USB USB-IDE Bridge No 2
 product GENESYS GL641USB2IDE	0x0702	GL641USB USB-IDE Bridge
 
+/* GIGABYTE products */
+product GIGABYTE GNBR402W	0x8002	GN-BR402W
+product GIGABYTE GNWLBM101	0x8003	GN-WLBM101
+product GIGABYTE GNWBKG		0x8007	GN-WBKG
+
 /* G.Mate, Inc products */
 product GMATE YP3X00		0x1001	YP3X00 PDA
 
+/* Guillemot Corporation */
+product GUILLEMOT DALEADER	0xa300	DA Leader
+product GUILLEMOT HWGUSB254	0xe000	HWGUSB2-54 WLAN
+
 /* HAL Corporation products */
 product HAL IMR001		0x0011	Crossam2+USB IR commander
 
@@ -1132,13 +1144,18 @@
 product MELCO LUAKTX		0x0012	LUA-KTX Ethernet
 product MELCO DUBPXXG		0x001c	USB-IDE Bridge: DUB-PxxG
 product MELCO LUAU2KTX		0x003d	LUA-U2-KTX Ethernet
-product MELCO KG54		0x0066	KG54 wireless adapter
+product MELCO KG54YB		0x005e	WLI-U2-KG54-YB WLAN
+product MELCO KG54		0x0066	WLI-U2-KG54 WLAN
+product MELCO KG54AI		0x0067	WLI-U2-KG54-AI WLAN
 
 /* Metricom products */
 product METRICOM RICOCHET_GS	0x0001	Ricochet GS
 
 /* Micro Star International products */
 product MSI BT_DONGLE		0x1967	Bluetooth USB dongle
+product MSI RT2570		0x6861	RT2570
+product MSI RT2570_2		0x6865	RT2570
+product MSI RT2570_3		0x6869	RT2570
 
 /* Microsoft products */
 product MICROSOFT SIDEPREC	0x0008	SideWinder Precision Pro
@@ -1546,6 +1563,9 @@
 /* Vodafone products */
 product VODAFONE MC3G		0x5000	Mobile Connect 3G datacard
 
+/* VTech products */
+product VTECH RT2570		0x3012	RT2570
+
 /* Wacom products */
 product WACOM CT0405U		0x0000	CT-0405-U Tablet
 product WACOM GRAPHIRE		0x0010	Graphire
@@ -1577,6 +1597,9 @@
 /* Yano products */
 product YANO U640MO		0x0101	U640MO-03
 
+/* Zinwell products */
+product ZINWELL RT2570		0x0260	RT2570
+
 /* Zoom Telephonics, Inc. products */
 product ZOOM 2986L		0x9700	2986L Fax modem
 

==== //depot/projects/smpng/sys/geom/gate/g_gate.c#11 (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/geom/gate/g_gate.c,v 1.19 2005/02/16 22:14:51 pjd Exp $
+ * $FreeBSD: src/sys/geom/gate/g_gate.c,v 1.20 2005/07/08 21:08:53 pjd Exp $
  */
 
 #include <sys/param.h>
@@ -442,8 +442,11 @@
 }
 
 #define	G_GATE_CHECK_VERSION(ggio)	do {				\
-	if ((ggio)->gctl_version != G_GATE_VERSION)			\
+	if ((ggio)->gctl_version != G_GATE_VERSION) {			\
+		printf("Version mismatch %d != %d.\n",			\
+		    ggio->gctl_version, G_GATE_VERSION);		\
 		return (EINVAL);					\
+	}								\
 } while (0)
 static int
 g_gate_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flags, struct thread *td)
@@ -488,6 +491,44 @@
 		g_gate_release(sc);
 		return (error);
 	    }
+	case G_GATE_CMD_CANCEL:
+	    {
+		struct g_gate_ctl_cancel *ggio = (void *)addr;
+		struct bio *tbp, *lbp;
+
+		G_GATE_CHECK_VERSION(ggio);
+		sc = g_gate_hold(ggio->gctl_unit);
+		if (sc == NULL)
+			return (ENXIO);
+		lbp = NULL;
+		mtx_lock(&sc->sc_queue_mtx);
+		TAILQ_FOREACH_SAFE(bp, &sc->sc_outqueue.queue, bio_queue, tbp) {
+			if (ggio->gctl_seq == 0 ||
+			    ggio->gctl_seq == (uintptr_t)bp->bio_driver1) {
+				G_GATE_LOGREQ(1, bp, "Request canceled.");
+				bioq_remove(&sc->sc_outqueue, bp);
+				/*
+				 * Be sure to put requests back onto incoming
+				 * queue in the proper order.
+				 */
+				if (lbp == NULL)
+					bioq_insert_head(&sc->sc_inqueue, bp);
+				else {
+					TAILQ_INSERT_AFTER(&sc->sc_inqueue.queue,
+					    lbp, bp, bio_queue);
+				}
+				lbp = bp;
+				/*
+				 * If only one request was canceled, leave now.
+				 */
+				if (ggio->gctl_seq != 0)
+					break;
+			}
+		}
+		mtx_unlock(&sc->sc_queue_mtx);
+		g_gate_release(sc);
+		return (error);
+	    }
 	case G_GATE_CMD_START:
 	    {
 		struct g_gate_ctl_io *ggio = (void *)addr;
@@ -526,6 +567,7 @@
 		ggio->gctl_seq = (uintptr_t)bp->bio_driver1;
 		ggio->gctl_offset = bp->bio_offset;
 		ggio->gctl_length = bp->bio_length;
+
 		switch (bp->bio_cmd) {
 		case BIO_READ:
 			break;

==== //depot/projects/smpng/sys/geom/gate/g_gate.h#3 (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/geom/gate/g_gate.h,v 1.5 2005/02/16 22:14:51 pjd Exp $
+ * $FreeBSD: src/sys/geom/gate/g_gate.h,v 1.6 2005/07/08 21:08:53 pjd Exp $
  */
 
 #ifndef _G_GATE_H_
@@ -41,7 +41,7 @@
 #define	G_GATE_MOD_NAME		"ggate"
 #define	G_GATE_CTL_NAME		"ggctl"
 
-#define G_GATE_VERSION		0
+#define G_GATE_VERSION		1
 
 /*
  * Maximum number of request that can be stored in
@@ -56,8 +56,9 @@
 
 #define G_GATE_CMD_CREATE	_IOWR('m', 0, struct g_gate_ctl_create)
 #define G_GATE_CMD_DESTROY	_IOWR('m', 1, struct g_gate_ctl_destroy)
-#define G_GATE_CMD_START	_IOWR('m', 2, struct g_gate_ctl_io)
-#define G_GATE_CMD_DONE		_IOWR('m', 3, struct g_gate_ctl_io)
+#define G_GATE_CMD_CANCEL	_IOWR('m', 2, struct g_gate_ctl_cancel)
+#define G_GATE_CMD_START	_IOWR('m', 3, struct g_gate_ctl_io)
+#define G_GATE_CMD_DONE		_IOWR('m', 4, struct g_gate_ctl_io)
 
 #define	G_GATE_INFOSIZE		2048
 
@@ -129,6 +130,12 @@
 	int	gctl_force;
 };
 
+struct g_gate_ctl_cancel {
+	u_int		gctl_version;
+	int		gctl_unit;
+	uintptr_t	gctl_seq;
+};
+
 struct g_gate_ctl_io {
 	u_int		 gctl_version;
 	int		 gctl_unit;

==== //depot/projects/smpng/sys/i386/include/atomic.h#39 (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/i386/include/atomic.h,v 1.37 2005/03/02 21:33:26 joerg Exp $
+ * $FreeBSD: src/sys/i386/include/atomic.h,v 1.38 2005/07/09 12:38:53 jhb Exp $
  */
 #ifndef _MACHINE_ATOMIC_H_
 #define	_MACHINE_ATOMIC_H_

==== //depot/projects/smpng/sys/kern/init_sysent.c#58 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/kern/init_sysent.c,v 1.194 2005/07/07 18:20:38 jhb Exp $
- * created from FreeBSD: src/sys/kern/syscalls.master,v 1.197 2005/07/07 18:17:55 jhb Exp 
+ * $FreeBSD: src/sys/kern/init_sysent.c,v 1.195 2005/07/08 15:06:58 jhb Exp $
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.198 2005/07/08 15:01:13 jhb Exp 
  */
 
 #include "opt_compat.h"
@@ -304,7 +304,7 @@
 	{ SYF_MPSAFE | AS(getdents_args), (sy_call_t *)getdents, AUE_NULL },	/* 272 = getdents */
 	{ 0, (sy_call_t *)nosys, AUE_NULL },			/* 273 = nosys */
 	{ SYF_MPSAFE | AS(lchmod_args), (sy_call_t *)lchmod, AUE_NULL },	/* 274 = lchmod */
-	{ AS(lchown_args), (sy_call_t *)lchown, AUE_NULL },	/* 275 = netbsd_lchown */
+	{ SYF_MPSAFE | AS(lchown_args), (sy_call_t *)lchown, AUE_NULL },	/* 275 = netbsd_lchown */
 	{ SYF_MPSAFE | AS(lutimes_args), (sy_call_t *)lutimes, AUE_NULL },	/* 276 = lutimes */
 	{ SYF_MPSAFE | AS(msync_args), (sy_call_t *)msync, AUE_NULL },	/* 277 = netbsd_msync */
 	{ SYF_MPSAFE | AS(nstat_args), (sy_call_t *)nstat, AUE_NULL },	/* 278 = nstat */

==== //depot/projects/smpng/sys/kern/syscalls.c#58 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/kern/syscalls.c,v 1.180 2005/07/07 18:20:38 jhb Exp $
- * created from FreeBSD: src/sys/kern/syscalls.master,v 1.197 2005/07/07 18:17:55 jhb Exp 
+ * $FreeBSD: src/sys/kern/syscalls.c,v 1.181 2005/07/08 15:06:58 jhb Exp $
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.198 2005/07/08 15:01:13 jhb Exp 
  */
 
 const char *syscallnames[] = {

==== //depot/projects/smpng/sys/kern/syscalls.master#60 (text+ko) ====

@@ -1,4 +1,4 @@
- $FreeBSD: src/sys/kern/syscalls.master,v 1.197 2005/07/07 18:17:55 jhb Exp $
+ $FreeBSD: src/sys/kern/syscalls.master,v 1.198 2005/07/08 15:01:13 jhb Exp $
 ;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
 ;
 ; System call name/number master file.
@@ -484,7 +484,7 @@
 				    size_t count); }
 273	AUE_NULL	UNIMPL	nosys
 274	AUE_NULL	MSTD	{ int lchmod(char *path, mode_t mode); }
-275	AUE_NULL	NOPROTO { int lchown(char *path, uid_t uid, \
+275	AUE_NULL	MNOPROTO { int lchown(char *path, uid_t uid, \
 				    gid_t gid); } netbsd_lchown lchown_args \
 				    int
 276	AUE_NULL	MSTD	{ int lutimes(char *path, \

==== //depot/projects/smpng/sys/net80211/ieee80211_input.c#20 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_input.c,v 1.59 2005/07/06 15:38:27 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_input.c,v 1.61 2005/07/08 22:49:26 sam Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -257,7 +257,7 @@
 			if (IEEE80211_QOS_HAS_SEQ(wh)) {
 				tid = ((struct ieee80211_qosframe *)wh)->
 					i_qos[0] & IEEE80211_QOS_TID;
-				if (tid >= WME_AC_VI)
+				if (TID_TO_WME_AC(tid) >= WME_AC_VI)
 					ic->ic_wme.wme_hipri_traffic++;
 				tid++;
 			} else
@@ -2685,8 +2685,7 @@
 		IEEE80211_DPRINTF(ic, IEEE80211_MSG_POWER,
 		    "[%s] recv ps-poll, send packet, %u still queued\n",
 		    ether_sprintf(ni->ni_macaddr), qlen);
-		wh = mtod(m, struct ieee80211_frame_min *);
-		wh->i_fc[1] |= IEEE80211_FC1_MORE_DATA;
+		m->m_flags |= M_MORE_DATA;
 	} else {
 		IEEE80211_DPRINTF(ic, IEEE80211_MSG_POWER,
 		    "[%s] recv ps-poll, send packet, queue empty\n",

==== //depot/projects/smpng/sys/pci/if_ste.c#36 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/pci/if_ste.c,v 1.83 2005/06/11 01:37:46 brooks Exp $");
+__FBSDID("$FreeBSD: src/sys/pci/if_ste.c,v 1.84 2005/07/08 13:05:59 mlaier Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -623,7 +623,7 @@
 		ste_rxeoc(sc);
 	ste_rxeof(sc);
 	ste_txeof(sc);
-	if (ifp->if_snd.ifq_head != NULL)
+	if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
 		ste_start(ifp);
 
 	if (cmd == POLL_AND_CHECK_STATUS) {
@@ -716,7 +716,7 @@
 	/* Re-enable interrupts */
 	CSR_WRITE_2(sc, STE_IMR, STE_INTRS);
 
-	if (ifp->if_snd.ifq_head != NULL)
+	if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
 		ste_start(ifp);
 
 #ifdef DEVICE_POLLING
@@ -938,7 +938,7 @@
 			* otherwise we get stuck in the wrong link state
 			*/
 			ste_miibus_statchg(sc->ste_dev);
-			if (ifp->if_snd.ifq_head != NULL)
+			if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
 				ste_start(ifp);
 		}
 	}
@@ -1085,7 +1085,9 @@
 	ifp->if_watchdog = ste_watchdog;
 	ifp->if_init = ste_init;
 	ifp->if_baudrate = 10000000;
-	ifp->if_snd.ifq_maxlen = STE_TX_LIST_CNT - 1;
+	IFQ_SET_MAXLEN(&ifp->if_snd, STE_TX_LIST_CNT - 1);
+	ifp->if_snd.ifq_drv_maxlen = STE_TX_LIST_CNT - 1;
+	IFQ_SET_READY(&ifp->if_snd);
 
 	sc->ste_tx_thresh = STE_TXSTART_THRESH;
 
@@ -1610,7 +1612,7 @@
 			break;
 		}
 
-		IF_DEQUEUE(&ifp->if_snd, m_head);
+		IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head);
 		if (m_head == NULL)
 			break;
 
@@ -1678,7 +1680,7 @@
 	ste_reset(sc);
 	ste_init(sc);
 
-	if (ifp->if_snd.ifq_head != NULL)
+	if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
 		ste_start(ifp);
 	STE_UNLOCK(sc);
 

==== //depot/projects/smpng/sys/powerpc/powerpc/busdma_machdep.c#20 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/busdma_machdep.c,v 1.24 2005/03/15 11:43:05 grehan Exp $");
+__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/busdma_machdep.c,v 1.25 2005/07/09 06:53:52 grehan Exp $");
 
 /*
  * MacPPC bus dma support routines
@@ -508,6 +508,8 @@
 
 	M_ASSERTPKTHDR(m0);
 
+	*nsegs = 0;
+
 	if (m0->m_pkthdr.len <= dmat->maxsize) {
 		int first = 1;
 		vm_offset_t lastaddr = 0;

==== //depot/projects/smpng/sys/sys/socketvar.h#45 (text+ko) ====

@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)socketvar.h	8.3 (Berkeley) 2/19/95
- * $FreeBSD: src/sys/sys/socketvar.h,v 1.140 2005/03/12 12:57:18 rwatson Exp $
+ * $FreeBSD: src/sys/sys/socketvar.h,v 1.141 2005/07/09 12:24:40 jhb Exp $
  */
 
 #ifndef _SYS_SOCKETVAR_H_
@@ -136,7 +136,7 @@
 	struct	label *so_peerlabel;	/* (b) cached MAC label for peer */
 	/* NB: generation count must not be first; easiest to make it last. */
 	so_gen_t so_gencnt;		/* (h) generation count */
-	void	*so_emuldata;		/* private data for emulators */
+	void	*so_emuldata;		/* (b) private data for emulators */
  	struct so_accf {
 		struct	accept_filter *so_accept_filter;
 		void	*so_accept_filter_arg;	/* saved filter args */

==== //depot/projects/smpng/sys/sys/syscall.h#57 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/sys/syscall.h,v 1.177 2005/07/07 18:20:38 jhb Exp $
- * created from FreeBSD: src/sys/kern/syscalls.master,v 1.197 2005/07/07 18:17:55 jhb Exp 
+ * $FreeBSD: src/sys/sys/syscall.h,v 1.178 2005/07/08 15:06:58 jhb Exp $
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.198 2005/07/08 15:01:13 jhb Exp 
  */
 
 #define	SYS_syscall	0

==== //depot/projects/smpng/sys/sys/syscall.mk#57 (text+ko) ====

@@ -1,7 +1,7 @@
 # FreeBSD system call names.
 # DO NOT EDIT-- this file is automatically generated.
-# $FreeBSD: src/sys/sys/syscall.mk,v 1.132 2005/07/07 18:20:38 jhb Exp $
-# created from FreeBSD: src/sys/kern/syscalls.master,v 1.197 2005/07/07 18:17:55 jhb Exp 
+# $FreeBSD: src/sys/sys/syscall.mk,v 1.133 2005/07/08 15:06:58 jhb Exp $
+# created from FreeBSD: src/sys/kern/syscalls.master,v 1.198 2005/07/08 15:01:13 jhb Exp 
 MIASM =  \
 	syscall.o \
 	exit.o \

==== //depot/projects/smpng/sys/sys/sysproto.h#59 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/sys/sysproto.h,v 1.176 2005/07/07 18:20:38 jhb Exp $
- * created from FreeBSD: src/sys/kern/syscalls.master,v 1.197 2005/07/07 18:17:55 jhb Exp 
+ * $FreeBSD: src/sys/sys/sysproto.h,v 1.177 2005/07/08 15:06:58 jhb Exp $
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.198 2005/07/08 15:01:13 jhb Exp 
  */
 
 #ifndef _SYS_SYSPROTO_H_



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