1. 22 5月, 2008 2 次提交
  2. 15 5月, 2008 2 次提交
    • 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
    • B
      mac80211: use hardware flags for signal/noise units · 566bfe5a
      Bruno Randolf 提交于
      trying to clean up the signal/noise code. the previous code in mac80211 had
      confusing names for the related variables, did not have much definition of
      what units of signal and noise were provided and used implicit mechanisms from
      the wireless extensions.
      
      this patch introduces hardware capability flags to let the hardware specify
      clearly if it can provide signal and noise level values and which units it can
      provide. this also anticipates possible new units like RCPI in the future.
      
      for signal:
      
        IEEE80211_HW_SIGNAL_UNSPEC - unspecified, unknown, hw specific
        IEEE80211_HW_SIGNAL_DB     - dB difference to unspecified reference point
        IEEE80211_HW_SIGNAL_DBM    - dBm, difference to 1mW
      
      for noise we currently only have dBm:
      
        IEEE80211_HW_NOISE_DBM     - dBm, difference to 1mW
      
      if IEEE80211_HW_SIGNAL_UNSPEC or IEEE80211_HW_SIGNAL_DB is used the driver has
      to provide the maximum value (max_signal) it reports in order for applications
      to make sense of the signal values.
      
      i tried my best to find out for each driver what it can provide and update it
      but i'm not sure (?) for some of them and used the more conservative guess in
      doubt. this can be fixed easily after this patch has been merged by changing
      the hardware flags of the driver.
      
      DRIVER          SIGNAL    MAX	NOISE   QUAL
      -----------------------------------------------------------------
      adm8211         unspec(?) 100   n/a     missing
      at76_usb        unspec(?) (?)   unused  missing
      ath5k           dBm             dBm     percent rssi
      b43legacy       dBm             dBm     percent jssi(?)
      b43             dBm             dBm     percent jssi(?)
      iwl-3945        dBm             dBm     percent snr+more
      iwl-4965        dBm             dBm     percent snr+more
      p54             unspec    127   n/a     missing
      rt2x00          dBm	        n/a     percent rssi+tx/rx frame success
        rt2400        dBm             n/a
        rt2500pci     dBm             n/a
        rt2500usb     dBm             n/a
        rt61pci       dBm             n/a
        rt73usb       dBm             n/a
      rtl8180         unspec(?) 65    n/a     (?)
      rtl8187         unspec(?) 65    (?)     noise(?)
      zd1211          dB(?)     100   n/a     percent
      
      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>
      566bfe5a
  3. 08 5月, 2008 2 次提交
  4. 29 4月, 2008 1 次提交
  5. 17 4月, 2008 2 次提交
  6. 02 4月, 2008 1 次提交
    • J
      wireless: fix various printk warnings on ia64 (and others) · 06501d29
      John W. Linville 提交于
      drivers/net/wireless/ath5k/base.c: In function `ath5k_check_ibss_tsf':
      drivers/net/wireless/ath5k/base.c:1740: warning: long long unsigned int format, u64 arg (arg 5)
      drivers/net/wireless/ath5k/base.c:1740: warning: long long unsigned int format, u64 arg (arg 6)
      drivers/net/wireless/ath5k/base.c:1740: warning: long long int format, u64 arg (arg 7)
      drivers/net/wireless/ath5k/base.c:1740: warning: long long unsigned int format, u64 arg (arg 8)
      drivers/net/wireless/ath5k/base.c:1757: warning: long long unsigned int format, u64 arg (arg 5)
      drivers/net/wireless/ath5k/base.c:1757: warning: long long unsigned int format, u64 arg (arg 6)
      drivers/net/wireless/iwlwifi/iwl4965-base.c: In function `iwl4965_tx_status_reply_tx':
      drivers/net/wireless/iwlwifi/iwl4965-base.c:3105: warning: long long unsigned int format, u64 arg (arg 6)
      drivers/net/wireless/iwlwifi/iwl-4965.c: In function `iwl4965_rx_reply_rx':
      drivers/net/wireless/iwlwifi/iwl-4965.c:3978: warning: long long unsigned int format, u64 arg (arg 7)
      
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      06501d29
  7. 08 3月, 2008 4 次提交
  8. 01 3月, 2008 6 次提交
  9. 21 2月, 2008 3 次提交
  10. 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
  11. 02 2月, 2008 1 次提交
  12. 01 2月, 2008 1 次提交
    • B
      ath5k: debug level improvements · be9b7259
      Bruno Randolf 提交于
      * use only one debug level for beacon debugging: unify ATH5K_DEBUG_BEACON and
      ATH5K_DEBUG_BEACON_PROC.
      
      * remove debug level ATH5K_DEBUG_FATAL. doesn't make sense as a debug level -
      if it's fatal it should be logged as an error.
      
      * fancier printing of debug levels. cat /debugfs/ath5k/phy0/debug.
      
      * allow debug levels to be changed by echoing their name into
      /debugfs/ath5k/phy0/debug. this will toggle the state, when it was off it will
      be turned on and vice versa.
      
      * use copy_from_user() when reading from the debug files. use unsigned int for
      better optimization. reduce buffer sizes on stack.
      
      drivers/net/wireless/ath5k/base.c:      Changes-licensed-under: 3-Clause-BSD
      drivers/net/wireless/ath5k/debug.c:     Changes-licensed-under: GPL
      drivers/net/wireless/ath5k/debug.h:     Changes-licensed-under: GPL
      Signed-off-by: NBruno Randolf <bruno@thinktube.com>
      Acked-by: NLuis R. Rodriguez <mcgrof@winlab.rutgers.edu>
      Acked-by: NJiri Slaby <jirislaby@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      be9b7259
  13. 29 1月, 2008 9 次提交