diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/pci.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/pci.c | 12 |
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 | ||
106 | static 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 | |||
106 | static const struct ath_bus_ops ath_pci_bus_ops = { | 117 | static 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 | ||
113 | static int ath_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) | 125 | static int ath_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) |