lkml.org 
[lkml]   [2016]   [Oct]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH] drm/radeon: Fix kernel panic on shutdown
Date
> -----Original Message-----
> From: Larry Finger [mailto:larry.finger@gmail.com] On Behalf Of Larry Finger
> Sent: Monday, October 31, 2016 12:41 AM
> To: Linus Torvalds
> Cc: linux-kernel@vger.kernel.org; driver-devel@vger.kernel.org; Larry
> Finger; Deucher, Alexander
> Subject: [PATCH] drm/radeon: Fix kernel panic on shutdown
>
> Since commit a481daa88fd4 ("drm/radeon: always apply pci shutdown
> callbacks"), a Dell Latitude D600 laptop has crashed on shutdown. The
> PCI Identification of the graphics adapter is "VGA compatible controller
> [0300]: Advanced Micro Devices, Inc. [AMD/ATI] RV250/M9 GL [Mobility
> FireGL 9000/Radeon 9000] [1002:4c66] (rev 01)".
>
> Prior to commit b0c80bd5d2e3 ("drm/radeon: fix up dp aux tear down (v2)"),
> I have no idea where the panic happened as the screen was blanked before
> the crash. Since that more recent change, the panic has been in routine
> radeon_connector_unregister(), and has been shown to be due to a NULL
> value in the ddc_bus member of struct drm_connector.
>
> Fixes: a481daa88fd4 ("drm/radeon: always apply pci shutdown callbacks")
> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
> Cc: Alex Deucher <alexander.deucher@amd.com>

Applied. Thanks!

Alex

> ---
> drivers/gpu/drm/radeon/radeon_connectors.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c
> b/drivers/gpu/drm/radeon/radeon_connectors.c
> index e18839d..27affbd 100644
> --- a/drivers/gpu/drm/radeon/radeon_connectors.c
> +++ b/drivers/gpu/drm/radeon/radeon_connectors.c
> @@ -931,7 +931,7 @@ static void radeon_connector_unregister(struct
> drm_connector *connector)
> {
> struct radeon_connector *radeon_connector =
> to_radeon_connector(connector);
>
> - if (radeon_connector->ddc_bus->has_aux) {
> + if (radeon_connector->ddc_bus && radeon_connector->ddc_bus-
> >has_aux) {
> drm_dp_aux_unregister(&radeon_connector->ddc_bus-
> >aux);
> radeon_connector->ddc_bus->has_aux = false;
> }
> --
> 2.10.0

\
 
 \ /
  Last update: 2016-10-31 17:36    [W:0.058 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site