1. 31 1月, 2013 2 次提交
    • J
      mac80211: start auth/assoc timeout on frame status · 1672c0e3
      Johannes Berg 提交于
      When sending authentication/association frames they
      might take a bit of time to go out because we may
      have to synchronise with the AP, in particular in
      the case where it's really a P2P GO. In this case
      the 200ms fixed timeout could potentially be too
      short if the beacon interval is relatively large.
      
      For drivers that report TX status we can do better.
      Instead of starting the timeout directly, start it
      only when the frame status arrives. Since then the
      frame was out on the air, we can wait shorter (the
      typical response time is supposed to be 30ms, wait
      100ms.) Also, if the frame failed to be transmitted
      try again right away instead of waiting.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      1672c0e3
    • E
      mac80211: inform the driver about update of dtim_period · c65dd147
      Emmanuel Grumbach 提交于
      Currently, when the driver requires the DTIM period,
      mac80211 will wait to hear a beacon before association.
      This behavior is suboptimal since some drivers may be
      able to deal with knowing the DTIM period after the
      association, if they get it at all.
      
      To address this, notify the drivers with bss_info_changed
      with the new BSS_CHANGED_DTIM_PERIOD flag when the DTIM
      becomes known. This might be when changing to associated,
      or later when the entire association was done with only
      probe response information.
      
      Rename the hardware flag for the current behaviour to
      IEEE80211_HW_NEED_DTIM_BEFORE_ASSOC to more accurately
      reflect its behaviour. IEEE80211_HW_NEED_DTIM_PERIOD is
      no longer accurate as all drivers get the DTIM period
      now, just not before association.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      c65dd147
  2. 16 1月, 2013 2 次提交
  3. 03 1月, 2013 4 次提交
  4. 30 11月, 2012 2 次提交
  5. 27 11月, 2012 1 次提交
  6. 26 11月, 2012 2 次提交
  7. 20 11月, 2012 1 次提交
    • J
      mac80211: fix channel context suspend/reconfig handling · fe5f2559
      Johannes Berg 提交于
      Sujith reported warnings with suspend/resume due to
      channel contexts. When I looked into it, I realised
      that the code was completely broken as it unassigned
      the channel contexts when suspending, which actually
      means they are destroyed.
      
      Eliad Peller then pointed out that we also need to
      remove the channel contexts from the driver. When I
      looked into this, I also noticed that the code isn't
      handling the virtual monitor interface correctly (if
      it exists.)
      
      Fix this by calling just the driver methods (if they
      are implemented) instead of using the channel context
      management code. Also add reconfiguration for the
      virtual monitor interface.
      Reported-by: NSujith Manoharan <sujith@msujith.org>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      fe5f2559
  8. 19 11月, 2012 1 次提交
  9. 14 11月, 2012 1 次提交
  10. 10 11月, 2012 4 次提交
  11. 30 10月, 2012 1 次提交
    • J
      mac80211: handle TX power per virtual interface · 1ea6f9c0
      Johannes Berg 提交于
      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: NJohannes Berg <johannes.berg@intel.com>
      1ea6f9c0
  12. 26 10月, 2012 1 次提交
  13. 25 10月, 2012 1 次提交
  14. 24 10月, 2012 1 次提交
  15. 17 10月, 2012 5 次提交
  16. 16 10月, 2012 1 次提交
  17. 14 9月, 2012 1 次提交
  18. 07 9月, 2012 1 次提交
  19. 06 9月, 2012 1 次提交
  20. 20 8月, 2012 4 次提交
    • J
      mac80211: pass channel to ieee80211_send_probe_req · fe94fe05
      Johannes Berg 提交于
      In multi-channel scenarios, the channel that we will
      transmit a probe request on isn't always the current
      channel (which will be NULL anyway) but will instead
      be the channel that the AP is on. Pass the channel
      to the ieee80211_send_probe_req() function so it can
      be used in the different scenarios. The scan code
      continues to pass the current channel, of course.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      fe94fe05
    • J
      mac80211: support P2P Device abstraction · f142c6b9
      Johannes Berg 提交于
      After cfg80211 got a P2P Device abstraction, add
      support to mac80211. Whether it really is supported
      or not will depend on whether or not the driver has
      support for it, but mac80211 needs to change to be
      able to support drivers that need a P2P Device.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      f142c6b9
    • J
      cfg80211: add P2P Device abstraction · 98104fde
      Johannes Berg 提交于
      In order to support using a different MAC address
      for the P2P Device address we must first have a
      P2P Device abstraction that can be assigned a MAC
      address.
      
      This abstraction will also be useful to support
      offloading P2P operations to the device, e.g.
      periodic listen for discoverability.
      
      Currently, the driver is responsible for assigning
      a MAC address to the P2P Device, but this could be
      changed by allowing a MAC address to be given to
      the NEW_INTERFACE command.
      
      As it has no associated netdev, a P2P Device can
      only be identified by its wdev identifier but the
      previous patches allowed using the wdev identifier
      in various APIs, e.g. remain-on-channel.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      98104fde
    • J
      mac80211: check size of channel switch IE when parsing · 5bc1420b
      Johannes Berg 提交于
      The channel switch IE has a fixed size, so we can
      discard it in parsing if it's not the right size
      and use the right struct pointer.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      5bc1420b
  21. 31 7月, 2012 3 次提交
    • J
      mac80211: fix current vs. operating channel in preq/beacon · 6b77863b
      Johannes Berg 提交于
      When sending probe requests, e.g. during software scanning,
      these will go out on the *current* channel, so their IEs
      need to be built from the current channel. At other times,
      e.g. for beacons or probe request templates, the IEs will
      be used on the *operating* channel and using the current
      channel instead might result in errors.
      
      Add the appropriate parameters to respect the difference.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      6b77863b
    • J
      mac80211: use oper_channel in utils and config · 679ef4ea
      Johannes Berg 提交于
      Using hw.conf.channel is wrong as it could be the
      temporary channel if any function like the beacon
      get function is called while scanning or during
      other temporary out-of-channel activities.
      
      Use oper_channel instead.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      679ef4ea
    • E
      mac80211: add PS flag to bss_conf · ab095877
      Eliad Peller 提交于
      Currently, ps mode is indicated per device (rather than
      per interface), which doesn't make a lot of sense.
      
      Moreover, there are subtle bugs caused by the inability
      to indicate ps change along with other changes
      (e.g. when the AP deauth us, we'd like to indicate
      CHANGED_PS | CHANGED_ASSOC, as changing PS before
      notifying about disassociation will result in null-packets
      being sent (if IEEE80211_HW_SUPPORTS_DYNAMIC_PS) while
      the sta is already disconnected.)
      
      Keep the current per-device notifications, and add
      parallel per-vif notifications.
      
      In order to keep it simple, the per-device ps and
      the per-vif ps are orthogonal - the per-vif ps
      configuration is determined only by the user
      configuration (enable/disable) and the connection
      state, and is not affected by other vifs state and
      (temporary) dynamic_ps/offchannel operations
      (unlike per-device ps).
      Signed-off-by: NEliad Peller <eliad@wizery.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      ab095877