Deleted Added
full compact
if_wpi.c (222543) if_wpi.c (228621)
1/*-
2 * Copyright (c) 2006,2007
3 * Damien Bergamini <damien.bergamini@free.fr>
4 * Benjamin Close <Benjamin.Close@clearchain.com>
5 *
6 * Permission to use, copy, modify, and distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.

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

14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 */
18
19#define VERSION "20071127"
20
21#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2006,2007
3 * Damien Bergamini <damien.bergamini@free.fr>
4 * Benjamin Close <Benjamin.Close@clearchain.com>
5 *
6 * Permission to use, copy, modify, and distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.

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

14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 */
18
19#define VERSION "20071127"
20
21#include <sys/cdefs.h>
22__FBSDID("$FreeBSD: head/sys/dev/wpi/if_wpi.c 222543 2011-05-31 19:08:25Z bschmidt $");
22__FBSDID("$FreeBSD: head/sys/dev/wpi/if_wpi.c 228621 2011-12-17 10:23:17Z bschmidt $");
23
24/*
25 * Driver for Intel PRO/Wireless 3945ABG 802.11 network adapters.
26 *
27 * The 3945ABG network adapter doesn't use traditional hardware as
28 * many other adaptors do. Instead at run time the eeprom is set into a known
29 * state and told to load boot firmware. The boot firmware loads an init and a
30 * main binary firmware image into SRAM on the card via DMA.

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

152 { 0x8086, 0x4222, 0x1005, "Intel(R) PRO/Wireless 3945BG" },
153 { 0x8086, 0x4222, 0x1034, "Intel(R) PRO/Wireless 3945BG" },
154 { 0x8086, 0x4227, 0x1014, "Intel(R) PRO/Wireless 3945BG" },
155 { 0x8086, 0x4222, 0x1044, "Intel(R) PRO/Wireless 3945BG" },
156 { 0, 0, 0, NULL }
157};
158
159static struct ieee80211vap *wpi_vap_create(struct ieee80211com *,
23
24/*
25 * Driver for Intel PRO/Wireless 3945ABG 802.11 network adapters.
26 *
27 * The 3945ABG network adapter doesn't use traditional hardware as
28 * many other adaptors do. Instead at run time the eeprom is set into a known
29 * state and told to load boot firmware. The boot firmware loads an init and a
30 * main binary firmware image into SRAM on the card via DMA.

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

152 { 0x8086, 0x4222, 0x1005, "Intel(R) PRO/Wireless 3945BG" },
153 { 0x8086, 0x4222, 0x1034, "Intel(R) PRO/Wireless 3945BG" },
154 { 0x8086, 0x4227, 0x1014, "Intel(R) PRO/Wireless 3945BG" },
155 { 0x8086, 0x4222, 0x1044, "Intel(R) PRO/Wireless 3945BG" },
156 { 0, 0, 0, NULL }
157};
158
159static struct ieee80211vap *wpi_vap_create(struct ieee80211com *,
160 const char name[IFNAMSIZ], int unit, int opmode,
161 int flags, const uint8_t bssid[IEEE80211_ADDR_LEN],
162 const uint8_t mac[IEEE80211_ADDR_LEN]);
160 const char [IFNAMSIZ], int, enum ieee80211_opmode, int,
161 const uint8_t [IEEE80211_ADDR_LEN],
162 const uint8_t [IEEE80211_ADDR_LEN]);
163static void wpi_vap_delete(struct ieee80211vap *);
164static int wpi_dma_contig_alloc(struct wpi_softc *, struct wpi_dma_info *,
165 void **, bus_size_t, bus_size_t, int);
166static void wpi_dma_contig_free(struct wpi_dma_info *);
167static void wpi_dma_map_addr(void *, bus_dma_segment_t *, int, int);
168static int wpi_alloc_shared(struct wpi_softc *);
169static void wpi_free_shared(struct wpi_softc *);
170static int wpi_alloc_rx_ring(struct wpi_softc *, struct wpi_rx_ring *);

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

755 if_free(ifp);
756
757 WPI_LOCK_DESTROY(sc);
758
759 return 0;
760}
761
762static struct ieee80211vap *
163static void wpi_vap_delete(struct ieee80211vap *);
164static int wpi_dma_contig_alloc(struct wpi_softc *, struct wpi_dma_info *,
165 void **, bus_size_t, bus_size_t, int);
166static void wpi_dma_contig_free(struct wpi_dma_info *);
167static void wpi_dma_map_addr(void *, bus_dma_segment_t *, int, int);
168static int wpi_alloc_shared(struct wpi_softc *);
169static void wpi_free_shared(struct wpi_softc *);
170static int wpi_alloc_rx_ring(struct wpi_softc *, struct wpi_rx_ring *);

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

755 if_free(ifp);
756
757 WPI_LOCK_DESTROY(sc);
758
759 return 0;
760}
761
762static struct ieee80211vap *
763wpi_vap_create(struct ieee80211com *ic,
764 const char name[IFNAMSIZ], int unit, int opmode, int flags,
765 const uint8_t bssid[IEEE80211_ADDR_LEN],
766 const uint8_t mac[IEEE80211_ADDR_LEN])
763wpi_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], int unit,
764 enum ieee80211_opmode opmode, int flags,
765 const uint8_t bssid[IEEE80211_ADDR_LEN],
766 const uint8_t mac[IEEE80211_ADDR_LEN])
767{
768 struct wpi_vap *wvp;
769 struct ieee80211vap *vap;
770
771 if (!TAILQ_EMPTY(&ic->ic_vaps)) /* only one at a time */
772 return NULL;
773 wvp = (struct wpi_vap *) malloc(sizeof(struct wpi_vap),
774 M_80211_VAP, M_NOWAIT | M_ZERO);

--- 2948 unchanged lines hidden ---
767{
768 struct wpi_vap *wvp;
769 struct ieee80211vap *vap;
770
771 if (!TAILQ_EMPTY(&ic->ic_vaps)) /* only one at a time */
772 return NULL;
773 wvp = (struct wpi_vap *) malloc(sizeof(struct wpi_vap),
774 M_80211_VAP, M_NOWAIT | M_ZERO);

--- 2948 unchanged lines hidden ---