1. 15 12月, 2016 8 次提交
  2. 01 12月, 2016 3 次提交
    • A
      ath9k_htc: don't use HZ for usb msg timeouts · 982a6151
      Anthony Romano 提交于
      The usb_*_msg() functions expect a timeout in msecs but are given HZ,
      which is ticks per second. If HZ=100, firmware download often times out
      when there is modest USB utilization and the device fails to initialize.
      
      Replaces HZ in usb_*_msg timeouts with 1000 msec since HZ is one second
      for timeouts in jiffies.
      Signed-off-by: NAnthony Romano <anthony.romano@coreos.com>
      Acked-by: NOleksij Rempel <linux@rempel-privat.de>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      982a6151
    • B
      ath9k: constify ath_bus_ops structure · 8ca5a607
      Bhumika Goyal 提交于
      Declare the structure ath_bus_ops as const as it is only passed as an
      argument to the function ath9k_init_device. This argument is of type
      const struct ath_bus_ops *, so ath_bus_ops structures with this property
      can be declared as const.
      Done using Coccinelle:
      @r1 disable optional_qualifier @
      identifier i;
      position p;
      @@
      static struct ath_bus_ops i@p = {...};
      
      @ok1@
      identifier r1.i;
      position p;
      expression e1,e2;
      @@
      ath9k_init_device(e1,e2,&i@p)
      
      @bad@
      position p!={r1.p,ok1.p};
      identifier r1.i;
      @@
      i@p
      
      @depends on !bad disable optional_qualifier@
      identifier r1.i;
      @@
      static
      +const
      struct ath_bus_ops i={...};
      
      @depends on !bad disable optional_qualifier@
      identifier r1.i;
      @@
      +const
      struct ath_bus_ops i;
      
      File size before:
         text	   data	    bss	    dec	    hex	filename
         1295	    232	      0	   1527	    5f7	ath/ath9k/ahb.o
      
      File size after:
         text	   data	    bss	    dec	    hex	filename
         1359	    176	      0	   1535	    5ff	ath/ath9k/ahb.o
      Signed-off-by: NBhumika Goyal <bhumirks@gmail.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      8ca5a607
    • Z
      ath9k: feed only active spectral / dfs-detector · 87fedb97
      Zefir Kurtisi 提交于
      Radar pulse and spectral scan reports are provided by the HW
      with the ATH9K_RXERR_PHY flag set. Those are forwarded to
      the dfs-detector and spectral module for further processing.
      
      For some older chips, the pre-conditions checked in those
      modules are ambiguous, since ATH9K_PHYERR_RADAR is used to
      tag both types. As a result, spectral frames are fed into
      the dfs-detector and vice versa.
      
      This could lead to a false radar detection on a non-DFS
      channel (which is uncritical), but more relevant it causes
      useless CPU load for processing invalid frames.
      
      This commit ensures that the dfs-detector and spectral
      collector are only fed when they are active.
      Signed-off-by: NZefir Kurtisi <zefir.kurtisi@neratec.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      87fedb97
  3. 23 11月, 2016 2 次提交
    • M
      ath9k: fix NULL pointer dereference · 40bea976
      Miaoqing Pan 提交于
      relay_open() may return NULL, check the return value to avoid the crash.
      
      BUG: unable to handle kernel NULL pointer dereference at 0000000000000040
      IP: [<ffffffffa01a95c5>] ath_cmn_process_fft+0xd5/0x700 [ath9k_common]
      PGD 41cf28067 PUD 41be92067 PMD 0
      Oops: 0000 [#1] SMP
      CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.8.6+ #35
      Hardware name: Hewlett-Packard h8-1080t/2A86, BIOS 6.15    07/04/2011
      task: ffffffff81e0c4c0 task.stack: ffffffff81e00000
      RIP: 0010:[<ffffffffa01a95c5>] [<ffffffffa01a95c5>] ath_cmn_process_fft+0xd5/0x700 [ath9k_common]
      RSP: 0018:ffff88041f203ca0 EFLAGS: 00010293
      RAX: 0000000000000000 RBX: 000000000000059f RCX: 0000000000000000
      RDX: 0000000000000000 RSI: 0000000000000040 RDI: ffffffff81f0ca98
      RBP: ffff88041f203dc8 R08: ffffffffffffffff R09: 00000000000000ff
      R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
      R13: ffffffff81f0ca98 R14: 0000000000000000 R15: 0000000000000000
      FS:  0000000000000000(0000) GS:ffff88041f200000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000000000000040 CR3: 000000041b6ec000 CR4: 00000000000006f0
      Stack:
      0000000000000363 00000000000003f3 00000000000003f3 00000000000001f9
      000000000000049a 0000000001252c04 ffff88041f203e44 ffff880417b4bfd0
      0000000000000008 ffff88041785b9c0 0000000000000002 ffff88041613dc60
      
      Call Trace:
      <IRQ>
      [<ffffffffa01b6441>] ath9k_tasklet+0x1b1/0x220 [ath9k]
      [<ffffffff8105d8dd>] tasklet_action+0x4d/0xf0
      [<ffffffff8105dde2>] __do_softirq+0x92/0x2a0
      Reported-by: NDevin Tuchsen <devin.tuchsen@gmail.com>
      Tested-by: NDevin Tuchsen <devin.tuchsen@gmail.com>
      Signed-off-by: NMiaoqing Pan <miaoqing@codeaurora.org>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      40bea976
    • M
      ath9k: fix ath9k_hw_gpio_get() to return 0 or 1 on success · 91851cc7
      Matthias Schiffer 提交于
      Commit b2d70d49 ("ath9k: make GPIO API to support both of WMAC and
      SOC") refactored ath9k_hw_gpio_get() to support both WMAC and SOC GPIOs,
      changing the return on success from 1 to BIT(gpio). This broke some callers
      like ath_is_rfkill_set(). This doesn't fix any known bug in mainline at the
      moment, but should be fixed anyway.
      
      Instead of fixing all callers, change ath9k_hw_gpio_get() back to only
      return 0 or 1.
      
      Fixes: b2d70d49 ("ath9k: make GPIO API to support both of WMAC and SOC")
      Cc: <stable@vger.kernel.org> # v4.7+
      Signed-off-by: NMatthias Schiffer <mschiffer@universe-factory.net>
      [kvalo@qca.qualcomm.com: mention that doesn't fix any known bug]
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      91851cc7
  4. 15 11月, 2016 4 次提交
    • T
      ath9k: Switch to using mac80211 intermediate software queues. · 50f08edf
      Toke Høiland-Jørgensen 提交于
      This switches ath9k over to using the mac80211 intermediate software
      queueing mechanism for data packets. It removes the queueing inside the
      driver, except for the retry queue, and instead pulls from mac80211 when
      a packet is needed. The retry queue is used to store a packet that was
      pulled but can't be sent immediately.
      
      The old code path in ath_tx_start that would queue packets has been
      removed completely, as has the qlen limit tunables (since there's no
      longer a queue in the driver to limit).
      
      The mac80211 intermediate software queues offer significant latency
      reductions, and this patch allows ath9k to realise them. The exact gains
      from this varies with the test scenario, but in an access point scenario
      we have seen latency reductions ranging from 1/3 to as much as an order
      of magnitude. We also achieve slightly better aggregation.
      
      Median latency (ping) figures with this patch applied at the access point,
      with two high-rate stations and one low-rate station (HT20 5Ghz), running
      a Flent rtt_fair_var_up test with one TCP flow and one ping flow going to
      each station:
      
                                       Fast station        Slow station
      Default pfifo_fast qdisc:            430.4 ms            638.7 ms
      fq_codel qdisc on iface:              35.5 ms            211.8 ms
      This patch set:                       22.4 ms             38.2 ms
      
      Median aggregation sizes over the same test:
      
      Default pfifo_fast qdisc:            9.5 pkts            1.9 pkts
      fq_codel qdisc on iface:            11.2 pkts            1.9 pkts
      This patch set:                     13.9 pkts            1.9 pkts
      
      This patch is based on Tim's original patch set, but reworked quite
      thoroughly.
      
      Cc: Tim Shepard <shep@alum.mit.edu>
      Cc: Felix Fietkau <nbd@nbd.name>
      Signed-off-by: NToke Høiland-Jørgensen <toke@toke.dk>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      50f08edf
    • C
      ath9k_htc: fix minor mistakes in dev_err messages · 14acebc3
      Colin Ian King 提交于
      Add missing space in a dev_err message and join wrapped text so
      it does not span multiple lines.  Fix spelling mistake on "unknown".
      Signed-off-by: NColin Ian King <colin.king@canonical.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      14acebc3
    • M
      ath9k: parse the device configuration from an OF node · 138b4125
      Martin Blumenstingl 提交于
      This allows setting the MAC address and specifying that the firmware
      will be requested from userspace (because there might not be a hardware
      EEPROM connected to the chip) for ath9k based PCI devices using
      the device tree.
      
      There is some out-of-tree code to "convert devicetree to
      ath9k_platform_data" (for example in OpenWrt and LEDE) which becomes
      obsolete with this patch.
      Signed-off-by: NMartin Blumenstingl <martin.blumenstingl@googlemail.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      138b4125
    • V
      ath9k: Really fix LED polarity for some Mini PCI AR9220 MB92 cards. · 79e57dd1
      Vittorio Gambaletta (VittGam) 提交于
      The active_high LED of my Wistron DNMA-92 is still being recognized as
      active_low on 4.7.6 mainline. When I was preparing my former commit
      0f9edcdd ("ath9k: Fix LED polarity for some Mini PCI AR9220 MB92
      cards.") to fix that I must have somehow messed up with testing, because
      I tested the final version of that patch before sending it, and it was
      apparently working; but now it is not working on 4.7.6 mainline.
      
      I initially added the PCI_DEVICE_SUB section for 0x0029/0x2096 above the
      PCI_VDEVICE section for 0x0029; but then I moved the former below the
      latter after seeing how 0x002A sections were sorted in the file.
      
      This turned out to be wrong: if a generic PCI_VDEVICE entry (that has
      both subvendor and subdevice IDs set to PCI_ANY_ID) is put before a more
      specific one (PCI_DEVICE_SUB), then the generic PCI_VDEVICE entry will
      match first and will be used.
      
      With this patch, 0x0029/0x2096 has finally got active_high LED on 4.7.6.
      
      While I'm at it, let's fix 0x002A too by also moving its generic definition
      below its specific ones.
      
      Fixes: 0f9edcdd ("ath9k: Fix LED polarity for some Mini PCI AR9220 MB92 cards.")
      Cc: <stable@vger.kernel.org> #4.7+
      Signed-off-by: NVittorio Gambaletta <linuxbugs@vittgam.net>
      [kvalo@qca.qualcomm.com: improve the commit log based on email discussions]
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      79e57dd1
  5. 27 10月, 2016 1 次提交
    • J
      wireless: deprecate WDS and disable by default · 8f205423
      Johannes Berg 提交于
      The old WDS 4-addr frame support is very limited, e.g.
       * no encryption is possible on such links
       * it cannot support rate/HT/VHT negotiation
       * management APIs are very restricted
      
      These make the WDS legacy mode useless in practice.
      
      All of these are resolved by the 4-addr AP/client support,
      so there's also no reason to improve WDS in the future.
      
      Therefore, add a Kconfig option to disable legacy WDS.
      This gives people an "emergency valve" while they migrate
      to the better-supported 4-addr AP/client option; we plan
      to remove it (and the associated cfg80211/mac80211 code,
      which is the ultimate goal) in the future.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8f205423
  6. 13 10月, 2016 2 次提交
  7. 28 9月, 2016 1 次提交
  8. 09 9月, 2016 3 次提交
  9. 07 9月, 2016 1 次提交
  10. 03 9月, 2016 2 次提交
    • M
      ath9k: fix AR5416 access GPIO warning · db7b542e
      Miaoqing Pan 提交于
      The warning was seen on AR5416 chip, which invoke ath9k_hw_gio_get()
      before the GPIO initialized correctly.
      
          WARNING: CPU: 1 PID: 1159 at ~/drivers/net/wireless/ath/ath9k/hw.c:2776 ath9k_hw_gpio_get+0x148/0x1a0 [ath9k_hw]
          ...
          CPU: 1 PID: 1159 Comm: systemd-udevd Not tainted 4.7.0-rc7-aptosid-amd64 #1 aptosid 4.7~rc7-1~git92.slh.3
          Hardware name:                  /DH67CL, BIOS BLH6710H.86A.0160.2012.1204.1156 12/04/2012
            0000000000000286 00000000f912d633 ffffffff81290fd3 0000000000000000
            0000000000000000 ffffffff81063fd4 ffff88040c6dc018 0000000000000000
            0000000000000002 0000000000000000 0000000000000100 ffff88040c6dc018
          Call Trace:
            [<ffffffff81290fd3>] ? dump_stack+0x5c/0x79
            [<ffffffff81063fd4>] ? __warn+0xb4/0xd0
            [<ffffffffa0668fb8>] ? ath9k_hw_gpio_get+0x148/0x1a0 [ath9k_hw]
      Signed-off-by: NMiaoqing Pan <miaoqing@codeaurora.org>
      Reported-by: NStefan Lippers-Hollmann <s.l-h@gmx.de>
      Tested-by: NStefan Lippers-Hollmann <s.l-h@gmx.de>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      db7b542e
    • B
      ath9k: mark ath_fill_led_pin() static · c39265f7
      Baoyou Xie 提交于
      We get 1 warning about global functions without a declaration
      in the ath9k gpio driver when building with W=1:
      drivers/net/wireless/ath/ath9k/gpio.c:25:6: warning: no previous prototype for 'ath_fill_led_pin' [-Wmissing-prototypes]
      
      In fact, this function is only used in the file in which it is declared
      and don't need a declaration, but can be made static.
      so this patch marks it 'static'.
      Signed-off-by: NBaoyou Xie <baoyou.xie@linaro.org>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      c39265f7
  11. 23 8月, 2016 2 次提交
    • F
      ath9k: fix using sta->drv_priv before initializing it · 7711aaf0
      Felix Fietkau 提交于
      A station pointer can be passed to the driver on tx, before it has been
      marked as associated. Since ath9k_sta_state was initializing the entry
      too late, it resulted in some spurious crashes.
      
      Fixes: df3c6eb3 ("ath9k: Use sta_state() callback")
      Cc: stable@vger.kernel.org
      Signed-off-by: NFelix Fietkau <nbd@nbd.name>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      7711aaf0
    • F
      ath9k: fix client mode beacon configuration · 05860bed
      Felix Fietkau 提交于
      For pure station mode, iter_data.primary_beacon_vif was used and passed
      to ath_beacon_config, but not set to the station vif.
      This was causing the following warning:
      
      [  100.310919] ------------[ cut here ]------------
      [  100.315683] WARNING: CPU: 0 PID: 7 at compat-wireless-2016-06-20/drivers/net/wireless/ath/ath9k/beacon.c:642 ath9k_calculate_summary_state+0x250/0x60c [ath9k]()
      [  100.402028] CPU: 0 PID: 7 Comm: kworker/u2:1 Tainted: G        W       4.4.15 #5
      [  100.409676] Workqueue: phy0 ieee80211_ibss_leave [mac80211]
      [  100.415351] Stack : 8736e98c 870b4b20 87a25b54 800a6800 8782a080 80400d63 8039b96c 00000007
      [  100.415351]    803c5edc 87875914 80400000 800a47cc 87a25b54 800a6800 803a0fd8 80400000
      [  100.415351]    00000003 87875914 80400000 80094ae0 87a25b54 8787594c 00000000 801ef308
      [  100.415351]    803ffe70 801ef300 87193d58 87b3a400 87b3ad00 70687930 00000000 00000000
      [  100.415351]    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [  100.415351]    ...
      [  100.451703] Call Trace:
      [  100.454235] [<800a6800>] vprintk_default+0x24/0x30
      [  100.459110] [<800a47cc>] printk+0x2c/0x38
      [  100.463190] [<800a6800>] vprintk_default+0x24/0x30
      [  100.468072] [<80094ae0>] print_worker_info+0x148/0x174
      [  100.473378] [<801ef308>] serial8250_console_putchar+0x0/0x44
      [  100.479122] [<801ef300>] wait_for_xmitr+0xc4/0xcc
      [  100.484014] [<87193d58>] ieee80211_ibss_leave+0xb90/0x1900 [mac80211]
      [  100.490590] [<80081604>] warn_slowpath_common+0xa0/0xd0
      [  100.495922] [<801a359c>] dump_stack+0x14/0x28
      [  100.500350] [<80071a00>] show_stack+0x50/0x84
      [  100.504784] [<80081604>] warn_slowpath_common+0xa0/0xd0
      [  100.510106] [<87024c60>] ath9k_calculate_summary_state+0x250/0x60c [ath9k]
      [  100.517105] [<800816b8>] warn_slowpath_null+0x18/0x24
      [  100.522256] [<87024c60>] ath9k_calculate_summary_state+0x250/0x60c [ath9k]
      [  100.529273] [<87025418>] ath9k_set_txpower+0x148/0x498 [ath9k]
      [  100.535302] [<871d2c64>] cleanup_module+0xa74/0xd4c [mac80211]
      [  100.541237] [<801ef308>] serial8250_console_putchar+0x0/0x44
      [  100.547042] [<800a5d18>] wake_up_klogd+0x54/0x68
      [  100.551730] [<800a6650>] vprintk_emit+0x404/0x43c
      [  100.556623] [<871b9db8>] ieee80211_sta_rx_notify+0x258/0x32c [mac80211]
      [  100.563475] [<871ba6a4>] ieee80211_sta_rx_queued_mgmt+0x63c/0x734 [mac80211]
      [  100.570693] [<871aa49c>] ieee80211_tx_prepare_skb+0x210/0x230 [mac80211]
      [  100.577609] [<800af5d4>] mod_timer+0x15c/0x190
      [  100.582220] [<871ba8b8>] ieee80211_sta_work+0xfc/0xe1c [mac80211]
      [  100.588539] [<871940b4>] ieee80211_ibss_leave+0xeec/0x1900 [mac80211]
      [  100.595122] [<8009ec84>] dequeue_task_fair+0x44/0x130
      [  100.600281] [<80092a34>] process_one_work+0x1f8/0x334
      [  100.605454] [<80093830>] worker_thread+0x2b4/0x408
      [  100.610317] [<8009357c>] worker_thread+0x0/0x408
      [  100.615019] [<8009357c>] worker_thread+0x0/0x408
      [  100.619705] [<80097b68>] kthread+0xdc/0xe8
      [  100.623886] [<80097a8c>] kthread+0x0/0xe8
      [  100.627961] [<80060878>] ret_from_kernel_thread+0x14/0x1c
      [  100.633448]
      [  100.634956] ---[ end trace aafbe57e9ae6862f ]---
      
      Fixes: cfda2d8e ("ath9k: Fix beacon configuration for addition/removal of interfaces")
      Signed-off-by: NFelix Fietkau <nbd@nbd.name>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      05860bed
  12. 19 8月, 2016 2 次提交
  13. 04 8月, 2016 1 次提交
    • M
      tree-wide: replace config_enabled() with IS_ENABLED() · 97f2645f
      Masahiro Yamada 提交于
      The use of config_enabled() against config options is ambiguous.  In
      practical terms, config_enabled() is equivalent to IS_BUILTIN(), but the
      author might have used it for the meaning of IS_ENABLED().  Using
      IS_ENABLED(), IS_BUILTIN(), IS_MODULE() etc.  makes the intention
      clearer.
      
      This commit replaces config_enabled() with IS_ENABLED() where possible.
      This commit is only touching bool config options.
      
      I noticed two cases where config_enabled() is used against a tristate
      option:
      
       - config_enabled(CONFIG_HWMON)
        [ drivers/net/wireless/ath/ath10k/thermal.c ]
      
       - config_enabled(CONFIG_BACKLIGHT_CLASS_DEVICE)
        [ drivers/gpu/drm/gma500/opregion.c ]
      
      I did not touch them because they should be converted to IS_BUILTIN()
      in order to keep the logic, but I was not sure it was the authors'
      intention.
      
      Link: http://lkml.kernel.org/r/1465215656-20569-1-git-send-email-yamada.masahiro@socionext.comSigned-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      Acked-by: NKees Cook <keescook@chromium.org>
      Cc: Stas Sergeev <stsp@list.ru>
      Cc: Matt Redfearn <matt.redfearn@imgtec.com>
      Cc: Joshua Kinard <kumba@gentoo.org>
      Cc: Jiri Slaby <jslaby@suse.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: Markos Chandras <markos.chandras@imgtec.com>
      Cc: "Dmitry V. Levin" <ldv@altlinux.org>
      Cc: yu-cheng yu <yu-cheng.yu@intel.com>
      Cc: James Hogan <james.hogan@imgtec.com>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Will Drewry <wad@chromium.org>
      Cc: Nikolay Martynov <mar.kolya@gmail.com>
      Cc: Huacai Chen <chenhc@lemote.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com>
      Cc: Rafal Milecki <zajec5@gmail.com>
      Cc: James Cowgill <James.Cowgill@imgtec.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Alex Smith <alex.smith@imgtec.com>
      Cc: Adam Buchbinder <adam.buchbinder@gmail.com>
      Cc: Qais Yousef <qais.yousef@imgtec.com>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Mikko Rapeli <mikko.rapeli@iki.fi>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: Brian Norris <computersforpeace@gmail.com>
      Cc: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
      Cc: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
      Cc: Roland McGrath <roland@hack.frob.com>
      Cc: Paul Burton <paul.burton@imgtec.com>
      Cc: Kalle Valo <kvalo@qca.qualcomm.com>
      Cc: Viresh Kumar <viresh.kumar@linaro.org>
      Cc: Tony Wu <tung7970@gmail.com>
      Cc: Huaitong Han <huaitong.han@intel.com>
      Cc: Sumit Semwal <sumit.semwal@linaro.org>
      Cc: Alexei Starovoitov <ast@kernel.org>
      Cc: Juergen Gross <jgross@suse.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Andrea Gelmini <andrea.gelmini@gelma.net>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Rabin Vincent <rabin@rab.in>
      Cc: "Maciej W. Rozycki" <macro@imgtec.com>
      Cc: David Daney <david.daney@cavium.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      97f2645f
  14. 20 7月, 2016 6 次提交
  15. 08 7月, 2016 2 次提交
    • B
      ath9k: Fix beacon configuration for addition/removal of interfaces · cfda2d8e
      Benjamin Berg 提交于
      This patch fixes some issues with interface reconfiguration. It could
      for example happen that an AP interface in beacon slot 0 was removed
      leaving an IBSS station in one of the other slots. When this happens
      the driver never sends out the beacon as it only tries to send a beacon
      from slot 0.
      
      Appart from that the tracking of required changes to the beacon config is
      relatively complicated and prone to errors.
      
      The approach taken here is to solve reconfiguration issues is to
      reconfigure the beacons when any interface changes. This means that
      the complexity of deciding whether an interface change may modify the
      beacon configuration is gone. It also means that the beacon config will
      be reliably updated when an interface is removed.
      
      The issue that a single non-AP interface might not be in beacon
      slot 0 and wouldn't be send out is solved by moving it into the
      first slot. The TSF value in hardware is adjusted accordingly so
      that the timestamp of the beacons stay consistent.
      Signed-off-by: NBenjamin Berg <benjamin.berg@open-mesh.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      cfda2d8e
    • B
      ath9k: Remove some #defined constants to decrease verbosity · 11b0ac2e
      Benjamin Berg 提交于
      The removed ATH9K_SLOT_TIME_X constants simply map the value in microseconds
      to the same integer. These constants were not used consistently, so fix the
      inconsistency issue by replacing all occurances with the integer equivalent.
      Signed-off-by: NBenjamin Berg <benjamin.berg@open-mesh.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      11b0ac2e