1. 25 3月, 2013 3 次提交
  2. 05 3月, 2013 1 次提交
  3. 19 2月, 2013 19 次提交
  4. 18 2月, 2013 5 次提交
  5. 16 2月, 2013 3 次提交
  6. 15 2月, 2013 9 次提交
    • 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
    • J
      mac80211: advertise operating mode notification capability · c6f9d6c3
      Johannes Berg 提交于
      Use the new extended capabilities advertising to advertise
      the fact that operating mode notification is supported.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      c6f9d6c3
    • J
      cfg80211: advertise extended capabilities to userspace · a50df0c4
      Johannes Berg 提交于
      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: NJohannes Berg <johannes.berg@intel.com>
      a50df0c4