diff options
author | Lorenzo Bianconi <lorenzo@kernel.org> | 2019-10-27 20:53:08 +0100 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2019-10-30 15:59:46 +0100 |
commit | f37f05503575c59020dacd36e999f4e8b3dbc115 (patch) | |
tree | 2984b7e1df447180642c0d7254a976a3ebb37203 /drivers/net/wireless/mediatek/mt76/mt76x2/pci.c | |
parent | rtlwifi: rtl_pci: Fix problem of too small skb->len (diff) | |
download | linux-f37f05503575c59020dacd36e999f4e8b3dbc115.tar.xz linux-f37f05503575c59020dacd36e999f4e8b3dbc115.zip |
mt76: mt76x2e: disable pcie_aspm by default
On same device (e.g. U7612E-H1) PCIE_ASPM causes continuous mcu hangs and
instability. Since mt76x2 series does not manage PCIE PS states, first we
try to disable ASPM using pci_disable_link_state. If it fails, we will
disable PCIE PS configuring PCI registers.
This patch has been successfully tested on U7612E-H1 mini-pice card
Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/mt76x2/pci.c')
-rw-r--r-- | drivers/net/wireless/mediatek/mt76/mt76x2/pci.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2/pci.c b/drivers/net/wireless/mediatek/mt76/mt76x2/pci.c index 73c3104f8858..cf611d1b817c 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x2/pci.c +++ b/drivers/net/wireless/mediatek/mt76/mt76x2/pci.c @@ -81,6 +81,8 @@ mt76pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) /* RG_SSUSB_CDR_BR_PE1D = 0x3 */ mt76_rmw_field(dev, 0x15c58, 0x3 << 6, 0x3); + mt76_pci_disable_aspm(pdev); + return 0; error: |