aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/brcm80211/brcmfmac/pcie.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-12-09 18:12:03 -0500
committerDavid S. Miller <davem@davemloft.net>2014-12-09 18:12:03 -0500
commitb5f185f33d0432cef6ff78765e033dfa8f4de068 (patch)
tree33179c016b8fc3b4d57ed7a7786079ba00b6ef4a /drivers/net/wireless/brcm80211/brcmfmac/pcie.c
parent450fa21942fe2c37f0c9f52d1a33bbc081eee288 (diff)
parent81c412600f946fc1c8731685cb6c6fae8002043a (diff)
Merge tag 'master-2014-12-08' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next
John W. Linville says: ==================== pull request: wireless-next 2014-12-08 Please pull this last batch of pending wireless updates for the 3.19 tree... For the wireless bits, Johannes says: "This time I have Felix's no-status rate control work, which will allow drivers to work better with rate control even if they don't have perfect status reporting. In addition to this, a small hwsim fix from Patrik, one of the regulatory patches from Arik, and a number of cleanups and fixes I did myself. Of note is a patch where I disable CFG80211_WEXT so that compatibility is no longer selectable - this is intended as a wake-up call for anyone who's still using it, and is still easily worked around (it's a one-line patch) before we fully remove the code as well in the future." For the Bluetooth bits, Johan says: "Here's one more bluetooth-next pull request for 3.19: - Minor cleanups for ieee802154 & mac802154 - Fix for the kernel warning with !TASK_RUNNING reported by Kirill A. Shutemov - Support for another ath3k device - Fix for tracking link key based security level - Device tree bindings for btmrvl + a state update fix - Fix for wrong ACL flags on LE links" And... "In addition to the previous one this contains two more cleanups to mac802154 as well as support for some new HCI features from the Bluetooth 4.2 specification. From the original request: 'Here's what should be the last bluetooth-next pull request for 3.19. It's rather large but the majority of it is the Low Energy Secure Connections feature that's part of the Bluetooth 4.2 specification. The specification went public only this week so we couldn't publish the corresponding code before that. The code itself can nevertheless be considered fairly mature as it's been in development for over 6 months and gone through several interoperability test events. Besides LE SC the pull request contains an important fix for command complete events for mgmt sockets which also fixes some leaks of hci_conn objects when powering off or unplugging Bluetooth adapters. A smaller feature that's part of the pull request is service discovery support. This is like normal device discovery except that devices not matching specific UUIDs or strong enough RSSI are filtered out. Other changes that the pull request contains are firmware dump support to the btmrvl driver, firmware download support for Broadcom BCM20702A0 variants, as well as some coding style cleanups in 6lowpan & ieee802154/mac802154 code.'" For the NFC bits, Samuel says: "With this one we get: - NFC digital improvements for DEP support: Chaining, NACK and ATN support added. - NCI improvements: Support for p2p target, SE IO operand addition, SE operands extensions to support proprietary implementations, and a few fixes. - NFC HCI improvements: OPEN_PIPE and NOTIFY_ALL_CLEARED support, and SE IO operand addition. - A bunch of minor improvements and fixes for STMicro st21nfcb and st21nfca" For the iwlwifi bits, Emmanuel says: "Major works are CSA and TDLS. On top of that I have a new firmware API for scan and a few rate control improvements. Johannes find a few tricks to improve our CPU utilization and adds support for a new spin of 7265 called 7265D. Along with this a few random things that don't stand out." And... "I deprecate here -8.ucode since -9 has been published long ago. Along with that I have a new activity, we have now better a infrastructure for firmware debugging. This will allow to have configurable probes insides the firmware. Luca continues his work on NetDetect, this feature is now complete. All the rest is minor fixes here and there." For the Atheros bits, Kalle says: "Only ath10k changes this time and no major changes. Most visible are: o new debugfs interface for runtime firmware debugging (Yanbo) o fix shared WEP (Sujith) o don't rebuild whenever kernel version changes (Johannes) o lots of refactoring to make it easier to add new hw support (Michal) There's also smaller fixes and improvements with no point of listing here." In addition, there are a few last minute updates to ath5k, ath9k, brcmfmac, brcmsmac, mwifiex, rt2x00, rtlwifi, and wil6210. Also included is a pull of the wireless tree to pick-up the fixes originally included in "pull request: wireless 2014-12-03"... Please let me know if there are problems! ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmfmac/pcie.c')
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/pcie.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/brcm80211/brcmfmac/pcie.c
index 138691a1365a..905991fdb7b1 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/pcie.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/pcie.c
@@ -798,12 +798,14 @@ static int brcmf_pcie_request_irq(struct brcmf_pciedev_info *devinfo)
798 brcmf_dbg(PCIE, "Enter\n"); 798 brcmf_dbg(PCIE, "Enter\n");
799 /* is it a v1 or v2 implementation */ 799 /* is it a v1 or v2 implementation */
800 devinfo->irq_requested = false; 800 devinfo->irq_requested = false;
801 pci_enable_msi(pdev);
801 if (devinfo->generic_corerev == BRCMF_PCIE_GENREV1) { 802 if (devinfo->generic_corerev == BRCMF_PCIE_GENREV1) {
802 if (request_threaded_irq(pdev->irq, 803 if (request_threaded_irq(pdev->irq,
803 brcmf_pcie_quick_check_isr_v1, 804 brcmf_pcie_quick_check_isr_v1,
804 brcmf_pcie_isr_thread_v1, 805 brcmf_pcie_isr_thread_v1,
805 IRQF_SHARED, "brcmf_pcie_intr", 806 IRQF_SHARED, "brcmf_pcie_intr",
806 devinfo)) { 807 devinfo)) {
808 pci_disable_msi(pdev);
807 brcmf_err("Failed to request IRQ %d\n", pdev->irq); 809 brcmf_err("Failed to request IRQ %d\n", pdev->irq);
808 return -EIO; 810 return -EIO;
809 } 811 }
@@ -813,6 +815,7 @@ static int brcmf_pcie_request_irq(struct brcmf_pciedev_info *devinfo)
813 brcmf_pcie_isr_thread_v2, 815 brcmf_pcie_isr_thread_v2,
814 IRQF_SHARED, "brcmf_pcie_intr", 816 IRQF_SHARED, "brcmf_pcie_intr",
815 devinfo)) { 817 devinfo)) {
818 pci_disable_msi(pdev);
816 brcmf_err("Failed to request IRQ %d\n", pdev->irq); 819 brcmf_err("Failed to request IRQ %d\n", pdev->irq);
817 return -EIO; 820 return -EIO;
818 } 821 }
@@ -839,6 +842,7 @@ static void brcmf_pcie_release_irq(struct brcmf_pciedev_info *devinfo)
839 return; 842 return;
840 devinfo->irq_requested = false; 843 devinfo->irq_requested = false;
841 free_irq(pdev->irq, devinfo); 844 free_irq(pdev->irq, devinfo);
845 pci_disable_msi(pdev);
842 846
843 msleep(50); 847 msleep(50);
844 count = 0; 848 count = 0;
@@ -1857,6 +1861,8 @@ static struct pci_device_id brcmf_pcie_devid_table[] = {
1857 BRCMF_PCIE_DEVICE(BRCM_PCIE_43567_DEVICE_ID), 1861 BRCMF_PCIE_DEVICE(BRCM_PCIE_43567_DEVICE_ID),
1858 BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_DEVICE_ID), 1862 BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_DEVICE_ID),
1859 BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_DEVICE_ID), 1863 BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_DEVICE_ID),
1864 BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_2G_DEVICE_ID),
1865 BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_5G_DEVICE_ID),
1860 { /* end: all zeroes */ } 1866 { /* end: all zeroes */ }
1861}; 1867};
1862 1868