freebsd-dev/sys/dev
Bill Paul 21628ddbd6 This commit makes a big round of updates and fixes many, many things.
First and most importantly, I threw out the thread priority-twiddling
implementation of KeRaiseIrql()/KeLowerIrq()/KeGetCurrentIrql() in
favor of a new scheme that uses sleep mutexes. The old scheme was
really very naughty and sought to provide the same behavior as
Windows spinlocks (i.e. blocking pre-emption) but in a way that
wouldn't raise the ire of WITNESS. The new scheme represents
'DISPATCH_LEVEL' as the acquisition of a per-cpu sleep mutex. If
a thread on cpu0 acquires the 'dispatcher mutex,' it will block
any other thread on the same processor that tries to acquire it,
in effect only allowing one thread on the processor to be at
'DISPATCH_LEVEL' at any given time. It can then do the 'atomic sit
and spin' routine on the spinlock variable itself. If a thread on
cpu1 wants to acquire the same spinlock, it acquires the 'dispatcher
mutex' for cpu1 and then it too does an atomic sit and spin to try
acquiring the spinlock.

Unlike real spinlocks, this does not disable pre-emption of all
threads on the CPU, but it does put any threads involved with
the NDISulator to sleep, which is just as good for our purposes.

This means I can now play nice with WITNESS, and I can safely do
things like call malloc() when I'm at 'DISPATCH_LEVEL,' which
you're allowed to do in Windows.

