diff mbox

drm: don't check modeset locks in panic handler

Message ID 1367480585-22814-1-git-send-email-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter May 2, 2013, 7:43 a.m. UTC
Since we know that locking is broken in that case and it's more
important to not flood the dmesg with random gunk.

Cc: Dave Airlie <airlied@gmail.com>
Cc: Borislav Petkov <bp@alien8.de>
References: https://groups.google.com/forum/?fromgroups=#!topic/linux.kernel/QFzFxSUeV4I
Cc: stable@vger.kernel.org
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/drm_crtc.c |    4 ++++
 1 file changed, 4 insertions(+)

Comments

Borislav Petkov May 2, 2013, 10:13 a.m. UTC | #1
On Thu, May 02, 2013 at 09:43:05AM +0200, Daniel Vetter wrote:
> Since we know that locking is broken in that case and it's more
> important to not flood the dmesg with random gunk.
> 
> Cc: Dave Airlie <airlied@gmail.com>
> Cc: Borislav Petkov <bp@alien8.de>
> References: https://groups.google.com/forum/?fromgroups=#!topic/linux.kernel/QFzFxSUeV4I

Yeah, we have this nice redirector service on k.org which uses the
Message-ID only and doesn't rely on some external URLs remaining stable.
You could use that instead:

Link: http://lkml.kernel.org/r/20130502000206.GH15623@pd.tnic

> Cc: stable@vger.kernel.org
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/drm_crtc.c |    4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> index 792c3e3..3be0802 100644
> --- a/drivers/gpu/drm/drm_crtc.c
> +++ b/drivers/gpu/drm/drm_crtc.c
> @@ -78,6 +78,10 @@ void drm_warn_on_modeset_not_all_locked(struct drm_device *dev)
>  {
>  	struct drm_crtc *crtc;
>  
> +	/* Locking is currently fubar in the panic handler. */
> +	if (oops_in_progress)
> +		return;
> +
>  	list_for_each_entry(crtc, &dev->mode_config.crtc_list, head)
>  		WARN_ON(!mutex_is_locked(&crtc->mutex));

Yep, thanks.

Reported-and-tested-by: Borislav Petkov <bp@suse.de>
Daniel Vetter May 2, 2013, 8:45 p.m. UTC | #2
On Thu, May 02, 2013 at 12:13:08PM +0200, Borislav Petkov wrote:
> On Thu, May 02, 2013 at 09:43:05AM +0200, Daniel Vetter wrote:
> > Since we know that locking is broken in that case and it's more
> > important to not flood the dmesg with random gunk.
> > 
> > Cc: Dave Airlie <airlied@gmail.com>
> > Cc: Borislav Petkov <bp@alien8.de>
> > References: https://groups.google.com/forum/?fromgroups=#!topic/linux.kernel/QFzFxSUeV4I
> 
> Yeah, we have this nice redirector service on k.org which uses the
> Message-ID only and doesn't rely on some external URLs remaining stable.
> You could use that instead:
> 
> Link: http://lkml.kernel.org/r/20130502000206.GH15623@pd.tnic
> 
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> > ---
> >  drivers/gpu/drm/drm_crtc.c |    4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> > index 792c3e3..3be0802 100644
> > --- a/drivers/gpu/drm/drm_crtc.c
> > +++ b/drivers/gpu/drm/drm_crtc.c
> > @@ -78,6 +78,10 @@ void drm_warn_on_modeset_not_all_locked(struct drm_device *dev)
> >  {
> >  	struct drm_crtc *crtc;
> >  
> > +	/* Locking is currently fubar in the panic handler. */
> > +	if (oops_in_progress)
> > +		return;
> > +
> >  	list_for_each_entry(crtc, &dev->mode_config.crtc_list, head)
> >  		WARN_ON(!mutex_is_locked(&crtc->mutex));
> 
> Yep, thanks.
> 
> Reported-and-tested-by: Borislav Petkov <bp@suse.de>

Thanks for testing, patch applied to drm-intel-fixes.
-Daniel
diff mbox

Patch

diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 792c3e3..3be0802 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -78,6 +78,10 @@  void drm_warn_on_modeset_not_all_locked(struct drm_device *dev)
 {
 	struct drm_crtc *crtc;
 
+	/* Locking is currently fubar in the panic handler. */
+	if (oops_in_progress)
+		return;
+
 	list_for_each_entry(crtc, &dev->mode_config.crtc_list, head)
 		WARN_ON(!mutex_is_locked(&crtc->mutex));