1. 26 2月, 2013 3 次提交
    • J
      nl80211: remove TCP WoWLAN information · 162589f7
      Johannes Berg 提交于
      Just like the radar information, the TCP WoWLAN capability
      data can increase the wiphy information and make it too
      big. Remove the TCP WoWLAN information; no driver supports
      it and new userspace tools will be required as well.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      162589f7
    • J
      nl80211: remove radar information · 1c33a059
      Johannes Berg 提交于
      The wiphy information is getting very close to being too
      much for a typical netlink dump message and adding the
      radar attributes to channels and interface combinations
      can push it over the limit, which means userspace gets no
      information whatsoever. Therefore, remove these again for
      now, no driver actually supports radar detection anyway
      and a modified userspace is required as well.
      
      We're working on a solution that will allow userspace to
      request splitting the information across multiple netlink
      messages, which will allow us to add this back.
      
      Cc: Simon Wunderlich <simon.wunderlich@s2003.tu-chemnitz.de>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      1c33a059
    • J
      mac80211: fix tim_lock locking · 1b91731d
      Johannes Berg 提交于
      The ieee80211_beacon_add_tim() function might be called
      by drivers with BHs enabled, which causes a potential
      deadlock if TX happens at the same time and attempts to
      lock the tim_lock as well. Use spin_lock_bh to fix it.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      1b91731d
  2. 23 2月, 2013 3 次提交
  3. 19 2月, 2013 19 次提交
  4. 18 2月, 2013 5 次提交
  5. 16 2月, 2013 3 次提交
  6. 15 2月, 2013 7 次提交
    • B
      mac80211: enable vif.cab_queue for mesh · 8ffb5c00
      Bob Copeland 提交于
      Since mesh powersaving was added, pending bcast/mcast frames may go out the
      CAB queue now.  Unfortunately, the queue was only set up for AP mode, so we
      would try to tx on the IEEE80211_INVAL_HW_QUEUE.  Allow cab_queue for mesh
      interfaces as well.
      
      Fixes the following warning (or crash without MAC80211_VERBOSE_DEBUG):
      
      WARNING: at net/mac80211/tx.c:1223 __ieee80211_tx+0x162/0x35f [mac80211]()
      Modules linked in: mac80211_hwsim mac80211 cfg80211 [...]
      Pid: 3085, comm: avahi-daemon Tainted: G        W    3.8.0-rc1+ #377
      Call Trace:
       [<ffffffff81045c20>] warn_slowpath_common+0x83/0x9c
       [<ffffffff81045c53>] warn_slowpath_null+0x1a/0x1c
       [<ffffffffa083aef0>] __ieee80211_tx+0x162/0x35f [mac80211]
       [<ffffffffa083cb1d>] ieee80211_tx+0xd3/0xf9 [mac80211]
       [<ffffffffa083cc0f>] ieee80211_xmit+0xcc/0xd5 [mac80211]
       [<ffffffffa083db59>] ieee80211_subif_start_xmit+0xc53/0xcd8 [mac80211]
       [<ffffffff81319acd>] dev_hard_start_xmit+0x259/0x3ce
       [<ffffffff81333d6b>] sch_direct_xmit+0x74/0x17d
       [<ffffffff8131a0b1>] dev_queue_xmit+0x230/0x414
       [<ffffffff8134877a>] ip_finish_output2+0x348/0x3aa
       [<ffffffff81349029>] ip_finish_output+0x6c/0x71
       [<ffffffff81349046>] NF_HOOK_COND.constprop.44+0x18/0x58
       [<ffffffff8134a03a>] ip_mc_output+0x134/0x13c
       [<ffffffff8134835a>] dst_output+0x18/0x1c
       [<ffffffff81349a24>] ip_local_out+0x20/0x24
       [<ffffffff8134a8cf>] ip_send_skb+0x16/0x3c
       [<ffffffff8136bfba>] udp_send_skb+0x254/0x2b9
       [<ffffffff8136c85e>] udp_sendmsg+0x5a8/0x7d4
      Signed-off-by: NBob Copeland <bob@cozybit.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8ffb5c00
    • J
      mac80211: clean up mesh code · bf7cd94d
      Johannes Berg 提交于
      There's various code with strange indentation,
      questionable loop and locking constructs, etc.
      
      The bigger change is moving the "sdata" argument
      to the first argument of all functions, like all
      other mac80211 functions that have one.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      bf7cd94d
    • K
      mac80211_hwsim: ask mac80211 to reserve space for chanctx.drv_priv · 93c78c5d
      Karl Beldan 提交于
      Otherwise memory corruption occurs when using channel contexts (ATM when
      param 'channel' > 1).
      Signed-off-by: NKarl Beldan <karl.beldan@rivierawaves.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      93c78c5d
    • J
      mac80211: prevent spurious HT/VHT downgrade message · 586e01ed
      Johannes Berg 提交于
      Even when connecting to an AP that doesn't support VHT,
      and even when the local device doesn't support it either,
      the downgrade message gets printed. Suppress the message
      if HT and/or VHT is disabled.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      586e01ed
    • J
      nl80211: renumber NL80211_FEATURE_FULL_AP_CLIENT_STATE · 932dd97c
      Johannes Berg 提交于
      Adding the flag to mac80211 already without testing was
      clearly a mistake, one that we now pay for by having to
      reserve bit 13 forever. The problem is cfg80211 doesn't
      allow capability/rate changes for station entries that
      were added unassociated, so the station entries cannot
      be set up properly when marked associated.
      
      Change the NL80211_FEATURE_FULL_AP_CLIENT_STATE value
      to make it clear to userspace implementations that all
      current kernels don't actually support it, even though
      the previous bit is set, and of course also remove the
      flag from mac80211 until we test and fix the issues.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      932dd97c
    • J
      cfg80211: Pass TDLS peer's QoS/HT/VHT information during set_station · df881293
      Jouni Malinen 提交于
      The information of the peer's capabilities is required for the driver
      to perform TDLS Peer UAPSD operations. This information of the peer is
      passed by the supplicant using NL80211_CMD_SET_STATION command. This
      commit enhances the function nl80211_set_station to pass this
      information of the peer to the driver in case this command is used
      with the TDLS peer STA.
      
      In addition, make the HT/VHT capability configuration handled more
      consistently for other STA cases (reject both instead of just HT).
      Signed-off-by: NJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      df881293
    • J
      cfg80211: Pass station (extended) capability info to kernel · 9d62a986
      Jouni Malinen 提交于
      The information of the peer's capabilities and extended capabilities are
      required for the driver to perform TDLS Peer UAPSD operations and off
      channel operations. This information of the peer is passed from user space
      using NL80211_CMD_SET_STATION command. This commit enhances
      the function nl80211_set_station to pass the capability information of
      the peer to the driver.
      
      Similarly, there may be need for capability information for other modes,
      so allow this to be provided with both add_station and change_station.
      Signed-off-by: NJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      9d62a986