1. 12 9月, 2008 1 次提交
  2. 09 9月, 2008 3 次提交
    • R
      mac80211: add missing kernel-doc · 701b9cb3
      Randy Dunlap 提交于
      Fix mac80211 kernel-doc missing struct field:
      
      Warning(linux-2.6.27-rc1-git2//net/mac80211/sta_info.h:329): No description found for parameter 'tid_seq[IEEE80211_QOS_CTL_TID_MASK + 1]'
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      701b9cb3
    • E
      mac80211: Fix rate scale initialization in IBSS · 8e1535d5
      Emmanuel Grumbach 提交于
      This patch address some IBSS rate issues introduced or not covered
      by "mac80211: eliminate IBSS warning in rate_lowest_index()" and
      "cfg80211 API for channels/bitrates, mac80211 and driver conversion".
      
      This patch:
      1. Moves addition of IBSS station from
      prepare_for_handlers to ieee80211_rx_bss_info when triggered from beacon
      eliminating bogus supported rates.
      2. Initialize properly supported rates also in IBSS merging
      3. Ensure that mandatory rates are always added into supported
      rates. This is needed in case when station addition is triggered from
      non beacon/probe packet. Some management frames need to be sent
      4. Remove initialization of supported rates from self rates. This path
      was dead code after 6bc37c06bc4 and in general incorrect.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NTomas Winkler <tomas.winkler@intel.com>
      Cc: Vladimir Koutny <vlado@work.ksp.sk>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8e1535d5
    • T
      mac80211: Fix low bit rate in IBSS · 9818babc
      Tomas Winkler 提交于
      This patch fixes regression in iwlwifi IBSS rate scaling caused by patch:
      
          commit 6bc37c06bc424bcf3f944e6a79e2d5bb537e02ed
          Author: Vladimir Koutny <vlado@work.ksp.sk>
          Date:   Fri Jun 13 16:50:44 2008 +0200
      
              mac80211: eliminate IBSS warning in rate_lowest_index()
      
      An IBSS station is added in prepare_for_handlers where the rate scaling was
      initialized only with single rate matching the received packet.
      The correct rate scale information should be updated only in
      ieee80211_rx_bss_info function where beacon is parsed. Because
      of coding error the rate info was left untouched.
      If a beacon has triggered the connection the rate remined 1Mbps.
      This patch fixes this coding error
      Signed-off-by: NTomas Winkler <tomas.winkler@intel.com>
      Cc: Vladimir Koutny <vlado@work.ksp.sk>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      9818babc
  3. 06 9月, 2008 2 次提交
  4. 03 9月, 2008 1 次提交
    • J
      mac80211: Fix debugfs union misuse and pointer corruption · 2b58b209
      Jouni Malinen 提交于
      debugfs union in struct ieee80211_sub_if_data is misused by including a
      common default_key dentry as a union member. This ends occupying the same
      memory area with the first dentry in other union members (structures;
      usually drop_unencrypted). Consequently, debugfs operations on
      default_key symlinks and drop_unencrypted entry are using the same
      dentry pointer even though they are supposed to be separate ones. This
      can lead to removing entries incorrectly or potentially leaving
      something behind since one of the dentry pointers gets lost.
      
      Fix this by moving the default_key dentry to a new struct
      (common_debugfs) that contains dentries (more to be added in future)
      that are shared by all vif types. The debugfs union must only be used
      for vif type-specific entries to avoid this type of pointer corruption.
      Signed-off-by: NJouni Malinen <jouni.malinen@atheros.com>
      Acked-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      2b58b209
  5. 30 8月, 2008 5 次提交
  6. 27 8月, 2008 5 次提交
    • J
      mac80211: quiet chatty IBSS merge message · 576fdeae
      John W. Linville 提交于
      It seems obvious that this #ifndef should be the opposite polarity...
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      576fdeae
    • J
      mac80211: don't send empty extended rates IE · 8ab65b03
      Jan-Espen Pettersen 提交于
      The association request includes a list of supported data rates.
      
      802.11b: 4 supported rates.
      802.11g: 12 (8 + 4) supported rates.
      802.11a: 8 supported rates.
      
      The rates tag of the assoc request has room for only 8 rates. In case of
      802.11g an extended rate tag is appended. However in net/wireless/mlme.c
      an extended (empty) rate tag is also appended if the number of rates is
      exact 8. This empty (length=0) extended rates tag causes some APs to
      deny association with code 18 (unsupported rates). These APs include my
      ZyXEL G-570U, and according to Tomas Winkler som Cisco APs.
      
      'If count == 8' has been used to check for the need for an extended rates
      tag. But count would also be equal to 8 if the for loop exited because of
      no more supported rates. Therefore a check for count being less than
      rates_len would seem more correct.
      
      Thanks to:
       * Dan Williams for newbie guidance
       * Tomas Winkler for confirming the problem
      Signed-off-by: NJan-Espen Pettersen <sigsegv@radiotube.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8ab65b03
    • J
      mac80211: Fix debugfs file add/del for netdev · 93015f0f
      Jouni Malinen 提交于
      Previous version was using incorrect union structures for non-AP
      interfaces when adding and removing max_ratectrl_rateidx and
      force_unicast_rateidx entries. Depending on the vif type, this ended
      up in corrupting debugfs entries since the dentries inside different
      union structures ended up going being on top of eachother.. As the
      end result, debugfs files were being left behind with references to
      freed data (instant kernel oops on access) and directories were not
      removed properly when unloading mac80211 drivers. This patch fixes
      those issues by using only a single union structure based on the vif
      type.
      Signed-off-by: NJouni Malinen <jouni.malinen@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      93015f0f
    • J
      net/mac80211/mesh.c: correct the argument to __mesh_table_free · 667d8af9
      Julia Lawall 提交于
      In the function mesh_table_grow, it is the new table not the argument table
      that should be freed if the function fails (cf commit
      bd9b448f)
      
      The semantic match that detects this problem is as follows:
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @r exists@
      local idexpression x;
      expression E,f;
      position p1,p2,p3;
      identifier l;
      statement S;
      @@
      
      x = mesh_table_alloc@p1(...)
      ...
      if (x == NULL) S
      ... when != E = x
          when != mesh_table_free(x)
      goto@p2 l;
      ... when != E = x
          when != f(...,x,...)
          when any
      (
      return \(0\|x\);
      |
      return@p3 ...;
      )
      
      @script:python@
      p1 << r.p1;
      p2 << r.p2;
      p3 << r.p3;
      @@
      
      print "%s: call on line %s not freed or saved before return on line %s via line %s" % (p1[0].file,p1[0].line,p3[0].line,p2[0].line)
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      667d8af9
    • J
      mac80211: Use IWEVASSOCREQIE instead of IWEVCUSTOM · 087d833e
      Jouni Malinen 提交于
      The previous code was using IWEVCUSTOM to report IEs from AssocReq and
      AssocResp frames into user space. This can easily hit the 256 byte
      limit (IW_CUSTOM_MAX) with APs that include number of vendor IEs in
      AssocResp. This results in the event message not being sent and dmesg
      showing "wlan0 (WE) : Wireless Event too big (366)" type of errors.
      
      Convert mac80211 to use IWEVASSOCREQIE/IWEVASSOCRESPIE to avoid the
      issue of being unable to send association IEs as wireless events. These
      newer event types use binary encoding and larger maximum size
      (IW_GENERIC_IE_MAX = 1024), so the likelyhood of not being able to send
      the IEs is much smaller than with IWEVCUSTOM. As an extra benefit, the
      code is also quite a bit simpler since there is no need to allocate an
      extra buffer for hex encoding.
      Signed-off-by: NJouni Malinen <jouni.malinen@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      087d833e
  7. 23 8月, 2008 19 次提交
  8. 18 8月, 2008 1 次提交
  9. 07 8月, 2008 2 次提交
  10. 05 8月, 2008 1 次提交