Skip to content
  1. Jun 27, 2012
    • Sujith Manoharan's avatar
      ath9k: Fix lockdep splat · fad29cd2
      Sujith Manoharan authored
      
      
      Cancel the MCI work only when MCI is actually enabled.
      Fixes this:
      
      [96833.124051] Call Trace:
      [96833.124060]  [<ffffffff810afaf8>] __lock_acquire+0x1518/0x1e40
      [96833.124065]  [<ffffffff810ad126>] ? mark_held_locks+0x86/0x110
      [96833.124069]  [<ffffffff810ad3ad>] ? trace_hardirqs_on+0xd/0x10
      [96833.124073]  [<ffffffff814464f0>] ? _raw_spin_unlock_irq+0x30/0x70
      [96833.124078]  [<ffffffff81072968>] ? wait_on_cpu_work+0x98/0xc0
      [96833.124082]  [<ffffffff810b0a11>] lock_acquire+0xa1/0x150
      [96833.124085]  [<ffffffff81072990>] ? wait_on_cpu_work+0xc0/0xc0
      [96833.124088]  [<ffffffff81072990>] ? wait_on_cpu_work+0xc0/0xc0
      [96833.124092]  [<ffffffff810729e2>] wait_on_work+0x52/0x120
      [96833.124095]  [<ffffffff81072990>] ? wait_on_cpu_work+0xc0/0xc0
      [96833.124099]  [<ffffffff81063b3f>] ? del_timer+0x7f/0x110
      [96833.124102]  [<ffffffff81072c13>] __cancel_work_timer+0x83/0x130
      [96833.124106]  [<ffffffff81072cf0>] cancel_work_sync+0x10/0x20
      [96833.124113]  [<ffffffffa065b5cd>] __ath_cancel_work+0x4d/0x60 [ath9k]
      [96833.124119]  [<ffffffffa065cf28>] ath9k_config+0x458/0x680 [ath9k]
      [96833.124125]  [<ffffffffa065dd1e>] ? ath9k_flush+0x6e/0x1d0 [ath9k]
      [96833.124129]  [<ffffffff8144394d>] ? __mutex_unlock_slowpath+0x10d/0x190
      [96833.124146]  [<ffffffffa056c7b5>] ieee80211_hw_config+0x135/0x2a0 [mac80211]
      [96833.124163]  [<ffffffffa057ebbb>] ieee80211_do_open+0x67b/0xc50 [mac80211]
      [96833.124178]  [<ffffffffa057f1fd>] ieee80211_open+0x6d/0x80 [mac80211]
      [96833.124183]  [<ffffffff8137a44f>] __dev_open+0x9f/0xf0
      [96833.124187]  [<ffffffff8137a701>] __dev_change_flags+0xa1/0x180
      [96833.124190]  [<ffffffff8137a898>] dev_change_flags+0x28/0x70
      [96833.124195]  [<ffffffff813e1179>] devinet_ioctl+0x659/0x780
      [96833.124199]  [<ffffffff8137aea0>] ? dev_ioctl+0x210/0x6d0
      [96833.124203]  [<ffffffff813e1db5>] inet_ioctl+0x75/0x90
      [96833.124208]  [<ffffffff8135e0e0>] sock_do_ioctl+0x30/0x70
      [96833.124211]  [<ffffffff8135e3dd>] sock_ioctl+0x7d/0x2c0
      [96833.124218]  [<ffffffff81193c39>] do_vfs_ioctl+0x99/0x580
      [96833.124222]  [<ffffffff81447415>] ? sysret_check+0x22/0x5d
      [96833.124226]  [<ffffffff811941b9>] sys_ioctl+0x99/0xa0
      [96833.124230]  [<ffffffff814473e9>] system_call_fastpath+0x16/0x1b
      
      Signed-off-by: default avatarSujith Manoharan <c_manoha@qca.qualcomm.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      fad29cd2
    • Sven Eckelmann's avatar
      ath9k: raise aggregation limit to 64k for HT IBSS · 313eb87f
      Sven Eckelmann authored
      
      
      mac80211 adds stations in HT IBSS as soon as a frame comes by,
      even if the HT capabilities are not known yet (they are often
      received later, e.g. in beacons). So far, ampdu factor/density
      are only calculated when the station is initially added.
      
      This patch changes this to update ampdu factor/density settings
      when starting a blockack session.
      
      Using this patch, we had performance boosts from 60 to 150 MBit/s
      between two 2x2 Atheros devices in 5 GHz HT IBSS mode.
      
      Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
      Signed-off-by: default avatarSimon Wunderlich <siwu@hrz.tu-chemnitz.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      313eb87f
    • Larry Finger's avatar
      rtlwifi: rtl8192se: Fix double inclusion of header pci.h · 46e5129b
      Larry Finger authored
      
      
      The command "make includecheck" yields the following for the rtlwifi tree:
      
      /home/finger/linux-2.6/drivers/net/wireless/rtlwifi/rtl8192se/sw.c: ../pci.h is included more than once.
      
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      46e5129b
    • Larry Finger's avatar
      rtlwifi: Fix IRQ disabled warning · 5a2766ab
      Larry Finger authored
      The PCI-based drivers can generate the following warning:
      
      [ 9497.776350] ------------[ cut here ]------------
      [ 9497.776366] WARNING: at kernel/softirq.c:159 local_bh_enable_ip+0x7a/0xa0()
      [ 9497.776370] Hardware name: 05794NC
      [ 9497.776597] Pid: 6413, comm: hostapd Not tainted 3.3.0-4.fc16.x86_64 #1
      [ 9497.776601] Call Trace:
      [ 9497.776612]  [<ffffffff81057b1f>] warn_slowpath_common+0x7f/0xc0
      [ 9497.776633]  [<ffffffffa034a099>] ? rtl_pci_reset_trx_ring+0x199/0x230
      [rtlwifi]
      [ 9497.776640]  [<ffffffff81057b7a>] warn_slowpath_null+0x1a/0x20
      [ 9497.776646]  [<ffffffff8105f06a>] local_bh_enable_ip+0x7a/0xa0
      [ 9497.776654]  [<ffffffff815f3ef6>] _raw_spin_unlock_bh+0x16/0x20
      [ 9497.776671]  [<ffffffffa03e50de>] destroy_conntrack+0x9e/0x120
      [nf_conntrack]
      [ 9497.776681]  [<ffffffff81511847>] nf_conntrack_destroy+0x17/0x20
      [ 9497.776689]  [<ffffffff814d9c85>] skb_release_head_state+0xe5/0x120
      [ 9497.776695]  [<ffffffff814d98b6>] __kfree_skb+0x16/0xa0
      [ 9497.776700]  [<ffffffff814d9a35>] kfree_skb+0x45/0xc0
      [ 9497.776717]  [<ffffffffa034a099>] rtl_pci_reset_trx_ring+0x199/0x230
      [rtlwifi]
      [ 9497.776734]  [<ffffffffa034a155>] rtl_pci_start+0x25/0x1d0 [rtlwifi]
      [ 9497.776750]  [<ffffffffa03440b5>] rtl_op_start+0x55/0x90 [rtlwifi]
      [ 9497.776785]  [<ffffffffa02c4956>] ieee80211_do_open+0x296/0xa10 [mac80211]
      [ 9497.776794]  [<ffffffff815f7ddd>] ? notifier_call_chain+0x4d/0x70
      [ 9497.776828]  [<ffffffffa02c513d>] ieee80211_open+0x6d/0x80 [mac80211]
      [ 9497.776836]  [<ffffffff814e8b3f>] __dev_open+0x8f/0xe0
      [ 9497.776842]  [<ffffffff814e8de1>] __dev_change_flags+0xa1/0x180
      [ 9497.776847]  [<ffffffff814e8f78>] dev_change_flags+0x28/0x70
      [ 9497.776856]  [<ffffffff8154e99d>] devinet_ioctl+0x61d/0x7b0
      [ 9497.776863]  [<ffffffff8154ef55>] inet_ioctl+0x75/0x90
      [ 9497.776870]  [<ffffffff814cdd50>] sock_do_ioctl+0x30/0x70
      [ 9497.776876]  [<ffffffff814cee09>] sock_ioctl+0x79/0x2f0
      [ 9497.776885]  [<ffffffff81193498>] do_vfs_ioctl+0x98/0x550
      [ 9497.776891]  [<ffffffff811939e1>] sys_ioctl+0x91/0xa0
      [ 9497.776897]  [<ffffffff815fc029>] system_call_fastpath+0x16/0x1b
      [ 9497.776902] ---[ end trace 22886c442489082d ]---
      
      The cause is due to calling kfree_skb() with interrupts disabled.
      
      This bug is discussed in https://bugzilla.redhat.com/show_bug.cgi?id=797709
      
      .
      
      Reported-and-Tested by: Ivan Ivanovich <iivanich@gmail.com>
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      5a2766ab
    • John W. Linville's avatar
  2. Jun 26, 2012
  3. Jun 25, 2012
    • Johannes Berg's avatar
      mac80211_hwsim: fix smatch/sparse complaints · d0f718c1
      Johannes Berg authored
      
      
      The code is fine in both cases as-is, but we can
      write it slightly differently to fix smatch/sparse
      complaints:
       * compare the skb pointer (which we use as a cookie)
         by casting the skb to unsigned long rather than the
         cookie to a pointer (fixes "different address spaces")
       * when transmitting, data->channel must be assigned,
         don't check it (fixes "dereferenced before check")
      
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      d0f718c1
  4. Jun 24, 2012
  5. Jun 23, 2012
  6. Jun 22, 2012
  7. Jun 21, 2012