1. 12 7月, 2011 1 次提交
  2. 11 7月, 2011 1 次提交
  3. 09 7月, 2011 6 次提交
  4. 08 7月, 2011 5 次提交
    • J
      mac80211: allow driver to generate P1K for IV32 · 42d98795
      Johannes Berg 提交于
      In order to support pre-populating the P1K cache in
      iwlwifi hardware for WoWLAN, we need to calculate
      the P1K for the current IV32. Allow drivers to get
      the P1K for any given IV32 instead of for a given
      packet, but keep the packet-based version around as
      an inline.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      42d98795
    • J
      mac80211: allow drivers to access key sequence counter · 3ea542d3
      Johannes Berg 提交于
      In order to implement GTK rekeying, the device needs
      to be able to encrypt frames with the right PN/IV and
      check the PN/IV in RX frames. To be able to tell it
      about all those counters, we need to be able to get
      them from mac80211, this adds the required API.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3ea542d3
    • J
      mac80211: fix TKIP races, make API easier to use · 523b02ea
      Johannes Berg 提交于
      Our current TKIP code races against itself on TX
      since we can process multiple packets at the same
      time on different ACs, but they all share the TX
      context for TKIP. This can lead to bad IVs etc.
      
      Also, the crypto offload helper code just obtains
      the P1K/P2K from the cache, and can update it as
      well, but there's no guarantee that packets are
      really processed in order.
      
      To fix these issues, first introduce a spinlock
      that will protect the IV16/IV32 values in the TX
      context. This first step makes sure that we don't
      assign the same IV multiple times or get confused
      in other ways.
      
      Secondly, change the way the P1K cache works. I
      add a field "p1k_iv32" that stores the value of
      the IV32 when the P1K was last recomputed, and
      if different from the last time, then a new P1K
      is recomputed. This can cause the P1K computation
      to flip back and forth if packets are processed
      out of order. All this also happens under the new
      spinlock.
      
      Finally, because there are argument differences,
      split up the ieee80211_get_tkip_key() API into
      ieee80211_get_tkip_p1k() and ieee80211_get_tkip_p2k()
      and give them the correct arguments.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      523b02ea
    • M
      Bluetooth: Remove L2CAP busy queue · fadd192e
      Mat Martineau 提交于
      The ERTM receive buffer is now handled in a way that does not require
      the busy queue and the associated polling code.
      Signed-off-by: NMat Martineau <mathewm@codeaurora.org>
      Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
      fadd192e
    • M
      Bluetooth: Use event-driven approach for handling ERTM receive buffer · e328140f
      Mat Martineau 提交于
      This change moves most L2CAP ERTM receive buffer handling out of the
      L2CAP core and in to the socket code.  It's up to the higher layer
      (the socket code, in this case) to tell the core when its buffer is
      full or has space available.  The recv op should always accept
      incoming ERTM data or else the connection will go down.
      
      Within the socket layer, an skb that does not fit in the socket
      receive buffer will be temporarily stored.  When the socket is read
      from, that skb will be placed in the receive buffer if possible.  Once
      adequate buffer space becomes available, the L2CAP core is informed
      and the ERTM local busy state is cleared.
      
      Receive buffer management for non-ERTM modes is unchanged.
      Signed-off-by: NMat Martineau <mathewm@codeaurora.org>
      Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
      e328140f
  5. 07 7月, 2011 7 次提交
  6. 06 7月, 2011 3 次提交
  7. 02 7月, 2011 1 次提交
  8. 01 7月, 2011 2 次提交
    • J
      Bluetooth: Add bt_printk · e1447d8d
      Joe Perches 提交于
      Add a local logging function to emit bluetooth specific
      messages.  Using vsprintf extension %pV saves code/text
      space.
      
      Convert the current BT_INFO and BT_ERR macros to use bt_printk.
      Remove __func__ from BT_ERR macro (and the uses).
      Prefix "Bluetooth: " to BT_ERR
      Remove __func__ from BT_DBG as function can be prefixed when
      using dynamic_debug.
      
      With allyesconfig:
      
         text    data     bss     dec     hex filename
       129956    8632   36096  174684   2aa5c drivers/bluetooth/built-in.o.new2
       134402    8632   36064  179098   2bb9a drivers/bluetooth/built-in.o.old
        14778    1012    3408   19198    4afe net/bluetooth/bnep/built-in.o.new2
        15067    1012    3408   19487    4c1f net/bluetooth/bnep/built-in.o.old
       346595   19163   86080  451838   6e4fe net/bluetooth/built-in.o.new2
       353751   19163   86064  458978   700e2 net/bluetooth/built-in.o.old
        18483    1172    4264   23919    5d6f net/bluetooth/cmtp/built-in.o.new2
        18927    1172    4264   24363    5f2b net/bluetooth/cmtp/built-in.o.old
        19237    1172    5152   25561    63d9 net/bluetooth/hidp/built-in.o.new2
        19581    1172    5152   25905    6531 net/bluetooth/hidp/built-in.o.old
        59461    3884   14464   77809   12ff1 net/bluetooth/rfcomm/built-in.o.new2
        61206    3884   14464   79554   136c2 net/bluetooth/rfcomm/built-in.o.old
      
      with x86 defconfig (and just bluetooth):
      
      $ size net/bluetooth/built-in.o.defconfig.*
         text    data     bss     dec     hex filename
        66358     933     100   67391   1073f net/bluetooth/built-in.o.defconfig.new
        66643     933     100   67676   1085c net/bluetooth/built-in.o.defconfig.old
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
      e1447d8d
    • J
      Bluetooth: Rename function bt_err to bt_to_errno · e175072f
      Joe Perches 提交于
      Make it easier to use more normal logging styles later.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
      e175072f
  9. 30 6月, 2011 1 次提交
  10. 28 6月, 2011 1 次提交
  11. 23 6月, 2011 1 次提交
    • J
      netlink: advertise incomplete dumps · 670dc283
      Johannes Berg 提交于
      Consider the following situation:
       * a dump that would show 8 entries, four in the first
         round, and four in the second
       * between the first and second rounds, 6 entries are
         removed
       * now the second round will not show any entry, and
         even if there is a sequence/generation counter the
         application will not know
      
      To solve this problem, add a new flag NLM_F_DUMP_INTR
      to the netlink header that indicates the dump wasn't
      consistent, this flag can also be set on the MSG_DONE
      message that terminates the dump, and as such above
      situation can be detected.
      
      To achieve this, add a sequence counter to the netlink
      callback struct. Of course, netlink code still needs
      to use this new functionality. The correct way to do
      that is to always set cb->seq when a dumpit callback
      is invoked and call nl_dump_check_consistent() for
      each new message. The core code will also call this
      function for the final MSG_DONE message.
      
      To make it usable with generic netlink, a new function
      genlmsg_nlhdr() is needed to obtain the netlink header
      from the genetlink user header.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      670dc283
  12. 18 6月, 2011 1 次提交
  13. 17 6月, 2011 4 次提交
  14. 15 6月, 2011 2 次提交
  15. 14 6月, 2011 4 次提交