On 29.01.2015 08:09, Laurent Pinchart wrote: > The .enable_vblank() operation is only called when vblank interrupts are > disabled, but no similar check exists when disabling vblank interrupts. > This leads to .disable_vblank() being called with vblank interrupts > already disabled and the device possibly runtime suspended. As the > operation is called with a spinlock held drivers can't runtime resume > the device there and thus must avoid touching device registers in that > case, requiring vblank refcounting. > > As the DRM core tracks whether vblank interrupts are enabled just skip > the .disable_vblank() call when the interrupts are already disabled. > > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com> -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer