1. 11 11月, 2008 1 次提交
  2. 07 11月, 2008 1 次提交
  3. 01 11月, 2008 7 次提交
  4. 30 10月, 2008 1 次提交
  5. 28 10月, 2008 1 次提交
  6. 23 10月, 2008 1 次提交
  7. 07 10月, 2008 2 次提交
  8. 01 10月, 2008 3 次提交
  9. 16 9月, 2008 1 次提交
  10. 06 9月, 2008 2 次提交
    • L
      cfg80211: keep track of supported interface modes · f59ac048
      Luis R. Rodriguez 提交于
      It is obviously good for userspace to know up front which
      interface modes a given piece of hardware might support (even
      if adding such an interface might fail later because of
      concurrency issues), so let's make cfg80211 aware of that.
      For good measure, disallow adding interfaces in all other
      modes so drivers don't forget to announce support for one mode
      when they add it.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NStephen Blackheath <tramp.enshrine.stephen@blacksapphire.com>
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f59ac048
    • N
      ath5k: HW code cleanup · c6e387a2
      Nick Kossifidis 提交于
       * No code changes...
      
       * Split hw.c to multiple files for better maintenance and add some documentation on each file
         code is going to grow soon (eeprom.c for example is going to get much stuff currently developed
         on ath_info) so it's better this way.
      
       * Rename following functions to maintain naming scheme:
      
           ah_setup_xtx_desc -> ah_setup_mrr_tx_desc
           (Because xtx doesn't say much, it's actually
           a multi-rate-retry tx descriptor)
      
           ath5k_hw_put_tx/rx_buf - > ath5k_hw_set_tx/rxdp
           ath5k_hw_get_tx/rx_buf -> ath5k_hw_get_tx/rxdp
           (We don't put any "buf" we set descriptor pointers on hw)
      
           ath5k_hw_tx_start -> ath5k_hw_start_tx_dma
           ath5k_hw_start_rx -> ath5k_hw_start_rx_dma
           ath5k_hw_stop_pcu_recv -> ath5k_hw_stop_rx_pcu
           (It's easier this way to identify them, we also
           have ath5k_hw_start_rx_pcu which completes the
           set)
      
           ath5k_hw_set_intr -> ath5k_hw_set_imr
           (As in get_isr we set imr here, not "intr")
      
        * Move ath5k_hw_setup_rx_desc on ah->ah_setup_rx_desc so we can
          include support for different rx descriptors in the future
      
        * Further cleanups so that checkpatch doesn't complain
          (only some > 80 col warnings for eeprom.h and reg.h as usual
          due to comments)
      
        Tested on 5211 and 5213 cards and works ok.
      
      Changes-licensed-under: ISC
      Signed-off-by: NNick Kossifidis <mickflemm@gmail.com>
      Acked-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      c6e387a2
  11. 27 8月, 2008 2 次提交
  12. 23 8月, 2008 5 次提交
    • B
      ath5k: set short preamble flag for rx · 06303352
      Bruno Randolf 提交于
      set the short preamble flag in ieee80211_rx_status for frames received with a
      short preamble.
      
      drivers/net/wireless/ath5k/base.c:      Changes-licensed-under: 3-Clause-BSD
      Signed-off-by: NBruno Randolf <br1@einfach.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      06303352
    • H
      ath5k: explicitly check skb->len · 798ee985
      Harvey Harrison 提交于
      ieee80211_get_hdrlen_from_skb internally checks that the skb is long
      enough to hold the full header, or it returns 0 if not.  The check in
      ath5k does not check this case and assumes it always got the actual
      header length which it then checks against the skb->len plus some headroom.
      
      Change to ieee80211_hdrlen which always returns the hdrlen and keep the
      existing headroom check.
      Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      798ee985
    • 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
    • J
      Ath5k: unify resets · d7dc1003
      Jiri Slaby 提交于
      There were 3 code copy and pastes of reset. Unify the resets and place
      in separate function.
      Signed-off-by: NJiri Slaby <jirislaby@gmail.com>
      Cc: Nick Kossifidis <mickflemm@gmail.com>
      Cc: Luis R. Rodriguez <mcgrof@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d7dc1003
    • 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
  13. 18 8月, 2008 2 次提交
  14. 07 8月, 2008 1 次提交
  15. 02 8月, 2008 1 次提交
  16. 30 7月, 2008 9 次提交
    • J
      mac80211: partially fix skb->cb use · d0f09804
      Johannes Berg 提交于
      This patch fixes mac80211 to not use the skb->cb over the queue step
      from virtual interfaces to the master. The patch also, for now,
      disables aggregation because that would still require requeuing,
      will fix that in a separate patch. There are two other places (software
      requeue and powersaving stations) where requeue can happen, but that is
      not currently used by any drivers/not possible to use respectively.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d0f09804
    • P
      ath5k: don't enable MSI, we cannot handle it yet · 256b152b
      Pavel Roskin 提交于
      MSI is a nice thing, but we cannot enable it without changing the
      interrupt handler.  If we do it, we break MSI capable hardware,
      specifically AR5006 chipset.
      Signed-off-by: NPavel Roskin <proski@gnu.org>
      Acked-by: NNick Kossifidis <mickflemm@gmail.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      256b152b
    • B
      ath5k: fix recursive locking in ath5k_beacon_update · bc05116a
      Bob Copeland 提交于
      ath5k_beacon_update takes sc->lock upon entry.  However, it is only
      called from within ath5k_config_interface, which already holds the lock.
      Remove the unnecessary locking from ath5k_beacon_update.
      Signed-off-by: NBob Copeland <me@bobcopeland.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      bc05116a
    • B
      ath5k: use positive logic for HP laptop LEDs · 734b5aa9
      Bob Copeland 提交于
      Helge Deller reports that HP laptops (NC4010 and NC6000) use active-
      high signals to turn on the LEDs.  Previous code used active-low for
      all devices.
      Signed-off-by: NBob Copeland <me@bobcopeland.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      734b5aa9
    • J
      Ath5k: suspend/resume fixes · 3e4242b9
      Jiri Slaby 提交于
      - free and re-request irq since it might have changed during suspend
      - disable and enable msi
      - don't set D0 state of the device, it's already done by the PCI layer
      - do restore_state before enable_device, it's safer
      - check ath5k_init return value
      Signed-off-by: NJiri Slaby <jirislaby@gmail.com>
      Acked-by: NNick Kossifidis <mickflemm@gmail.com>
      Cc: Luis R. Rodriguez <mcgrof@gmail.com>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3e4242b9
    • J
      Ath5k: fix dma operation · e86600c7
      Jiri Slaby 提交于
      Don't sync
      - coherent mapping (descriptors)
      - before unmap, it's useless
      - (wrongly anyway -- for_cpu) beacon skb, it's just mapped,
        so by the device yet
      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>
      e86600c7
    • 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
    • J
      Ath5k: kill tasklets on shutdown · 10488f8a
      Jiri Slaby 提交于
      Don't forget to kill tasklets on stop to not panic if they
      fire after freeing some structures.
      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>
      10488f8a
    • J
      Ath5k: fix memory corruption · 3a0f2c87
      Jiri Slaby 提交于
      When signal is noisy, hardware can use all RX buffers and since the last
      entry in the list is self-linked, it overwrites the entry until we link
      new buffers.
      
      Ensure that we don't free this last one until we are 100% sure that it
      is not used by the hardware anymore to not cause memory curruption as
      can be seen below.
      
      This is done by checking next buffer in the list. Even after that we
      know that the hardware refetched the new link and proceeded further
      (the next buffer is ready) we can finally free the overwritten buffer.
      
      We discard it since the status in its descriptor is overwritten (OR-ed
      by new status) too.
      
      =============================================================================
      BUG kmalloc-4096: Poison overwritten
      -----------------------------------------------------------------------------
      
      INFO: 0xffff810067419060-0xffff810067419667. First byte 0x8 instead of 0x6b
      INFO: Allocated in dev_alloc_skb+0x18/0x30 age=1118 cpu=1 pid=0
      INFO: Freed in skb_release_data+0x85/0xd0 age=1105 cpu=1 pid=3718
      INFO: Slab 0xffffe200019d0600 objects=7 used=0 fp=0xffff810067419048 flags=0x40000000000020c3
      INFO: Object 0xffff810067419048 @offset=4168 fp=0xffff81006741c120
      
      Bytes b4 0xffff810067419038:  4f 0b 02 00 01 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a O.......ZZZZZZZZ
        Object 0xffff810067419048:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
        Object 0xffff810067419058:  6b 6b 6b 6b 6b 6b 6b 6b 08 42 30 00 00 0b 6b 80 kkkkkkkk.B0...k.
        Object 0xffff810067419068:  f0 5d 00 4f 62 08 a3 64 00 0c 42 16 52 e4 f0 5a 360].Ob.243d..B.R344360Z
        Object 0xffff810067419078:  68 81 00 00 7b a5 b4 be 7d 3b 8f 53 cd d5 de 12 h...{245264276};.S315325336.
        Object 0xffff810067419088:  96 10 0b 89 48 54 23 41 0f 4e 2d b9 37 c3 cb 29 ....HT#A.N-2717303313)
        Object 0xffff810067419098:  d1 e0 de 14 8a 57 2a cc 3b 44 0d 78 7a 19 12 15 321340336..W*314;D.xz...
        Object 0xffff8100674190a8:  a9 ec d4 35 a8 10 ec 8c 40 a7 06 0a 51 a7 48 bb 2513543245250.354.@247..Q247H273
        Object 0xffff8100674190b8:  3e cf a1 c7 38 60 63 3f 51 15 c7 20 eb ba 65 30 >ϡ3078`c?Q.307.353272e0
       Redzone 0xffff81006741a048:  bb bb bb bb bb bb bb bb                         273273273273273273273273
       Padding 0xffff81006741a088:  5a 5a 5a 5a 5a 5a 5a 5a                         ZZZZZZZZ
      Pid: 3297, comm: ath5k_pci Not tainted 2.6.26-rc8-mm1_64 #427
      
      Call Trace:
       [<ffffffff802a7306>] print_trailer+0xf6/0x150
       [<ffffffff802a7485>] check_bytes_and_report+0x125/0x180
       [<ffffffff802a75dc>] check_object+0xac/0x260
       [<ffffffff802a9308>] __slab_alloc+0x368/0x6d0
       [<ffffffff80544f82>] ? wireless_send_event+0x142/0x310
       [<ffffffff804b1bd4>] ? __alloc_skb+0x44/0x150
       [<ffffffff80544f82>] ? wireless_send_event+0x142/0x310
       [<ffffffff802aa853>] __kmalloc_track_caller+0xc3/0xf0
       [<ffffffff804b1bfe>] __alloc_skb+0x6e/0x150
      [... stack snipped]
      
      FIX kmalloc-4096: Restoring 0xffff810067419060-0xffff810067419667=0x6b
      
      FIX kmalloc-4096: Marking all objects used
      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>
      3a0f2c87