1. 19 6月, 2010 1 次提交
    • J
      mac80211: fix sw scan bracketing · 543708be
      Johannes Berg 提交于
      Currently, detection in hwsim and ath9k can
      detect that two sw scans are in flight at the
      same time, which isn't really true. It is
      caused by a race condition, because the scan
      complete callback is called too late, after
      the lock has been dropped, so that a new scan
      can be started before it is called.
      
      It is also called too early semantically, as
      it is currently called _after_ the return to
      the operating channel -- it should be before
      so that drivers know this is the operating
      channel again.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      543708be
  2. 17 6月, 2010 1 次提交
  3. 16 6月, 2010 3 次提交
    • J
      mac80211: Use a separate CCMP PN receive counter for management frames · 9190252c
      Jouni Malinen 提交于
      When management frame protection (IEEE 802.11w) is used, we must use a
      separate counter for tracking received CCMP packet number for the
      management frames. The previously used NUM_RX_DATA_QUEUESth queue was
      shared with data frames when QoS was not used and that can cause
      problems in detecting replays incorrectly for robust management frames.
      Add a new counter just for robust management frames to avoid this issue.
      Signed-off-by: NJouni Malinen <jouni.malinen@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      9190252c
    • J
      mac80211: Protect Deauthentication frame when using MFP · 05e48e8e
      Jouni Malinen 提交于
      When management frame protection (IEEE 802.11w) is used,
      Deauthentication frame needs to be protected when the pairwise key is
      configured. mac80211 was removing the station entry (and its keys)
      before actually sending out the Deauthentication frame. Fix this by
      reordering the code to send the frame before the station entry gets
      removed. This matches an earlier change that handled the Disassociation
      frame processing, but missed Deauthentication frames.
      Signed-off-by: NJouni Malinen <jouni.malinen@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      05e48e8e
    • J
      mac80211: Fix ps-qos network latency handling · ff616381
      Juuso Oikarinen 提交于
      The ps-qos latency handling is broken. It uses predetermined latency values
      to select specific dynamic PS timeouts. With common AP configurations, these
      values overlap with beacon interval and are therefore essentially useless
      (for network latencies less than the beacon interval, PSM is disabled.)
      
      This patch remedies the problem by replacing the predetermined network latency
      values with one high value (1900ms) which is used to go trigger full psm. For
      backwards compatibility, the value 2000ms is still mapped to a dynamic ps
      timeout of 100ms.
      
      Currently also the mac80211 internal value for storing user space configured
      dynamic PSM values is incorrectly in the driver visible ieee80211_conf struct.
      Move it to the ieee80211_local struct.
      Signed-off-by: NJuuso Oikarinen <juuso.oikarinen@nokia.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ff616381
  4. 15 6月, 2010 29 次提交
  5. 09 6月, 2010 1 次提交
  6. 08 6月, 2010 3 次提交
  7. 05 6月, 2010 2 次提交
    • J
      mac80211: process station blockack action frames from work · 8b9a4e6e
      Johannes Berg 提交于
      Processing an association response could take a bit
      of time while we set up the hardware etc. During that
      time, the AP might already send a blockack request.
      If this happens very quickly on a fairly slow machine,
      we can end up processing the blockack request before
      the association processing has finished. Since the
      blockack processing cannot sleep right now, we also
      cannot make it wait in the driver.
      
      As a result, sometimes on slow machines the iwlagn
      driver gets totally confused, and no traffic can pass
      when the aggregation setup was done before the assoc
      setup completed.
      
      I'm working on a proper fix for this, which involves
      queuing all blockack category action frames from a
      work struct, and also allowing the ampdu_action driver
      callback to sleep, which will generally clean up the
      code and make things easier.
      
      However, this is a very involved and complex change.
      To fix the problem at hand in a way that can also be
      backported to stable, I've come up with this patch.
      Here, I simply process all aggregation action frames
      from the managed interface skb queue, which means
      their processing will be serialized with processing
      the association response, thereby fixing the problem.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Cc: stable@kernel.org
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8b9a4e6e
    • S
      mac80211: Remove deprecated sta_notify commands · 38a6cc75
      Sujith 提交于
      STA_NOTIFY_ADD and STA_NOTIFY_REMOVE have no users anymore,
      and station addition/removal are indicated to drivers
      using sta_add() and sta_remove(), which can sleep.
      Signed-off-by: NSujith <Sujith.Manoharan@atheros.com>
      Acked-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      38a6cc75