aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/pci.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/pci.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/pci.c b/drivers/net/wireless/ath/ath9k/pci.c
index 71339dab0860..38d2221241b8 100644
--- a/drivers/net/wireless/ath/ath9k/pci.c
+++ b/drivers/net/wireless/ath/ath9k/pci.c
@@ -103,11 +103,23 @@ static void ath_pci_bt_coex_prep(struct ath_common *common)
103 pci_write_config_byte(pdev, ATH_PCIE_CAP_LINK_CTRL, aspm); 103 pci_write_config_byte(pdev, ATH_PCIE_CAP_LINK_CTRL, aspm);
104} 104}
105 105
106static void ath_pci_extn_synch_enable(struct ath_common *common)
107{
108 struct ath_softc *sc = (struct ath_softc *) common->priv;
109 struct pci_dev *pdev = to_pci_dev(sc->dev);
110 u8 lnkctl;
111
112 pci_read_config_byte(pdev, sc->sc_ah->caps.pcie_lcr_offset, &lnkctl);
113 lnkctl |= PCI_EXP_LNKCTL_ES;
114 pci_write_config_byte(pdev, sc->sc_ah->caps.pcie_lcr_offset, lnkctl);
115}
116
106static const struct ath_bus_ops ath_pci_bus_ops = { 117static const struct ath_bus_ops ath_pci_bus_ops = {
107 .ath_bus_type = ATH_PCI, 118 .ath_bus_type = ATH_PCI,
108 .read_cachesize = ath_pci_read_cachesize, 119 .read_cachesize = ath_pci_read_cachesize,
109 .eeprom_read = ath_pci_eeprom_read, 120 .eeprom_read = ath_pci_eeprom_read,
110 .bt_coex_prep = ath_pci_bt_coex_prep, 121 .bt_coex_prep = ath_pci_bt_coex_prep,
122 .extn_synch_en = ath_pci_extn_synch_enable,
111}; 123};
112 124
113static int ath_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) 125static int ath_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)