1. 30 Oct, 2012 5 commits
    • Johannes Berg's avatar
      mac80211: handle TX power per virtual interface · 1ea6f9c0
      Johannes Berg authored
      
      
      Even before channel contexts/multi-channel, having a
      single global TX power limit was already problematic,
      in particular if two managed interfaces connected to
      two APs with different power constraints. The channel
      context introduction completely broke this though and
      in fact I had disabled TX power configuration there
      for drivers using channel contexts.
      
      Change everything to track TX power per interface so
      that different user settings and different channel
      maxima are treated correctly. Also continue tracking
      the global TX power though for compatibility with
      applications that attempt to configure the wiphy's
      TX power globally.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      1ea6f9c0
    • Johannes Berg's avatar
      cfg80211: allow per interface TX power setting · c8442118
      Johannes Berg authored
      
      
      The TX power setting is currently per wiphy (hardware
      device) but with multi-channel capabilities that doesn't
      make much sense any more.
      
      Allow drivers (and mac80211) to advertise support for
      per-interface TX power configuration. When the TX power
      is configured for the wiphy, the wdev will be NULL and
      the driver can still handle that, but when a wdev is
      given the TX power can be set only for that wdev now.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      c8442118
    • Johannes Berg's avatar
      nl80211: move "can set channel" check · 71fe96bf
      Johannes Berg authored
      
      
      Setting the wdev to NULL when the channel can't be
      set for that interface type (to treat the channel
      setting for the wiphy/monitor) currently works, but
      is confusing in the code if netdev/wdev aren't both
      set/unset in the same way. Move the check whether
      the channel can be set to where it's needed so that
      wdev and netdev are always both assigned or NULL.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      71fe96bf
    • Johannes Berg's avatar
      mac80211_hwsim: allow using channel contexts · e8261171
      Johannes Berg authored
      
      
      To use mac80211_hwsim for testing channel contexts it
      has to support them, and for that it has to support
      hw scan and hw-remain-on-channel.
      
      Since it's pure software, the off-channel activities
      are really not off-channel but listening and sending
      on a second channel. Also, the multi-channel isn't
      really doing TDM, it's just on both channels at the
      same time.
      
      For testing purposes, you can specify the number of
      concurrent channels with a module parameter, it is
      set to one by default. When set to two or more, the
      userspace API for wmediumd is disabled as it has no
      provisions for multi-channel yet.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      e8261171
    • Johannes Berg's avatar
  2. 29 Oct, 2012 35 commits