Date: Sun, 8 Jun 2008 15:04:12 GMT From: Hans Petter Selasky <hselasky@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 143121 for review Message-ID: <200806081504.m58F4CtW034713@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=143121 Change 143121 by hselasky@hselasky_laptop001 on 2008/06/08 15:03:46 IFC @ 143119 Catch up with Sam's latest changes. Affected files ... .. //depot/projects/usb/src/sys/compat/linux/linux_file.c#9 integrate .. //depot/projects/usb/src/sys/conf/NOTES#13 integrate .. //depot/projects/usb/src/sys/conf/files.powerpc#9 integrate .. //depot/projects/usb/src/sys/dev/age/if_age.c#2 integrate .. //depot/projects/usb/src/sys/dev/ath/if_ath.c#9 integrate .. //depot/projects/usb/src/sys/dev/bm/if_bm.c#1 branch .. //depot/projects/usb/src/sys/dev/bm/if_bmreg.h#1 branch .. //depot/projects/usb/src/sys/dev/bm/if_bmvar.h#1 branch .. //depot/projects/usb/src/sys/dev/dc/if_dc.c#7 integrate .. //depot/projects/usb/src/sys/dev/iwi/if_iwi.c#9 integrate .. //depot/projects/usb/src/sys/dev/iwn/if_iwn.c#2 integrate .. //depot/projects/usb/src/sys/dev/mii/lxtphy.c#4 integrate .. //depot/projects/usb/src/sys/dev/ral/rt2560.c#9 integrate .. //depot/projects/usb/src/sys/dev/ral/rt2661.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/if_rum.c#32 edit .. //depot/projects/usb/src/sys/dev/usb/if_ural.c#58 edit .. //depot/projects/usb/src/sys/dev/usb/if_zyd.c#39 edit .. //depot/projects/usb/src/sys/dev/wpi/if_wpi.c#4 integrate .. //depot/projects/usb/src/sys/mips/include/pte.h#2 integrate .. //depot/projects/usb/src/sys/mips/mips/trap.c#2 integrate .. //depot/projects/usb/src/sys/modules/Makefile#14 integrate .. //depot/projects/usb/src/sys/modules/bm/Makefile#1 branch .. //depot/projects/usb/src/sys/net80211/ieee80211_node.c#8 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_var.h#8 integrate .. //depot/projects/usb/src/sys/powerpc/conf/GENERIC#9 integrate .. //depot/projects/usb/src/sys/powerpc/conf/NOTES#8 integrate .. //depot/projects/usb/src/sys/powerpc/include/dbdma.h#1 branch .. //depot/projects/usb/src/sys/powerpc/powermac/dbdma.c#1 branch .. //depot/projects/usb/src/sys/powerpc/powermac/dbdmavar.h#1 branch Differences ... ==== //depot/projects/usb/src/sys/compat/linux/linux_file.c#9 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_file.c,v 1.113 2008/04/23 15:56:33 rdivacky Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_file.c,v 1.114 2008/06/08 11:09:25 rdivacky Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -289,7 +289,7 @@ */ struct l_dirent { - l_long d_ino; + l_ulong d_ino; l_off_t d_off; l_ushort d_reclen; char d_name[LINUX_NAME_MAX + 1]; @@ -446,7 +446,7 @@ if (justone) { /* readdir(2) case. */ - linux_dirent.d_ino = (l_long)bdp->d_fileno; + linux_dirent.d_ino = bdp->d_fileno; linux_dirent.d_off = (l_off_t)linuxreclen; linux_dirent.d_reclen = (l_ushort)bdp->d_namlen; strcpy(linux_dirent.d_name, bdp->d_name); ==== //depot/projects/usb/src/sys/conf/NOTES#13 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1492 2008/05/27 01:54:45 yongari Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1494 2008/06/08 01:58:11 marcel Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # ==== //depot/projects/usb/src/sys/conf/files.powerpc#9 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.powerpc,v 1.77 2008/04/30 00:50:50 marcel Exp $ +# $FreeBSD: src/sys/conf/files.powerpc,v 1.79 2008/06/07 22:58:32 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -27,6 +27,7 @@ crypto/blowfish/bf_enc.c optional crypto | ipsec crypto/des/des_enc.c optional crypto | ipsec | netsmb +dev/bm/if_bm.c optional bm powermac dev/fb/fb.c optional sc dev/hwpmc/hwpmc_powerpc.c optional hwpmc dev/kbd/kbd.c optional sc @@ -107,6 +108,7 @@ powerpc/ofw/ofw_syscons.c optional sc aim powerpc/powermac/ata_kauai.c optional powermac ata powerpc/powermac/ata_macio.c optional powermac ata +powerpc/powermac/dbdma.c optional powermac pci powerpc/powermac/grackle.c optional powermac pci powerpc/powermac/hrowpic.c optional powermac pci powerpc/powermac/macio.c optional powermac pci ==== //depot/projects/usb/src/sys/dev/age/if_age.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ /* Driver for Attansic Technology Corp. L1 Gigabit Ethernet. */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/age/if_age.c,v 1.1 2008/05/19 01:39:59 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/age/if_age.c,v 1.2 2008/06/08 14:42:43 rpaulo Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -387,7 +387,7 @@ * specification such that driver could not use * pci_get_vpd_readonly(9) with keyword 'NA'. * Search VPD data starting at address 0x0100. The data - * chwould be used as initializers to set AGE_PAR0, + * should be used as initializers to set AGE_PAR0, * AGE_PAR1 register including other PCI configuration * registers. */ ==== //depot/projects/usb/src/sys/dev/ath/if_ath.c#9 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.190 2008/05/29 00:14:35 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.191 2008/06/07 18:38:02 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -169,7 +169,8 @@ struct ath_descdma *, ath_bufhead *); static int ath_desc_alloc(struct ath_softc *); static void ath_desc_free(struct ath_softc *); -static struct ieee80211_node *ath_node_alloc(struct ieee80211_node_table *); +static struct ieee80211_node *ath_node_alloc(struct ieee80211vap *, + const uint8_t [IEEE80211_ADDR_LEN]); static void ath_node_free(struct ieee80211_node *); static void ath_node_getsignal(const struct ieee80211_node *, int8_t *, int8_t *); @@ -3659,9 +3660,9 @@ } static struct ieee80211_node * -ath_node_alloc(struct ieee80211_node_table *nt) +ath_node_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN]) { - struct ieee80211com *ic = nt->nt_ic; + struct ieee80211com *ic = vap->iv_ic; struct ath_softc *sc = ic->ic_ifp->if_softc; const size_t space = sizeof(struct ath_node) + sc->sc_rc->arc_space; struct ath_node *an; ==== //depot/projects/usb/src/sys/dev/dc/if_dc.c#7 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/dc/if_dc.c,v 1.194 2008/03/24 17:38:24 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/dc/if_dc.c,v 1.195 2008/06/08 02:52:26 yongari Exp $"); /* * DEC "tulip" clone ethernet driver. Supports the DEC/Intel 21143 @@ -1141,7 +1141,7 @@ static void dc_setfilt_admtek(struct dc_softc *sc) { - uint32_t eaddr[(ETHER_ADDR_LEN+3)/4]; + uint8_t eaddr[ETHER_ADDR_LEN]; struct ifnet *ifp; struct ifmultiaddr *ifma; int h = 0; @@ -1151,8 +1151,9 @@ /* Init our MAC address. */ bcopy(IF_LLADDR(sc->dc_ifp), eaddr, ETHER_ADDR_LEN); - CSR_WRITE_4(sc, DC_AL_PAR0, eaddr[0]); - CSR_WRITE_4(sc, DC_AL_PAR1, eaddr[1]); + CSR_WRITE_4(sc, DC_AL_PAR0, eaddr[3] << 24 | eaddr[2] << 16 | + eaddr[1] << 8 | eaddr[0]); + CSR_WRITE_4(sc, DC_AL_PAR1, eaddr[5] << 8 | eaddr[4]); /* If we want promiscuous mode, set the allframes bit. */ if (ifp->if_flags & IFF_PROMISC) @@ -1812,7 +1813,7 @@ u_int32_t command; struct dc_softc *sc; struct ifnet *ifp; - u_int32_t revision; + u_int32_t reg, revision; int error = 0, rid, mac_offset; int i; u_int8_t *mac; @@ -2052,8 +2053,15 @@ break; case DC_TYPE_AL981: case DC_TYPE_AN985: - eaddr[0] = CSR_READ_4(sc, DC_AL_PAR0); - eaddr[1] = CSR_READ_4(sc, DC_AL_PAR1); + reg = CSR_READ_4(sc, DC_AL_PAR0); + mac = (uint8_t *)&eaddr[0]; + mac[0] = (reg >> 0) & 0xff; + mac[1] = (reg >> 8) & 0xff; + mac[2] = (reg >> 16) & 0xff; + mac[3] = (reg >> 24) & 0xff; + reg = CSR_READ_4(sc, DC_AL_PAR1); + mac[4] = (reg >> 0) & 0xff; + mac[5] = (reg >> 8) & 0xff; break; case DC_TYPE_CONEXANT: bcopy(sc->dc_srom + DC_CONEXANT_EE_NODEADDR, &eaddr, ==== //depot/projects/usb/src/sys/dev/iwi/if_iwi.c#9 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.62 2008/05/12 00:15:28 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.63 2008/06/07 18:38:02 sam Exp $"); /*- * Intel(R) PRO/Wireless 2200BG/2225BG/2915ABG driver @@ -147,7 +147,8 @@ int); static void iwi_reset_rx_ring(struct iwi_softc *, struct iwi_rx_ring *); static void iwi_free_rx_ring(struct iwi_softc *, struct iwi_rx_ring *); -static struct ieee80211_node *iwi_node_alloc(struct ieee80211_node_table *); +static struct ieee80211_node *iwi_node_alloc(struct ieee80211vap *, + const uint8_t [IEEE80211_ADDR_LEN]); static void iwi_node_free(struct ieee80211_node *); static void iwi_media_status(struct ifnet *, struct ifmediareq *); static int iwi_newstate(struct ieee80211vap *, enum ieee80211_state, int); @@ -903,14 +904,14 @@ } static struct ieee80211_node * -iwi_node_alloc(struct ieee80211_node_table *nt) +iwi_node_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN]) { struct iwi_node *in; in = malloc(sizeof (struct iwi_node), M_80211_NODE, M_NOWAIT | M_ZERO); if (in == NULL) return NULL; - + /* XXX assign sta table entry for adhoc */ in->in_station = -1; return &in->in_node; ==== //depot/projects/usb/src/sys/dev/iwn/if_iwn.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/iwn/if_iwn.c,v 1.6 2008/05/26 07:40:14 delphij Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iwn/if_iwn.c,v 1.7 2008/06/07 18:38:02 sam Exp $"); #include <sys/param.h> #include <sys/sockio.h> @@ -103,7 +103,8 @@ int); void iwn_reset_tx_ring(struct iwn_softc *, struct iwn_tx_ring *); void iwn_free_tx_ring(struct iwn_softc *, struct iwn_tx_ring *); -struct ieee80211_node *iwn_node_alloc(struct ieee80211_node_table *); +static struct ieee80211_node *iwn_node_alloc(struct ieee80211vap *, + const uint8_t [IEEE80211_ADDR_LEN]); void iwn_newassoc(struct ieee80211_node *, int); int iwn_media_change(struct ifnet *); int iwn_newstate(struct ieee80211vap *, enum ieee80211_state, int); @@ -941,7 +942,7 @@ } struct ieee80211_node * -iwn_node_alloc(struct ieee80211_node_table *ic) +iwn_node_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN]) { return malloc(sizeof (struct iwn_node), M_80211_NODE,M_NOWAIT | M_ZERO); } ==== //depot/projects/usb/src/sys/dev/mii/lxtphy.c#4 (text+ko) ==== @@ -68,7 +68,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/mii/lxtphy.c,v 1.19 2007/01/12 22:27:46 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mii/lxtphy.c,v 1.20 2008/06/07 22:58:32 marcel Exp $"); /* * driver for Level One's LXT-970 ethernet 10/100 PHY @@ -139,6 +139,7 @@ struct mii_softc *sc; struct mii_attach_args *ma; struct mii_data *mii; + const char *nic; sc = device_get_softc(dev); ma = device_get_ivars(dev); @@ -159,6 +160,15 @@ PHY_READ(sc, MII_BMSR) & ma->mii_capmask; device_printf(dev, " "); + /* + * On Apple BMAC controllers, we end up in a weird state + * of partially-completed autonegotiation on boot. So + * force autonegotation to try again. + */ + nic = device_get_name(device_get_parent(sc->mii_dev)); + if (strcmp(nic, "bm") == 0) + sc->mii_flags |= MIIF_FORCEANEG | MIIF_NOISOLATE; + #define ADD(m, c) ifmedia_add(&mii->mii_media, (m), (c), NULL) ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_FX, 0, sc->mii_inst), MII_MEDIA_100_TX); ==== //depot/projects/usb/src/sys/dev/ral/rt2560.c#9 (text) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/ral/rt2560.c,v 1.25 2008/05/12 00:32:52 sam Exp $ */ +/* $FreeBSD: src/sys/dev/ral/rt2560.c,v 1.26 2008/06/07 18:38:02 sam Exp $ */ /*- * Copyright (c) 2005, 2006 @@ -18,7 +18,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ral/rt2560.c,v 1.25 2008/05/12 00:32:52 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ral/rt2560.c,v 1.26 2008/06/07 18:38:02 sam Exp $"); /*- * Ralink Technology RT2560 chipset driver @@ -104,8 +104,8 @@ struct rt2560_rx_ring *); static void rt2560_free_rx_ring(struct rt2560_softc *, struct rt2560_rx_ring *); -static struct ieee80211_node *rt2560_node_alloc( - struct ieee80211_node_table *); +static struct ieee80211_node *rt2560_node_alloc(struct ieee80211vap *, + const uint8_t [IEEE80211_ADDR_LEN]); static void rt2560_newassoc(struct ieee80211_node *, int); static int rt2560_newstate(struct ieee80211vap *, enum ieee80211_state, int); @@ -767,7 +767,8 @@ } static struct ieee80211_node * -rt2560_node_alloc(struct ieee80211_node_table *nt) +rt2560_node_alloc(struct ieee80211vap *vap, + const uint8_t mac[IEEE80211_ADDR_LEN]) { struct rt2560_node *rn; ==== //depot/projects/usb/src/sys/dev/ral/rt2661.c#9 (text) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/ral/rt2661.c,v 1.25 2008/05/12 00:32:52 sam Exp $ */ +/* $FreeBSD: src/sys/dev/ral/rt2661.c,v 1.26 2008/06/07 18:38:02 sam Exp $ */ /*- * Copyright (c) 2006 @@ -18,7 +18,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ral/rt2661.c,v 1.25 2008/05/12 00:32:52 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ral/rt2661.c,v 1.26 2008/06/07 18:38:02 sam Exp $"); /*- * Ralink Technology RT2561, RT2561S and RT2661 chipset driver @@ -101,8 +101,8 @@ struct rt2661_rx_ring *); static void rt2661_free_rx_ring(struct rt2661_softc *, struct rt2661_rx_ring *); -static struct ieee80211_node *rt2661_node_alloc( - struct ieee80211_node_table *); +static struct ieee80211_node *rt2661_node_alloc(struct ieee80211vap *, + const uint8_t [IEEE80211_ADDR_LEN]); static void rt2661_newassoc(struct ieee80211_node *, int); static int rt2661_newstate(struct ieee80211vap *, enum ieee80211_state, int); @@ -776,7 +776,8 @@ } static struct ieee80211_node * -rt2661_node_alloc(struct ieee80211_node_table *nt) +rt2661_node_alloc(struct ieee80211vap *vap, + const uint8_t mac[IEEE80211_ADDR_LEN]) { struct rt2661_node *rn; ==== //depot/projects/usb/src/sys/dev/usb/if_rum.c#32 (text+ko) ==== @@ -147,7 +147,7 @@ static uint8_t rum_get_rssi(struct rum_softc *sc, uint8_t raw); static struct ieee80211vap *rum_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], int unit, int opmode, int flags, const uint8_t bssid[IEEE80211_ADDR_LEN], const uint8_t mac[IEEE80211_ADDR_LEN]); static void rum_vap_delete(struct ieee80211vap *); -static struct ieee80211_node *rum_node_alloc(struct ieee80211_node_table *); +static struct ieee80211_node *rum_node_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN]); static void rum_newassoc(struct ieee80211_node *, int); static void rum_cfg_disable_tsf_sync(struct rum_softc *sc); static void rum_cfg_set_run(struct rum_softc *sc, struct rum_config_copy *cc); @@ -2395,7 +2395,6 @@ /* init AMRR */ ieee80211_amrr_node_init(&RUM_VAP(vap)->amrr, &RUM_NODE(ni)->amn, ni); - XXX; /* enable AMRR timer */ @@ -2614,8 +2613,10 @@ return; } +/* ARGUSED */ static struct ieee80211_node * -rum_node_alloc(struct ieee80211_node_table *nt) +rum_node_alloc(struct ieee80211vap *vap __unused, + const uint8_t mac[IEEE80211_ADDR_LEN] __unused) { struct rum_node *rn; ==== //depot/projects/usb/src/sys/dev/usb/if_ural.c#58 (text+ko) ==== @@ -1,3 +1,5 @@ +/* $FreeBSD: src/sys/dev/usb/if_ural.c,v 1.74 2008/06/07 18:38:02 sam Exp $ */ + /*- * Copyright (c) 2005, 2006 * Damien Bergamini <damien.bergamini@free.fr> @@ -26,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/usb/if_ural.c,v 1.73 2008/05/12 00:32:52 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_ural.c,v 1.74 2008/06/07 18:38:02 sam Exp $"); /*- * Ralink Technology RT2500USB chipset driver @@ -151,7 +153,7 @@ static void ural_cfg_amrr_start(struct ural_softc *sc); static struct ieee80211vap *ural_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], int unit, int opmode, int flags, const uint8_t bssid[IEEE80211_ADDR_LEN], const uint8_t mac[IEEE80211_ADDR_LEN]); static void ural_vap_delete(struct ieee80211vap *); -static struct ieee80211_node *ural_node_alloc(struct ieee80211_node_table *); +static struct ieee80211_node *ural_node_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN]); static void ural_newassoc(struct ieee80211_node *, int); static void ural_cfg_disable_tsf_sync(struct ural_softc *sc); static void ural_cfg_set_run(struct ural_softc *sc, struct ural_config_copy *cc); @@ -2304,8 +2306,6 @@ /* init AMRR */ ieee80211_amrr_node_init(&URAL_VAP(vap)->amrr, &URAL_NODE(ni)->amn, ni); - XXX; - /* enable AMRR timer */ sc->sc_amrr_timer = 1; @@ -2402,8 +2402,10 @@ return; } +/* ARGUSED */ static struct ieee80211_node * -ural_node_alloc(struct ieee80211_node_table *nt) +ural_node_alloc(struct ieee80211vap *vap __unused, + const uint8_t mac[IEEE80211_ADDR_LEN] __unused) { struct ural_node *un; ==== //depot/projects/usb/src/sys/dev/usb/if_zyd.c#39 (text+ko) ==== @@ -149,7 +149,7 @@ static void zyd_cfg_set_led(struct zyd_softc *sc, uint32_t which, uint8_t on); static struct ieee80211vap *zyd_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], int unit, int opmode, int flags, const uint8_t bssid[IEEE80211_ADDR_LEN], const uint8_t mac[IEEE80211_ADDR_LEN]); static void zyd_vap_delete(struct ieee80211vap *); -static struct ieee80211_node *zyd_node_alloc_cb(struct ieee80211_node_table *); +static struct ieee80211_node *zyd_node_alloc_cb(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN]); static void zyd_cfg_set_run(struct zyd_softc *sc, struct zyd_config_copy *cc); static void zyd_fill_write_queue(struct zyd_softc *sc); static void zyd_tx_clean_queue(struct zyd_softc *sc); @@ -3045,8 +3045,10 @@ free(zvp, M_80211_VAP); } +/* ARGUSED */ static struct ieee80211_node * -zyd_node_alloc_cb(struct ieee80211_node_table *nt) +zyd_node_alloc_cb(struct ieee80211vap *vap __unused, + const uint8_t mac[IEEE80211_ADDR_LEN] __unused) { struct zyd_node *zn; ==== //depot/projects/usb/src/sys/dev/wpi/if_wpi.c#4 (text+ko) ==== @@ -19,7 +19,7 @@ #define VERSION "20071127" #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/wpi/if_wpi.c,v 1.14 2008/05/16 04:15:54 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/wpi/if_wpi.c,v 1.15 2008/06/07 18:38:02 sam Exp $"); /* * Driver for Intel PRO/Wireless 3945ABG 802.11 network adapters. @@ -170,7 +170,8 @@ int, int); static void wpi_reset_tx_ring(struct wpi_softc *, struct wpi_tx_ring *); static void wpi_free_tx_ring(struct wpi_softc *, struct wpi_tx_ring *); -static struct ieee80211_node *wpi_node_alloc(struct ieee80211_node_table *); +static struct ieee80211_node *wpi_node_alloc(struct ieee80211vap *, + const uint8_t mac[IEEE80211_ADDR_LEN]); static int wpi_newstate(struct ieee80211vap *, enum ieee80211_state, int); static void wpi_mem_lock(struct wpi_softc *); static void wpi_mem_unlock(struct wpi_softc *); @@ -1246,7 +1247,8 @@ /* ARGSUSED */ static struct ieee80211_node * -wpi_node_alloc(struct ieee80211_node_table *ic) +wpi_node_alloc(struct ieee80211vap *vap __unused, + const uint8_t mac[IEEE80211_ADDR_LEN] __unused) { struct wpi_node *wn; ==== //depot/projects/usb/src/sys/mips/include/pte.h#2 (text+ko) ==== @@ -40,7 +40,7 @@ * from: Utah Hdr: pte.h 1.11 89/09/03 * from: @(#)pte.h 8.1 (Berkeley) 6/10/93 * JNPR: pte.h,v 1.1.4.1 2007/09/10 06:20:19 girish - * $FreeBSD: src/sys/mips/include/pte.h,v 1.1 2008/04/13 07:22:52 imp Exp $ + * $FreeBSD: src/sys/mips/include/pte.h,v 1.2 2008/06/08 08:56:46 wkoszek Exp $ */ #ifndef _MACHINE_PTE_H_ @@ -121,7 +121,7 @@ #define vad_to_pfn64(x) ((quad_t)(x) >> PTE_SHIFT) & PTE_FRAME) #define pfn_to_vad(x) (((x) & PTE_FRAME) << PTE_SHIFT) -/* User viritual to pte offset in page table */ +/* User virtual to pte offset in page table */ #define vad_to_pte_offset(adr) (((adr) >> PGSHIFT) & (NPTEPG -1)) #define mips_pg_v(entry) ((entry) & PTE_V) ==== //depot/projects/usb/src/sys/mips/mips/trap.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ * JNPR: trap.c,v 1.13.2.2 2007/08/29 10:03:49 girish */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/mips/mips/trap.c,v 1.1 2008/04/13 07:27:37 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/mips/mips/trap.c,v 1.2 2008/06/08 08:56:46 wkoszek Exp $"); #include "opt_ddb.h" #include "opt_global.h" @@ -140,7 +140,7 @@ MipsKernGenException, /* coprocessor unusable */ MipsKernGenException, /* arithmetic overflow */ MipsKernGenException, /* trap exception */ - MipsKernGenException, /* viritual coherence exception inst */ + MipsKernGenException, /* virtual coherence exception inst */ MipsKernGenException, /* floating point exception */ MipsKernGenException, /* reserved */ MipsKernGenException, /* reserved */ @@ -157,7 +157,7 @@ MipsKernGenException, /* reserved */ MipsKernGenException, /* reserved */ MipsKernGenException, /* reserved */ - MipsKernGenException, /* viritual coherence exception data */ + MipsKernGenException, /* virtual coherence exception data */ /* * The user exception handlers. */ @@ -210,7 +210,7 @@ "coprocessor unusable", "arithmetic overflow", "trap", - "viritual coherency instruction", + "virtual coherency instruction", "floating point", "reserved 16", "reserved 17", @@ -227,7 +227,7 @@ "reserved 28", "reserved 29", "reserved 30", - "viritual coherency data", + "virtual coherency data", }; #if !defined(SMP) && (defined(DDB) || defined(DEBUG)) ==== //depot/projects/usb/src/sys/modules/Makefile#14 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/modules/Makefile,v 1.571 2008/05/28 20:26:25 jhb Exp $ +# $FreeBSD: src/sys/modules/Makefile,v 1.572 2008/06/07 22:58:32 marcel Exp $ .include <bsd.own.mk> @@ -40,6 +40,7 @@ bge \ ${_bios} \ ${_bktr} \ + ${_bm} \ bridgestp \ cam \ ${_canbepm} \ @@ -629,6 +630,7 @@ _ath_rate_amrr= ath_rate_amrr _ath_rate_onoe= ath_rate_onoe _ath_rate_sample=ath_rate_sample +_bm= bm _nvram= powermac_nvram _smbfs= smbfs .endif ==== //depot/projects/usb/src/sys/net80211/ieee80211_node.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.95 2008/05/28 23:18:17 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.99 2008/06/07 18:38:02 sam Exp $"); #include "opt_wlan.h" @@ -67,7 +67,8 @@ static int ieee80211_sta_join1(struct ieee80211_node *); -static struct ieee80211_node *node_alloc(struct ieee80211_node_table *); +static struct ieee80211_node *node_alloc(struct ieee80211vap *, + const uint8_t [IEEE80211_ADDR_LEN]); static void node_cleanup(struct ieee80211_node *); static void node_free(struct ieee80211_node *); static void node_age(struct ieee80211_node *); @@ -723,7 +724,7 @@ } static struct ieee80211_node * -node_alloc(struct ieee80211_node_table *nt) +node_alloc(struct ieee80211vap *vap, const uint8_t macaddr[IEEE80211_ADDR_LEN]) { struct ieee80211_node *ni; @@ -948,7 +949,7 @@ struct ieee80211_node *ni; int hash; - ni = ic->ic_node_alloc(nt); + ni = ic->ic_node_alloc(vap, macaddr); if (ni == NULL) { vap->iv_stats.is_rx_nodealloc++; return NULL; @@ -996,7 +997,7 @@ struct ieee80211com *ic = vap->iv_ic; struct ieee80211_node *ni; - ni = ic->ic_node_alloc(&ic->ic_sta); + ni = ic->ic_node_alloc(vap, macaddr); if (ni != NULL) { IEEE80211_DPRINTF(vap, IEEE80211_MSG_NODE, "%s %p<%s>\n", __func__, ni, ether_sprintf(macaddr)); @@ -1482,21 +1483,30 @@ static void _ieee80211_free_node(struct ieee80211_node *ni) { - struct ieee80211vap *vap = ni->ni_vap; struct ieee80211_node_table *nt = ni->ni_table; + /* + * NB: careful about referencing the vap as it may be + * gone if the last reference was held by a driver. + * We know the com will always be present so it's safe + * to use ni_ic below to reclaim resources. + */ +#if 0 IEEE80211_DPRINTF(vap, IEEE80211_MSG_NODE, "%s %p<%s> in %s table\n", __func__, ni, ether_sprintf(ni->ni_macaddr), nt != NULL ? nt->nt_name : "<gone>"); - - if (vap->iv_aid_bitmap != NULL) - IEEE80211_AID_CLR(vap, ni->ni_associd); +#endif + if (ni->ni_associd != 0) { + struct ieee80211vap *vap = ni->ni_vap; + if (vap->iv_aid_bitmap != NULL) + IEEE80211_AID_CLR(vap, ni->ni_associd); + } if (nt != NULL) { TAILQ_REMOVE(&nt->nt_node, ni, ni_list); LIST_REMOVE(ni, ni_hash); } - vap->iv_ic->ic_node_free(ni); + ni->ni_ic->ic_node_free(ni); } void @@ -1551,9 +1561,8 @@ int ieee80211_node_delucastkey(struct ieee80211_node *ni) { - struct ieee80211vap *vap = ni->ni_vap; - /* XXX is ni_table safe? */ - struct ieee80211_node_table *nt = &ni->ni_ic->ic_sta; + struct ieee80211com *ic = ni->ni_ic; + struct ieee80211_node_table *nt = &ic->ic_sta; struct ieee80211_node *nikey; ieee80211_keyix keyix; int isowned, status; @@ -1573,20 +1582,23 @@ isowned = IEEE80211_NODE_IS_LOCKED(nt); if (!isowned) IEEE80211_NODE_LOCK(nt); - keyix = ni->ni_ucastkey.wk_rxkeyix; - status = ieee80211_crypto_delkey(vap, &ni->ni_ucastkey); - if (nt->nt_keyixmap != NULL && keyix < nt->nt_keyixmax) { - nikey = nt->nt_keyixmap[keyix]; - nt->nt_keyixmap[keyix] = NULL;; - } else - nikey = NULL; + nikey = NULL; + status = 1; /* NB: success */ + if (!IEEE80211_KEY_UNDEFINED(&ni->ni_ucastkey)) { + keyix = ni->ni_ucastkey.wk_rxkeyix; + status = ieee80211_crypto_delkey(ni->ni_vap, &ni->ni_ucastkey); + if (nt->nt_keyixmap != NULL && keyix < nt->nt_keyixmax) { + nikey = nt->nt_keyixmap[keyix]; + nt->nt_keyixmap[keyix] = NULL;; + } + } if (!isowned) IEEE80211_NODE_UNLOCK(nt); if (nikey != NULL) { KASSERT(nikey == ni, ("key map out of sync, ni %p nikey %p", ni, nikey)); - IEEE80211_DPRINTF(vap, IEEE80211_MSG_NODE, + IEEE80211_DPRINTF(ni->ni_vap, IEEE80211_MSG_NODE, "%s: delete key map entry %p<%s> refcnt %d\n", __func__, ni, ether_sprintf(ni->ni_macaddr), ieee80211_node_refcnt(ni)-1); @@ -2077,8 +2089,8 @@ (ieee80211_iter_func *) ieee80211_dump_node, nt); } -void -ieee80211_notify_erp(struct ieee80211com *ic) +static void +ieee80211_notify_erp_locked(struct ieee80211com *ic) { struct ieee80211vap *vap; @@ -2089,6 +2101,14 @@ ieee80211_beacon_notify(vap, IEEE80211_BEACON_ERP); } +void +ieee80211_notify_erp(struct ieee80211com *ic) +{ + IEEE80211_LOCK(ic); + ieee80211_notify_erp_locked(ic); + IEEE80211_UNLOCK(ic); +} + /* * Handle a station joining an 11g network. */ @@ -2151,7 +2171,7 @@ IEEE80211_DPRINTF(ni->ni_vap, IEEE80211_MSG_ASSOC, "%s: enable use of protection\n", __func__); ic->ic_flags |= IEEE80211_F_USEPROT; - ieee80211_notify_erp(ic); + ieee80211_notify_erp_locked(ic); } } else ni->ni_flags |= IEEE80211_NODE_ERP; @@ -2177,8 +2197,7 @@ break; } if (aid >= vap->iv_max_aid) { - IEEE80211_SEND_MGMT(ni, resp, - IEEE80211_REASON_ASSOC_TOOMANY); + IEEE80211_SEND_MGMT(ni, resp, IEEE80211_STATUS_TOOMANY); ieee80211_node_leave(ni); return; } @@ -2241,7 +2260,7 @@ ic->ic_flags |= IEEE80211_F_SHPREAMBLE; ic->ic_flags &= ~IEEE80211_F_USEBARKER; } - ieee80211_notify_erp(ic); + ieee80211_notify_erp_locked(ic); } /* ==== //depot/projects/usb/src/sys/net80211/ieee80211_var.h#8 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/net80211/ieee80211_var.h,v 1.58 2008/05/28 23:19:20 sam Exp $ + * $FreeBSD: src/sys/net80211/ieee80211_var.h,v 1.59 2008/06/07 18:38:02 sam Exp $ */ #ifndef _NET80211_IEEE80211_VAR_H_ #define _NET80211_IEEE80211_VAR_H_ @@ -227,7 +227,8 @@ /* new station association callback/notification */ void (*ic_newassoc)(struct ieee80211_node *, int); /* node state management */ - struct ieee80211_node* (*ic_node_alloc)(struct ieee80211_node_table *); + struct ieee80211_node* (*ic_node_alloc)(struct ieee80211vap *, + const uint8_t [IEEE80211_ADDR_LEN]); void (*ic_node_free)(struct ieee80211_node *); void (*ic_node_cleanup)(struct ieee80211_node *); void (*ic_node_age)(struct ieee80211_node *); ==== //depot/projects/usb/src/sys/powerpc/conf/GENERIC#9 (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/powerpc/conf/GENERIC,v 1.78 2008/05/21 03:36:53 obrien Exp $ +# $FreeBSD: src/sys/powerpc/conf/GENERIC,v 1.79 2008/06/07 22:58:32 marcel Exp $ cpu AIM ident GENERIC @@ -106,6 +106,7 @@ # PCI Ethernet NICs that use the common MII bus controller code. device miibus # MII bus support device bge # Broadcom BCM570xx Gigabit Ethernet +device bm # Apple BMAC Ethernet device gem # Sun GEM/Sun ERI/Apple GMAC device dc # DEC/Intel 21143 and various workalikes device fxp # Intel EtherExpress PRO/100B (82557, 82558) ==== //depot/projects/usb/src/sys/powerpc/conf/NOTES#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/powerpc/conf/NOTES,v 1.17 2008/04/27 22:33:42 marcel Exp $ +# $FreeBSD: src/sys/powerpc/conf/NOTES,v 1.18 2008/06/08 01:58:11 marcel Exp $ # # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. @@ -24,6 +24,7 @@ # Standard busses device pci +device bm # Apple BMAC (Big Mac Ethernet) device ofwd # Open Firmware disks
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200806081504.m58F4CtW034713>