Commit Graph

111 Commits

Author SHA1 Message Date
sam
f881572c38 restore led state on resume
Submitted by:	markus
2005-06-02 03:18:55 +00:00
sam
8105e9aef9 honor new IEEE80211_KEY_GROUP key flag
Reviewed by:	Tai-hwa Liang
2005-04-12 17:56:43 +00:00
sam
63066a23d0 use frame type returned by ieee80211_input to drive softled code
instead of monitoring the input packet count
2005-04-04 02:34:15 +00:00
sam
5f41f0bbd7 fix size_to_bin
Obtained from:	madwifi
2005-04-02 18:56:50 +00:00
sam
ee875d3740 nuke unintentional use of HAL_BOOL type 2005-04-02 18:54:30 +00:00
sam
42821ae3c2 reclaim mbufs in failure cases
Submitted by:	Tai-hwa Liang
2005-03-31 16:39:18 +00:00
sam
095657d8bf close unlikely race
Submitted by:	Michael Wong
2005-03-30 20:30:48 +00:00
sam
1efb525348 correct comment 2005-03-30 20:29:02 +00:00
sam
6a98e77848 o fix bug where rate wouldn't lift off lowest setting when operating as
an ap in 11g with protection enabled
o correct rate selection when operating in 11g with protection when no
  packets have been sent yet (from John Bicket)
o track api change to get first descriptor and use it to collect the frame
  length for calculating the state bin
o add more debugging and shuffle some existing debugging to give more info
o bump version to distinguish bug fixes
2005-03-30 20:20:49 +00:00
sam
45dfb769f8 rev rate control api to pass the both the first+last tx descriptors
to the rate control module for tx complete processing; this enables
rate control algorithms to extract the packet length for xmits that
require multiple descriptors
2005-03-30 20:17:18 +00:00
sam
b113640f48 o extend cts to cover packet burst when operating in 11g w/ protection
o check current channel parameters, not shadow state, for acm policy
  on data frames
2005-03-30 20:13:08 +00:00
avatar
8bc395e4ca Fixing kernel build on amd64 machines.
Reviewed by:	sam (mentor)
2005-03-30 02:33:33 +00:00
sam
a7ee34db52 extend the timestamp from the rx descriptor to calculate the tsf to
use when checking for an ibss merge
2005-03-29 22:16:49 +00:00
sam
698438f28b forgot to merge this bit from p4 2005-03-29 21:06:28 +00:00
sam
2f4dcc2b3d sync rates for any associated stations or neighbors on state transition 2005-03-29 21:00:50 +00:00
sam
6fe1686a77 simplify callback 2005-03-29 20:59:49 +00:00
sam
a946e6dece replace m_defrag with something more suitable 2005-03-29 20:54:31 +00:00
sam
2283a8840c fix braino introduced when converting from madwifi 2005-03-20 01:55:02 +00:00
sam
6a44674e68 eliminate mid-block variable decls 2005-03-20 01:27:33 +00:00
sam
08c85a6f55 version 1.1 (with cleanups)
Submitted by:	John Bicket
2005-03-19 21:04:53 +00:00
avatar
d34fa887ed Adding missing module dependency. This should fix the undefined symbol
error(ath_hal_computetxtime) during module loading.

Reviewed by:	sam (mentor)
2005-03-11 16:15:43 +00:00
sam
6440c7ec86 SampleRate rate control algorithm for the ath driver
Submitted by:	John Bicket
2005-03-11 01:39:57 +00:00
sam
85fe22a55b reclaim mbuf chain when ieee80211_crypto_encap fails
Noticed by:	David Young
2005-03-08 17:01:03 +00:00
imp
3c710e1d53 Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 19:06:12 +00:00
sam
fb92987525 Fixup radiotap handling of FCS and QoS frames per discussion with David Young:
o mark rx frames including FCS in the payload with the
  IEEE80211_RADIOTAP_F_FCS flag
o remove hack to copy 802.11 headers with padding out of line; instead mark
  the frames with IEEE80211_RADIOTAP_F_DATAPAD and require applications to
  do the work
o split precalculated radiotap flags into tx+rx now that they can be different

Note the full usefulness of these changes depends on updates to applications
that process radiotap data.
2005-01-24 20:31:24 +00:00
sam
b6d4f1528e beacon handling fixups for adhoc mode:
o don't reclaim any previous beacon state in ath_beacon_alloc; do it
  explicitly in ath_newstate
o reference count the node held in the beacon frame state block
o process ibss merge more intelligently; let the state machine do the
  right thing instead of explicitly setting the new bssi id
o explicitly stop tx dma before doing beacon setup to handle the ibss
  merge case
2005-01-24 20:05:03 +00:00
sam
49eb535a6c switch to use bus_dmamap_load_mbuf_sg 2005-01-24 19:51:59 +00:00
sam
6ce6619920 o correct beacon interval calculation; the internal setting is in TU's not ms
o replace the private macro to convert MS->TU with the common one
2005-01-24 19:45:59 +00:00
sam
459bcc3dba statically allocate the station/neighbor node table; the deferred
allocation scheme introduced a race condition during device state
transitions
2005-01-24 19:32:10 +00:00
sam
cdb6261cd5 adjust tx buffer allocation based on empirical testing:
o increase the max per-frame tx descriptor count and the number of tx
  buffers for forthcoming fast frame support