Next, I completely re-wrote most of the event/timer/mutex handling
and wait code. KeWaitForSingleObject() and KeWaitForMultipleObjects()
have been re-written to use condition variables instead of msleep().
This allows us to use the Windows convention whereby thread A can
tell thread B "wake up with a boosted priority." (With msleep(), you
instead have thread B saying "when I get woken up, I'll use this
priority here," and thread A can't tell it to do otherwise.) The
new KeWaitForMultipleObjects() has been better tested and better
duplicates the semantics of its Windows counterpart.

I also overhauled the IoQueueWorkItem() API and underlying code.
Like KeInsertQueueDpc(), IoQueueWorkItem() must insure that the
same work item isn't put on the queue twice. ExQueueWorkItem(),
which in my implementation is built on top of IoQueueWorkItem(),
was also modified to perform a similar test.

I renamed the doubly-linked list macros to give them the same names
as their Windows counterparts and fixed RemoveListTail() and
RemoveListHead() so they properly return the removed item.

I also corrected the list handling code in ntoskrnl_dpc_thread()
and ntoskrnl_workitem_thread(). I realized that the original logic
did not correctly handle the case where a DPC callout tries to
queue up another DPC. It works correctly now.

I implemented IoConnectInterrupt() and IoDisconnectInterrupt() and
modified NdisMRegisterInterrupt() and NdisMDisconnectInterrupt() to
use them. I also tried to duplicate the interrupt handling scheme
used in Windows. The interrupt handling is now internal to ndis.ko,
and the ndis_intr() function has been removed from if_ndis.c. (In
the USB case, interrupt handling isn't needed in if_ndis.c anyway.)

NdisMSleep() has been rewritten to use a KeWaitForSingleObject()
and a KeTimer, which is how it works in Windows. (This is mainly
to insure that the NDISulator uses the KeTimer API so I can spot
any problems with it that may arise.)

KeCancelTimer() has been changed so that it only cancels timers, and
does not attempt to cancel a DPC if the timer managed to fire and
queue one up before KeCancelTimer() was called. The Windows DDK
documentation seems to imply that KeCantelTimer() will also call
KeRemoveQueueDpc() if necessary, but it really doesn't.

The KeTimer implementation has been rewritten to use the callout API
directly instead of timeout()/untimeout(). I still cheat a little in
that I have to manage my own small callout timer wheel, but the timer
code works more smoothly now. I discovered a race condition using
timeout()/untimeout() with periodic timers where untimeout() fails
to actually cancel a timer. I don't quite understand where the race
is, using callout_init()/callout_reset()/callout_stop() directly
seems to fix it.

I also discovered and fixed a bug in winx32_wrap.S related to
translating _stdcall calls. There are a couple of routines
(i.e. the 64-bit arithmetic intrinsics in subr_ntoskrnl) that
return 64-bit quantities. On the x86 arch, 64-bit values are
returned in the %eax and %edx registers. However, it happens
that the ctxsw_utow() routine uses %edx as a scratch register,
and x86_stdcall_wrap() and x86_stdcall_call() were only preserving
%eax before branching to ctxsw_utow(). This means %edx was getting
clobbered in some cases. Curiously, the most noticeable effect of this
bug is that the driver for the TI AXC110 chipset would constantly drop
and reacquire its link for no apparent reason. Both %eax and %edx
are preserved on the stack now. The _fastcall and _regparm
wrappers already handled everything correctly.

I changed if_ndis to use IoAllocateWorkItem() and IoQueueWorkItem()
instead of the NdisScheduleWorkItem() API. This is to avoid possible
deadlocks with any drivers that use NdisScheduleWorkItem() themselves.

The unicode/ansi conversion handling code has been cleaned up. The
internal routines have been moved to subr_ntoskrnl and the
RtlXXX routines have been exported so that subr_ndis can call them.
This removes the incestuous relationship between the two modules
regarding this code and fixes the implementation so that it honors
the 'maxlen' fields correctly. (Previously it was possible for
NdisUnicodeStringToAnsiString() to possibly clobber memory it didn't
own, which was causing many mysterious crashes in the Marvell 8335
driver.)

The registry handling code (NdisOpen/Close/ReadConfiguration()) has
been fixed to allocate memory for all the parameters it hands out to
callers and delete whem when NdisCloseConfiguration() is called.
(Previously, it would secretly use a single static buffer.)

I also substantially updated if_ndis so that the source can now be
built on FreeBSD 7, 6 and 5 without any changes. On FreeBSD 5, only
WEP support is enabled. On FreeBSD 6 and 7, WPA-PSK support is enabled.

The original WPA code has been updated to fit in more cleanly with
the net80211 API, and to eleminate the use of magic numbers. The
ndis_80211_setstate() routine now sets a default authmode of OPEN
and initializes the RTS threshold and fragmentation threshold.
The WPA routines were changed so that the authentication mode is
always set first, followed by the cipher. Some drivers depend on
the operations being performed in this order.

I also added passthrough ioctls that allow application code to
directly call the MiniportSetInformation()/MiniportQueryInformation()
methods via ndis_set_info() and ndis_get_info(). The ndis_linksts()
routine also caches the last 4 events signalled by the driver via
NdisMIndicateStatus(), and they can be queried by an application via
a separate ioctl. This is done to allow wpa_supplicant to directly
program the various crypto and key management options in the driver,
allowing things like WPA2 support to work.

Whew.
2005-10-10 16:46:39 +00:00
..
aac Ue a better msleep identifier. Fix some whitespace. 2005-10-08 22:41:57 +00:00
acpi_support Canonize the include of acpi.h. 2005-09-11 18:39:03 +00:00
acpica Commit a workaround to a problem with resource allocation. This helps 2005-09-16 07:02:29 +00:00
adlink Use the new bus_space/resource convenience functions. 2005-09-24 20:46:02 +00:00
advansys Don't try to probe ISA PnP devices for now until this driver can grow a 2005-07-13 15:44:53 +00:00
agp - Add a work-around for nForce3-250. Aperture base address encoded in misc. 2005-09-27 20:57:50 +00:00
aha Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
ahb Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
aic Eliminate support for oldcard by removing the compat shims. 2005-09-20 19:45:08 +00:00
aic7xxx Use the AHC_DISABLE_PCI_PERR flag to silence parity error reporting on 2005-09-22 05:11:35 +00:00
amd Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
amr Complete the removal of __FreeBSD_version checks from the amr driver. The 2005-08-08 12:16:21 +00:00
an MFp4: Remove OLDCARD shims 2005-09-22 04:51:11 +00:00
ar Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
arcmsr Use same RID we allocated the resource with to free it 2005-06-05 23:05:26 +00:00
arl Make sure that we call if_free(ifp) after bus_teardown_intr. Since we 2005-09-19 03:10:21 +00:00
asr Only create the rdpti alias if the asr device creation succeeds. 2005-04-29 04:47:11 +00:00
ata When breaking up a large request into smaller ones for the strategy 2005-10-09 21:11:05 +00:00
ath Fix "struct ifnet" leak on detach. 2005-09-16 10:09:23 +00:00
atkbdc - Hook up the new locations of the atkbdc(4), atkbd(4) and psm(4) source 2005-06-10 20:56:38 +00:00
auxio Switch from trying to allocate up to 8 register banks for the EBus 2005-07-10 10:33:00 +00:00
awi Remove support for oldcard by removing compat shims. 2005-09-20 19:46:54 +00:00
bfe Fix "struct ifnet" leaks when attach() fails in the middle. 2005-09-16 11:25:19 +00:00
bge Implement suspend/resume methods to be more ACPI friendly. 2005-09-28 19:20:49 +00:00
bktr Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
buslogic Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
cardbus Calling rman_get_start() after bus_release_resource() is evil. 2005-09-27 13:33:46 +00:00
ciss There's no reason to check the valence. This allows ciss to work 2005-08-09 20:53:51 +00:00
cm Make sure that we call if_free(ifp) after bus_teardown_intr. Since we 2005-09-19 03:10:21 +00:00
cnw Make sure that we call if_free(ifp) after bus_teardown_intr. Since we 2005-09-19 03:10:21 +00:00
cp Restore if_cp.c 1.27 2005-09-27 16:57:44 +00:00
cpufreq Only activate ICH speedstep if we're going to use it. No bugs were observed 2005-03-20 01:25:21 +00:00
cs Remove oldcard support by removing the compat shims. 2005-09-20 19:49:33 +00:00
ct Change a directory layout for pc98. 2005-05-10 12:02:18 +00:00
ctau Backout if_cp 1.26, if_ct 1.27, if_cx 1.47 by obrien: 2005-09-27 16:12:49 +00:00
cx Backout if_cp 1.26, if_ct 1.27, if_cx 1.47 by obrien: 2005-09-27 16:12:49 +00:00
cy Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:30:12 +00:00
dc - Don't pollute opt_global.h with DEVICE_POLLING and introduce 2005-10-05 10:09:17 +00:00
dcons Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
de - Use m_defrag() instead of homerolling our own variant 2005-08-26 14:27:38 +00:00
dec Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
digi Increase boot-time DigiBIOS initialization timeout to allow 2005-09-14 15:18:12 +00:00
dpt Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
drm Fix a buffer aging problem in new r300 code that could lead to hangs with some 2005-08-01 17:50:19 +00:00
ed Remove debug that crept in.. 2005-10-05 05:24:35 +00:00
eisa Make the eisa probe messages just like all the others in the system. 2005-08-01 07:09:15 +00:00
em - Don't pollute opt_global.h with DEVICE_POLLING and introduce 2005-10-05 10:09:17 +00:00
en - Use PCIR_BAR macro rather than hardcoding 0x10. 2005-09-29 14:56:30 +00:00
ep Better use of gone. 2005-09-20 19:50:27 +00:00
esp - Try to not leak resources in the attach functions of the esp(4) SBus 2005-05-19 14:51:10 +00:00
ex Fix "struct ifnet" leaks when attach() fails in the middle. 2005-09-16 11:25:19 +00:00
exca 'PC Card' instead of other variants 2005-09-22 06:01:44 +00:00
fatm Replace custom mbuf writeability test with generic 2005-09-19 21:59:49 +00:00
fb Add a font width argument to vi_load_font_t, vi_save_font_t and vi_putm_t 2005-09-28 14:54:07 +00:00
fdc Canonize the include of acpi.h. 2005-09-11 18:39:03 +00:00
fe PC Card instead of other variants 2005-09-22 05:52:54 +00:00
firewire - Don't pollute opt_global.h with DEVICE_POLLING and introduce 2005-10-05 10:09:17 +00:00
fxp - Don't pollute opt_global.h with DEVICE_POLLING and introduce 2005-10-05 10:09:17 +00:00
gem - In gem_ioctl() move the call to ether_ioctl() to the default case of 2005-09-18 13:23:19 +00:00
gfb Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
harp Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
hatm Replace m_extadd() with macro version MEXTADD(). 2005-09-19 22:04:41 +00:00
hfa Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
hifn These registers are saved by pci bus code. Remove from #if 0'd code anyway 2005-06-05 22:57:32 +00:00
hme Move hme_stop() after ether_ifdetach() and if_free() to prevent a 2005-09-08 13:50:16 +00:00
hptmv Fix a typo that broke LINT. 2005-09-08 14:13:36 +00:00
hwpmc Bug fix initialization on multi-core HTT CPUs. 2005-10-10 15:21:08 +00:00
ic cosmetic change. 2005-05-14 10:26:31 +00:00
ichsmb Make ichsmb unloadable. 2005-07-29 00:20:50 +00:00
ichwd Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
ida Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
idt Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
ie Fix "struct ifnet" leaks when attach() fails in the middle. 2005-09-16 11:25:19 +00:00
ieee488 Use new bus_space/resource convenience functions. 2005-09-24 20:44:55 +00:00
if_ndis This commit makes a big round of updates and fixes many, many things. 2005-10-10 16:46:39 +00:00
iicbus Remove public declarations of variables that were forgotten when they were 2005-08-10 07:10:02 +00:00
iir Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
io Add module versions. 2004-08-02 20:42:28 +00:00
ips Fix build. 2005-09-27 09:11:44 +00:00
ipw Make sure that we call if_free(ifp) after bus_teardown_intr. Since we 2005-09-19 03:10:21 +00:00
isp AT_MAKE_TAGID needs an instance as the 2nd arg- not just a 0. 2005-07-31 23:21:19 +00:00
ispfw Roll firmware to the latest version. There are a bunch of features 2005-01-29 01:12:37 +00:00
iwi Fixes my previous commit (rev 1.20) 2005-10-07 18:11:32 +00:00
ixgb - Don't pollute opt_global.h with DEVICE_POLLING and introduce 2005-10-05 10:09:17 +00:00
joy Remove OLDCARD support by removing compat shims 2005-09-20 19:54:11 +00:00
kbd kbdmux(4) keyboard multiplexer integration 2005-07-13 23:58:57 +00:00
kbdmux kbdmux(4) keyboard multiplexer integration 2005-07-14 22:43:20 +00:00
led Add placeholder mutex argument to new_unrhdr(). 2005-03-07 11:05:47 +00:00
lge - Use if_printf() and device_printf() and axe lge_unit from the softc. 2005-10-03 15:52:34 +00:00
lmc - Don't include opt_global.h, it is always included implicitly. 2005-10-05 10:07:27 +00:00
lnc Fix "struct ifnet" leak if attach() fails in the middle. 2005-09-16 12:49:06 +00:00
mc146818 After some input from bde@ and rereading the datasheet use a MTX_SPIN 2005-06-04 23:24:50 +00:00
mca
mcd Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
md Make sure that the worker thread knows the type early enough to 2005-10-06 19:47:04 +00:00
mem Fix module builds for i386 and amd64. 2004-08-04 18:30:31 +00:00
mii Use ansi function definitions in preference to K&R to reduce diffs 2005-09-30 19:39:27 +00:00
mk48txx - Add locking. 2005-05-19 21:16:50 +00:00
mlx Add missing parenthesis around error handling code upon attaching 2005-07-30 15:53:40 +00:00
mly Retire the last of the FreeBSD 4.x compat code from the mly driver. 2005-08-08 12:23:27 +00:00
mpt Remove a couple of explicit memset(0) ops that were zeroing past the end of 2005-10-08 05:16:45 +00:00
mse Minor style(9) changes 2005-04-08 05:22:58 +00:00
my Fixup locking in if_my(4) and mark it MPSAFE: 2005-08-16 20:39:30 +00:00
ncv Remove OLDCARD support by removing compat shims 2005-09-20 19:54:11 +00:00
nge - Don't pollute opt_global.h with DEVICE_POLLING and introduce 2005-10-05 10:09:17 +00:00
nmdm Merge the dev_clone and dev_clone_cred event handlers into a single 2005-08-08 19:55:32 +00:00
nsp Remove OLDCARD support by removing compat shims 2005-09-20 19:54:11 +00:00
null Use dynamic major number allocation. 2005-02-27 22:01:09 +00:00
nve Make sure that we call if_free(ifp) after bus_teardown_intr. Since we 2005-09-19 03:10:21 +00:00
ofw Sync with openfirm(4) and check the return value of malloc() although 2005-05-19 15:23:17 +00:00
owi Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
patm Replace m_extadd() with macro version MEXTADD(). 2005-09-19 22:04:41 +00:00
pbio Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
pccard Remove OLDCARD vestiges from here 2005-09-25 01:39:04 +00:00
pccbb MFP4: More removal of unused stuff. 2005-10-08 06:58:51 +00:00
pcf Account for ebus(4) defaulting to SYS_RES_MEMORY for memory resources 2005-06-04 20:29:28 +00:00
pci - Consolidate duplicated code for assigning interrupts to PCI devices via 2005-09-29 15:04:41 +00:00
pdq Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
ppbus Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
ppc don't use C keyword register as CPP macro argument name 2005-04-12 23:32:26 +00:00
pst Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:10:49 +00:00
puc puc(4) does strange things to resources in order to fool the 2005-09-28 18:06:25 +00:00
ral Remove OLDCARD shims 2005-09-21 22:45:14 +00:00
random malloc.h relies on param.h for a definition of MAXCPU. I guess that there is 2005-05-30 05:01:44 +00:00
ray 'PC Card' instead of other variants 2005-09-22 06:01:44 +00:00
rc Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
re - Don't pollute opt_global.h with DEVICE_POLLING and introduce 2005-10-05 10:09:17 +00:00
rndtest Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
rp - Use pci_get_device() and pci_get_vendor() when we only want one part 2005-03-25 03:10:51 +00:00
sab Account for ebus(4) defaulting to SYS_RES_MEMORY for memory resources 2005-06-04 20:29:28 +00:00
safe Use BUS_PROBE_DEFAULT in preference to 0 and BUS_PROBE_LOW_PRIORITY in 2005-03-01 08:58:06 +00:00
sbni Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
sbsh Make sure that we call if_free(ifp) after bus_teardown_intr. Since we 2005-09-19 03:10:21 +00:00
scd Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
sf - Don't pollute opt_global.h with DEVICE_POLLING and introduce 2005-10-05 10:09:17 +00:00
si Use BUS_PROBE_DEFAULT in preference to 0 and BUS_PROBE_LOW_PRIORITY in 2005-03-01 08:58:06 +00:00
sio 'PC Card' instead of other variants 2005-09-22 06:01:44 +00:00
sk Fix "struct ifnet" leaks when attach() fails in the middle, e.g. 2005-09-16 11:11:51 +00:00
smbus Remove public declarations of variables that were forgotten when they were 2005-08-10 07:10:02 +00:00
sn Eliminate dead code 2005-09-22 05:56:32 +00:00
snc 'PC Card' instead of other variants 2005-09-22 06:01:44 +00:00
snp Restore the ability to detach from a tty via SIOCSTTY and document 2005-09-19 13:48:45 +00:00
sound - Locking improvements. 2005-10-05 20:05:52 +00:00
speaker - Move timerreg.h to <arch>/include and split i8253 specific defines into 2005-05-14 09:10:02 +00:00
sr Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
stg Remove OLDCARD shims 2005-09-21 22:45:14 +00:00
streams Use kern_open() directly rather than a stackgap detour via open(). 2005-02-07 18:22:20 +00:00
sx Use BUS_PROBE_DEFAULT in preference to 0 and BUS_PROBE_LOW_PRIORITY in 2005-03-01 08:58:06 +00:00
sym Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
syscons Add a font width argument to vi_load_font_t, vi_save_font_t and vi_putm_t 2005-09-28 14:54:07 +00:00
tdfx Use BUS_PROBE_DEFAULT in preference to 0. Also for vx, return 2005-03-01 07:50:12 +00:00
tga Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
ti Use if_printf() and device_printf(). 2005-09-29 16:47:08 +00:00
trm Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
twa Don't pollute the entire kernel build with -I$S/dev/twa. 2005-09-11 00:52:05 +00:00
twe Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
tx Make sure that we call if_free(ifp) after bus_teardown_intr. Since we 2005-09-19 03:10:21 +00:00
txp - Use PCIR_BAR(). 2005-10-03 15:47:15 +00:00
uart Remove OLDCARD shims 2005-09-21 22:45:14 +00:00
ubsec Use BUS_PROBE_DEFAULT in preference to 0. Also for vx, return 2005-03-01 07:50:12 +00:00
usb add product ID for Linux Ethernet/RNDIS gadget on pxa210/25x/26x. 2005-09-28 19:41:25 +00:00
utopia Struct ifatm isn't at the beginning of the softc anymore. Use the 2005-06-22 06:51:52 +00:00
vge - Don't pollute opt_global.h with DEVICE_POLLING and introduce 2005-10-05 10:09:17 +00:00
vkbd Merge the dev_clone and dev_clone_cred event handlers into a single 2005-08-08 19:55:32 +00:00
vr - Don't pollute opt_global.h with DEVICE_POLLING and introduce 2005-10-05 10:09:17 +00:00
vx Fix another edge case I just noticed when committing the previous changes: 2005-10-06 18:41:31 +00:00
watchdog Return zero when disabling watchdog, unless any of the drivers complain. 2005-09-29 12:31:44 +00:00
wds Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
wi Fixing WEP bustage in hostap mode since 5.2-RELEASE. 2005-10-02 04:29:08 +00:00
wl Make sure that we call if_free(ifp) after bus_teardown_intr. Since we 2005-09-19 03:10:21 +00:00
xe Fix a nasty typo. Change: 2005-10-06 08:30:40 +00:00
zs The zs(4) driver is superseded by uart(4) and broken in -CURRENT. Remove 2005-02-27 15:23:58 +00:00