1. 23 8月, 2008 2 次提交
    • B
      ath5k: rates cleanup · 63266a65
      Bruno Randolf 提交于
      cleanup the rates structures used by ath5k. instead of separate driver and
      mac80211 rate structures we now setup a static ieee80211_rate array and use it
      directly. no conversion between two different rate structures has to be done
      any more. a lot of unused and confusing junk was deleted.
      
      renamed ath5k_getchannels into ath5k_setup_bands because this is what it does.
      rewrote it to copy the bitrates correctly for each band. this is necessary for
      running different hardware with the same driver (e.g. 5211 and 5212 based
      cards).
      
      add special handling of rates for AR5211 chipsets: it uses different rate codes
      for CCK rates (which are actually like the other chips but with a 0xF mask).
      
      setup a hardware code to rate index reverse mapping table for getting the rate
      index of received frames.
      
      the rates for control frames which have to be set in
      ath5k_hw_write_rate_duration are now in one single array.
      
      drivers/net/wireless/ath5k/ath5k.h:     Changes-licensed-under: ISC
      drivers/net/wireless/ath5k/base.c:      Changes-licensed-under: 3-Clause-BSD
      drivers/net/wireless/ath5k/base.h:      Changes-licensed-under: 3-Clause-BSD
      drivers/net/wireless/ath5k/hw.c:        Changes-licensed-under: ISC
      Signed-off-by: NBruno Randolf <br1@einfach.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      63266a65
    • A
      ath5k: add Mesh Point support · 8e5f3d0a
      Andrey Yurovsky 提交于
      This enables draft-802.11s Mesh Point operation.  For that we need mesh
      beaconing.  Tested with AR5212/AR5213 PCI card against Zydas and b43 mesh
      nodes.
      Signed-off-by: NAndrey Yurovsky <andrey@cozybit.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8e5f3d0a
  2. 02 8月, 2008 6 次提交
  3. 30 7月, 2008 1 次提交
    • J
      Ath5k: flush work · 274c7c36
      Jiri Slaby 提交于
      Make sure that the irq is not in progress after stop. This means
      two things:
      - ensure the intr setting register is set by flushing posted values
      - call synchronize_irq() after that
      
      Also flush stop tx write, inform callers of the tx stop about still
      pending transfers (unsuccessful stop) and finally don't wait another
      3ms in ath5k_rx_stop, since ath5k_hw_stop_rx_dma ensures transfer to
      be finished.
      
      Make sure all writes will be ordered in respect to locks by mmiowb().
      Signed-off-by: NJiri Slaby <jirislaby@gmail.com>
      Acked-by: NNick Kossifidis <mickflemm@gmail.com>
      Cc: Luis R. Rodriguez <mcgrof@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      274c7c36
  4. 27 6月, 2008 1 次提交
  5. 21 5月, 2008 1 次提交
    • B
      ath5k: Fix loop variable initializations · 89fd2e28
      Bob Copeland 提交于
      In ath5k_tasklet_rx, both status structures 'rxs' and 'rs' are
      initialized at the top of the tasklet, but not within the loop.
      If the loop is executed multiple times in the tasklet then the
      variables may see changes from previous packets.
      
      For TKIP, this results in 'Invalid Michael MIC' errors if two packets
      are processed in the tasklet: rxs.flag gets set to RX_DECRYPTED by
      mac80211 when it decrypts the first encrypted packet.  The subsequent
      packet will have RX_DECRYPTED set upon entry to mac80211, so mac80211
      will not try to decrypt it.
      
      We currently initialize all but two fields in the structures, so fix
      the other two.
      Signed-off-by: NBob Copeland <me@bobcopeland.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      89fd2e28
  6. 15 5月, 2008 1 次提交
    • B
      ath5k: Fix loop variable initializations · d6894b5b
      Bob Copeland 提交于
      In ath5k_tasklet_rx, both status structures 'rxs' and 'rs' are
      initialized at the top of the tasklet, but not within the loop.
      If the loop is executed multiple times in the tasklet then the
      variables may see changes from previous packets.
      
      For TKIP, this results in 'Invalid Michael MIC' errors if two packets
      are processed in the tasklet: rxs.flag gets set to RX_DECRYPTED by
      mac80211 when it decrypts the first encrypted packet.  The subsequent
      packet will have RX_DECRYPTED set upon entry to mac80211, so mac80211
      will not try to decrypt it.
      
      We currently initialize all but two fields in the structures, so fix
      the other two.
      Signed-off-by: NBob Copeland <me@bobcopeland.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d6894b5b
  7. 24 4月, 2008 1 次提交
  8. 17 4月, 2008 2 次提交
  9. 14 3月, 2008 2 次提交
  10. 08 3月, 2008 6 次提交
  11. 01 3月, 2008 2 次提交
  12. 21 2月, 2008 1 次提交
  13. 16 2月, 2008 1 次提交
    • B
      ath5k: correct padding in tx descriptors · 281c56dd
      Bruno Randolf 提交于
      when setting up the tx descriptors for the hardware we must account for any
      padding between the header and the data we might have added previously. frame
      len is the length of the frame in the air (including FCS but no padding) and
      buffer len is the length of the buffer (including padding, but without FCS).
      
      changing the way ah_setup_tx_desc is called: now excluding the FCS, since it's
      easier to add that in the function where we need it.
      
      before this fix we sent trailing zero bytes after the packet (because frame len
      included the padding) which was not a big problem without WEP, but with WEP
      this resultes in a wrong WEP checksum and the packet is discarded - which is
      how i noticed at all ;)
      
      an easy way to run into header padding problems, btw, is to connect to a QoS
      (WME) enabled access point (eg. madwifi) - QoS data frames are 2 byte longer
      and will require padding.
      
      this patch applies on top of luis latest patch series from 04.02.2008.
      
      drivers/net/wireless/ath5k/base.c:      Changes-licensed-under: 3-Clause-BSD
      drivers/net/wireless/ath5k/hw.c:        Changes-licensed-under: ISC
      Signed-off-by: NBruno Randolf <bruno@thinktube.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      281c56dd
  14. 29 1月, 2008 4 次提交