Deleted Added
full compact
if_wi.c (227309) if_wi.c (228621)
1/*-
2 * Copyright (c) 1997, 1998, 1999
3 * Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 46 unchanged lines hidden (view full) ---

55 * from the HCF Light code and corresponding documentation.
56 *
57 * This driver supports the ISA, PCMCIA and PCI versions of the Lucent
58 * WaveLan cards (based on the Hermes chipset), as well as the newer
59 * Prism 2 chipsets with firmware from Intersil and Symbol.
60 */
61
62#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 1997, 1998, 1999
3 * Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 46 unchanged lines hidden (view full) ---

55 * from the HCF Light code and corresponding documentation.
56 *
57 * This driver supports the ISA, PCMCIA and PCI versions of the Lucent
58 * WaveLan cards (based on the Hermes chipset), as well as the newer
59 * Prism 2 chipsets with firmware from Intersil and Symbol.
60 */
61
62#include <sys/cdefs.h>
63__FBSDID("$FreeBSD: head/sys/dev/wi/if_wi.c 227309 2011-11-07 15:43:11Z ed $");
63__FBSDID("$FreeBSD: head/sys/dev/wi/if_wi.c 228621 2011-12-17 10:23:17Z bschmidt $");
64
65#define WI_HERMES_STATS_WAR /* Work around stats counter bug. */
66
67#include <sys/param.h>
68#include <sys/systm.h>
69#include <sys/endian.h>
70#include <sys/sockio.h>
71#include <sys/mbuf.h>

--- 31 unchanged lines hidden (view full) ---

103#include <netinet/if_ether.h>
104
105#include <net/bpf.h>
106
107#include <dev/wi/if_wavelan_ieee.h>
108#include <dev/wi/if_wireg.h>
109#include <dev/wi/if_wivar.h>
110
64
65#define WI_HERMES_STATS_WAR /* Work around stats counter bug. */
66
67#include <sys/param.h>
68#include <sys/systm.h>
69#include <sys/endian.h>
70#include <sys/sockio.h>
71#include <sys/mbuf.h>

--- 31 unchanged lines hidden (view full) ---

103#include <netinet/if_ether.h>
104
105#include <net/bpf.h>
106
107#include <dev/wi/if_wavelan_ieee.h>
108#include <dev/wi/if_wireg.h>
109#include <dev/wi/if_wivar.h>
110
111static struct ieee80211vap *wi_vap_create(struct ieee80211com *ic,
112 const char name[IFNAMSIZ], int unit, int opmode, int flags,
113 const uint8_t bssid[IEEE80211_ADDR_LEN],
114 const uint8_t mac[IEEE80211_ADDR_LEN]);
111static struct ieee80211vap *wi_vap_create(struct ieee80211com *,
112 const char [IFNAMSIZ], int, enum ieee80211_opmode, int,
113 const uint8_t [IEEE80211_ADDR_LEN],
114 const uint8_t [IEEE80211_ADDR_LEN]);
115static void wi_vap_delete(struct ieee80211vap *vap);
116static void wi_stop_locked(struct wi_softc *sc, int disable);
117static void wi_start_locked(struct ifnet *);
118static void wi_start(struct ifnet *);
119static int wi_start_tx(struct ifnet *ifp, struct wi_frame *frmhdr,
120 struct mbuf *m0);
121static int wi_raw_xmit(struct ieee80211_node *, struct mbuf *,
122 const struct ieee80211_bpf_params *);

--- 379 unchanged lines hidden (view full) ---

502 bus_teardown_intr(dev, sc->irq, sc->wi_intrhand);
503 if_free(sc->sc_ifp);
504 wi_free(dev);
505 mtx_destroy(&sc->sc_mtx);
506 return (0);
507}
508
509static struct ieee80211vap *
115static void wi_vap_delete(struct ieee80211vap *vap);
116static void wi_stop_locked(struct wi_softc *sc, int disable);
117static void wi_start_locked(struct ifnet *);
118static void wi_start(struct ifnet *);
119static int wi_start_tx(struct ifnet *ifp, struct wi_frame *frmhdr,
120 struct mbuf *m0);
121static int wi_raw_xmit(struct ieee80211_node *, struct mbuf *,
122 const struct ieee80211_bpf_params *);

--- 379 unchanged lines hidden (view full) ---

502 bus_teardown_intr(dev, sc->irq, sc->wi_intrhand);
503 if_free(sc->sc_ifp);
504 wi_free(dev);
505 mtx_destroy(&sc->sc_mtx);
506 return (0);
507}
508
509static struct ieee80211vap *
510wi_vap_create(struct ieee80211com *ic,
511 const char name[IFNAMSIZ], int unit, int opmode, int flags,
512 const uint8_t bssid[IEEE80211_ADDR_LEN],
513 const uint8_t mac[IEEE80211_ADDR_LEN])
510wi_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], int unit,
511 enum ieee80211_opmode opmode, int flags,
512 const uint8_t bssid[IEEE80211_ADDR_LEN],
513 const uint8_t mac[IEEE80211_ADDR_LEN])
514{
515 struct wi_softc *sc = ic->ic_ifp->if_softc;
516 struct wi_vap *wvp;
517 struct ieee80211vap *vap;
518
519 if (!TAILQ_EMPTY(&ic->ic_vaps)) /* only one at a time */
520 return NULL;
521 wvp = (struct wi_vap *) malloc(sizeof(struct wi_vap),

--- 1604 unchanged lines hidden ---
514{
515 struct wi_softc *sc = ic->ic_ifp->if_softc;
516 struct wi_vap *wvp;
517 struct ieee80211vap *vap;
518
519 if (!TAILQ_EMPTY(&ic->ic_vaps)) /* only one at a time */
520 return NULL;
521 wvp = (struct wi_vap *) malloc(sizeof(struct wi_vap),

--- 1604 unchanged lines hidden ---