1. 29 10月, 2015 9 次提交
    • M
      ath10k: enable adaptive CCA · 62f77f09
      Maharaja 提交于
      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: NMaharaja <c_mkenna@qti.qualcomm.com>
      Signed-off-by: NManikanta Pubbisetty <c_mpubbi@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      62f77f09
    • R
      ssb: pick PCMCIA host code support from b43 driver · 399500da
      Rafał Miłecki 提交于
      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: NRafał Miłecki <zajec5@gmail.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      399500da
    • M
      mwifiex: toggle carrier state in start_ap/stop_ap. · 0117e78a
      Marty Faltesek 提交于
      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: NMartin Faltesek <mfaltesek@google.com>
      Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      0117e78a
    • Y
      wcn36xx: Remove warning message when dev is NULL for arm64 dma_alloc. · 07225524
      yfw 提交于
      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: NYin, Fengwei <fengwei.yin@linaro.org>
      Acked-by: NBjorn Andersson <bjorn.andersson@sonymobile.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      07225524
    • B
      wcn36xx: introduce per-channel ring buffer locks · 8e8e54c4
      Bob Copeland 提交于
      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: NBob Copeland <me@bobcopeland.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      8e8e54c4
    • Z
      ath9k: fix phyerror codes · 56bae464
      Zefir Kurtisi 提交于
      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: NZefir Kurtisi <zefir.kurtisi@neratec.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      56bae464
    • J
      orinoco_usb: return error in ezusb_probe when alloc_orinocodev fails · 989b8376
      John Linville 提交于
      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: NJohn W. Linville <linville@tuxdriver.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      989b8376
    • O
      airo: fix scan after SIOCSIWAP (airo_set_wap) · dae0412d
      Ondrej Zary 提交于
      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: NOndrej Zary <linux@rainbow-software.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      dae0412d
    • O
      airo: Track APList_rid in struct airo_info · f675f93a
      Ondrej Zary 提交于
      Instead of dynamically allocating APList, make it a member of struct
      airo_info to always track state of APList_rid.
      This simplifies suspend/resume and allows removal of readAPListRid.
      Signed-off-by: NOndrej Zary <linux@rainbow-software.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      f675f93a
  2. 27 10月, 2015 1 次提交
  3. 25 10月, 2015 16 次提交
  4. 24 10月, 2015 1 次提交
  5. 21 10月, 2015 13 次提交