1. 27 9月, 2014 1 次提交
    • P
      ath5k: Remove AHB bus support · 093ec3c5
      Paul Bolle 提交于
      AHB bus support was added in v2.6.38, through commit a0b907ee
      ("ath5k: Add AHB bus support."). That code can only be build if the
      Kconfig symbol ATHEROS_AR231X is set. But that symbol has never been
      added to the tree. So AHB bus support has always been dead code.
      
      Let's remove all code that depends on ATHEROS_AR231X. If that symbol
      ever gets added to the tree the AHB bus support can be re-added too.
      Signed-off-by: NPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      093ec3c5
  2. 29 8月, 2014 1 次提交
  3. 02 7月, 2014 2 次提交
  4. 15 3月, 2014 1 次提交
    • J
      ath5k: add missing dma_map_error call · b499abdc
      John Greene 提交于
      Trivial patch to address this trace. Now calls dma_mapping_error and
      return -ENOSPC if a problem found.
      
      WARNING: at lib/dma-debug.c:933 check_unmap+0x47b/0x960()
      Hardware name: Aspire 5515
      ath5k 0000:02:00.0: DMA-API: device driver failed to check map
      error[device address=0x00000000874fcd42] [size=45 bytes] [mapped as
      single]
      Modules linked in: bnep bluetooth ebtable_filter ebtables
      ip6table_filter ip6_tables be2iscsi iscsi_boot_sysfs bnx2i cnic uio
      cxgb4i cxgb4 cxgb3i cxgb3 mdio libcxgbi ib_iser rdma_cm ib_addr iw_cm
      ib_cm ib_sa ib_mad ib_core iscsi_tcp libiscsi_tcp libiscsi
      scsi_transport_iscsi arc4 snd_hda_codec_realtek snd_hda_intel
      snd_hda_codec snd_hwdep snd_seq snd_seq_device ath5k ath snd_pcm
      sparse_keymap snd_page_alloc mac80211 snd_timer sp5100_tco snd edac_core
      k8temp soundcore edac_mce_amd i2c_piix4 cfg80211 rfkill shpchp vhost_net
      tun macvtap macvlan kvm_amd kvm uinput dm_crypt ata_generic pata_acpi
      radeon i2c_algo_bit pata_atiixp drm_kms_helper ttm drm r8169 mii
      i2c_core wmi video sunrpc
      Pid: 820, comm: firewalld Not tainted 3.9.0-0.rc3.git1.4.fc19.x86_64 #1
      Call Trace:
       <IRQ>  [<ffffffff81068df0>] warn_slowpath_common+0x70/0xa0
       [<ffffffff81068e6c>] warn_slowpath_fmt+0x4c/0x50
       [<ffffffff8137ebeb>] check_unmap+0x47b/0x960
       [<ffffffff81021cf5>] ? native_sched_clock+0x15/0x80
       [<ffffffff81021d69>] ? sched_clock+0x9/0x10
       [<ffffffff8137f12f>] debug_dma_unmap_page+0x5f/0x70
       [<ffffffffa048fa07>] ath5k_tasklet_tx+0x157/0x3f0 [ath5k]
       [<ffffffff810acc0d>] ? sched_clock_local+0x1d/0x80
       [<ffffffff81072aa6>] ? tasklet_action+0x56/0x210
       [<ffffffff81072ae7>] tasklet_action+0x97/0x210
       [<ffffffff8107343f>] __do_softirq+0xff/0x400
       [<ffffffff81073905>] irq_exit+0xb5/0xc0
       [<ffffffff81728916>] do_IRQ+0x56/0xc0
       [<ffffffff8171dc32>] common_interrupt+0x72/0x72
       <EOI>  [<ffffffff811f1f81>] ? dput+0x111/0x310
       [<ffffffff811f1ea7>] ? dput+0x37/0x310
       [<ffffffff811e75e8>] link_path_walk+0x528/0x910
       [<ffffffff811ea624>] path_openat+0x94/0x530
       [<ffffffff811eb148>] do_filp_open+0x38/0x80
       [<ffffffff811e1dda>] open_exec+0x4a/0x130
       [<ffffffff81238be3>] load_elf_binary+0x7f3/0x18e0
       [<ffffffff81021d69>] ? sched_clock+0x9/0x10
       [<ffffffff810acc0d>] ? sched_clock_local+0x1d/0x80
       [<ffffffff810acd98>] ? sched_clock_cpu+0xa8/0x100
       [<ffffffff810d515d>] ? trace_hardirqs_off+0xd/0x10
       [<ffffffff810acedf>] ? local_clock+0x5f/0x70
       [<ffffffff810d5dbf>] ? lock_release_holdtime.part.28+0xf/0x190
       [<ffffffff812383f0>] ? elf_core_dump+0x1980/0x1980
       [<ffffffff811e1151>] search_binary_handler+0x1a1/0x4f0
       [<ffffffff811e1017>] ? search_binary_handler+0x67/0x4f0
       [<ffffffff811e28fc>] do_execve_common.isra.26+0x64c/0x710
       [<ffffffff811e23c2>] ? do_execve_common.isra.26+0x112/0x710
       [<ffffffff811e2cc6>] sys_execve+0x36/0x50
       [<ffffffff81727249>] stub_execve+0x69/0xa0
      Signed-off-by: NJohn Greene <jogreene@redhat.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b499abdc
  5. 17 1月, 2014 1 次提交
  6. 08 1月, 2014 1 次提交
  7. 04 1月, 2014 1 次提交
  8. 19 10月, 2013 1 次提交
    • F
      ath5k: fix regression in tx status processing · 7ede612f
      Felix Fietkau 提交于
      The regression was introduced in the following commit:
      
      0967e01e
      "ath5k: make use of the new rate control API"
      
      ath5k_tx_frame_completed saves the intended per-rate retry counts before
      they are cleared by ieee80211_tx_info_clear_status, however at this
      point the information in info->status.rates is incomplete.
      
      This causes significant throughput degradation and excessive packet loss
      on links where high bit rates don't work properly.
      
      Move the copy from bf->rates a few lines up to ensure that the saved
      retry counts are updated, and that they are really cleared in
      info->status.rates after the call to ieee80211_tx_info_clear_status.
      
      Cc: stable@vger.kernel.org # 3.10+
      Cc: Thomas Huehn <thomas@net.t-labs.tu-berlin.de>
      Cc: Benjamin Vahl <bvahl@net.t-labs.tu-berlin.de>
      Reported-by: NBen West <ben@gowasabi.net>
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Acked-by: NThomas Huehn <thomas@net.t-labs.tu-berlin.de>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7ede612f
  9. 17 8月, 2013 3 次提交
  10. 13 6月, 2013 1 次提交
  11. 04 5月, 2013 1 次提交
  12. 26 3月, 2013 1 次提交
  13. 14 1月, 2013 1 次提交
  14. 12 12月, 2012 1 次提交
  15. 11 12月, 2012 1 次提交
  16. 07 12月, 2012 1 次提交
  17. 14 11月, 2012 1 次提交
  18. 10 11月, 2012 1 次提交
    • J
      mac80211: clarify interface iteration and make it configurable · 8b2c9824
      Johannes Berg 提交于
      During hardware restart, all interfaces are iterated even
      though they haven't been re-added to the driver, document
      this behaviour. The same also happens during resume, which
      is even more confusing since all of the interfaces were
      previously removed from the driver. Make this optional so
      drivers relying on the current behaviour can still use it,
      but to let drivers that don't want this behaviour disable
      it.
      
      Also convert all API users, keeping the old semantics
      except in hwsim, where the new normal ones are desired.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8b2c9824
  19. 09 10月, 2012 1 次提交
  20. 25 9月, 2012 1 次提交
  21. 14 8月, 2012 1 次提交
    • B
      ath5k: fix spin_lock_irqsave/spin_lock_bh nesting in mesh · 7dd6753f
      Bob Copeland 提交于
      Lockdep found an inconsistent lock state when joining a mesh with
      ath5k.  The problem is that ath5k takes the lock for its beacon state,
      ah->block, with spin_lock_irqsave(), while mesh internally takes the
      sync_offset_lock with spin_lock_bh() in mesh_sync_offset_adjust_tbtt(),
      which in turn is called under ah->block.
      
      This could deadlock if the beacon tasklet was run on the processor
      that held the beacon lock during the do_softirq() in spin_unlock_bh().
      
      We probably shouldn't hold the lock around the callbacks, but the
      easiest fix is to switch to spin_lock_bh for ah->block: it doesn't
      need interrupts disabled anyway as the data in question is only accessed
      in softirq or process context.
      
      Fixes the following lockdep warning:
      
      [  446.892304] WARNING: at kernel/softirq.c:159 _local_bh_enable_ip+0x38/0xa6()
      [  446.892306] Hardware name: MacBook1,1
      [  446.892309] Modules linked in: tcp_lp fuse sunrpc cpufreq_ondemand acpi_cpufreq mperf ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 nf_conntrack_ipv4 ip6table_filter nf_defrag_ipv4 xt_state nf_conntrack ip6_tables ext2 arc4 btusb bluetooth snd_hda_codec_idt snd_hda_intel carl9170 snd_hda_codec coretemp joydev ath5k snd_hwdep snd_seq isight_firmware ath snd_seq_device snd_pcm applesmc appletouch mac80211 input_polldev snd_timer microcode cfg80211 snd lpc_ich pcspkr i2c_i801 mfd_core soundcore rfkill snd_page_alloc sky2 tpm_infineon virtio_net kvm_intel kvm i915 drm_kms_helper drm i2c_algo_bit i2c_core video
      [  446.892385] Pid: 1892, comm: iw Not tainted 3.6.0-rc1-wl+ #296
      [  446.892387] Call Trace:
      [  446.892394]  [<c0432958>] warn_slowpath_common+0x7c/0x91
      [  446.892398]  [<c04399d7>] ? _local_bh_enable_ip+0x38/0xa6
      [  446.892403]  [<c04399d7>] ? _local_bh_enable_ip+0x38/0xa6
      [  446.892459]  [<f7f9ae3b>] ? mesh_sync_offset_adjust_tbtt+0x95/0x99 [mac80211]
      [  446.892464]  [<c043298f>] warn_slowpath_null+0x22/0x24
      [  446.892468]  [<c04399d7>] _local_bh_enable_ip+0x38/0xa6
      [  446.892473]  [<c0439a52>] local_bh_enable_ip+0xd/0xf
      [  446.892479]  [<c088004f>] _raw_spin_unlock_bh+0x34/0x37
      [  446.892527]  [<f7f9ae3b>] mesh_sync_offset_adjust_tbtt+0x95/0x99 [mac80211]
      [  446.892569]  [<f7f7650f>] ieee80211_beacon_get_tim+0x28f/0x4e0 [mac80211]
      [  446.892575]  [<c047ceeb>] ? trace_hardirqs_on_caller+0x10e/0x13f
      [  446.892591]  [<f7fdc541>] ath5k_beacon_update+0x40/0x26b [ath5k]
      [  446.892597]  [<c047ad67>] ? lock_acquired+0x1f5/0x21e
      [  446.892612]  [<f7fdf9fb>] ? ath5k_bss_info_changed+0x167/0x1b2 [ath5k]
      [  446.892617]  [<c087f9ea>] ? _raw_spin_lock_irqsave+0x78/0x82
      [  446.892632]  [<f7fdf9fb>] ? ath5k_bss_info_changed+0x167/0x1b2 [ath5k]
      [  446.892647]  [<f7fdfa09>] ath5k_bss_info_changed+0x175/0x1b2 [ath5k]
      [  446.892651]  [<c0479dd4>] ? lock_is_held+0x73/0x7b
      [  446.892662]  [<c0458fd5>] ? __might_sleep+0xa7/0x17a
      [  446.892698]  [<f7f5d8f7>] ieee80211_bss_info_change_notify+0x1ed/0x21a [mac80211]
      [  446.892703]  [<c0449875>] ? queue_work+0x24/0x32
      [  446.892718]  [<f7fdf894>] ? ath5k_configure_filter+0x163/0x163 [ath5k]
      [  446.892766]  [<f7f95fa4>] ieee80211_start_mesh+0xb9/0xbd [mac80211]
      [  446.892806]  [<f7f6e610>] ieee80211_join_mesh+0x10c/0x116 [mac80211]
      [  446.892834]  [<f7a96b90>] __cfg80211_join_mesh+0x176/0x1b3 [cfg80211]
      [  446.892855]  [<f7a96c1c>] cfg80211_join_mesh+0x4f/0x6a [cfg80211]
      [  446.892875]  [<f7a89891>] nl80211_join_mesh+0x1de/0x1ed [cfg80211]
      [  446.892908]  [<f7a8db99>] ? nl80211_set_wiphy+0x4cf/0x4cf [cfg80211]
      [  446.892919]  [<c07cfa36>] genl_rcv_msg+0x1d5/0x1f3
      [  446.892940]  [<c07cf861>] ? genl_rcv+0x25/0x25
      [  446.892946]  [<c07cf009>] netlink_rcv_skb+0x37/0x78
      [  446.892950]  [<c07cf85a>] genl_rcv+0x1e/0x25
      [  446.892955]  [<c07cebf3>] netlink_unicast+0xc3/0x12d
      [  446.892959]  [<c07cee46>] netlink_sendmsg+0x1e9/0x213
      [  446.892966]  [<c079f282>] sock_sendmsg+0x79/0x96
      [  446.892972]  [<c04eb90d>] ? might_fault+0x9d/0xa3
      [  446.892978]  [<c07a81d8>] ? copy_from_user+0x8/0xa
      [  446.892983]  [<c07a852c>] ? verify_iovec+0x43/0x77
      [  446.892987]  [<c079f4d8>] __sys_sendmsg+0x180/0x215
      [  446.892993]  [<c045f107>] ? sched_clock_cpu+0x134/0x144
      [  446.892997]  [<c047992f>] ? trace_hardirqs_off+0xb/0xd
      [  446.893002]  [<c047bf88>] ? __lock_acquire+0x46b/0xb6e
      [  446.893006]  [<c047992f>] ? trace_hardirqs_off+0xb/0xd
      [  446.893010]  [<c045f149>] ? local_clock+0x32/0x49
      [  446.893015]  [<c0479ec1>] ? lock_release_holdtime.part.9+0x4b/0x51
      [  446.893020]  [<c0479dd4>] ? lock_is_held+0x73/0x7b
      [  446.893025]  [<c050d127>] ? fcheck_files+0x97/0xcd
      [  446.893029]  [<c050d4df>] ? fget_light+0x2d/0x81
      [  446.893034]  [<c07a01f3>] sys_sendmsg+0x3b/0x52
      [  446.893038]  [<c07a07b4>] sys_socketcall+0x238/0x2a2
      [  446.893044]  [<c0885edf>] sysenter_do_call+0x12/0x38
      [  446.893047] ---[ end trace a9af5998f929270f ]---
      [  447.627222]
      [  447.627232] =================================
      [  447.627237] [ INFO: inconsistent lock state ]
      [  447.627244] 3.6.0-rc1-wl+ #296 Tainted: G        W
      [  447.627248] ---------------------------------
      [  447.627253] inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
      [  447.627260] swapper/0/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
      [  447.627264]  (&(&ah->block)->rlock){+.?...}, at: [<f7fdd2d1>] ath5k_tasklet_beacon+0x91/0xa7 [ath5k]
      [  447.627299] {SOFTIRQ-ON-W} state was registered at:
      [  447.627304]   [<c047cdbf>] mark_held_locks+0x59/0x77
      [  447.627316]   [<c047ceeb>] trace_hardirqs_on_caller+0x10e/0x13f
      [  447.627324]   [<c047cf27>] trace_hardirqs_on+0xb/0xd
      [  447.627332]   [<c0439a3d>] _local_bh_enable_ip+0x9e/0xa6
      [  447.627342]   [<c0439a52>] local_bh_enable_ip+0xd/0xf
      [  447.627349]   [<c088004f>] _raw_spin_unlock_bh+0x34/0x37
      [  447.627359]   [<f7f9ae3b>] mesh_sync_offset_adjust_tbtt+0x95/0x99 [mac80211]
      [  447.627451]   [<f7f7650f>] ieee80211_beacon_get_tim+0x28f/0x4e0 [mac80211]
      [  447.627526]   [<f7fdc541>] ath5k_beacon_update+0x40/0x26b [ath5k]
      [  447.627547]   [<f7fdfa09>] ath5k_bss_info_changed+0x175/0x1b2 [ath5k]
      [  447.627569]   [<f7f5d8f7>] ieee80211_bss_info_change_notify+0x1ed/0x21a [mac80211]
      [  447.627628]   [<f7f95fa4>] ieee80211_start_mesh+0xb9/0xbd [mac80211]
      [  447.627712]   [<f7f6e610>] ieee80211_join_mesh+0x10c/0x116 [mac80211]
      [  447.627782]   [<f7a96b90>] __cfg80211_join_mesh+0x176/0x1b3 [cfg80211]
      [  447.627816]   [<f7a96c1c>] cfg80211_join_mesh+0x4f/0x6a [cfg80211]
      [  447.627845]   [<f7a89891>] nl80211_join_mesh+0x1de/0x1ed [cfg80211]
      [  447.627872]   [<c07cfa36>] genl_rcv_msg+0x1d5/0x1f3
      [  447.627881]   [<c07cf009>] netlink_rcv_skb+0x37/0x78
      [  447.627891]   [<c07cf85a>] genl_rcv+0x1e/0x25
      [  447.627898]   [<c07cebf3>] netlink_unicast+0xc3/0x12d
      [  447.627907]   [<c07cee46>] netlink_sendmsg+0x1e9/0x213
      [  447.627915]   [<c079f282>] sock_sendmsg+0x79/0x96
      [  447.627926]   [<c079f4d8>] __sys_sendmsg+0x180/0x215
      [  447.627934]   [<c07a01f3>] sys_sendmsg+0x3b/0x52
      [  447.627941]   [<c07a07b4>] sys_socketcall+0x238/0x2a2
      [  447.627949]   [<c0885edf>] sysenter_do_call+0x12/0x38
      [  447.627959] irq event stamp: 1929200
      [  447.627963] hardirqs last  enabled at (1929200): [<c043a0e9>] tasklet_hi_action+0x3e/0xbf
      [  447.627972] hardirqs last disabled at (1929199): [<c043a0c0>] tasklet_hi_action+0x15/0xbf
      [  447.627981] softirqs last  enabled at (1929196): [<c043999d>] _local_bh_enable+0x12/0x14
      [  447.627989] softirqs last disabled at (1929197): [<c040443b>] do_softirq+0x63/0xb8
      [  447.627999]
      [  447.627999] other info that might help us debug this:
      [  447.628004]  Possible unsafe locking scenario:
      [  447.628004]
      [  447.628009]        CPU0
      [  447.628012]        ----
      [  447.628016]   lock(&(&ah->block)->rlock);
      [  447.628023]   <Interrupt>
      [  447.628027]     lock(&(&ah->block)->rlock);
      [  447.628034]
      [  447.628034]  *** DEADLOCK ***
      Signed-off-by: NBob Copeland <me@bobcopeland.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7dd6753f
  22. 11 8月, 2012 1 次提交
  23. 12 7月, 2012 1 次提交
  24. 20 6月, 2012 1 次提交
  25. 30 5月, 2012 1 次提交
  26. 11 5月, 2012 1 次提交
    • J
      drivers/net: Convert compare_ether_addr to ether_addr_equal · 2e42e474
      Joe Perches 提交于
      Use the new bool function ether_addr_equal to add
      some clarity and reduce the likelihood for misuse
      of compare_ether_addr for sorting.
      
      Done via cocci script:
      
      $ cat compare_ether_addr.cocci
      @@
      expression a,b;
      @@
      -	!compare_ether_addr(a, b)
      +	ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	compare_ether_addr(a, b)
      +	!ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	!ether_addr_equal(a, b) == 0
      +	ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	!ether_addr_equal(a, b) != 0
      +	!ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	ether_addr_equal(a, b) == 0
      +	!ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	ether_addr_equal(a, b) != 0
      +	ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	!!ether_addr_equal(a, b)
      +	ether_addr_equal(a, b)
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2e42e474
  27. 17 4月, 2012 1 次提交
  28. 11 4月, 2012 2 次提交
  29. 07 3月, 2012 2 次提交
  30. 25 1月, 2012 2 次提交
  31. 20 12月, 2011 1 次提交
  32. 29 11月, 2011 3 次提交