RE: [PATCH] drm/radeon: Fix kernel panic on shutdown

From: Deucher, Alexander
Date: Mon Oct 31 2016 - 12:36:20 EST


> -----Original Message-----
> From: Larry Finger [mailto:larry.finger@xxxxxxxxx] On Behalf Of Larry Finger
> Sent: Monday, October 31, 2016 12:41 AM
> To: Linus Torvalds
> Cc: linux-kernel@xxxxxxxxxxxxxxx; driver-devel@xxxxxxxxxxxxxxx; 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@xxxxxxxxxxxx>
> Cc: Alex Deucher <alexander.deucher@xxxxxxx>

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