1. 26 11月, 2013 3 次提交
    • B
      mac80211: fix off-by-one in llid check. · 3cde38e7
      Bob Copeland 提交于
      According to IEEE 802.11-2012 (8.4.2.104), no peering
      management element exists with length 7. This code is checking
      to see if llid is present to ignore close frames with different
      llid, which would be IEs with length 8.
      Signed-off-by: NBob Copeland <bob@cozybit.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      3cde38e7
    • K
      mac80211: do not compute offset from ssn in Rx AMPDU reordering buffer · 2e3049b7
      Karl Beldan 提交于
      Currently, frames that go into the reordering buffer are stored at
      index ieee80211_sn_sub(sn, tid_rx->ssn) % tid_rx->buf_size.
      
      The offset calculation to the starting sequence number (SSN) is
      useless and just adds overhead so simply use sn % tid_rx->buf_size.
      
      This means the reordering buffer will start to be filled somewhere
      in the middle (at SSN % buf_size) and continue to get used from
      there, but there's no reason to start from the beginning.
      Signed-off-by: NKarl Beldan <karl.beldan@rivierawaves.com>
      [rewrite commit message]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      2e3049b7
    • L
      cfg80211: consolidate passive-scan and no-ibss flags · 8fe02e16
      Luis R. Rodriguez 提交于
      These two flags are used for the same purpose, just
      combine them into a no-ir flag to annotate no initiating
      radiation is allowed.
      
      Old userspace sending either flag will have it treated as
      the no-ir flag. To be considerate to older userspace we
      also send both the no-ir flag and the old no-ibss flags.
      Newer userspace will have to be aware of older kernels.
      
      Update all places in the tree using these flags with the
      following semantic patch:
      
      @@
      @@
      -NL80211_RRF_PASSIVE_SCAN
      +NL80211_RRF_NO_IR
      @@
      @@
      -NL80211_RRF_NO_IBSS
      +NL80211_RRF_NO_IR
      @@
      @@
      -IEEE80211_CHAN_PASSIVE_SCAN
      +IEEE80211_CHAN_NO_IR
      @@
      @@
      -IEEE80211_CHAN_NO_IBSS
      +IEEE80211_CHAN_NO_IR
      @@
      @@
      -NL80211_RRF_NO_IR | NL80211_RRF_NO_IR
      +NL80211_RRF_NO_IR
      @@
      @@
      -IEEE80211_CHAN_NO_IR | IEEE80211_CHAN_NO_IR
      +IEEE80211_CHAN_NO_IR
      @@
      @@
      -(NL80211_RRF_NO_IR)
      +NL80211_RRF_NO_IR
      @@
      @@
      -(IEEE80211_CHAN_NO_IR)
      +IEEE80211_CHAN_NO_IR
      
      Along with some hand-optimisations in documentation, to
      remove duplicates and to fix some indentation.
      Signed-off-by: NLuis R. Rodriguez <mcgrof@do-not-panic.com>
      [do all the driver updates in one go]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8fe02e16
  2. 28 10月, 2013 11 次提交
  3. 17 10月, 2013 1 次提交
    • J
      mac80211: disable WMM with invalid parameters · 095d81ce
      Johannes Berg 提交于
      Some APs (notably a Sitecom WL-153 v1 with firmware 1.45) are sending
      invalid WMM parameters setting AIFSN, ECWmin and ECWmax to zero. The
      spec mandates that the value of AIFSN is at least 2, and some cards
      (e.g. Intel with the iwldvm driver) can't transmit when the invalid
      QoS parameters are actually uploaded to the firmware.
      
      Since there's little chance of being able to guess the values that
      the AP actually meant, disable WMM if such an invalid case is found.
      Since ECWmin/ECWmax are allowed to be zero, only verify AIFSN >= 2
      and ECWmin <= ECWmax.
      Reviewed-by: NEliad Peller <eliad@wizery.com>
      Reported-by: NAntonio Quartulli <antonio@meshcoding.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      095d81ce
  4. 15 10月, 2013 2 次提交
  5. 14 10月, 2013 1 次提交
  6. 11 10月, 2013 1 次提交
  7. 10 10月, 2013 1 次提交
    • E
      mac80211: correctly close cancelled scans · a754055a
      Emmanuel Grumbach 提交于
      __ieee80211_scan_completed is called from a worker. This
      means that the following flow is possible.
      
       * driver calls ieee80211_scan_completed
       * mac80211 cancels the scan (that is already complete)
       * __ieee80211_scan_completed runs
      
      When scan_work will finally run, it will see that the scan
      hasn't been aborted and might even trigger another scan on
      another band. This leads to a situation where cfg80211's
      scan is not done and no further scan can be issued.
      
      Fix this by setting a new flag when a HW scan is being
      cancelled so that no other scan will be triggered.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      a754055a
  8. 03 10月, 2013 1 次提交
  9. 01 10月, 2013 6 次提交
  10. 30 9月, 2013 3 次提交
  11. 27 9月, 2013 2 次提交
  12. 26 9月, 2013 8 次提交