1. 17 5月, 2011 2 次提交
    • J
      mac80211: fix TX a-MPDU locking · ec034b20
      Johannes Berg 提交于
      During my quest to make mac80211 not have any RCU
      warnings from sparse, I came across the a-MPDU code
      again and it wasn't quite clear why it isn't racy.
      So instead of assigning the tid_tx array with just
      the spinlock held in ieee80211_start_tx_ba_session
      use a separate temporary array protected only by
      the spinlock and protect all assignments to the
      "live" array by both the spinlock and the mutex so
      that other code is easily verified to be correct.
      
      Due to pointer assignment atomicity I don't think
      this is a real issue, but I'm not sure, especially
      on Alpha the current code might be problematic.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ec034b20
    • J
      cfg80211: advertise possible interface combinations · 7527a782
      Johannes Berg 提交于
      Add the ability to advertise interface combinations in nl80211.
      This allows the driver to indicate what the combinations are
      that it supports. "Combinations" of just a single interface are
      implicit, as previously. Note that cfg80211 will enforce that
      the restrictions are met, but not for all drivers yet (once all
      drivers are updated, we can remove the flag and enforce for all).
      
      When no combinations are actually supported, an empty list will
      be exported so that userspace can know if the kernel exported
      this info or not (although it isn't clear to me what tools using
      the info should do if the kernel didn't export it).
      
      Since some interface types are purely virtual/software and don't
      fit the restrictions, those are exposed in a new list of pure SW
      types, not subject to restrictions. This mainly exists to handle
      AP-VLAN and monitor interfaces in mac80211.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7527a782
  2. 13 5月, 2011 7 次提交
  3. 12 5月, 2011 12 次提交
  4. 11 5月, 2011 2 次提交
  5. 06 5月, 2011 6 次提交
  6. 05 5月, 2011 1 次提交
    • M
      mac80211: Fix a warning due to skipping tailroom reservation for IV · eaef6a93
      Mohammed Shafi Shajakhan 提交于
      The devices that require IV generation in software need tailroom
      reservation  for ICVs used in TKIP or WEP encryptions.
      Currently, decision to skip the tailroom reservation in the tx
      path was taken only on whether driver wants MMIC to be generated
      in software or not. Following patch appends IV generation check for
      such decisions and fixes the following warning.
      
      WARNING: at net/mac80211/wep.c:101 ieee80211_wep_add_iv+0x56/0xf3()
      Hardware name: 64756D6
      Modules linked in: ath9k ath9k_common ath9k_hw
      Pid: 0, comm: swapper Tainted: G        W   2.6.39-rc5-wl
       Call Trace:
      [<c102fd29>] warn_slowpath_common+0x65/0x7a
      [<c1465c4e>] ? ieee80211_wep_add_iv+0x56/0xf3
      [<c102fd4d>] warn_slowpath_null+0xf/0x13
      [<c1465c4e>] ieee80211_wep_add_iv+0x56/0xf3
      [<c1466007>] ieee80211_crypto_wep_encrypt+0x63/0x88
      [<c1478bf3>] ieee80211_tx_h_encrypt+0x2f/0x63
      [<c1478cba>] invoke_tx_handlers+0x93/0xe1
      [<c1478eda>] ieee80211_tx+0x4b/0x6d
      [<c147907c>] ieee80211_xmit+0x180/0x188
      [<c147779d>] ? ieee80211_skb_resize+0x95/0xd9
      [<c1479edf>] ieee80211_subif_start_xmit+0x64f/0x668
      [<c13956fc>] dev_hard_start_xmit+0x368/0x48c
      [<c13a8bd6>] sch_direct_xmit+0x4d/0x101
      [<c1395ae1>] dev_queue_xmit+0x2c1/0x43f
      [<c13a74a2>] ? eth_header+0x1e/0x90
      [<c13a7400>] ? eth_type_trans+0x91/0xc2
      [<c13a7484>] ? eth_rebuild_header+0x53/0x53
      [<c139f079>] neigh_resolve_output+0x223/0x27e
      [<c13c6b23>] ip_finish_output2+0x1d4/0x1fe
      [<c13c6bc6>] ip_finish_output+0x79/0x7d
      [<c13c6cbe>] T.1075+0x43/0x48
      [<c13c6e6e>] ip_output+0x75/0x7b
      [<c13c4970>] dst_output+0xc/0xe
      [<c13c62c9>] ip_local_out+0x17/0x1a
      [<c13c67bb>] ip_queue_xmit+0x2aa/0x2f8
      [<c138b742>] ? sk_setup_caps+0x21/0x92
      [<c13d95ea>] ? __tcp_v4_send_check+0x7e/0xb7
      [<c13d5d2e>] tcp_transmit_skb+0x6a1/0x6d7
      [<c13d533b>] ? tcp_established_options+0x20/0x8b
      [<c13d6f28>] tcp_retransmit_skb+0x43a/0x527
      [<c13d8d6d>] tcp_retransmit_timer+0x32e/0x45d
      [<c13d8f23>] tcp_write_timer+0x87/0x16c
      [<c103a030>] run_timer_softirq+0x156/0x1f9
      [<c13d8e9c>] ? tcp_retransmit_timer+0x45d/0x45d
      [<c1034d65>] __do_softirq+0x97/0x14a
      [<c1034cce>] ? irq_enter+0x4d/0x4d
      
      Cc: Yogesh Powar <yogeshp@marvell.com>
      Reported-by: NFabio Rossi <rossi.f@inwind.it>
      Tested-by: NFabio Rossi <rossi.f@inwind.it>
      Signed-off-by: NMohammed Shafi Shajakhan <mshajakhan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      eaef6a93
  7. 03 5月, 2011 1 次提交
  8. 29 4月, 2011 3 次提交
  9. 27 4月, 2011 2 次提交
  10. 26 4月, 2011 2 次提交
  11. 21 4月, 2011 1 次提交
  12. 20 4月, 2011 1 次提交