Commit Graph

72141 Commits

Author SHA1 Message Date
mycroft daed6ac762 First part of this file -- ieee80211_node locking macros. 2004-07-23 10:16:00 +00:00
mycroft f526e7326b Cleanup of ieee80211_node from madwifi:
* Don't use ifp pointers; use ieee80211com.
* Implement the locking macros that are used under FreeBSD and Linux.
2004-07-23 10:15:13 +00:00
yamt e08729e055 rip6_output: redo the previous (raw_ip6.c 1.66)
with less assumptions about alignment.
2004-07-23 09:53:10 +00:00
mycroft 3551583171 Changes from madwifi:
Abstract some of the node management code into separate functions, and use them
throughout, plugging memory leaks.
Allocate the AID allocation map dynamically.
2004-07-23 09:22:15 +00:00
mycroft e47eed0be7 Hide some code behind an #ifdef IEEE80211_DEBUG. 2004-07-23 08:38:08 +00:00
mycroft 64f68f9cf8 Fix mismerge. 2004-07-23 08:36:01 +00:00
mycroft 50d44f4f07 IEEE80211_F_WEPON -> IEEE80211_F_PRIVACY 2004-07-23 08:31:39 +00:00
mycroft 75f8366d87 Yet more DPRINTF() cleanup. 2004-07-23 08:25:25 +00:00
mycroft a02b46e848 More diff reduction; mainly IEEE80211_DPRINTF() stuff. 2004-07-23 08:05:00 +00:00
dyoung a70c2acfb1 Don't #define IEEE80211_DEBUG here. 2004-07-23 07:24:21 +00:00
dyoung f63e03e538 Instrument atw(4) delays so that I can experiment and shorten the
conservative delays that I derived from the reference driver.
2004-07-23 07:20:44 +00:00
dyoung 571aedf36b Print and store Cardbus/PCI revision number.
Begin conditioning device configuration on revision number.  Four
revisions are known:

        1.1/1.5 -> ADM8211A,
        2.0 -> ADM8211B,
        3.0 -> ADM8211C.

The B and C parts, which are not supported yet, have AP capability.
2004-07-23 07:07:55 +00:00
dyoung fe366eb669 Fix IBSS merges in atw(4). 2004-07-23 06:57:50 +00:00
dyoung e135a8a4a9 Fix ieee80211_needs_rxnode so that net80211 does something akin to
a passive scan for APs and IBSSs, always, but without visiting new
channels.
2004-07-23 06:57:33 +00:00
mycroft f0546001c6 Diff reduction vs. madwifi.
Change the signature of IEEE80211_DPRINTF() so that it uses a bitmask, and
convert some of the if_printf()s to IEEE80211_DPRINTF()s.  XXX I'm using a
global variable at the moment rather than per-interface.
2004-07-23 06:44:55 +00:00
dyoung 5b42102f70 Don't be so repetitive repetitive in the ieee80211_needs_rxnode
synopsis.
2004-07-23 05:54:02 +00:00
martti 7ff15b917f Upgraded IPFilter to 4.1.3 2004-07-23 05:39:03 +00:00
martti 9e82a8bf0d Import IPFilter 4.1.3 2004-07-23 05:33:55 +00:00
mycroft c3138ef3da IEEE80211_MAX_AID has been renamed to IEEE80211_AID_MAX. 2004-07-23 05:33:41 +00:00
mycroft de64f03a72 Sync with madwifi. 2004-07-23 05:33:23 +00:00
dyoung 754d58a536 Bug fix: in ad hoc mode, the principle of least surprise demands
that we create the network with the BSSID preferred by the operator.

