1. 01 Apr, 2015 2 commits
    • Ilan peer's avatar
      cfg80211: Stop calling crda if it is not responsive · c37722bd
      Ilan peer authored
      Patch eeca9fce (cfg80211: Schedule
      timeout for all CRDA call) introduced a regression, where in case
      that crda is not installed (or not configured properly etc.), the
      regulatory core will needlessly continue to call it, polluting the
      log with the following log:
      
      "cfg80211: Calling CRDA to update world regulatory domain"
      
      Fix this by limiting the number of continuous CRDA request failures.
      Signed-off-by: default avatarIlan Peer <ilan.peer@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      c37722bd
    • Johannes Berg's avatar
      mac80211: use rhashtable for station table · 7bedd0cf
      Johannes Berg authored
      We currently have a hand-rolled table with 256 entries and are
      using the last byte of the MAC address as the hash. This hash
      is obviously very fast, but collisions are easily created and
      we waste a lot of space in the common case of just connecting
      as a client to an AP where we just have a single station. The
      other common case of an AP is also suboptimal due to the size
      of the hash table and the ease of causing collisions.
      
      Convert all of this to use rhashtable with jhash, which gives
      us the advantage of a far better hash function (with random
      perturbation to avoid hash collision attacks) and of course
      that the hash table grows and shrinks dynamically with chain
      length, improving both cases above.
      
      Use a specialised hash function (using jhash, but with fixed
      length) to achieve better compiler optimisation as suggested
      by Sergey Ryazanov.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      7bedd0cf
  2. 31 Mar, 2015 38 commits