1. 30 11月, 2012 4 次提交
  2. 29 11月, 2012 1 次提交
  3. 28 11月, 2012 1 次提交
  4. 27 11月, 2012 2 次提交
  5. 26 11月, 2012 6 次提交
    • J
      cfg80211: fix some tracing output issues · ec816087
      Johannes Berg 提交于
      In some cases, e.g. probe_status, there were spaces
      missing so the trace output was confusing. Also make
      it more like mac80211 when printing netdevs/wiphys
      to make reading a combined log easier.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      ec816087
    • J
      nl80211/cfg80211: add VHT MCS support · db9c64cf
      Johannes Berg 提交于
      Add support for reporting and calculating VHT MCSes.
      
      Note that I'm not completely sure that the bitrate
      calculations are correct, nor that they can't be
      simplified.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      db9c64cf
    • J
      nl80211/cfg80211: support VHT channel configuration · 3d9d1d66
      Johannes Berg 提交于
      Change nl80211 to support specifying a VHT (or HT)
      using the control channel frequency (as before) and
      new attributes for the channel width and first and
      second center frequency. The old channel type is of
      course still supported for HT.
      
      Also change the cfg80211 channel definition struct
      to support these by adding the relevant fields to
      it (and removing the _type field.)
      
      This also adds new helper functions:
       - cfg80211_chandef_create to create a channel def
         struct given the control channel and channel type,
       - cfg80211_chandef_identical to check if two channel
         definitions are identical
       - cfg80211_chandef_compatible to check if the given
         channel definitions are compatible, and return the
         wider of the two
      
      This isn't entirely complete, but that doesn't matter
      until we have a driver using it. In particular, it's
      missing
       - regulatory checks on the usable bandwidth (if that
         even makes sense)
       - regulatory TX power (database can't deal with it)
       - a proper channel compatibility calculation for the
         new channel types
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      3d9d1d66
    • J
      cfg80211: pass a channel definition struct · 683b6d3b
      Johannes Berg 提交于
      Instead of passing a channel pointer and channel type
      to all functions and driver methods, pass a new channel
      definition struct. Right now, this struct contains just
      the control channel and channel type, but for VHT this
      will change.
      
      Also, add a small inline cfg80211_get_chandef_type() so
      that drivers don't need to use the _type field of the
      new structure all the time, which will change.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      683b6d3b
    • J
      cfg80211: remove remain-on-channel channel type · 42d97a59
      Johannes Berg 提交于
      As mwifiex (and mac80211 in the software case) are the
      only drivers actually implementing remain-on-channel
      with channel type, userspace can't be relying on it.
      This is the case, as it's used only for P2P operations
      right now.
      
      Rather than adding a flag to tell userspace whether or
      not it can actually rely on it, simplify all the code
      by removing the ability to use different channel types.
      Leave only the validation of the attribute, so that if
      we extend it again later (with the needed capability
      flag), it can't break userspace sending invalid data.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      42d97a59
    • A
      cfg80211: change function signature of cfg80211_get_p2p_attr() · c216e641
      Arend van Spriel 提交于
      The function cfg80211_get_p2p_attr() can fail and returns
      a negative error code. However, the return type is unsigned
      int. The largest positive number is determined by desired_len
      variable in the function, which is u16. So changing the return
      type to int to allow easy error checking. Also change the type
      for the attribute to enum for improved type checking.
      Signed-off-by: NArend van Spriel <arend@broadcom.com>
      [fix indentation, don't use u8 attr variable]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      c216e641
  6. 23 11月, 2012 1 次提交
    • J
      cfg80211: use DS or HT operation IEs to determine BSS channel · 0172bb75
      Johannes Berg 提交于
      Currently, mac80211 checks the DS params IE if present and
      uses it for the (primary) BSS channel, instead of the one
      that the frame was received on. This is particularly useful
      in the 2.4 GHz band since a frame is often received on one
      of the adjacent channels due to overlap.
      
      Move this code to cfg80211 so other drivers also do this.
      
      Additionally, on 5 GHz, in particular with some (possibly)
      upcoming changes in 802.11ai and duplicate transmissions
      when wider channels are used, something similar happens.
      So if present, also use the (primary) channel information
      contained in the HT operation IE.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      0172bb75
  7. 19 11月, 2012 1 次提交
    • J
      cfg80211: Add TDLS event to allow drivers to request operations · 3475b094
      Jouni Malinen 提交于
      The NL80211_CMD_TDLS_OPER command was previously used only for userspace
      request for the kernel code to perform TDLS operations. However, there
      are also cases where the driver may need to request operations from
      userspace, e.g., when using security on the AP path. Add a new cfg80211
      function for generating a TDLS operation event for drivers to request a
      new link to be set up (NL80211_TDLS_SETUP) or an existing link to be
      torn down (NL80211_TDLS_TEARDOWN). Drivers can optionally use these
      events, e.g., based on noticing data traffic being sent to a peer
      station that is seen with good signal strength.
      Signed-off-by: NJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      3475b094
  8. 08 11月, 2012 2 次提交
  9. 06 11月, 2012 1 次提交
    • J
      wireless: add utility function to get P2P attribute · 0ee45355
      Johannes Berg 提交于
      Parsing the P2P attributes can be tricky as their
      contents can be split across multiple (vendor) IEs.
      Thus, it's not possible to parse them like IEs (by
      returning a pointer to the data.) Instead, provide
      a function that copies the attribute data into a
      caller-provided buffer and returns the size needed
      (useful in case the buffer was too small.)
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      0ee45355
  10. 05 11月, 2012 2 次提交
  11. 30 10月, 2012 2 次提交
    • J
      cfg80211: allow per interface TX power setting · c8442118
      Johannes Berg 提交于
      The TX power setting is currently per wiphy (hardware
      device) but with multi-channel capabilities that doesn't
      make much sense any more.
      
      Allow drivers (and mac80211) to advertise support for
      per-interface TX power configuration. When the TX power
      is configured for the wiphy, the wdev will be NULL and
      the driver can still handle that, but when a wdev is
      given the TX power can be set only for that wdev now.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      c8442118
    • J
      nl80211: move "can set channel" check · 71fe96bf
      Johannes Berg 提交于
      Setting the wdev to NULL when the channel can't be
      set for that interface type (to treat the channel
      setting for the wiphy/monitor) currently works, but
      is confusing in the code if netdev/wdev aren't both
      set/unset in the same way. Move the check whether
      the channel can be set to where it's needed so that
      wdev and netdev are always both assigned or NULL.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      71fe96bf
  12. 27 10月, 2012 2 次提交
  13. 24 10月, 2012 1 次提交
  14. 18 10月, 2012 10 次提交
  15. 17 10月, 2012 2 次提交
  16. 15 10月, 2012 1 次提交
  17. 25 9月, 2012 1 次提交
    • V
      cfg80211: Fix regulatory check for 60GHz band frequencies · 64629b9d
      Vladimir Kondratiev 提交于
      The current regulatory code on cfg80211 performs a check to
      see if a regulatory rule belongs to an IEEE band so that if
      a Country IE is received and no rules are specified for a
      band (which is allowed by IEEE) those bands are left intact.
      The current band check assumes a rule is bound to a band
      if the rule's start or end frequency is less than 2 GHz
      apart from the center of frequency being inspected.
      
      In order to support 60 GHz for 802.11ad we need to increase
      this to account for the channel spacing of 2160 MHz whereby
      a channel somewhere in the middle of a regulatory rule may
      be more than 2 GHz apart from either the beginning or
      end of the frequency rule.
      
      Without a fix for this even though channels 1-3 are allowed world
      wide on the rule (57240 - 63720 @ 2160), channel 2 at 60480 MHz
      will end up getting disabled given that it is 3240 MHz from
      both the frequency rule start and end frequency. Fix this by
      using 2 GHz separation assumption for the 2.4 and 5 GHz bands
      but for 60 GHz use a 10 GHz separation before assuming a rule
      is not part of the band.
      
      Since we have no 802.11ad drivers yet merged this change has
      no impact to existing Linux upstream device drivers.
      Signed-off-by: NVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
      Acked-by: NLuis R. Rodriguez <mcgrof@do-not-panic.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      64629b9d