1. 18 3月, 2014 26 次提交
  2. 15 3月, 2014 14 次提交
    • A
      NFC: llcp: Use list_for_each_entry in nfc_llcp_find_local() · 29e27dd8
      Axel Lin 提交于
      nfc_llcp_find_local() does not modify any list entry while iterating the list.
      So use list_for_each_entry instead of list_for_each_entry_safe.
      Signed-off-by: NAxel Lin <axel.lin@ingics.com>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      29e27dd8
    • A
      NFC: Move checking valid gb_len value to nfc_llcp_set_remote_gb · 3143a4ca
      Axel Lin 提交于
      This checking is common for all caller, so move the checking to one place.
      Signed-off-by: NAxel Lin <axel.lin@ingics.com>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      3143a4ca
    • A
      NFC: Remove redundant test for dev->n_targets in nfc_find_target · 365a721a
      Axel Lin 提交于
      Without this test, it returns NULL if dev->n_targets is 0 anyway.
      Signed-off-by: NAxel Lin <axel.lin@ingics.com>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      365a721a
    • J
      brcmfmac: Make probe function __init · c2d23c70
      Jean Delvare 提交于
      One of the benefits of platform_driver_probe() is that you can make
      the probe function __init.
      Signed-off-by: NJean Delvare <jdelvare@suse.de>
      Cc: Hante Meuleman <meuleman@broadcom.com>
      Cc: Arend van Spriel <arend@broadcom.com>
      Cc: John W. Linville <linville@tuxdriver.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      c2d23c70
    • J
      ath9k: Convert uses of __constant_<foo> to <foo> · 1b5c8d60
      Joe Perches 提交于
      The use of __constant_<foo> has been unnecessary for quite awhile now.
      
      Make these uses consistent with the rest of the kernel.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      1b5c8d60
    • 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
    • F
      ath9k_hw: set ANI firstep as absolute values instead of relative · 9301ca90
      Felix Fietkau 提交于
      On older chips, the INI value differ in similar ways as cycpwr_thr1, so
      convert it to absolute values as well.
      
      Since the ANI algorithm is different here compared to the old
      implementation (fewer steps, controlled at a different point in time),
      it makes sense to use values similar to what would be applied for newer
      chips, just without relying on INI defaults.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      9301ca90
    • F
      ath9k_hw: set ANI cycpwr_thr1 as absolute values instead of relative · 28327fd0
      Felix Fietkau 提交于
      The table was copied from the ANI implementation of AR9300. It assumes
      that the INI values contain a baseline value that is usable as reference
      from which to increase/decrease based on the noise immunity value.
      
      On older chips, the differences are bigger and especially AR5008/AR9001
      are configured to much more sensitive values than what is useful.
      
      Improve ANI behavior by reverting to the absolute values used in the
      previous implementation (expressed as a simple formula instead of the
      old table).
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      28327fd0
    • F
      ath9k_hw: remove ANI function restrictions for AP mode · afdc05f0
      Felix Fietkau 提交于
      The primary purpose of this piece of code was to selectively disable
      OFDM weak signal detection. The checks for this are elsewhere, and an
      earlier commit relaxed the restrictions for older chips, which are more
      sensitive to interference.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      afdc05f0
    • A
      wireless: Kconfig: add missing dependency for airo_cs · a0b2a8f4
      Arnd Bergmann 提交于
      commit 4c59ff22 "wireless: Kconfig: add missing dependency" added a number
      of 'depends on CFG80211' statements, but missed the AIRO_CS driver that
      also causes the airo.c file to be built. This adds the (hopefully) last
      such missing statement
      
      Cc: "Zhao, Gang" <gamerh2o@gmail.com>
      Cc: "John W. Linville" <linville@tuxdriver.com>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      a0b2a8f4
    • E
      brcmsmac: update comment to reflect the code · c9423937
      Emil Goode 提交于
      The brcms_attach function is defined as static but the comment is
      saying that it should not be static or gcc will issue a warning.
      I believe we can remove the comment as I don't se a problem with
      this function being defined as static.
      Signed-off-by: NEmil Goode <emilgoode@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      c9423937
    • E
      brcmsmac: fix deadlock on missing firmware · 8fc1e8c2
      Emil Goode 提交于
      When brcm80211 firmware is not installed networking hangs.
      A deadlock happens because we call ieee80211_unregister_hw()
      from the .start callback of struct ieee80211_ops. When .start
      is called we are under rtnl lock and ieee80211_unregister_hw()
      tries to take it again.
      
      Function call stack:
      
      dev_change_flags()
      	__dev_change_flags()
      		__dev_open()
      			ASSERT_RTNL() <-- Assert rtnl lock
      			ops->ndo_open()
      
      .ndo_open = ieee80211_open,
      
      ieee80211_open()
      	ieee80211_do_open()
      		drv_start()
      			local->ops->start()
      
      .start = brcms_ops_start,
      
      brcms_ops_start()
      	brcms_remove()
      		ieee80211_unregister_hw()
      			rtnl_lock() <-- Here we deadlock
      
      Introduced by:
      commit 25b5632f
      ("brcmsmac: request firmware in .start() callback")
      
      This patch fixes the bug by removing the call to brcms_remove()
      and moves the brcms_request_fw() call to the top of the .start
      callback to not initiate anything unless firmware is installed.
      Signed-off-by: NEmil Goode <emilgoode@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8fc1e8c2
    • F
      ath9k: clean up and enhance ANI debugfs file · abee4c84
      Felix Fietkau 提交于
      Unify scnprintf calls and include the current OFDM/CCK immunity level.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      abee4c84
    • F
      ath9k: fix ready time of the multicast buffer queue · 3b3e0efb
      Felix Fietkau 提交于
      qi->tqi_readyTime is written directly to registers that expect
      microseconds as unit instead of TU.
      When setting the CABQ ready time, cur_conf->beacon_interval is in TU, so
      convert it to microseconds before passing it to ath9k_hw.
      
      This should hopefully fix some Tx DMA issues with buffered multicast
      frames in AP mode.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3b3e0efb