Skip to content
  1. Feb 23, 2013
  2. Feb 19, 2013
  3. Feb 18, 2013
  4. Feb 16, 2013
  5. Feb 15, 2013
    • Bob Copeland's avatar
      mac80211: enable vif.cab_queue for mesh · 8ffb5c00
      Bob Copeland authored
      
      
      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: default avatarBob Copeland <bob@cozybit.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      8ffb5c00
    • Johannes Berg's avatar
      mac80211: clean up mesh code · bf7cd94d
      Johannes Berg authored
      
      
      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: default avatarJohannes Berg <johannes.berg@intel.com>
      bf7cd94d
    • Karl Beldan's avatar
      mac80211_hwsim: ask mac80211 to reserve space for chanctx.drv_priv · 93c78c5d
      Karl Beldan authored
      
      
      Otherwise memory corruption occurs when using channel contexts (ATM when
      param 'channel' > 1).
      
      Signed-off-by: default avatarKarl Beldan <karl.beldan@rivierawaves.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      93c78c5d
    • Johannes Berg's avatar
      mac80211: prevent spurious HT/VHT downgrade message · 586e01ed
      Johannes Berg authored
      
      
      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: default avatarJohannes Berg <johannes.berg@intel.com>
      586e01ed
    • Johannes Berg's avatar
      nl80211: renumber NL80211_FEATURE_FULL_AP_CLIENT_STATE · 932dd97c
      Johannes Berg authored
      
      
      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: default avatarJohannes Berg <johannes.berg@intel.com>
      932dd97c
    • Jouni Malinen's avatar
      cfg80211: Pass TDLS peer's QoS/HT/VHT information during set_station · df881293
      Jouni Malinen authored
      
      
      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: default avatarJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      df881293
    • Jouni Malinen's avatar
      cfg80211: Pass station (extended) capability info to kernel · 9d62a986
      Jouni Malinen authored
      
      
      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: default avatarJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      9d62a986
    • Johannes Berg's avatar
      mac80211: advertise operating mode notification capability · c6f9d6c3
      Johannes Berg authored
      
      
      Use the new extended capabilities advertising to advertise
      the fact that operating mode notification is supported.
      
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      c6f9d6c3
    • Johannes Berg's avatar
      cfg80211: advertise extended capabilities to userspace · a50df0c4
      Johannes Berg authored
      
      
      In many cases, userspace may need to know which of the
      802.11 extended capabilities ("Extended Capabilities
      element") are implemented in the driver or device, to
      include them e.g. in beacons, assoc request/response
      or other frames. Add a new nl80211 attribute to hold
      the extended capabilities bitmap for this.
      
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      a50df0c4
    • Johannes Berg's avatar
      mac80211: stop modifying HT SMPS capability · af0ed69b
      Johannes Berg authored
      
      
      Instead of modifying the HT SMPS capability field
      for stations, track the SMPS mode explicitly in a
      new field in the station struct and use it in the
      drivers that care about it. This simplifies the
      code using it.
      
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      af0ed69b
    • Thomas Pedersen's avatar
      mac80211: generate mesh probe responses · 9fb04b50
      Thomas Pedersen authored
      
      
      Mesh interfaces will now respond to any broadcast (or
      matching directed mesh) probe requests with a probe
      response.
      
      Signed-off-by: default avatarThomas Pedersen <thomas@cozybit.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      9fb04b50