freebsd-nq/sys/dev
Bill Paul ee422a28d6 Re-do the handling of ndis_buffers. The NDIS_BUFFER structure is
supposed to be opaque to the driver, however it is exposed through
several macros which expect certain behavior. In my original
implementation, I used the mappedsystemva member of the structure
to hold a pointer to the buffer and bytecount to hold the length.
It turns out you must use the startva pointer to point to the
page containing the start of the buffer and set byteoffset to
the offset within the page where the buffer starts. So, for a buffer
with address 'baseva,' startva is baseva & ~(PAGE_SIZE -1) and
byteoffset is baseva & (PAGE_SIZE -1). We have to maintain this
convention everywhere that ndis_buffers are used.

Fortunately, Microsoft defines some macros for initializing and
manipulating NDIS_BUFFER structures in ntddk.h. I adapted some
of them for use here and used them where appropriate.

This fixes the discrepancy I observed between how RX'ed packet sizes
were being reported in the Broadcom wireless driver and the sample
ethernet drivers that I've tested. This should also help the
Intel Centrino wireless driver work.

Also try to properly initialize the 802.11 BSS and IBSS channels.
(Sadly, the channel value is meaningless since there's no way
in the existing NDIS API to get/set the channel, but this should
take care of any 'invalid channel (NULL)' messages printed on
the console.
2003-12-23 04:08:22 +00:00
..
aac Temporary workaround for aac_cam to deal with CAM requiring Giant. This 2003-12-03 15:42:12 +00:00
acpica Don't use NULL (pointer) when we're testing for a count of 0 (integer). 2003-12-23 02:29:46 +00:00
adlink
advansys
agp - Disable AGP on ALI chipsets if aperture size is 0. 2003-11-11 21:49:18 +00:00
aha Save the device so we can do a device_printf. 2003-11-13 04:14:53 +00:00
ahb
aic
aic7xxx Move all of the recovery thread routines next 2003-12-19 18:34:30 +00:00
amd
amr
an Drop the driver lock around calls to if_input to avoid a LOR when 2003-11-14 19:00:32 +00:00
ar Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
asr
ata Fix the register timings for AMD/VIA/nVidia chipsets. 2003-12-18 17:36:41 +00:00
ath o track API change for HAL v0.9.6.1 2003-11-29 01:23:59 +00:00
atkbdc Significantly reduce the "jitter" that is typical for PS/2 mice 2003-12-11 11:28:11 +00:00
awi Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
bfe Drop the driver lock around calls to if_input to avoid a LOR when 2003-11-14 19:00:32 +00:00
bge Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones. 2003-12-08 07:54:15 +00:00
bktr Make the multiple include guard correct for this file location. 2003-12-20 17:12:25 +00:00
buslogic
cardbus Make the cardbus driver a derived class of the pci driver. In theory, this 2003-11-01 12:45:03 +00:00
ciss White space cleanup 2003-12-13 07:54:07 +00:00
cm Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
cnw Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
cs o Add sysctl to allow ignoring checksum of eeprom. 2003-11-04 02:59:57 +00:00
ct
cx Updated cx driver commit part 1: bring in the new kernel driver. 2003-12-03 07:29:38 +00:00
cy Fixed some minor indentation bugs. 2003-12-02 12:47:08 +00:00
dc Add support for ELECOM/Laneed CardBus FastEtherner Card(LD-CBL/TXA) 2003-12-06 02:29:31 +00:00
dcons Move post dmamap_load processes into the callback function. 2003-11-08 16:26:22 +00:00
de Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
dec
digi
dpt
drm Update from DRI CVS. Includes locking fixes (including PR 59202), changes for 2003-11-12 20:56:30 +00:00
ed Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones. 2003-12-08 07:54:15 +00:00
eisa
em Don't call em_stop() from the watchdog since it requires the controller 2003-12-07 06:50:04 +00:00
en Move the locking of the softc up to before the allocation of the 2003-12-17 10:01:46 +00:00
ep MFp4: 2003-11-02 20:13:39 +00:00
ex Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
exca
fatm Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
fb Fix a typo. Allow for the creator not being stdout. 2003-11-11 07:34:08 +00:00
fdc Look at the equipment list for amd64 as well as i386 for autodetecting 2003-10-23 05:52:52 +00:00
fe Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones. 2003-12-08 07:54:15 +00:00
firewire Catch a few places where NULL (pointer) was used where 0 (integer) was 2003-12-23 02:36:43 +00:00
fxp Sometimes cardbus attachments don't attach, so while we track down 2003-11-28 05:28:29 +00:00
gem Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
gfb Catch a few places where NULL (pointer) was used where 0 (integer) was 2003-12-23 02:36:43 +00:00
gx Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
harp Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
hatm Make the driver conditionally MPSAFE. MPSAFEty defaults to not-mpsafe 2003-11-05 11:47:31 +00:00
hfa
hifn
hme Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
ic
ichsmb
ida
idt Gross kludge: 2003-11-16 22:33:42 +00:00
ie Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
if_ndis Re-do the handling of ndis_buffers. The NDIS_BUFFER structure is 2003-12-23 04:08:22 +00:00
iicbus Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
iir
ips ServeRaid (at least 5i) didn't initialize correctly. To get 2003-11-27 08:37:36 +00:00
isp fix broken _IOR usage 2003-11-14 05:13:00 +00:00
ispfw
joy
kbd - Implement selwakeuppri() which allows raising the priority of a 2003-11-09 09:17:26 +00:00
led DUH! 2003-12-12 12:17:28 +00:00
lge Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones. 2003-12-08 07:54:15 +00:00
lnc Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones. 2003-12-08 07:54:15 +00:00
matcd
mc146818
mca
mcd
md Fix a locking problem with MD_ROOT_SIZE. 2003-12-13 18:12:58 +00:00
mii Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
mk48txx
mlx
mly
mpt Catch a few places where NULL (pointer) was used where 0 (integer) was 2003-12-23 02:36:43 +00:00
mse - Implement selwakeuppri() which allows raising the priority of a 2003-11-09 09:17:26 +00:00
musycc
my Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones. 2003-12-08 07:54:15 +00:00
ncv Const poison string accessor functions. 2003-10-26 00:51:40 +00:00
nge Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones. 2003-12-08 07:54:15 +00:00
nmdm - Implement selwakeuppri() which allows raising the priority of a 2003-11-09 09:17:26 +00:00
nsp
null Shorten the code by removing one "do-nothing" function, replacing it 2003-11-01 09:31:54 +00:00
ofw - The last change conflicted with disks on a live system, as opposed to 2003-12-15 09:53:53 +00:00
owi Nursemaid: Fix compilation. 2003-12-10 15:09:38 +00:00
patm Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
pccard Use %#jx for both args. 2003-11-04 06:30:59 +00:00
pccbb Fix typo in ENE CB710 description. It isn't a 720. 2003-12-22 06:09:35 +00:00
pcf
pci Initial landing of SMP support for FreeBSD/amd64. 2003-11-17 08:58:16 +00:00
pcic
pdq Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
ppbus Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
ppc
pst
puc Add support for Moxa Technologies' Smartio CP-104UL/PCI 4S RS232 card. 2003-12-09 17:31:25 +00:00
raidframe
random Fix a major faux pas of mine. I was causing 2 very bad things to 2003-11-20 15:35:48 +00:00
ray Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
rc
re Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones. 2003-12-08 07:54:15 +00:00
rndtest
rp
sab - Implement selwakeuppri() which allows raising the priority of a 2003-11-09 09:17:26 +00:00
safe
sbni Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
sbsh Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
scd
sf Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones. 2003-12-08 07:54:15 +00:00
si
sio Sometimes cardbus attachments don't attach, so while we track down 2003-11-28 05:28:29 +00:00
sk Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones. 2003-12-08 07:54:15 +00:00
smbus
sn Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones. 2003-12-08 07:54:15 +00:00
snc Do if_xname conversion. I missed this one because it's pc98 only. 2003-11-01 23:24:38 +00:00
snp - Implement selwakeuppri() which allows raising the priority of a 2003-11-09 09:17:26 +00:00
sound The last argument to mtx_init() should be MTX_DEF, not 0. This is not a 2003-12-08 01:08:03 +00:00
speaker
sr Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
stg Fix some becuase -> because typos. 2003-12-17 16:12:01 +00:00
streams
sym unifdef old interface support out to prevent false positives. 2003-12-07 05:17:13 +00:00
syscons Fix a panic that occurs when resuming. For some reason, sc->cur_scp is 2003-10-29 20:48:13 +00:00
tdfx
tga
ti Drop the driver lock around calls to if_input to avoid a LOR when 2003-11-14 19:00:32 +00:00
trm
twe After extensive QA cycles at 3ware, bring the driver in-line with all the 2003-12-02 07:57:20 +00:00
tx Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones. 2003-12-08 07:54:15 +00:00
txp Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
uart Sometimes cardbus attachments don't attach, so while we track down 2003-11-28 05:28:29 +00:00
ubsec
usb resort device list 2003-12-22 19:58:27 +00:00
utopia
vinum initsd: For striped and RAID-[45] plexes, don't restrict the I/O 2003-12-15 00:45:53 +00:00
vr Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones. 2003-12-08 07:54:15 +00:00
vx Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
wds
wi Older versions of the intersil firmware is a lot slower than newer 2003-12-09 07:41:07 +00:00
wl Drop the driver lock around calls to if_input to avoid a LOR when 2003-11-14 19:00:32 +00:00
xe Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones. 2003-12-08 07:54:15 +00:00
zs - Implement selwakeuppri() which allows raising the priority of a 2003-11-09 09:17:26 +00:00