[Say the operator set the desired BSSID with 'ifconfig atw0 bssid
02:25:25:75:75:75'.  If no such network is found during scanning,
then create the network with that BSSID.]
2004-07-23 05:19:41 +00:00
mycroft 7f1170d9a9 Add ETHERTYPE_PAE. 2004-07-23 05:13:15 +00:00
dyoung 72cea14142 Use the new SRAM size constants. 2004-07-23 05:06:26 +00:00
dyoung d27479d86f Improve register definitions and slightly demystify some magic
numbers.
2004-07-23 05:01:29 +00:00
mycroft 8f64992310 Add sc_txstart and sc_txstarted, to keep track of the current FID we want to
start and the number we've started that have not been alloced yet.  Currently
sc_txstarted is constained to 0 or 1 because of the way we start the next
packet, but this will change.
2004-07-22 21:56:58 +00:00
mycroft 5e0a5ea2f8 Copyright maintenance. 2004-07-22 21:31:56 +00:00
mycroft a1b8647f1e Non-functional changes: add comments, remove a structure name. 2004-07-22 20:39:15 +00:00
mycroft d9907678ec Change some DELAY(2) to more sensible values. 2004-07-22 20:36:11 +00:00
mycroft 0e8c7f506b Add some histogram code (controlled by an #ifdef) to track how long various
busy-wait loops take.
2004-07-22 20:34:52 +00:00
mycroft 1854f1b055 Keep a count of packets written to the chip but not yet initiated. This
simplifies some logic, and is needed for later changes.
2004-07-22 20:30:43 +00:00
mycroft 04cd0b261d Change some names.
sc_txnext -> sc_txalloc
sc_txcur -> sc_txqueue
2004-07-22 20:25:23 +00:00
mycroft 9df2197095 Keep a count of FIDs allocated, rather than storing a packet length in the
ring.
2004-07-22 20:23:31 +00:00
mycroft f0d981931c Make the radiotap header reflect the actual transmit rate. 2004-07-22 20:13:20 +00:00
mycroft f14903982d Ack events in only one place. Reduces register writes sometimes. 2004-07-22 20:12:20 +00:00
mycroft 9951a8362a Only read the part of the frame header we use in wi_tx_intr(). 2004-07-22 20:07:38 +00:00
mycroft 94e3bc2cef Rework the rate-lowering hack:
* Update sc_txpending[] when a packet is written, even before we issue the TX
  command, since it may be active when we issue the TX command for the
  following packet.
* Do not lower the rate in ni_txrate or id_rateidx, because these are used to
  keep track of sc_txpending[], and could cause us to get "stuck" at the lower
  rate.
2004-07-22 20:06:05 +00:00
mycroft 3a862ed4bf Make the logic in wi_write_txrate() less obscure. 2004-07-22 19:56:55 +00:00
mycroft 928d2d1d6b For Intersil firmware, use the ROM rate list to determine the correct bitmask
for BASIC_RATE and SUPPORT_RATE.  Always set these, because otherwise probe
frames will not get the correct list.
2004-07-22 19:55:08 +00:00
mycroft 0d69a42fb3 Missed one change in the previous. Now we really don't try to write it. 2004-07-22 19:51:37 +00:00
mycroft 6f32bd0675 Symbol firmware doesn't support the power management register, so don't try to
do power management there.
2004-07-22 19:50:43 +00:00
mycroft df9b04fdbb Whoops, change one back to regular "static" for an inline function. 2004-07-22 19:48:28 +00:00
mycroft 91f4c8a166 I hate "static". Add an #ifdef so I can turn it off easily. 2004-07-22 19:47:24 +00:00
drochner 87db87bf21 if the register space os the ISDN card can't be mapped, abort device
attachment instead of dereferencing NULL and so
(this needs a serious cleanup -- the framework was thought to be generally
usable for ~all PCI ISDN cards; this didn't work out, so we are left
with a lot of nonsense to support just 1 particular card type...)
2004-07-22 19:14:39 +00:00
drochner c8a35368a7 Replace the hooribly overloaded use of pci_enumerate_bus() - to find out
the chipset revision - by pci_find_device().
While the latter isn't better technically (works around the otherwise
hierarchical device tree), using it doesn't require PCI configuration
functions to support stuff which philosophically doesn't belong there.
So we get the hands free to restructure things for better loadable
driver support.
(Actually, since this is about chipset internal IDE interfaces where
the PCI device/function numbers are well known, this all is unnecessary.)
2004-07-22 19:09:34 +00:00
mycroft ff96f8f444 Support promiscuous mode for an AP too(!). 2004-07-22 18:52:44 +00:00
drochner 7f3933adae typo in comment 2004-07-22 18:45:40 +00:00
mycroft 430c7ae11c Add 3C656 modem portion, per PR 23710. 2004-07-22 17:34:48 +00:00
mycroft f842a0c250 Regen. 2004-07-22 17:32:15 +00:00
mycroft 879ffbb84b Add 3c656 modem IDs. 2004-07-22 17:32:02 +00:00
mycroft bb76bd932b Add EX_CONF_INV_LED_POLARITY to a couple of the aforementioned entries. See
PR 23710.
2004-07-22 17:30:43 +00:00