ath9k: fix ASPM initialization on resume
ath_pci_aspm_init is only called on card init, so PCI registers get reset after a suspend/resume cycle. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
6825a26c2d
commit
93170516a4
1 changed files with 5 additions and 0 deletions
|
@ -324,6 +324,9 @@ static int ath_pci_suspend(struct device *device)
|
||||||
static int ath_pci_resume(struct device *device)
|
static int ath_pci_resume(struct device *device)
|
||||||
{
|
{
|
||||||
struct pci_dev *pdev = to_pci_dev(device);
|
struct pci_dev *pdev = to_pci_dev(device);
|
||||||
|
struct ieee80211_hw *hw = pci_get_drvdata(pdev);
|
||||||
|
struct ath_softc *sc = hw->priv;
|
||||||
|
struct ath_common *common = ath9k_hw_common(sc->sc_ah);
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -335,6 +338,8 @@ static int ath_pci_resume(struct device *device)
|
||||||
if ((val & 0x0000ff00) != 0)
|
if ((val & 0x0000ff00) != 0)
|
||||||
pci_write_config_dword(pdev, 0x40, val & 0xffff00ff);
|
pci_write_config_dword(pdev, 0x40, val & 0xffff00ff);
|
||||||
|
|
||||||
|
ath_pci_aspm_init(common);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue