Message ID | 20201005173931.3c40f15d@endymion |
---|---|
State | New |
Headers | show |
Series | i2c: i801: Exclude device from suspend direct complete optimization | expand |
On Mon, Oct 05, 2020 at 05:39:31PM +0200, Jean Delvare wrote: > commit 845b89127bc5458d0152a4d63f165c62a22fcb70 upstream. > > By default, PCI drivers with runtime PM enabled will skip the calls > to suspend and resume on system PM. For this driver, we don't want > that, as we need to perform additional steps for system PM to work > properly on all systems. So instruct the PM core to not skip these > calls. > > Fixes: a9c8088c7988 ("i2c: i801: Don't restore config registers on runtime PM") > Reported-by: Volker RĂ¼melin <volker.ruemelin@googlemail.com> > Signed-off-by: Jean Delvare <jdelvare@suse.de> > Cc: stable@vger.kernel.org > Signed-off-by: Wolfram Sang <wsa@kernel.org> > --- > This is the backported version for kernel trees 5.4 and 4.19. The > difference with the upstream commit is that DPM_FLAG_NEVER_SKIP is used > instead of DPM_FLAG_NO_DIRECT_COMPLETE, which did not exist back then. Thanks, now queue dup. greg k-h
--- linux-5.4.orig/drivers/i2c/busses/i2c-i801.c 2020-10-05 14:59:14.454238658 +0200 +++ linux-5.4/drivers/i2c/busses/i2c-i801.c 2020-10-05 15:54:31.399988586 +0200 @@ -1891,6 +1891,7 @@ static int i801_probe(struct pci_dev *de pci_set_drvdata(dev, priv); + dev_pm_set_driver_flags(&dev->dev, DPM_FLAG_NEVER_SKIP); pm_runtime_set_autosuspend_delay(&dev->dev, 1000); pm_runtime_use_autosuspend(&dev->dev); pm_runtime_put_autosuspend(&dev->dev);