1. 07 5月, 2009 3 次提交
    • J
      mac80211: Add a timeout for frames in the RX reorder buffer · 4d050f1d
      Jouni Malinen 提交于
      This patch allows skbs to be released from the RX reorder buffer in
      case they have been there for an unexpectedly long time without us
      having received the missing frames before them. Previously, these
      frames were only released when the reorder window moved and that could
      take very long time unless new frames were received constantly (e.g.,
      TCP connections could be killed more or less indefinitely).
      
      This situation should not happen very frequently, but it looks like
      there are some scenarious that trigger it for some reason. As such,
      this should be considered mostly a workaround to speed up recovery
      from unexpected siutation that could result in connections hanging for
      long periods of time.
      
      The changes here will only check for timeout situation when adding new
      RX frames to the reorder buffer. It does not handle all possible
      cases, but seems to help for most cases that could result from common
      network usage (e.g., TCP retrying at least couple of times). For more
      completely coverage, a timer could be used to periodically check
      whether there are any frames remaining in the reorder buffer if no new
      frames are received.
      Signed-off-by: NJouni Malinen <jouni.malinen@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      4d050f1d
    • J
      mac80211: Use a shared function to release frames from RX reorder buf · 2d3babd1
      Jouni Malinen 提交于
      No need to duplicate the same code in two places (and that would be
      three after the followup patch).
      Signed-off-by: NJouni Malinen <jouni.malinen@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      2d3babd1
    • J
      mac80211: add driver ops wrappers · 24487981
      Johannes Berg 提交于
      In order to later add tracing or verifications to the driver
      calls mac80211 makes, this patch adds static inline wrappers
      for all operations.
      
      All calls are now written as
      
      	drv_<op>(local, ...);
      
      instead of
      
      	local->ops-><op>(&local->hw, ...);
      
      Where necessary, the wrappers also do existence checking and
      return default values as appropriate.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      24487981
  2. 23 4月, 2009 1 次提交
    • J
      nl80211: Add Michael MIC failure event · a3b8b056
      Jouni Malinen 提交于
      Define a new nl80211 event, NL80211_CMD_MICHAEL_MIC_FAILURE, to be
      used to notify user space about locally detected Michael MIC failures.
      This matches with the MLME-MICHAELMICFAILURE.indication() primitive.
      
      Since we do not actually have TSC in the skb anymore when
      mac80211_ev_michael_mic_failure() is called, that function is changed
      to take in the TSC as an optional parameter instead of as a
      requirement to include the TSC after the hdr field (which we did not
      really follow). For now, TSC is not included in the events from
      mac80211, but it could be added at some point.
      Signed-off-by: NJouni Malinen <j@w1.fi>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      a3b8b056
  3. 22 4月, 2009 1 次提交
  4. 16 4月, 2009 1 次提交
  5. 28 3月, 2009 5 次提交
  6. 28 2月, 2009 1 次提交
    • J
      mac80211: split IBSS/managed code · 46900298
      Johannes Berg 提交于
      This patch splits out the ibss code and data from managed (station) mode.
      The reason to do this is to better separate the state machines, and have
      the code be contained better so it gets easier to determine what exactly
      a given change will affect, that in turn makes it easier to understand.
      
      This is quite some churn, especially because I split sdata->u.sta into
      sdata->u.mgd and sdata->u.ibss, but I think it's easier to maintain that
      way. I've also shuffled around some code -- null function sending is only
      applicable to managed interfaces so put that into that file, some other
      functions are needed from various places so put them into util, and also
      rearranged the prototypes in ieee80211_i.h accordingly.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      46900298
  7. 14 2月, 2009 4 次提交
  8. 10 2月, 2009 2 次提交
  9. 30 1月, 2009 7 次提交
  10. 20 12月, 2008 2 次提交
  11. 13 12月, 2008 2 次提交
  12. 05 12月, 2008 2 次提交
  13. 01 11月, 2008 3 次提交
  14. 28 10月, 2008 1 次提交
  15. 13 10月, 2008 1 次提交
    • I
      net/mac80211/rx.c: fix build error · bf94e17b
      Ingo Molnar 提交于
      older versions of gcc do not recognize that ieee80211_rx_h_mesh_fwding()
      is unused when CONFIG_MAC80211_MESH is disabled:
      
        net/built-in.o: In function `ieee80211_rx_h_mesh_fwding':
        rx.c:(.text+0xd89af): undefined reference to `mpp_path_lookup'
        rx.c:(.text+0xd89c6): undefined reference to `mpp_path_add'
      
      as this code construct:
      
              if (ieee80211_vif_is_mesh(&sdata->vif))
                      CALL_RXH(ieee80211_rx_h_mesh_fwding);
      
      still causes ieee80211_rx_h_mesh_fwding() to be linked in.
      
      Protect these places with an #ifdef.
      
      commit b0dee578 ("Fix modpost failure when rx handlers are not inlined.")
      solved part of this problem - this patch is still needed.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bf94e17b
  16. 01 10月, 2008 1 次提交
  17. 25 9月, 2008 3 次提交