1. 01 4月, 2010 3 次提交
  2. 11 3月, 2010 5 次提交
    • B
      ath5k: add debugfs file frameerrors · 7644395f
      Bruno Randolf 提交于
      add a debugfs file to see different RX and TX errors as reported in our status
      descriptors. this can help to diagnose driver problems.
      
      statistics can be cleared by writing 'clear' into the frameerrors file.
      
      example:
      
      # cat /sys/kernel/debug/ath5k/phy0/frameerrors
      RX
      ---------------------
      CRC     27      (11%)
      PHY     3       (1%)
      FIFO    0       (0%)
      decrypt 0       (0%)
      MIC     0       (0%)
      process 0       (0%)
      jumbo   0       (0%)
      [RX all 245]
      
      TX
      ---------------------
      retry   2       (9%)
      FIFO    0       (0%)
      filter  0       (0%)
      [TX all 21]
      Signed-off-by: NBruno Randolf <br1@einfach.org>
      Acked-by: NNick Kossifidis <mickflemm@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7644395f
    • B
      ath5k: remove double opmode definition · ccfe5552
      Bruno Randolf 提交于
      opmode (operating mode) was defined in struct ath5k_hw and struct ath5k_softc.
      remove it from ath5k_hw and use only from ath5k_softc (sc->opmode).
      
      (btw: what's the meaning of opmode when we have multiple interfaces?)
      Signed-off-by: NBruno Randolf <br1@einfach.org>
      Acked-by: NNick Kossifidis <mickflemm@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ccfe5552
    • B
      ath5k: preserve antenna settings · caec9112
      Bruno Randolf 提交于
      save antenna settings and preserve across resets.
      Signed-off-by: NBruno Randolf <br1@einfach.org>
      Acked-by: NNick Kossifidis <mickflemm@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      caec9112
    • B
      ath5k: add antenna statistics and debugfs file for antenna settings · 604eeadd
      Bruno Randolf 提交于
      keep statistics about which antenna was used for TX and RX. this is used only
      for debugging right now, but might have other applications later.
      
      add a new file 'antenna' in debugfs (/sys/kernel/debug/ath5k/phy0/antenna) to show
      antenna use statistics and antenna diversity related register values. it can
      also be used to set the antenna mode until we have proper support for that in
      iw:
        - echo diversity > antenna: use default antenna mode (RX and TX diversity)
        - echo fixed-a > antenna: use fixed antenna A for RX and TX
        - echo fixed-b > antenna: use fixed antenna B for RX and TX
        - echo clear > antenna: reset antenna statistics
      Signed-off-by: NBruno Randolf <br1@einfach.org>
      Acked-by: NNick Kossifidis <mickflemm@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      604eeadd
    • B
      ath5k: Fix TX/RX padding for all frames · 8127fbdc
      Benoit Papillault 提交于
      Currently, the padding position is based on
      ieee80211_get_hdrlen_from_skb(). This is not correct since the HW does
      padding on RX (and expect the same padding to be present on TX) at the
      following position :
      
      - management : 24 + 6 if 4-addr format
      - control    : 24 + 6 if 4-addr format
      - data       : 24 + 6 if 4-addr format + 2 if QoS
      - invalid    : 24 + 6 if 4-addr format
      
      whereas ieee80211_get_hdrlen_from_skb() is :
      
      - management : 24
      - control    : 16 except for ACK/CTS where it is 10
      - data       : 24 + 6 if 4-addr format + 2 if QoS + 2 if QoS & order
      - invalid    : 24
      
      So, correct frames are not affected : management frames do not use
      4-addr format, control frames have no body and invalid frames are ...
      not valid by definition. However, in order to use monitor interface for
      debugging purpose, one must be able to send/receive any frames, be it
      correct or not. Such frames are affected by incorrect padding.
      
      Moreover, since padding is added on TX, we need to remove it before
      calling ieee80211_tx_status. This affect TX packets received by monitor
      interfaces.
      
      It has been tested between an ath5k based card (AR5212) and an ar9170usb
      based card (netgear WNDA3100) using a frame generator and a monitor
      interface for each card.
      
      v2: Added ath5k_add_padding / ath5k_remove_padding
      Signed-off-by: NBenoit Papillault <benoit.papillault@free.fr>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8127fbdc
  3. 10 3月, 2010 1 次提交
  4. 11 2月, 2010 1 次提交
  5. 09 2月, 2010 1 次提交
  6. 23 1月, 2010 1 次提交
  7. 13 1月, 2010 1 次提交
  8. 08 1月, 2010 1 次提交
  9. 29 12月, 2009 3 次提交
    • J
      mac80211: remove struct ieee80211_if_init_conf · 1ed32e4f
      Johannes Berg 提交于
      All its members (vif, mac_addr, type) are now available
      in the vif struct directly, so we can pass that instead
      of the conf struct. I generated this patch (except the
      mac80211 and header file changes) with this semantic
      patch:
      
      @@
      identifier conf, fn, hw;
      type tp;
      @@
      tp fn(struct ieee80211_hw *hw,
      -struct ieee80211_if_init_conf *conf)
      +struct ieee80211_vif *vif)
      {
      <...
      (
      -conf->type
      +vif->type
      |
      -conf->mac_addr
      +vif->addr
      |
      -conf->vif
      +vif
      )
      ...>
      }
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      1ed32e4f
    • J
      wireless: remove remaining qual code · 671adc93
      Johannes Berg 提交于
      This removes the remaining users of the rx status
      'qual' field and the field itself.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      671adc93
    • B
      ath5k: fix SWI calibration interrupt storm · 242ab7ad
      Bob Copeland 提交于
      The calibration period is now invoked by triggering a software
      interrupt from within the ISR by ath5k_hw_calibration_poll()
      instead of via a timer.
      
      However, the calibration interval isn't initialized before
      interrupts are enabled, so we can have a situation where an
      interrupt occurs before the interval is assigned, so the
      interval is actually negative.  As a result, the ISR will
      arm a software interrupt to schedule the tasklet, and then
      rearm it when the SWI is processed, and so on, leading to a
      softlockup at modprobe time.
      
      Move the initialization order around so the calibration interval
      is set before interrupts are active.  Another possible fix
      is to schedule the tasklet directly from the poll routine,
      but I think there are additional plans for the SWI.
      Signed-off-by: NBob Copeland <me@bobcopeland.com>
      Cc: stable@kernel.org
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      242ab7ad
  10. 12 11月, 2009 3 次提交
  11. 11 11月, 2009 1 次提交
  12. 08 10月, 2009 10 次提交
  13. 29 8月, 2009 4 次提交
  14. 20 8月, 2009 2 次提交
  15. 14 8月, 2009 3 次提交