IFF_DRV_RUNNING, as well as the move from ifnet.if_flags to
ifnet.if_drv_flags. Device drivers are now responsible for
synchronizing access to these flags, as they are in if_drv_flags. This
helps prevent races between the network stack and device driver in
maintaining the interface flags field.
Many __FreeBSD__ and __FreeBSD_version checks maintained and continued;
some less so.
Reviewed by: pjd, bz
MFC after: 7 days
PCG-505BX (for example) has one of those:
wi0: <Intersil Prism3> mem 0xf8000000-0xf8000fff at device 2.0 on pci2
wi0: 802.11 address: 00:02:8a:94:d8:73
wi0: using RF:PRISM3(Mini-PCI)
wi0: Intersil Firmware: Primary (1.1.1), Station (1.5.6)
wi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
function unless the device is configured up. Without this fix, the
device ends up in the RUNNING state even though it is configured down.
Also, check the RUNNING flag before calling the if_start function, in
case the if_init function failed for one reason or another.
network layer (ether).
- Don't abuse module names to facilitate ifconfig module loading;
such abuse isn't really needed. (And if we do need type information
associated with a module then we should make it explicit and not
use hacks.)
wrote. This code was for 4.5-release, so I've ported it to -current
and made a few minor tweaks. The biggest non-style tweak was to not
make access point the default.
More changes will be needed to get this actually working, but I wanted
to get a relatively pure baseline. This doesn't seem to break what
works now.
1) Properly detect the Symbol based cards (The 3Com Airconnect and their
ilk) and only reset them *ONCE* ever. This appears to make them work,
but more testing is needed. The tests that would wedge up my machine
completely now appear to work, but I have not real access points
handy.
2) Report both the Station firmware and the Primary firmware on Prism
based cards. On Lucent based cards, only report the station firmware
since that's all it supports. On symbol cards, report the symbol
specific firmware name as its station firmware.
3) Better Prism 2.5 and 3 family names. We really need to go table
driven for this.
4) Workaround for bugs in Intersil's firmware is only needed for at most
0.8.2 and earlier, since 0.8.3 and later appear to work.
Obtained from: NetBSD