1. 12 Nov, 2015 1 commit
    • Vasanthakumar Thiagarajan's avatar
      ath10k: fix peer assoc complete WMI command for 10.4 · b54e16f1
      Vasanthakumar Thiagarajan authored
      There is an extra 4-byte member when compared to WMI 10.2 added to
      assoc complete command in WMI 10.4. This new member is used for 160Mhz
      related configuration. This WMI command mismatch between host and
      firmware does not cause any real issues because this new member is not
      used in 10.4 firmwares so far (10.4.1.00030-1). This difference in WMI
      command interface brings in a new wmi_ops for 10.4 gen_peer_assoc().
      No noticeable functionality differences with this change can be seen
      with the current 10.4 firmwares, but the WMI interface has to be
      fixed to work with future 10.4 firmwares which may be using this new
      member.
      Signed-off-by: default avatarVasanthakumar Thiagarajan <vthiagar@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      b54e16f1
  2. 04 Nov, 2015 9 commits
  3. 29 Oct, 2015 20 commits
  4. 28 Oct, 2015 10 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
    • John Linville's avatar
      orinoco_usb: return error in ezusb_probe when alloc_orinocodev fails · 989b8376
      John Linville authored
      The current code exits after alloc_orinocodev, but fails to change the
      return value to something that indicates the failure.  This patch
      changes the return value to -ENOMEM.
      
      https://bugzilla.kernel.org/show_bug.cgi?id=106181Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      989b8376
    • Ondrej Zary's avatar
      airo: fix scan after SIOCSIWAP (airo_set_wap) · dae0412d
      Ondrej Zary authored
      SIOCSIWAP (airo_set_wap) affects scan: only the AP specified by
      SIOCSIWAP is present in scan results.
      
      This makes NetworkManager work for the first time but then unable to
      find any other APs.
      
      Clear APList before starting scan and set it back after scan completes
      to work-around the problem.
      
      To avoid losing packets during scan, modify disable_MAC() to omit
      netif_carrier_off() call when lock == 2.
      Signed-off-by: default avatarOndrej Zary <linux@rainbow-software.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      dae0412d