Re: mt7612 suspend/resume issue

From: Lorenzo Bianconi
Date: Mon Jun 22 2020 - 12:02:38 EST


> On Mon, Jun 22, 2020 at 4:53 PM Lorenzo Bianconi
> <lorenzo.bianconi@xxxxxxxxxx> wrote:
> > > On Sun, Jun 21, 2020 at 10:54 PM Lorenzo Bianconi <lorenzo@xxxxxxxxxx> wrote:
> > > > > > +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
>

Attachment: signature.asc
Description: PGP signature