Thread (9 messages) 9 messages, 4 authors, 2020-06-22

Re: mt7612 suspend/resume issue

From: Lorenzo Bianconi <hidden>
Date: 2020-06-22 16:02:38
Also in: lkml, netdev

quoted hunk ↗ jump to hunk
On Mon, Jun 22, 2020 at 4:53 PM Lorenzo Bianconi
[off-list ref] wrote:
quoted
quoted
On Sun, Jun 21, 2020 at 10:54 PM Lorenzo Bianconi [off-list ref] wrote:
quoted
quoted
quoted
+static int __maybe_unused
+mt76x2e_suspend(struct pci_dev *pdev, pm_message_t state)
+{
+   struct mt76_dev *mdev = pci_get_drvdata(pdev);
+   struct mt76x02_dev *dev = container_of(mdev, struct mt76x02_dev, mt76);
+   int i, err;
can you please double-check what is the PCI state requested during suspend?
Do you mean ACPI S3 (this is the state the system enters)?  If not,
what should I check and where?
yes, right. Just for debugging, can you please force the card in PCI_D0 during the
suspend?
Do you want me to do this:
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2/pci.c
b/drivers/net/wireless/mediatek/mt76/mt76x2/pci.c
index 5543e242fb9b..e558342cce03 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x2/pci.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x2/pci.c
@@ -119,9 +119,8 @@ mt76x2e_suspend(struct pci_dev *pdev, pm_message_t state)

     mt76x02_dma_reset(dev);

-    pci_enable_wake(pdev, pci_choose_state(pdev, state), true);
     pci_save_state(pdev);
-    err = pci_set_power_state(pdev, pci_choose_state(pdev, state));
+    err = pci_set_power_state(pdev, PCI_D0);
     if (err)
         goto restore;
I think you can just substitute pci_choose_state(pdev, state) with PCI_D0, not
removing pci_enable_wake()

Regards,
Lorenzo
?

-- 
  Best regards,
    Oleksandr Natalenko (post-factum)
    Principal Software Maintenance Engineer

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help