1. 12 2月, 2010 2 次提交
  2. 09 2月, 2010 2 次提交
  3. 26 1月, 2010 4 次提交
    • R
      iwlwifi: cleanup spectrum measurement command support · 81963d68
      Reinette Chatre 提交于
      In iwlagn the support for spectrum measurement command has been
      disabled since v2.6.29 without any requests for it. In addition to this
      when this command is indeed enabled it has been found to trigger firmware
      SYSASSERT on at least 4965 and 5100 hardware (see
      http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=1952 ). Since then
      this code has been bitrotting and cannot just be enabled without porting.
      
      Remove support for spectrum measurement command from iwlagn. It can be
      added back if there is a future need and the firmware problem it triggers
      has been fixed. Support for the spectrim measurement notification remains
      as it has been enabled all the time.
      
      In addition to this remove the 3945 spectrum measurement command Kconfig
      option and make this command always supported. The code added by this
      enabling is minimal and only run when user triggers a spectrum measurement
      request via sysfs.
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      81963d68
    • R
      iwlwifi: make broadcast station addition generic · 3459ab5a
      Reinette Chatre 提交于
      Add function pointer for broadcast station addition so that we can call it
      in from iwlcore at a later time. We only distinguish between iwlagn and
      iwl3945 broadcast station addition. For the iwl3945 station addition we add
      that function to iwlcore since that is where most station functionality
      resides, making it part of iwl3945 will require significant code
      reorganization that will dilute station management functionality. This
      seems to be an efficient solution.
      
      It may seem as though we are removing error checking when adding the 3945
      broadcast station but this error checking was never really necessary since
      the function returns the station id and the broadcast station id is always
      set.
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3459ab5a
    • T
      iwlwifi: Tune radio to prevent unexpected behavior · 3e4fb5fa
      Trieu 'Andrew' Nguyen 提交于
      We have seen the throughput dropped due to external noisy environment
      and the radio is out of tune.  There are lot of plcp errors indicating
      this condition. Eventually the station can get de-authenticated by the
      Access Point.  By resetting and tuning the radio, the plcp errors are
      reduced or eliminated and the throughput starts to rise.
      
      To prevent unexpected behavior such as drop in throughput or deauthentication,
      - The change provides the driver feature to monitor and tune the radio base on
      the statistics notification from the uCode.
      - It also allows the setting of the plcp error rate threshold via
      the plcp_delta under debugfs interface.
      Signed-off-by: NTrieu 'Andrew' Nguyen <trieux.t.nguyen@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3e4fb5fa
    • W
      iwlwifi: add function to reset/tune radio if needed · afbdd69a
      Wey-Yi Guy 提交于
      Adding "radio reset" function to help reset and stabilize the radio.
      
      During normal operation, sometime for unknown reason, radio encounter
      problem and can not recover by itself; the best way to
      recover from it is to reset and re-tune the radio. Currently, there is
      no RF reset command available, but since radio will get reset when
      switching channel, use internal hw scan request to force radio
      reset and get back to normal operation state.
      
      The internal hw scan will only perform passive scan on the first
      available channel (not the channel being used) in associated state. The
      request should be ignored if already performing scan operation or STA is
      not in associated state.
      
      Also include an "internal_scan" debugfs file to help trigger the
      internal scan from user mode.
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      afbdd69a
  4. 20 1月, 2010 2 次提交
  5. 06 1月, 2010 1 次提交
  6. 29 12月, 2009 1 次提交
  7. 23 12月, 2009 1 次提交
  8. 22 12月, 2009 2 次提交
  9. 05 12月, 2009 1 次提交
  10. 24 11月, 2009 5 次提交
  11. 19 11月, 2009 1 次提交
  12. 12 11月, 2009 1 次提交
  13. 11 11月, 2009 1 次提交
    • W
      iwlwifi: Use RTS/CTS as the preferred protection mechanism for 6000 series · 73871f71
      Wey-Yi Guy 提交于
      When 802.11g was introduced, we had RTS/CTS and CTS-to-Self protection
      mechanisms. In an HT Beacon, HT stations use the "Operating Mode" field
      in the HT Information Element to determine whether or not to use
      protection.
      
      The Operating Mode field has 4 possible settings: 0-3:
      Mode 0: If all stations in the BSS are 20/40 MHz HT capable, or if the
      BSS is 20/40 MHz capable, or if all stations in the BSS are 20 MHz HT
      stations in a 20 MHz BSS
      Mode 1: used if there are non-HT stations or APs using the primary or
      secondary channels
      Mode 2: if only HT stations are associated in the BSS and at least one
      20 MHz HT station is associated.
      Mode 3: used if one or more non-HT stations are associated in the BSS.
      
      When in operating modes 1 or 3, and the Use_Protection field is 1 in the
      Beacon's ERP IE, all HT transmissions must be protected using RTS/CTS or
      CTS-to-Self.
      
      By default, CTS-to-self is the preferred protection mechanism for less
      overhead and higher throughput; but using the full RTS/CTS will better
      protect the inner exchange from interference, especially in
      highly-congested environment.
      
      For 6000 series WIFI NIC, RTS/CTS protection mechanism is the
      recommended choice for HT traffic based on the HW design.
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Cc: stable@kernel.org
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      73871f71
  14. 03 11月, 2009 3 次提交
  15. 28 10月, 2009 9 次提交
  16. 08 10月, 2009 4 次提交
    • A
      iwlwifi/iwl3945 : unify apm stop operation · d68b603c
      Abhijeet Kolekar 提交于
      Unify the usage of apm_stop_master and apm_stop
      across all hardwares.
      Signed-off-by: NAbhijeet Kolekar <abhijeet.kolekar@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d68b603c
    • J
      iwlwifi: LED cleanup · e932a609
      Johannes Berg 提交于
      The iwlwifi drivers have LED blinking requirements that
      mac80211 cannot fulfill due to the use of just a single
      LED instead of different ones for TX, RX, radio etc.
      Instead, the single LED blinks according to transfers
      and is solid on the rest of the time. As such, having
      LED class devices registered that mac80211 triggers are
      connected to is pointless as we don't use the triggers
      anyway.
      
      Remove all the useless code and add hooks into the
      driver itself. At the same time, make the LED code
      abstracted so the core code that determines blink rate
      etc. can be shared between 3945 and agn in iwlcore.
      
      At the same time, the fact that we removed the use of
      the mac80211 LED triggers means we can also remove the
      IWLWIFI_LEDS Kconfig symbol since the LED support is
      now self-contained.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      e932a609
    • W
      iwlwifi: reliable entering of critical temperature state · 7812b167
      Wey-Yi Guy 提交于
      When uCode detects critical temperature it should send "card state
      notification" interrupt to driver and then shut itself down to prevent
      overheating. There is a race condition where uCode shuts down before it
      can deliver the interrupt to driver.
      Additional method provided here for driver to enter CT_KILL state based
      on temperature reading.
      
      How it works:
      Method 1:
      If driver receive "card state notification" interrupt from uCode; it
      enters "CT_KILL" state immediately
      
      Method 2:
      If the last temperature report by Card reach Critical temperature,
      driver will send "statistic notification" request to uCode to verify the
      temperature reading, if driver can not get reply from uCode within
      300ms, driver will enter CT_KILL state automatically.
      
      Method 3:
      If the last temperature report by Card did not reach Critical
      temperature, but uCode already shut down due to critical temperature.
      All the host commands send to uCode will not get process by uCode;
      when command queue reach the limit, driver will check the last reported
      temperature reading, if it is within pre-defined margin, enter "CT_KILL"
      state immediately. In this case, when uCode ready to exit from "CT_KILL" state,
      driver need to restart the adapter in order to reset all the queues and
      resume normal operation.
      
      One additional issue being address here, when system is in CT_KILL
      state, both tx and rx already stopped, but driver still can send host
      command to uCode, it will flood the command queue since card was not
      responding; adding STATUS_CT_KILL flag to reject enqueue host commands
      to uCode if it is in CT_KILL state, when uCode is ready to come out of
      CT_KILL, driver will clear  the STATUS_CT_KILL bit and allow enqueue the host
      commands to uCode to recover from CT_KILL state.
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7812b167
    • J
      iwlwifi: support idle for 6000 series hw · 78f5fb7f
      Johannes Berg 提交于
      Using powersave while idle saves a lot of power, but
      we've had problems with this on some cards (5150 has
      been reported to be problematic). However, on the new
      6000 series we're seeing no problems, so for now let
      that hardware benefit from idle mode, we can look at
      the problems with other hardware one by one and then
      enable those once we figure out the problems.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      78f5fb7f