Bug 90681 - Radeon Kernel Oops & Lockup when switching on DisplayPort attached monitor
Summary: Radeon Kernel Oops & Lockup when switching on DisplayPort attached monitor
Status: RESOLVED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Radeon (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-27 14:14 UTC by Richard Bradfield
Modified: 2015-07-21 19:41 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
journalctl output for crash (844.41 KB, text/plain)
2015-05-27 14:14 UTC, Richard Bradfield
no flags Details
lspci -nn (3.37 KB, text/plain)
2015-05-27 14:15 UTC, Richard Bradfield
no flags Details
Oops stack trace only (3.76 KB, text/plain)
2015-05-27 14:15 UTC, Richard Bradfield
no flags Details
Bisection log (1.71 KB, text/plain)
2015-05-27 14:16 UTC, Richard Bradfield
no flags Details
Culprit commit according to bisect (3.42 KB, patch)
2015-05-27 14:17 UTC, Richard Bradfield
no flags Details | Splinter Review
possible fix (1.81 KB, patch)
2015-05-27 15:37 UTC, Alex Deucher
no flags Details | Splinter Review

Description Richard Bradfield 2015-05-27 14:14:42 UTC
Created attachment 116079 [details]
journalctl output for crash

Switching my DisplayPort attached monitor on (or off and then on again) while booted to multiuser target (no Xorg or Wayland) causes a kernel Oops, followed by soft-lockups which render the system unusable.

Doing the same while at the full Graphical target causes gnome-shell to crash, but it is possible to recover the system by logging in again.

The kernel error and IP are:
>May 24 23:25:28 fedora-workstation.home kernel: BUG: unable to handle kernel NULL pointer dereference at 00000000000003b0
>May 24 23:25:28 fedora-workstation.home kernel: IP: [<ffffffffa0152055>] radeon_connector_edid+0x5/0x70 [radeon]

Full journal from a reproduction of the bug will be attached, as will lspci -nn.

I have isolated this using git bisect to the following commit (the patch for which is attached to this bug).
This is a commit currently part of the linux-stable tree and lies between 4.0.2 and 4.0.3

>016a255b7835ee7e49a3eba3c14ba0bc0221a4f8 is the first bad commit
>commit 016a255b7835ee7e49a3eba3c14ba0bc0221a4f8
>Author: Alex Deucher <alexander.deucher@amd.com>
>Date:   Tue Apr 7 09:52:42 2015 -0400
>
>    drm/radeon: only mark audio as connected if the monitor supports it (v3)
>    
>    commit 0f55db36d49d45b80eff0c0a2a498766016f458b upstream.
>    
>    Otherwise the driver may try and send audio which may confuse the
>    monitor.
>    
>    v2: set pin to NULL if no audio
>    v3: avoid crash with analog encoders
>    
>    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
>    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>>
>
>:040000 040000 de0366a6790f5c91d175bcb89cb34956bbe72b26 >bbdb5734961f824558152c7c34a840c78bc3a9a9 M	drivers
Comment 1 Richard Bradfield 2015-05-27 14:15:10 UTC
Created attachment 116080 [details]
lspci -nn
Comment 2 Richard Bradfield 2015-05-27 14:15:36 UTC
Created attachment 116081 [details]
Oops stack trace only
Comment 3 Richard Bradfield 2015-05-27 14:16:15 UTC
Created attachment 116082 [details]
Bisection log
Comment 4 Richard Bradfield 2015-05-27 14:17:00 UTC
Created attachment 116083 [details] [review]
Culprit commit according to bisect

Sorry for the bug-spam, I wasn't sure how to add many attachments at once.
Comment 5 Alex Deucher 2015-05-27 15:37:40 UTC
Created attachment 116085 [details] [review]
possible fix

Does the attached patch fix the issue?
Comment 6 Alex Deucher 2015-05-27 15:59:55 UTC
Actually reverting the commit is probably the proper fix.
Comment 7 Richard Bradfield 2015-05-27 16:05:57 UTC
Patch fixes the issue, I can try a revert as well.

With the patch applied, there's still a problem with gnome-shell crashing, but there's no Oops in the VT any more.
Comment 8 Richard Bradfield 2015-05-27 17:08:23 UTC
(In reply to Alex Deucher from comment #6)
> Actually reverting the commit is probably the proper fix.

Reverting the commit doesn't fix the issue, there is still a kernel Oops upon hotplugging the monitor. I'll dig into the trace.
Comment 9 Alex Deucher 2015-05-27 17:14:28 UTC
How about the revert and the patch?
Comment 10 Richard Bradfield 2015-05-27 18:02:42 UTC
(In reply to Alex Deucher from comment #9)
> How about the revert and the patch?

Revert and patch is working for me.
Comment 11 Andreas Tunek 2015-07-20 17:58:03 UTC
Is this fixed? I am asking because 91253 is probably due to the same committ.
Comment 13 Andreas Tunek 2015-07-21 19:37:03 UTC
Will this be in 4.2 rc3?
Comment 14 Alex Deucher 2015-07-21 19:41:14 UTC
(In reply to Andreas Tunek from comment #13)
> Will this be in 4.2 rc3?

Yes, they are in 4.1 as well.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.