1. 12 Nov, 2015 3 commits
  2. 04 Nov, 2015 9 commits
  3. 29 Oct, 2015 20 commits
  4. 28 Oct, 2015 8 commits
    • Maharaja's avatar
      ath10k: enable adaptive CCA · 62f77f09
      Maharaja authored
      European Union has made it mandatory that all devices working in 2.4 GHz
      has to adhere to the ETSI specification (ETSI EN 300 328 V1.9.1)
      beginnig this year. The standard basically speaks about interferences
      in 2.4Ghz band.
      For example, when 802.11 device detects interference, TX must be stopped
      as long as interference is present.
      
      Adaptive CCA is a feature, when enabled the device learns from the
      environment and configures CCA levels adaptively. This will improve
      detecting interferences and the device can stop trasmissions till the
      interference is present eventually leading to good performances in
      varying interference conditions.
      
      The patch includes code for enabling adaptive CCA for 10.2.4 firmware on
      QCA988X.
      Signed-off-by: default avatarMaharaja <c_mkenna@qti.qualcomm.com>
      Signed-off-by: default avatarManikanta Pubbisetty <c_mpubbi@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      62f77f09
    • Rafał Miłecki's avatar
      ssb: add Kconfig entry for compiling SoC related code · 845da6e5
      Rafał Miłecki authored
      This allows saving a little of space when not using ssb on Broadcom SoC.
      Signed-off-by: default avatarRafał Miłecki <zajec5@gmail.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      845da6e5
    • Rafał Miłecki's avatar
      ssb: move functions specific to SoC hosted bus to separated file · 830c7df4
      Rafał Miłecki authored
      This cleans main.c a bit and will allow us to compile SoC related code
      conditionally in the future.
      Signed-off-by: default avatarRafał Miłecki <zajec5@gmail.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      830c7df4
    • Rafał Miłecki's avatar
      ssb: pick PCMCIA host code support from b43 driver · 399500da
      Rafał Miłecki authored
      ssb bus can be found on various "host" devices like PCI/PCMCIA/SDIO.
      Every ssb bus contains cores AKA devices.
      The main idea is to have ssb driver scan/initialize bus and register
      ready-to-use cores. This way ssb drivers can operate on a single core
      mostly ignoring underlaying details.
      
      For some reason PCMCIA support was split between ssb and b43. We got
      PCMCIA host device probing in b43, then bus scanning in ssb and then
      wireless core probing back in b43. The truth is it's very unlikely we
      will ever see PCMCIA ssb device with no 802.11 core but I still don't
      see any advantage of the current architecture.
      
      With proposed change we get the same functionality with a simpler
      architecture, less Kconfig symbols, one killed EXPORT and hopefully
      cleaner b43. Since b43 supports both: ssb & bcma I prefer to keep ssb
      specific code in ssb driver.
      
      This mostly moves code from b43's pcmcia.c to bridge_pcmcia_80211.c. We
      already use similar solution with b43_pci_bridge.c. I didn't use "b43"
      in name of this new file as in theory any driver can operate on wireless
      core.
      Signed-off-by: default avatarRafał Miłecki <zajec5@gmail.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      399500da
    • Marty Faltesek's avatar
      mwifiex: toggle carrier state in start_ap/stop_ap. · 0117e78a
      Marty Faltesek authored
      In uap mode the carrier is not enabled until after the first STA joins.
      The carrier triggers the bridge to start its state machine, and if STP
      is enabled, it takes 4 seconds as it transitions from disabled to
      forwarding. During this time the bridge drops all traffic, and the EAPOL
      handshake times out after 3 seconds, preventing stations from joining.
      
      Follow the logic used in mac80211 and start the carrier in start_ap
      and disable it in stop_ap. This has a nice benefit of allowing the
      first station connection time to be reduced by up to 75% when STP is
      in use.
      Signed-off-by: default avatarMartin Faltesek <mfaltesek@google.com>
      Signed-off-by: default avatarAmitkumar Karwar <akarwar@marvell.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      0117e78a
    • yfw's avatar
      wcn36xx: Remove warning message when dev is NULL for arm64 dma_alloc. · 07225524
      yfw authored
      arm64 has requirement that all the dma operations have actual device.
      Otherwise, following warnning message shown and dma allocation fails:
      
      WARNING: CPU: 0 PID: 954 at arch/arm64/mm/dma-mapping.c:106 __dma_alloc+0x24c/0x258()
      Use an actual device structure for DMA allocation
      Modules linked in: wcn36xx wcn36xx_platform
      CPU: 0 PID: 954 Comm: ifconfig Not tainted 4.0.0+ #14
      Hardware name: Qualcomm Technologies, Inc. MSM 8916 MTP (DT)
      Call trace:
      [<ffffffc000089904>] dump_backtrace+0x0/0x124
      [<ffffffc000089a38>] show_stack+0x10/0x1c
      [<ffffffc000627114>] dump_stack+0x80/0xc4
      [<ffffffc0000b2e64>] warn_slowpath_common+0x98/0xd0
      [<ffffffc0000b2ee8>] warn_slowpath_fmt+0x4c/0x58
      [<ffffffc00009487c>] __dma_alloc+0x248/0x258
      [<ffffffbffc009270>] wcn36xx_dxe_allocate_mem_pools+0xc4/0x108 [wcn36xx]
      [<ffffffbffc0079c4>] wcn36xx_start+0x38/0x240 [wcn36xx]
      [<ffffffc0005f161c>] ieee80211_do_open+0x1b0/0x9a4
      [<ffffffc0005f1e68>] ieee80211_open+0x58/0x68
      [<ffffffc00051693c>] __dev_open+0xb0/0x120
      [<ffffffc000516c10>] __dev_change_flags+0x88/0x150
      [<ffffffc000516cf4>] dev_change_flags+0x1c/0x5c
      [<ffffffc000570950>] devinet_ioctl+0x644/0x6f0
      Signed-off-by: default avatarYin, Fengwei <fengwei.yin@linaro.org>
      Acked-by: default avatarBjorn Andersson <bjorn.andersson@sonymobile.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      07225524
    • Bob Copeland's avatar
      wcn36xx: introduce per-channel ring buffer locks · 8e8e54c4
      Bob Copeland authored
      wcn36xx implements a ring buffer for transmitted frames for each
      (high and low priority) DMA channel.  The ring buffers are lockless:
      new frames are inserted at the head of the queue, while finished
      packets are reaped from the tail.
      
      Unfortunately, the list manipulations are missing any kind of barriers
      so are susceptible to various races: for example, a TX completion
      handler might read an updated desc->ctrl before the head has actually
      advanced, and then null out the ctl->skb pointer while it is still
      being used in the TX path.
      
      Simplify things here by adding a spin lock when traversing the ring.
      This change increased stability for me without adding any noticeable
      overhead on my platform (xperia z).
      Signed-off-by: default avatarBob Copeland <me@bobcopeland.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      8e8e54c4
    • Zefir Kurtisi's avatar
      ath9k: fix phyerror codes · 56bae464
      Zefir Kurtisi authored
      Some of the ath9k_phyerr enums were wrong from the
      beginning (and even before). Most of the time the
      codes were used for counters to be displayed over
      debugfs, which made this a non-functional issue.
      
      Some (e.g. ATH9K_PHYERR_FALSE_RADAR_EXT) are used
      for radar detection and require the correct code
      to work as intended.
      
      This patch includes:
      a) fixes
        ATH9K_PHYERR_FALSE_RADAR_EXT:    24 => 36
        ATH9K_PHYERR_CCK_LENGTH_ILLEGAL: 32 => 28
        ATH9K_PHYERR_CCK_POWER_DROP:     33 => 29
        ATH9K_PHYERR_HT_CRC_ERROR:       34 => 32
        ATH9K_PHYERR_HT_LENGTH_ILLEGAL:  35 => 33
        ATH9K_PHYERR_HT_RATE_ILLEGAL:    36 => 34
      
      b) extensions
        ATH9K_PHYERR_CCK_BLOCKER = 24
        ATH9K_PHYERR_HT_ZLF      = 35
        ATH9K_PHYERR_GREEN_FIELD = 37
      
      Aside from the correction and completion made in
      the enum, the patch also extends the display of
      the related counters in the debugfs.
      Signed-off-by: default avatarZefir Kurtisi <zefir.kurtisi@neratec.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      56bae464