1. 27 6月, 2008 3 次提交
  2. 15 6月, 2008 3 次提交
  3. 10 6月, 2008 1 次提交
  4. 29 5月, 2008 2 次提交
  5. 22 5月, 2008 7 次提交
  6. 15 5月, 2008 1 次提交
    • 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
  7. 13 5月, 2008 1 次提交
    • I
      rt2x00: Fix broken recover-on-error path · ed499983
      Ivo van Doorn 提交于
      During initialization the initialize() callback function
      in rt2x00pci and rt2x00usb will cleanup the mess they made.
      
      rt2x00lib shouldn't call uninitialize because the callback function already
      cleaned up _and_ the DEVICE_INITIALIZED isn't set which causes the
      rt2x00lib_uninitialize() to halt directly anyway. All that is required
      to be cleaned up by rt2x00lib is the queue, and that can be done by
      calling rt2x00queue_uninitialize() directly.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ed499983
  8. 08 5月, 2008 2 次提交
  9. 02 5月, 2008 1 次提交
  10. 17 4月, 2008 1 次提交
  11. 09 4月, 2008 1 次提交
  12. 02 4月, 2008 2 次提交
  13. 28 3月, 2008 1 次提交
    • I
      rt2x00: Ignore set_state(STATE_SLEEP) failure · 9896322a
      Ivo van Doorn 提交于
      Some hardware never seem to accept the "goto sleep" command, since the legacy
      drivers don't have suspend and resume handlers the entire code for it was
      basically a educated guess (based on the "enable radio" code).
      This patch will only print a warning when the "goto sleep" command fails, and
      just continues as usual. Perhaps that means the device will not reach a sleep
      state and consumes more power then it should, but it is equally possible it
      simply needs some seconds longer to sleep. Anyway, by making the command
      non-fatal it will not block the rest of the suspend procedure.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      9896322a
  14. 26 3月, 2008 2 次提交
    • I
      rt2x00: Fix rate detection for invalid signals · 866a0503
      Ivo van Doorn 提交于
      It has been observed on rt2500pci hardware that some
      frames received with signal 0x0C do not have the OFDM
      flag set.
      
      Signals can have 2 meanings:
       1) The PLCP value
       2) The bitrate * 10
      
      For rt2500pci (1) is for frames received with a OFDM rate,
      and (2) is for frames received with a CCK rate.
      But 0x0C is a invalid bitrate value but is a valid PLCP
      value for 54Mbs (obvious OFDM rate).
      This means that it is possible that the hardware does not
      set the OFDM bit correctly under all circumstances.
      This results in rt2x00 failing to detect the rate and
      mac80211 triggering a WARN_ON() and dropping the frame.
      
      To bypass this, print a warning when such a frame is received,
      and reset the rate to the lowest supported rate for the current band.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      866a0503
    • I
      rt2x00: Add dev_flags to rx descriptor · 19d30e02
      Ivo van Doorn 提交于
      The rxdone_entry_desc structure contains 3 fields
      which are always 1 or 0. We can safe 8 bytes by
      replacing them with a single dev_flags fields which
      contain the flags for those settings.
      
      Additionally we can remove the OFDM flag since it
      is no longer used since the introduction of the
      SIGNAL_PLCP flag.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      19d30e02
  15. 19 3月, 2008 1 次提交
  16. 14 3月, 2008 7 次提交
  17. 01 3月, 2008 4 次提交
    • G
      rt2x00: Fix hw mode registration with mac80211. · 47ac2683
      Gertjan van Wingerde 提交于
      The supported_bands field of struct hw_mode_spec now represents a bitfield,
      so bitfield operators need to be tested with when setting the band data.
      
      The current code generates the following warning:
      
      [176624.986244] WARNING: at /usr/local/src/incoming/compat-wireless-2.6/net/wireless/core.c:269 wiphy_register()
      [176624.986249] Pid: 12548, comm: modprobe Tainted: P        2.6.24.2#4
      [176624.986251]
      [176624.986251] Call Trace:
      [176624.986277]  [<ffffffff881c56bf>] :cfg80211:wiphy_register+0x17f/0x1a0
      [176624.986282]  [<ffffffff881ddf80>] :rt61pci:rt61pci_eepromregister_write+0x0/0x80
      [176624.986302]  [<ffffffff88b7e4bc>] :mac80211:ieee80211_register_hw+0x2c/0x2b0
      [176624.986310]  [<ffffffff881cdc80>] :rt2x00lib:rt2x00lib_probe_dev+0x350/0x3f0
      [176624.986318]  [<ffffffff881d74b9>] :rt2x00pci:rt2x00pci_probe+0x149/0x200
      [176624.986325]  [<ffffffff8030c858>] pci_device_probe+0xf8/0x170
      [176624.986331]  [<ffffffff803594fc>] driver_probe_device+0x9c/0x1c0
      [176624.986335]  [<ffffffff80359700>] __driver_attach+0x0/0xb0
      [176624.986337]  [<ffffffff803597a5>] __driver_attach+0xa5/0xb0
      [176624.986341]  [<ffffffff8035877d>] bus_for_each_dev+0x4d/0x80
      [176624.986347]  [<ffffffff80358b8c>] bus_add_driver+0xac/0x210
      [176624.986351]  [<ffffffff8030cad3>] __pci_register_driver+0x73/0xc0
      [176624.986357]  [<ffffffff8025689e>] sys_init_module+0x18e/0x1a20
      [176624.986374]  [<ffffffff8020c42e>] system_call+0x7e/0x83
      Signed-off-by: NGertjan van Wingerde <gwingerde@kpnplanet.nl>
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      47ac2683
    • I
      rt2x00: Cleanup mode registration · 31562e80
      Ivo van Doorn 提交于
      Don't wildly pass any number for num_rates to rt2x00lib,
      instead pass which type of rates are supported (CCK, OFDM).
      Same for num_modes but then for the 2GHZ and 5GHZ band.
      
      This makes the interface look much nicer and makes
      extending it later easier.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      31562e80
    • I
      rt2x00: Don't report driver generated frames to tx_status() · baf26a7e
      Ivo van Doorn 提交于
      This adds a new flag for the skb_frame_desc structure which is used to tag
      rts/cts frames that are generated by the driver. Through the tag we can
      recognize frames we have generated ourselves, so we don't report their tx
      status to mac80211.
      
      This patch is based on the original patch by
      Mattias Nissler <mattias.nissler@gmx.de>.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      baf26a7e
    • I
      rt2x00: Fix rate initialization · 8f5fa7f0
      Ivo van Doorn 提交于
      Fix typo in rate initialization. This fixes the WARN_ON()
      in net/wireless/util.cpp:83
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8f5fa7f0