Reviewed-by: Karol Herbst <kher...@redhat.com>
On Tue, Aug 7, 2018 at 10:39 PM, Lyude Paul <ly...@redhat.com> wrote: > Currently, it appears that nouveau_do_suspend() forgets to roll back > suspending fbcon and suspending the device LEDs. We also currently skip > the entire rollback process if nouveau_display_suspend() fails. So, fix > that. > > Signed-off-by: Lyude Paul <ly...@redhat.com> > Cc: sta...@vger.kernel.org > Cc: Lukas Wunner <lu...@wunner.de> > Cc: Karol Herbst <karolher...@gmail.com> > --- > drivers/gpu/drm/nouveau/nouveau_drm.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c > b/drivers/gpu/drm/nouveau/nouveau_drm.c > index 5ea8fe992484..db56e9b6b6af 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_drm.c > +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c > @@ -674,10 +674,11 @@ nouveau_do_suspend(struct drm_device *dev, bool runtime) > if (dev->mode_config.num_crtc) { > NV_DEBUG(drm, "suspending console...\n"); > nouveau_fbcon_set_suspend(dev, 1); > + > NV_DEBUG(drm, "suspending display...\n"); > ret = nouveau_display_suspend(dev, runtime); > if (ret) > - return ret; > + goto fail_fbcon; > } > > NV_DEBUG(drm, "evicting buffers...\n"); > @@ -719,7 +720,14 @@ nouveau_do_suspend(struct drm_device *dev, bool runtime) > if (dev->mode_config.num_crtc) { > NV_DEBUG(drm, "resuming display...\n"); > nouveau_display_resume(dev, runtime); > + > +fail_fbcon: > + NV_DEBUG(drm, "resuming console...\n"); > + nouveau_fbcon_set_suspend(dev, 0); > } > + > + nouveau_led_resume(dev); > + > return ret; > } > > -- > 2.17.1 > > _______________________________________________ > Nouveau mailing list > nouv...@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/nouveau _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel