1. 26 8月, 2010 1 次提交
  2. 25 8月, 2010 7 次提交
  3. 18 8月, 2010 1 次提交
  4. 17 8月, 2010 3 次提交
  5. 10 8月, 2010 1 次提交
    • J
      iwlagn: fix rts cts protection · 94597ab2
      Johannes Berg 提交于
      Currently the driver will try to protect all frames,
      which leads to a lot of odd things like sending an
      RTS with a zeroed RA before multicast frames, which
      is clearly bogus.
      
      In order to fix all of this, we need to take a step
      back and see what we need to achieve:
       * we need RTS/CTS protection if requested by
         the AP for the BSS, mac80211 tells us this
       * in that case, CTS-to-self should only be
         enabled when mac80211 tells us
       * additionally, as a hardware workaround, on
         some devices we have to protect aggregated
         frames with RTS
      
      To achieve the first two items, set up the RXON
      accordingly and set the protection required flag
      in the transmit command when mac80211 requests
      protection for the frame.
      
      To achieve the last item, set the rate-control
      RTS-requested flag for all stations that we have
      aggregation sessions with, and set the protection
      required flag when sending aggregated frames (on
      those devices where this is required).
      
      Since otherwise bugs can occur, do not allow the
      user to override the RTS-for-aggregation setting
      from sysfs any more.
      
      Finally, also clean up the way all these flags get
      set in the driver and move everything into the
      device-specific functions.
      
      Cc: stable@kernel.org [2.6.35]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      94597ab2
  6. 05 8月, 2010 1 次提交
  7. 28 7月, 2010 1 次提交
  8. 23 7月, 2010 1 次提交
  9. 21 7月, 2010 1 次提交
    • J
      mac80211: move QoS-enable to BSS info · 4ced3f74
      Johannes Berg 提交于
      Ever since
      
      commit e1b3ec1a
      Author: Stanislaw Gruszka <sgruszka@redhat.com>
      Date:   Mon Mar 29 12:18:34 2010 +0200
      
          mac80211: explicitly disable/enable QoS
      
      mac80211 is telling drivers, in particular
      iwlwifi, whether QoS is enabled or not.
      
      However, this is only relevant for station mode,
      since only then will any device send nullfunc
      frames and need to know whether they should be
      QoS frames or not. In other modes, there are
      (currently) no frames the device is supposed to
      send.
      
      When you now consider virtual interfaces, it
      becomes apparent that the current mechanism is
      inadequate since it enables/disables QoS on a
      global scale, where for nullfunc frames it has
      to be on a per-interface scale.
      
      Due to the above considerations, we can change
      the way mac80211 advertises the QoS state to
      drivers to only ever advertise it as "off" in
      station mode, and make it a per-BSS setting.
      Tested-by: NStanislaw Gruszka <sgruszka@redhat.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      4ced3f74
  10. 03 7月, 2010 1 次提交
    • W
      iwlwifi: fix fw_restart module parameter · c04f9f22
      Wey-Yi Guy 提交于
      fw_restart module parameter was broken by the recent check for stuck
      queue patch, driver check the fx_restart module parameter
      before reload the firmware; but the stuck queue timer kick in after
      firmware error and reload the firmware even fw_restart=0. In this case,
      driver should not reload the firmware, it is important to help debugging
      uCode error.
      
      The only case we can ignore the module parameter is when user request
      firmware reload from debugfs, which can bypass the checking and perform
      firmware reload all the time.
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      c04f9f22
  11. 26 6月, 2010 3 次提交
  12. 06 6月, 2010 10 次提交
  13. 03 6月, 2010 1 次提交
  14. 14 5月, 2010 4 次提交
  15. 11 5月, 2010 4 次提交
    • J
      iwlwifi: rework broadcast station management · 2c810ccd
      Johannes Berg 提交于
      Currently, the broadcast station is managed along
      with the interface type, rather than always being
      present. That leads to a bug with injection -- it
      is currently not possible to inject frames when
      the only virtual interface is a monitor, because
      in that the required broadcast station is missing.
      
      Additionally, allocating and deallocating the
      broadcast station's LQ all the time is wasteful,
      and the code to support this is fairly complex.
      
      So this changes completely the way we manage the
      broadcast station. Rather than manage it along
      with any interface, we now allocate it when we
      bring the device up, and remove it again when we
      bring the device down. When we bring the device
      up, we don't immediately program the broadcast
      station into it, instead we just mark it active
      and rely on the next restore cycle to upload it
      to the device. This works because an unassociated
      RXON is always required at least once to set up
      device parameters, which implies a reprogramming
      of stations into the device.
      
      As we now manage all stations properly, there no
      longer is a need for forcing a clearing of them
      via iwl_clear_ucode_stations(), which can become
      a lot simpler.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      2c810ccd
    • J
      iwlwifi: use vif in iwl_ht_conf · ca3c1f59
      Johannes Berg 提交于
      Pass the virtual interface pointer to iwl_ht_conf()
      so it doesn't need to rely on iw_mode and other
      global variables.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      ca3c1f59
    • J
      iwlwifi: push virtual interface through · 1dda6d28
      Johannes Berg 提交于
      Rather than keeping every bit of information
      around in priv and the virtual interface, add
      a virtual interface to many functions and use
      the information directly from it.
      
      This removes beacon_int, assoc_capability and
      assoc_id from struct iwl_priv.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      1dda6d28
    • J
      iwlwifi: apply filter flags directly · 3474ad63
      Johannes Berg 提交于
      Since iwl_configure_filter can now sleep since
      the mac80211 callback was changed, we can now
      apply filter flags changes directly.
      
      Also, while at it, make the code a bit more
      generic with a local macro. There's no need
      to check changed_flags since we apply all at
      the same time anyway.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      3474ad63