1. 22 May, 2013 2 commits
    • Felix Fietkau's avatar
      ath9k: prevent aggregation session deadlocks · 08c96abd
      Felix Fietkau authored
      Waiting for all subframes of an existing aggregation session to drain
      before allowing mac80211 to start a new one is fragile and deadlocks
      caused by this behavior have been observed.
      
      Since mac80211 has proper synchronization for aggregation session
      start/stop handling, a better approach to session handling is to simply
      allow mac80211 to start a new session at any time. This requires
      changing the code to discard any packets outside of the BlockAck window
      in the A-MPDU software retry code.
      
      This patch implements the above and also simplifies the code.
      Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      08c96abd
    • John W. Linville's avatar
      Samuel Ortiz <sameo@linux.intel.com> says: · 323a98db
      John W. Linville authored
      "Merge tag 'nfc-fixes-3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-fixes
      
      This is the first batch of NFC fixes for 3.10, and it contains:
      
      - 3 fixes for the NFC MEI support:
      	* We now depend on the correct Kconfig symbol.
      	* We register an MEI event callback whenever we enable an NFC device,
      	  otherwise we fail to read anything after an enable/disable cycle.
      	* We only disable an MEI device from its disable mey_phy_ops,
      	  preventing useless consecutive disable calls.
      
      - An NFC Makefile cleanup, as I forgot to remove a commented out line when
        moving the LLCP code to the NFC top level directory."
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      323a98db
  2. 21 May, 2013 4 commits
  3. 17 May, 2013 12 commits
    • Felix Fietkau's avatar
      ath9k: fix draining aggregation tid buffers · 6bb4880d
      Felix Fietkau authored
      After a tx attempt, an A-MPDU subframe can still have fi->retries at 0
      (if the retry count wasn't incremented due to powersave).
      In that case it is still tracked as part of the block ack window, so
      when draining the tid queue, its sequence number needs to be cleared
      from the pending frame bitmap.
      Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      6bb4880d
    • Felix Fietkau's avatar
      ath9k: fix rate handling/reporting · 0c585dda
      Felix Fietkau authored
      This patch fixes some issues introduced in the rate control API rework.
      When not running aggregation, copy bf->rates into info->control.rates
      before applying the rate control status to it.
      In ath_lookup_rate, the rates need to be pulled from bf->rates, not the
      tx info.
      Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      0c585dda
    • Felix Fietkau's avatar
      ath9k: fix aggregation stop/flush handling · 16e23428
      Felix Fietkau authored
      When aggregation stop is requested, don't run the mac80211 aggregation
      stop callback yet, while the session is still blocked.
      Also, when aggregation flush is requested, don't run the callback at all.
      Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      16e23428
    • Sujith Manoharan's avatar
      ath9k_hw: Enable manual peak calibration for AR9485 · e99c60b5
      Sujith Manoharan authored
      Manual peak calibration is currently enabled only for
      AR9462 and AR9565. This is also required for AR9485.
      The initvals are also modified to disable HW peak calibration.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarSujith Manoharan <c_manoha@qca.qualcomm.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      e99c60b5
    • Albert Pool's avatar
      rtlwifi: rtl8192cu: Add new USB ID · 707a6152
      Albert Pool authored
      This adds the USB ID of the On Networks N300MA, clone of Netgear WNA3100M.
      Signed-off-by: default avatarAlbert Pool <albertpool@solcon.nl>
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Reported-by: default avatarAna Rey <Anazul77@hotmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      707a6152
    • Arend van Spriel's avatar
      brcmfmac: announce P2P_DEVICE support in wiphy structure · 9af221b3
      Arend van Spriel authored
      P2P_DEVICE support was removed from brcmfmac for v3.9 kernel with
      the commit below:
      
      commit 1527c343
      Author: Arend van Spriel <arend@broadcom.com>
      Date:   Thu Apr 4 12:10:11 2013 +0200
      
          brcmfmac: remove advertising P2P device support
      
      However, it got merged into wireless-next. But for 3.10 brcmfmac does
      support P2P device. Putting it back with this commit.
      Reviewed-by: default avatarHante Meuleman <meuleman@broadcom.com>
      Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      9af221b3
    • Larry Finger's avatar
      rtlwifi: rtl8188ee: Fix warning when building on big-endian systems · 58dd3ff8
      Larry Finger authored
      In http://lkml.indiana.edu/hypermail/linux/kernel/1305.1/index.html,
      Geert Uytterhoeven reports a new warning when building 3.10-rc1 in
      this driver. This is caused by using a "#if" test to see if __LITTLE_ENDIAN
      is set, which fails for all big-endian systems. Change to "ifdef".
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      58dd3ff8
    • Sujith Manoharan's avatar
      ath9k: Fix crash on module unload · af690092
      Sujith Manoharan authored
      Make sure that any open relayfs files are closed before
      unregistering with mac80211, otherwise this crash is seen:
      
      [ 1331.097846] BUG: unable to handle kernel paging request at 6b6b6b8b
      [ 1331.098170] IP: [<c063d0d6>] debugfs_remove+0x26/0x80
      [ 1331.098170] *pdpt = 000000002f9aa001 *pde = 0000000000000000
      [ 1331.098170] Oops: 0000 [#1] PREEMPT SMP
      [ 1331.098170] Modules linked in: iptable_raw xt_CT nf_conntrack_ipv4 nf_defrag]
      [ 1331.098170] Pid: 4794, comm: rmmod Tainted: G        WC   3.9.1+ #5 To Be Fi.
      [ 1331.098170] EIP: 0060:[<c063d0d6>] EFLAGS: 00010202 CPU: 0
      [ 1331.098170] EIP is at debugfs_remove+0x26/0x80
      [ 1331.098170] EAX: f2f3acd0 EBX: f2f3acd0 ECX: 00000006 EDX: f8622348
      [ 1331.098170] ESI: 6b6b6b6b EDI: 00000001 EBP: ee251e14 ESP: ee251e0c
      [ 1331.098170]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
      [ 1331.098170] CR0: 8005003b CR2: 6b6b6b8b CR3: 2e7b7000 CR4: 000007e0
      [ 1331.098170] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
      [ 1331.098170] DR6: ffff0ff0 DR7: 00000400
      [ 1331.098170] Process rmmod (pid: 4794, ti=ee250000 task=efaa2560 task.ti=ee25)
      [ 1331.098170] Stack:
      [ 1331.098170]  f241e170 0000000a ee251e1c f861394d ee251e28 c04e3088 f241e170 4
      [ 1331.098170]  c04e30fe f45482b0 ee251e54 c04e3187 f25e86b0 ee251e54 f8618748 0
      [ 1331.098170]  0000000a 00000001 ee251e68 f860065b f2509e20 f25085a0 f5b6e8a4 8
      [ 1331.098170] Call Trace:
      [ 1331.098170]  [<f861394d>] remove_buf_file_handler+0xd/0x20 [ath9k]
      [ 1331.098170]  [<c04e3088>] relay_remove_buf+0x18/0x30
      [ 1331.098170]  [<c04e30fe>] relay_close_buf+0x2e/0x40
      [ 1331.098170]  [<c04e3187>] relay_close+0x77/0xf0
      [ 1331.098170]  [<f8618748>] ? dpd_exit+0x38/0x40 [ath9k]
      [ 1331.098170]  [<f860065b>] ath9k_deinit_softc+0x8b/0xa0 [ath9k]
      [ 1331.098170]  [<f86006b8>] ath9k_deinit_device+0x48/0x60 [ath9k]
      [ 1331.098170]  [<f86107f1>] ath_pci_remove+0x31/0x50 [ath9k]
      [ 1331.098170]  [<c06dbff8>] pci_device_remove+0x38/0xc0
      [ 1331.098170]  [<c079daa4>] __device_release_driver+0x64/0xc0
      [ 1331.098170]  [<c079db97>] driver_detach+0x97/0xa0
      [ 1331.098170]  [<c079cacc>] bus_remove_driver+0x6c/0xe0
      [ 1331.098170]  [<c079c197>] ? bus_put+0x17/0x20
      [ 1331.098170]  [<c079cae3>] ? bus_remove_driver+0x83/0xe0
      [ 1331.098170]  [<c079e709>] driver_unregister+0x49/0x80
      [ 1331.098170]  [<c06dc138>] pci_unregister_driver+0x18/0x80
      [ 1331.098170]  [<f8610602>] ath_pci_exit+0x12/0x20 [ath9k]
      [ 1331.098170]  [<f8619ce0>] ath9k_exit+0x17/0x337 [ath9k]
      [ 1331.098170]  [<c09e537d>] ? mutex_unlock+0xd/0x10
      [ 1331.098170]  [<c04bd36c>] sys_delete_module+0x17c/0x250
      [ 1331.098170]  [<c0540dc4>] ? do_munmap+0x244/0x2d0
      [ 1331.098170]  [<c0540e96>] ? vm_munmap+0x46/0x60
      [ 1331.098170]  [<c09e8dc4>] ? restore_all+0xf/0xf
      [ 1331.098170]  [<c09ebf50>] ? __do_page_fault+0x4c0/0x4c0
      [ 1331.098170]  [<c04b18e4>] ? trace_hardirqs_on_caller+0xf4/0x180
      [ 1331.098170]  [<c09ef28d>] sysenter_do_call+0x12/0x38
      [ 1331.098170] Code: 90 8d 74 26 00 55 89 e5 83 ec 08 89 1c 24 89 74 24 04 3e 82
      [ 1331.098170] EIP: [<c063d0d6>] debugfs_remove+0x26/0x80 SS:ESP 0068:ee251e0c
      [ 1331.098170] CR2: 000000006b6b6b8b
      [ 1331.727971] ---[ end trace b5bb9f2066cef7f9 ]---
      
      Cc: <stable@vger.kernel.org>
      Acked-by: default avatarSimon Wunderlich <siwu@hrz.tu-chemnitz.de>
      Tested-by: default avatarBen Greear <greearb@candelatech.com>
      Signed-off-by: default avatarSujith Manoharan <c_manoha@qca.qualcomm.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      af690092
    • Geert Uytterhoeven's avatar
      net/wireless: ATH9K should depend on HAS_DMA · a01ae5b3
      Geert Uytterhoeven authored
      If NO_DMA=y:
      
      drivers/built-in.o: In function `ath9k_beacon_generate':
      drivers/net/wireless/ath/ath9k/beacon.c:146: undefined reference to `dma_unmap_single'
      drivers/net/wireless/ath/ath9k/beacon.c:174: undefined reference to `dma_map_single'
      drivers/net/wireless/ath/ath9k/beacon.c:176: undefined reference to `dma_mapping_error'
      drivers/built-in.o: In function `ath9k_beacon_remove_slot':
      drivers/net/wireless/ath/ath9k/beacon.c:252: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `ath_descdma_setup':
      drivers/net/wireless/ath/ath9k/init.c:382: undefined reference to `dmam_alloc_coherent'
      drivers/built-in.o: In function `ath_edma_get_buffers':
      drivers/net/wireless/ath/ath9k/recv.c:616: undefined reference to `dma_sync_single_for_cpu'
      drivers/built-in.o: In function `ath_get_next_rx_buf':
      drivers/net/wireless/ath/ath9k/recv.c:740: undefined reference to `dma_sync_single_for_cpu'
      drivers/built-in.o: In function `ath_rx_edma_cleanup':
      drivers/net/wireless/ath/ath9k/recv.c:176: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `ath_rx_cleanup':
      drivers/net/wireless/ath/ath9k/recv.c:340: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `ath_rx_edma_buf_link':
      drivers/net/wireless/ath/ath9k/recv.c:122: undefined reference to `dma_sync_single_for_cpu'
      drivers/built-in.o: In function `ath_rx_tasklet':
      drivers/net/wireless/ath/ath9k/recv.c:1275: undefined reference to `dma_map_single'
      drivers/net/wireless/ath/ath9k/recv.c:1277: undefined reference to `dma_mapping_error'
      drivers/net/wireless/ath/ath9k/recv.c:1283: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `ath_rx_edma_init':
      drivers/net/wireless/ath/ath9k/recv.c:226: undefined reference to `dma_map_single'
      drivers/net/wireless/ath/ath9k/recv.c:229: undefined reference to `dma_mapping_error'
      drivers/built-in.o: In function `ath_rx_init':
      drivers/net/wireless/ath/ath9k/recv.c:303: undefined reference to `dma_map_single'
      drivers/net/wireless/ath/ath9k/recv.c:306: undefined reference to `dma_mapping_error'
      drivers/built-in.o: In function `ath_tx_complete_buf':
      drivers/net/wireless/ath/ath9k/xmit.c:2088: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `ath_txstatus_setup':
      drivers/net/wireless/ath/ath9k/xmit.c:2344: undefined reference to `dmam_alloc_coherent'
      drivers/built-in.o: In function `ath_tx_set_retry':
      drivers/net/wireless/ath/ath9k/xmit.c:307: undefined reference to `dma_sync_single_for_cpu'
      drivers/built-in.o: In function `ath_tx_setup_buffer':
      drivers/net/wireless/ath/ath9k/xmit.c:1887: undefined reference to `dma_map_single'
      drivers/net/wireless/ath/ath9k/xmit.c:1889: undefined reference to `dma_mapping_error'
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Cc: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
      Cc: John W. Linville <linville@tuxdriver.com>
      Cc: linux-wireless@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      a01ae5b3
    • Rafał Miłecki's avatar
      bcma: add more core IDs · d4988d4c
      Rafał Miłecki authored
      PCIe and ARM CR4 cores were found on 14e4:43b1 AKA BCM4352.
      Reported-by: default avatarGabriel Thörnblad <gabriel@thornblad.com>
      Signed-off-by: default avatarRafał Miłecki <zajec5@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      d4988d4c
    • Denis Efremov's avatar
      iwlegacy: remove inline marking of EXPORT_SYMBOL functions · becdbc59
      Denis Efremov authored
      EXPORT_SYMBOL and inline directives are contradictory to each other.
      The patch fixes this inconsistency.
      
      Found by Linux Driver Verification project (linuxtesting.org).
      Signed-off-by: default avatarDenis Efremov <yefremov.denis@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      becdbc59
    • John W. Linville's avatar
  4. 16 May, 2013 16 commits
  5. 10 May, 2013 2 commits
    • David S. Miller's avatar
      Merge branch 'wireless' · 61f15982
      David S. Miller authored
      John W. Linville says:
      
      ====================
      Here is a batch of fixes intended for the 3.10 stream.
      
      Amitkumar Karwar provides an mwifiex fix to plug a memory leak when
      the driver is unloaded.
      
      Bing Zhao brings an mwifiex fix for some flag handling that leads to
      log spam and an unusable interface.
      
      Daniel Drake offers an mwifiex fix for multicast filter setup, to
      correctly implement wakeup behaviour for multicast WOL.
      
      Felix Fietkau fixes an ath9k problem that produces logspam and keycache
      errors due to a bad return code.
      
      Stanislaw Gruszka produces an fix for a WARNING from ath5k, and an
      iwl4965 workaround to stop advertising a feature that doesn't work with
      the current mac80211 implementation.
      
      Sujith Manoharan gives us an ath9k fix to reprogram the HW beacon timers
      after a TSF update, and an initvals fix for the AR9565 device.
      
      Thommy Jakobsson fixes an rx descriptor underrun on b43.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      61f15982
    • John W. Linville's avatar
      Merge branch 'master' of... · 4f81d715
      John W. Linville authored
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem
      4f81d715
  6. 09 May, 2013 4 commits
    • Linus Torvalds's avatar
      Merge tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · 70eba422
      Linus Torvalds authored
      Pull trivial pstore update from Tony Luck:
       "Couple of pstore cleanups"
      
      It turns out that the kmemdup() conversion ends up being undone by the
      fact that the memory block also needed the ecc information (see commit
      bd08ec33: "pstore/ram: Restore ecc information block"), so all that
      remains after merging is the error return code change.
      
      * tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        pstore/ram: fix error return code in ramoops_probe()
        fs: pstore: Replaced calls to kmalloc and memcpy with kmemdup
      70eba422
    • Linus Torvalds's avatar
      Merge git://git.infradead.org/users/willy/linux-nvme · 2d4fe278
      Linus Torvalds authored
      Pull NVMe driver update from Matthew Wilcox:
       "Lots of exciting new features in the NVM Express driver this time,
        including support for emulating SCSI commands, discard support and the
        ability to submit per-sector metadata with I/Os.
      
        It's still mostly bugfixes though!"
      
      * git://git.infradead.org/users/willy/linux-nvme: (27 commits)
        NVMe: Use user defined admin ioctl timeout
        NVMe: Simplify Firmware Activate code slightly
        NVMe: Only clear the enable bit when disabling controller
        NVMe: Wait for device to acknowledge shutdown
        NVMe: Schedule timeout for sync commands
        NVMe: Meta-data support in NVME_IOCTL_SUBMIT_IO
        NVMe: Device specific stripe size handling
        NVMe: Split non-mergeable bio requests
        NVMe: Remove dead code in nvme_dev_add
        NVMe: Check for NULL memory in nvme_dev_add
        NVMe: Fix error clean-up on nvme_alloc_queue
        NVMe: Free admin queue on request_irq error
        NVMe: Add scsi unmap to SG_IO
        NVMe: queue usage fixes in nvme-scsi
        NVMe: Set TASK_INTERRUPTIBLE before processing queues
        NVMe: Add a character device for each nvme device
        NVMe: Fix endian-related problems in user I/O submission path
        NVMe: Fix I/O cancellation status on big-endian machines
        NVMe: Fix sparse warnings in scsi emulation
        NVMe: Don't fail initialisation unnecessarily
        ...
      2d4fe278
    • Linus Torvalds's avatar
      Merge tag 'acpi-fixes-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 2e99f3a1
      Linus Torvalds authored
      Pull ACPICA fixes from Rafael Wysocki:
      
       - _INI regression fix from Tomasz Nowicki.
      
       - Fix for a possible memory leak in _OSI support routine from Jung-uk
         Kim.
      
       - Fix for a possible buffer overflow during field unit read operation
         from Bob Moore.
      
      * tag 'acpi-fixes-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPICA: ACPICA: Fix for _INI regression
        ACPICA: _OSI support: Fix possible memory leak
        ACPICA: Fix possible buffer overflow during a field unit read operation
      2e99f3a1
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · fc72053b
      Linus Torvalds authored
      Pull ARM SoC fixes and straggler patches from Olof Johansson:
       "A collection of fixes for fall out from 3.10 merge window, some build
        fixes and warning cleanups and a small handful of patches that were
        small and contained and made sense to still include in 3.10 (some of
        these have also been in -next since the merge window opened).
      
        Largest continous series is for OMAP, but there's a handful for other
        platforms.
      
        For i.MX, one of the patches are framebuffer fixups due to fallout
        during the merge window, and the other removes some stale and broken
        code."
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (34 commits)
        ARM: exynos: dts: Fixed vbus-gpios
        ARM: EXYNOS5: Fix kernel dump in AFTR idle mode
        ARM: ux500: Rid ignored return value of regulator_enable() compiler warning
        ARM: ux500: read the correct soc_id number
        ARM: exynos: dts: cros5250: add cyapa trackpad
        video: mxsfb: Adapt to new videomode API
        ARM: imx: Select GENERIC_ALLOCATOR
        ARM: imx: compile fix for hotplug.c
        ARM: dts: don't assume boards are using twl4030 for omap3
        ARM: OMAP2+: Remove bogus IS_ERR_OR_NULL checking from id.c
        ARM: dts: Configure and fix the McSPI pins for 4430sdp
        ARM: dts: AM33XX: Add GPMC node
        ARM: dts: OMAP4460: Fix CPU OPP voltages
        ARM: dts: OMAP36xx: Fix CPU OPP voltages
        ARM: OMAP4+: omap2plus_defconfig: Enable audio via TWL6040 as module
        ARM: OMAP2: AM33XX: id: Add support for new AM335x PG2.1 Si
        omap: mux: add AM/DM37x gpios
        ARM: OMAP1: DMA: fix error handling in omap1_system_dma_init()
        ARM: OMAP2+: omap_device: use late_initcall_sync
        ARM: OMAP: RX-51: change probe order of touchscreen and panel SPI devices
        ...
      fc72053b