o correct the max scatter/gather count; it cannot be larger than the
  max(tx,rx,beacon) descriptor counts
2005-01-18 19:42:17 +00:00
sam
5f9d7fe992 add missing statistic 2005-01-18 19:33:06 +00:00
sam
c07a9877d0 disable interrupts when transitioning to INIT state so we don't rx frames 2005-01-18 19:31:31 +00:00
sam
ebc4d3408e replace hand-rolled code to compact an mbuf chain with m_defrag; this is
suboptimal but needed for fast frames which won't fit in a single cluster
2005-01-18 19:28:49 +00:00
sam
0232e8f553 setup the beacon xmit queue to not interrupt; we don't use them and
they make the led's flash unnecessarily in adhoc mode
2005-01-18 19:10:17 +00:00
sam
d12b3b981d better led blinking 2005-01-18 19:03:04 +00:00
sam
4c3230e55e add paren's so we can supply a|b as a debug mask 2005-01-18 18:11:04 +00:00
sam
176d72c8fe o disable pci retry timeout to avoid problems when operating in C3 state
(fix imported from madwifi by Takanori Watanabe)
o eliminate save/restore of pci registers handled by the system
o eliminate duplicate zero of the softc (noted by njl)
o consolidate common code

MFC after:	1 week
2005-01-18 18:08:16 +00:00
sam
14fee97914 bump copyright for 2005 2004-12-31 22:42:38 +00:00
sam
96c2d6273d correct some typos
Submitted by:	Tai-hwa Liang
2004-12-31 20:35:05 +00:00
sam
341ffa612f Radiotap fixups:
o catch one place where we were not using ath_chan_change to
  switch channels; this fixes a problem where the channel
  settings were not being correctly reported in captured packets
o return unique channel identification in the channel flags;
  ethereal gets confused if you return merged flags (e.g. ofdm,
  cck, and 2Ghz) (this is workaround and should be removed if
  we can ever cleanup radiotap consumers)
o correct short/long preamble flag state for rx and treat tx
  the same--use a new hwflags array that gives us the data
  based on the h/w rate index/cookie
o add gross hack to handle radiotap capture of frames that
  come in with hardware padding; should be replaced by a
  flag in the radiotap header and more smarts in the apps
  that decode radiotap data
2004-12-31 20:32:40 +00:00
sam
186275ec87 for parts that require split keycache entries report the
the index of the first entry on a mic error so we're
consistent with parts that don't have split keycache
2004-12-31 20:21:31 +00:00
sam
498543a7bd Correct beacon timer setup logic:
o lintval is in ms; must convert to TU's for passing to the hal
o roundup to calculate nexttbtt (should look at current tsf and pull the
  calculated nextbtt forward but this'll do for now)
o don't or- in HAL_BEACON_RESET_TSF when doing station timer setup; this
  is not needed and messes up the sleep timer calcs, though it's unclear
  if it mattered as the hal masks these values before use

Submitted by:	Thorsten von Eicken
2004-12-31 20:20:02 +00:00
sam
4f85af0286 no need to sweep the tx q's for node references in ath_node_free; we know
there are none since we're only called when the ref count goes to zero
2004-12-31 20:13:58 +00:00
sam
206e5f6044 cleanup some assertions 2004-12-31 20:11:23 +00:00
peter
c171b522d6 Like on the ath_rate_onoe component, make this compile on amd64. Convert
pointers to an integer via uintptr_t.

Fix an apparent bug that caused a compile failure.
ieee80211_iterate_nodes() takes ic->ic_sta as its first argument on the
onoe module.  It had just 'ic' here in the same context, which was a
mismatched argument.
2004-12-15 02:32:27 +00:00
peter
adbd450602 Make this amd64-clean. sizeof is long on amd64, so things that do a printf
of a sizeof, need to use %z to get the correct type on all our platforms.
Also, convert integers<->pointers via uintptr_t.

(I think Sam's instructions were for me to commit this.  If I
 misunderstood, then I apologize in advance.)
2004-12-15 02:25:21 +00:00
sam
302c94fa29 Update with last year of work. 2004-12-08 17:34:36 +00:00
sam
adfba3a7ae Transmit rate control modules for the ath driver. 2004-12-08 17:32:02 +00:00
sam
54e744b4c4 Add missing bit of last if_start workaround: mark scan callout
MPSAFE only debug_mpsafenet is 1 so callbacks to send management
frames hold Giant; this is another bandaid on the path to removing Giant.
2004-08-08 17:10:54 +00:00
sam
c26d1cbd7e Pickup Giant in ath_rx_proc and when handling a beacon miss in order to
satisfy the assertion in if_start.
2004-08-07 00:45:05 +00:00