1. 05 Apr, 2016 1 commit
  2. 24 Feb, 2016 1 commit
  3. 17 Jul, 2015 1 commit
    • Arik Nemtsov's avatar
      mac80211: upgrade BW of TDLS peers when possible · 0fabfaaf
      Arik Nemtsov authored
      
      
      Define a station chandef, to be used for wider-bw TDLS peers. When both
      peers support the feature, upgrade the channel bandwidth to the maximum
      allowed by both peers and regulatory. Currently widths up to 80MHz are
      supported in the 5GHz band.
      
      When a TDLS peer connects/disconnects recalculate the channel type of the
      current chanctx.
      Make the chanctx width calculation consider wider-bw TDLS peers and
      similarly fix the max_required_bw calculation for the chanctx min_def.
      Since the sta->bandwidth is calculated only later on, take
      bss_conf.chandef.width as the minimal width for station interface.
      
      Set the upgraded channel width in the VHT-operation set during TDLS setup.
      Signed-off-by: default avatarArik Nemtsov <arikx.nemtsov@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      0fabfaaf
  4. 07 May, 2015 1 commit
  5. 22 Apr, 2015 1 commit
    • Johannes Berg's avatar
      mac80211: add TX fastpath · 17c18bf8
      Johannes Berg authored
      
      
      In order to speed up mac80211's TX path, add the "fast-xmit" cache
      that will cache the data frame 802.11 header and other data to be
      able to build the frame more quickly. This cache is rebuilt when
      external triggers imply changes, but a lot of the checks done per
      packet today are simplified away to the check for the cache.
      
      There's also a more detailed description in the code.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      17c18bf8
  6. 24 Feb, 2015 1 commit
  7. 23 Jan, 2015 1 commit
  8. 14 Jan, 2015 2 commits
  9. 12 Dec, 2014 1 commit
  10. 27 Nov, 2014 1 commit
    • Felix Fietkau's avatar
      mac80211: copy chandef from AP vif to VLANs · 2967e031
      Felix Fietkau authored
      Instead of keeping track of all those special cases where
      VLAN interfaces have no bss_conf.chandef, just make sure
      they have the same as the AP interface they belong to.
      
      Among others, this fixes a crash getting a VLAN's channel
      from userspace since a NULL channel is returned as a good
      result (return value 0) for VLANs since the commit below.
      
      Cc: stable@vger.kernel.org [3.18 only]
      Fixes: c12bc488
      
       ("mac80211: return the vif's chandef in ieee80211_cfg_get_channel()")
      Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      [rewrite commit log]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      2967e031
  11. 04 Nov, 2014 2 commits
    • Rostislav Lisovy's avatar
      mac80211: 802.11p OCB mode support · 239281f8
      Rostislav Lisovy authored
      
      
      This patch adds 802.11p OCB (Outside the Context of a BSS) mode
      support.
      
      When communicating in OCB mode a mandatory wildcard BSSID
      (48 '1' bits) is used.
      
      The EDCA parameters handling function was changed to support
      802.11p specific values.
      
      The insertion of a newly discovered STAs is done in the similar way
      as in the IBSS mode -- through the deferred insertion.
      
      The OCB mode uses a periodic 'housekeeping task' for expiration of
      disconnected STAs (in the similar manner as in the MESH mode).
      
      New Kconfig option for verbose OCB debugging outputs is added.
      Signed-off-by: default avatarRostislav Lisovy <rostislav.lisovy@fel.cvut.cz>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      239281f8
    • Rostislav Lisovy's avatar
      cfg80211: 802.11p OCB mode handling · 6e0bd6c3
      Rostislav Lisovy authored
      
      
      This patch adds new iface type (NL80211_IFTYPE_OCB) representing
      the OCB (Outside the Context of a BSS) mode.
      When establishing a connection to the network a cfg80211_join_ocb
      function is called (particular nl80211_command is added as well).
      A mandatory parameters during the ocb_join operation are 'center
      frequency' and 'channel width (5/10 MHz)'.
      
      Changes done in mac80211 are minimal possible required to avoid
      many warnings (warning: enumeration value 'NL80211_IFTYPE_OCB'
      not handled in switch) during compilation. Full functionality
      (where needed) is added in the following patch.
      Signed-off-by: default avatarRostislav Lisovy <rostislav.lisovy@fel.cvut.cz>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      6e0bd6c3
  12. 31 Oct, 2014 1 commit
  13. 29 Aug, 2014 1 commit
    • Michal Kazior's avatar
      mac80211: fix chantype recalc warning · a00f4f6e
      Michal Kazior authored
      
      
      When a device driver is unloaded local->interfaces
      list is cleared. If there was more than 1
      interface running and connected (bound to a
      chanctx) then chantype recalc was called and it
      ended up with compat being NULL causing a call
      trace warning.
      
      Warn if compat becomes NULL as a result of
      incompatible bss_conf.chandef of interfaces bound
      to a given channel context only.
      
      The call trace looked like this:
      
       WARNING: CPU: 2 PID: 2594 at /devel/src/linux/net/mac80211/chan.c:557 ieee80211_recalc_chanctx_chantype+0x2cd/0x2e0()
       Modules linked in: ath10k_pci(-) ath10k_core ath
       CPU: 2 PID: 2594 Comm: rmmod Tainted: G        W     3.16.0-rc1+ #150
       Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
        0000000000000009 ffff88001ea279c0 ffffffff818dfa93 0000000000000000
        ffff88001ea279f8 ffffffff810514a8 ffff88001ce09cd0 ffff88001e03cc58
        0000000000000000 ffff88001ce08840 ffff88001ce09cd0 ffff88001ea27a08
       Call Trace:
        [<ffffffff818dfa93>] dump_stack+0x4d/0x66
        [<ffffffff810514a8>] warn_slowpath_common+0x78/0xa0
        [<ffffffff81051585>] warn_slowpath_null+0x15/0x20
        [<ffffffff818a407d>] ieee80211_recalc_chanctx_chantype+0x2cd/0x2e0
        [<ffffffff818a3dda>] ? ieee80211_recalc_chanctx_chantype+0x2a/0x2e0
        [<ffffffff818a4919>] ieee80211_assign_vif_chanctx+0x1a9/0x770
        [<ffffffff818a6220>] __ieee80211_vif_release_channel+0x70/0x130
        [<ffffffff818a6dd3>] ieee80211_vif_release_channel+0x43/0xb0
        [<ffffffff81885f4e>] ieee80211_stop_ap+0x21e/0x5a0
        [<ffffffff8184b9b5>] __cfg80211_stop_ap+0x85/0x520
        [<ffffffff8181c188>] __cfg80211_leave+0x68/0x120
        [<ffffffff8181c268>] cfg80211_leave+0x28/0x40
        [<ffffffff8181c5f3>] cfg80211_netdev_notifier_call+0x373/0x6b0
        [<ffffffff8107f965>] notifier_call_chain+0x55/0x110
        [<ffffffff8107fa41>] raw_notifier_call_chain+0x11/0x20
        [<ffffffff816a8dc0>] call_netdevice_notifiers_info+0x30/0x60
        [<ffffffff816a8eb9>] __dev_close_many+0x59/0xf0
        [<ffffffff816a9021>] dev_close_many+0x81/0x120
        [<ffffffff816aa1c5>] rollback_registered_many+0x115/0x2a0
        [<ffffffff816aa3a6>] unregister_netdevice_many+0x16/0xa0
        [<ffffffff8187d841>] ieee80211_remove_interfaces+0x121/0x1b0
        [<ffffffff8185e0e6>] ieee80211_unregister_hw+0x56/0x110
        [<ffffffffa0011ac4>] ath10k_mac_unregister+0x14/0x60 [ath10k_core]
        [<ffffffffa0014fe7>] ath10k_core_unregister+0x27/0x40 [ath10k_core]
        [<ffffffffa003b1f4>] ath10k_pci_remove+0x44/0xa0 [ath10k_pci]
        [<ffffffff81373138>] pci_device_remove+0x28/0x60
        [<ffffffff814cb534>] __device_release_driver+0x64/0xd0
        [<ffffffff814cbcc8>] driver_detach+0xb8/0xc0
        [<ffffffff814cb23a>] bus_remove_driver+0x4a/0xb0
        [<ffffffff814cc697>] driver_unregister+0x27/0x50
      Signed-off-by: default avatarMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      a00f4f6e
  14. 26 Aug, 2014 2 commits
  15. 22 Aug, 2014 1 commit
  16. 18 Jul, 2014 1 commit
  17. 25 Jun, 2014 3 commits
  18. 05 May, 2014 1 commit
  19. 25 Apr, 2014 9 commits
  20. 09 Apr, 2014 8 commits