if_wl.c (60536) | if_wl.c (61011) |
---|---|
1/* $FreeBSD: head/sys/dev/wl/if_wl.c 60536 2000-05-14 02:18:43Z archie $ */ | 1/* $FreeBSD: head/sys/dev/wl/if_wl.c 61011 2000-05-28 13:40:48Z peter $ */ |
2/* 3 * Redistribution and use in source and binary forms, with or without 4 * modification, are permitted provided that the following conditions 5 * are met: 6 * 1. Redistributions of source code must retain all copyright 7 * notices, this list of conditions and the following disclaimer. 8 * 2. The names of the authors may not be used to endorse or promote products 9 * derived from this software withough specific prior written permission --- 179 unchanged lines hidden (view full) --- 189 */ 190 191#include "wl.h" 192#include "opt_wavelan.h" 193#include "opt_inet.h" 194 195#include <sys/param.h> 196#include <sys/systm.h> | 2/* 3 * Redistribution and use in source and binary forms, with or without 4 * modification, are permitted provided that the following conditions 5 * are met: 6 * 1. Redistributions of source code must retain all copyright 7 * notices, this list of conditions and the following disclaimer. 8 * 2. The names of the authors may not be used to endorse or promote products 9 * derived from this software withough specific prior written permission --- 179 unchanged lines hidden (view full) --- 189 */ 190 191#include "wl.h" 192#include "opt_wavelan.h" 193#include "opt_inet.h" 194 195#include <sys/param.h> 196#include <sys/systm.h> |
197#include <sys/kernel.h> |
|
197#include <sys/sockio.h> 198#include <sys/mbuf.h> 199#include <sys/socket.h> 200#include <sys/syslog.h> 201#include <sys/proc.h> | 198#include <sys/sockio.h> 199#include <sys/mbuf.h> 200#include <sys/socket.h> 201#include <sys/syslog.h> 202#include <sys/proc.h> |
203#include <sys/bus.h> |
|
202 | 204 |
203#include <sys/kernel.h> | |
204#include <sys/sysctl.h> 205 206#include <net/ethernet.h> 207#include <net/if.h> 208#include <net/if_dl.h> 209 210#ifdef INET 211#include <netinet/in.h> --- 10 unchanged lines hidden (view full) --- 222 223#include <i386/isa/ic/if_wl_i82586.h> /* Definitions for the Intel chip */ 224 225/* was 1000 in original, fed to DELAY(x) */ 226#define DELAYCONST 1000 227#include <i386/isa/if_wl.h> 228#include <machine/if_wl_wavelan.h> 229 | 205#include <sys/sysctl.h> 206 207#include <net/ethernet.h> 208#include <net/if.h> 209#include <net/if_dl.h> 210 211#ifdef INET 212#include <netinet/in.h> --- 10 unchanged lines hidden (view full) --- 223 224#include <i386/isa/ic/if_wl_i82586.h> /* Definitions for the Intel chip */ 225 226/* was 1000 in original, fed to DELAY(x) */ 227#define DELAYCONST 1000 228#include <i386/isa/if_wl.h> 229#include <machine/if_wl_wavelan.h> 230 |
231#ifndef COMPAT_OLDISA 232#error "The wl device requires the old isa compatibility shims" 233#endif 234 |
|
230static char t_packet[ETHERMTU + sizeof(struct ether_header) + sizeof(long)]; 231 232struct wl_softc{ 233 struct arpcom wl_ac; /* Ethernet common part */ 234#define wl_if wl_ac.ac_if /* network visible interface */ 235#define wl_addr wl_ac.ac_enaddr /* hardware address */ 236 u_char psa[0x40]; 237 u_char nwid[2]; /* current radio modem nwid */ --- 20 unchanged lines hidden (view full) --- 258static struct wl_softc wl_softc[NWL]; 259 260#define WLSOFTC(unit) ((struct wl_softc *)(&wl_softc[unit])) 261 262static int wlprobe(struct isa_device *); 263static int wlattach(struct isa_device *); 264 265struct isa_driver wldriver = { | 235static char t_packet[ETHERMTU + sizeof(struct ether_header) + sizeof(long)]; 236 237struct wl_softc{ 238 struct arpcom wl_ac; /* Ethernet common part */ 239#define wl_if wl_ac.ac_if /* network visible interface */ 240#define wl_addr wl_ac.ac_enaddr /* hardware address */ 241 u_char psa[0x40]; 242 u_char nwid[2]; /* current radio modem nwid */ --- 20 unchanged lines hidden (view full) --- 263static struct wl_softc wl_softc[NWL]; 264 265#define WLSOFTC(unit) ((struct wl_softc *)(&wl_softc[unit])) 266 267static int wlprobe(struct isa_device *); 268static int wlattach(struct isa_device *); 269 270struct isa_driver wldriver = { |
266 wlprobe, wlattach, "wl", 0 | 271 INTR_TYPE_NET, 272 wlprobe, 273 wlattach, 274 "wl", 275 0 |
267}; | 276}; |
277COMPAT_ISA_DRIVER(wl, wldriver); |
|
268 269/* 270 * XXX The Wavelan appears to be prone to dropping stuff if you talk to 271 * it too fast. This disgusting hack inserts a delay after each packet 272 * is queued which helps avoid this behaviour on fast systems. 273 */ 274static int wl_xmit_delay = 250; 275SYSCTL_INT(_machdep, OID_AUTO, wl_xmit_delay, CTLFLAG_RW, &wl_xmit_delay, 0, ""); --- 2381 unchanged lines hidden --- | 278 279/* 280 * XXX The Wavelan appears to be prone to dropping stuff if you talk to 281 * it too fast. This disgusting hack inserts a delay after each packet 282 * is queued which helps avoid this behaviour on fast systems. 283 */ 284static int wl_xmit_delay = 250; 285SYSCTL_INT(_machdep, OID_AUTO, wl_xmit_delay, CTLFLAG_RW, &wl_xmit_delay, 0, ""); --- 2381 unchanged lines hidden --- |