An error occurred fetching the project authors.
  1. 17 Oct, 2012 3 commits
  2. 16 Oct, 2012 1 commit
    • Johannes Berg's avatar
      mac80211: track whether to use channel contexts · fe57d9f5
      Johannes Berg authored
      Depending on the driver, channel contexts may be used or
      not. If they are used, the driver must have support for
      hardware scan and remain-on-channel; otherwise the driver
      must not advertise support for multiple channels.
      
      Also prohibit WDS type interfaces when channel contexts
      are to be used as there's no clear definition of which
      channel they use.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      fe57d9f5
  3. 19 Sep, 2012 1 commit
  4. 14 Sep, 2012 1 commit
  5. 10 Sep, 2012 1 commit
    • Johannes Berg's avatar
      mac80211: add key flag for management keys · e548c49e
      Johannes Berg authored
      Mark keys that might be used to receive management
      frames so drivers can fall back on software crypto
      for them if they don't support hardware offload.
      As the new flag is only set correctly for RX keys
      and the existing IEEE80211_KEY_FLAG_SW_MGMT flag
      can only affect TX, also rename the latter to
      IEEE80211_KEY_FLAG_SW_MGMT_TX.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      e548c49e
  6. 05 Sep, 2012 1 commit
  7. 22 Aug, 2012 1 commit
  8. 20 Aug, 2012 2 commits
  9. 31 Jul, 2012 4 commits
    • Johannes Berg's avatar
      mac80211: use eth_broadcast_addr · e83e6541
      Johannes Berg authored
      Instead of memset().
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      e83e6541
    • Johannes Berg's avatar
      mac80211: fix current vs. operating channel in preq/beacon · 6b77863b
      Johannes Berg authored
      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: default avatarJohannes Berg <johannes.berg@intel.com>
      6b77863b
    • Johannes Berg's avatar
      mac80211: use oper_channel in utils and config · 679ef4ea
      Johannes Berg authored
      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: default avatarJohannes Berg <johannes.berg@intel.com>
      679ef4ea
    • Eliad Peller's avatar
      mac80211: add PS flag to bss_conf · ab095877
      Eliad Peller authored
      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: default avatarEliad Peller <eliad@wizery.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      ab095877
  10. 18 Jul, 2012 1 commit
  11. 17 Jul, 2012 1 commit
  12. 13 Jul, 2012 2 commits
  13. 12 Jul, 2012 2 commits
  14. 09 Jul, 2012 2 commits
    • Johannes Berg's avatar
      cfg80211: use wdev in mgmt-tx/ROC APIs · 71bbc994
      Johannes Berg authored
      The management frame and remain-on-channel APIs will be
      needed in the P2P device abstraction, so move them over
      to the new wdev-based APIs. Userspace can still use both
      the interface index and wdev identifier for them so it's
      backward compatible, but for the P2P Device wdev it will
      be able to use the wdev identifier only.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      71bbc994
    • Johannes Berg's avatar
      mac80211: update BSS info on AC parameters change · 7d25745d
      Johannes Berg authored
      When the AC parameters change, drivers might rely
      on getting a bss_info_changed notification with
      BSS_CHANGED_QOS in addition to the conf_tx call.
      
      Always call the function when userspace updates
      are made (in AP/GO modes) and also set the change
      flag when updates were made by the AP (in managed
      mode.)
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      7d25745d
  15. 29 Jun, 2012 2 commits
  16. 28 Jun, 2012 1 commit
  17. 24 Jun, 2012 1 commit
    • Johannes Berg's avatar
      mac80211: clean up debugging · bdcbd8e0
      Johannes Berg authored
      There are a few things that make the logging and
      debugging in mac80211 less useful than it should
      be right now:
       * a lot of messages should be pr_info, not pr_debug
       * wholesale use of pr_debug makes it require *both*
         Kconfig and dynamic configuration
       * there are still a lot of ifdefs
       * the style is very inconsistent, sometimes the
         sdata->name is printed in front
      
      Clean up everything, introducing new macros and
      separating out the station MLME debugging into
      a new Kconfig symbol.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      bdcbd8e0
  18. 21 Jun, 2012 1 commit
  19. 20 Jun, 2012 2 commits
  20. 18 Jun, 2012 3 commits
  21. 14 Jun, 2012 1 commit
  22. 13 Jun, 2012 3 commits
    • Pontus Fuchs's avatar
      mac80211: Disallow changing chan type on monitor when CHAN_MODE_FIXED · ac4d82fa
      Pontus Fuchs authored
      If you add a monitor interface in parallel to a normal interface
      mac80211 will let you to change the channel type on the monitor
      interface even if you are connected. Add an explicit check to
      disallow this.
      Signed-off-by: default avatarPontus Fuchs <pontus.fuchs@gmail.com>
      [fix typo in commit log, use sdata instead of netdev]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      ac4d82fa
    • Eliad Peller's avatar
      mac80211: check sdata_running on ieee80211_set_bitrate_mask · 554a43d5
      Eliad Peller authored
      Otherwise, we might call the driver callback before
      the interface was uploaded.
      
      Solves the following warning:
      WARNING: at net/mac80211/driver-ops.h:12 ieee80211_set_bitrate_mask+0xbc/0x18c [mac80211]()
      wlan0:  Failed check-sdata-in-driver check, flags: 0x0
      Modules linked in: wlcore_sdio wl12xx wl18xx wlcore mac80211 cfg80211 [last unloaded: cfg80211]
      [<c001b964>] (unwind_backtrace+0x0/0x12c) from [<c0495550>] (dump_stack+0x20/0x24)
      [<c0495550>] (dump_stack+0x20/0x24) from [<c003ee28>] (warn_slowpath_common+0x5c/0x74)
      [<c003ee28>] (warn_slowpath_common+0x5c/0x74) from [<c003eefc>] (warn_slowpath_fmt+0x40/0x48)
      [<c003eefc>] (warn_slowpath_fmt+0x40/0x48) from [<bf5c1ad0>] (ieee80211_set_bitrate_mask+0xbc/0x18c [mac80211])
      [<bf5c1ad0>] (ieee80211_set_bitrate_mask+0xbc/0x18c [mac80211]) from [<bf575960>] (nl80211_set_tx_bitrate_mask+0x350/0x358 [cfg80211])
      [<bf575960>] (nl80211_set_tx_bitrate_mask+0x350/0x358 [cfg80211]) from [<c03e9e94>] (genl_rcv_msg+0x1a8/0x1e8)
      [<c03e9e94>] (genl_rcv_msg+0x1a8/0x1e8) from [<c03e9164>] (netlink_rcv_skb+0x5c/0xc0)
      [<c03e9164>] (netlink_rcv_skb+0x5c/0xc0) from [<c03e9ce0>] (genl_rcv+0x28/0x34)
      [<c03e9ce0>] (genl_rcv+0x28/0x34) from [<c03e8e74>] (netlink_unicast+0x158/0x234)
      [<c03e8e74>] (netlink_unicast+0x158/0x234) from [<c03e93e0>] (netlink_sendmsg+0x218/0x298)
      [<c03e93e0>] (netlink_sendmsg+0x218/0x298) from [<c03b4e5c>] (sock_sendmsg+0xa4/0xc0)
      [<c03b4e5c>] (sock_sendmsg+0xa4/0xc0) from [<c03b5af4>] (__sys_sendmsg+0x1d8/0x254)
      [<c03b5af4>] (__sys_sendmsg+0x1d8/0x254) from [<c03b5ca8>] (sys_sendmsg+0x4c/0x70)
      [<c03b5ca8>] (sys_sendmsg+0x4c/0x70) from [<c0013980>] (ret_fast_syscall+0x0/0x3c)
      
      Note that calling the driver can also result
      in undefined behaviour since it doesn't have
      to deal with calls while down.
      Signed-off-by: default avatarEliad Peller <eliad@wizery.com>
      [removed timestamps, added note - Johannes]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      554a43d5
    • Johannes Berg's avatar
      mac80211: allow cancelling dependent ROCs · e979e33c
      Johannes Berg authored
      In my redesign of remain-on-channel I forgot
      that an item could be cancelled when it's a
      dependent item that is part of another item.
      Allow cancelling such items by removing them
      from the dependents list.
      
      Note that when we cancel the main item, all
      its dependents are also cancelled. It would
      be possible to not do that, but would need
      tricks to promote an item from dependent to
      top-level and is tricky in the HW ROC case.
      Reported-by: default avatarIlan Peer <ilan.peer@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      e979e33c
  23. 11 Jun, 2012 2 commits
  24. 06 Jun, 2012 1 commit
    • Johannes Berg's avatar
      mac80211: unify SW/offload remain-on-channel · 2eb278e0
      Johannes Berg authored
      Redesign all the off-channel code, getting rid of
      the generic off-channel work concept, replacing
      it with a simple remain-on-channel list.
      
      This fixes a number of small issues with the ROC
      implementation:
       * offloaded remain-on-channel couldn't be queued,
         now we can queue it as well, if needed
       * in iwlwifi (the only user) offloaded ROC is
         mutually exclusive with scanning, use the new
         queue to handle that case -- I expect that it
         will later depend on a HW flag
      
      The bigger issue though is that there's a bad bug
      in the current implementation: if we get a mgmt
      TX request while HW roc is active, and this new
      request has a wait time, we actually schedule a
      software ROC instead since we can't guarantee the
      existing offloaded ROC will still be that long.
      To fix this, the queuing mechanism was needed.
      
      The queuing mechanism for offloaded ROC isn't yet
      optimal, ideally we should add API to have the HW
      extend the ROC if needed. We could add that later
      but for now use a software implementation.
      
      Overall, this unifies the behaviour between the
      offloaded and software-implemented case as much
      as possible.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      2eb278e0