2016-10-31 04:41:00

by Larry Finger

[permalink] [raw]
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 <[email protected]>
Cc: Alex Deucher <[email protected]>
---
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


2016-10-31 16:36:14

by Deucher, Alexander

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

> -----Original Message-----
> From: Larry Finger [mailto:[email protected]] On Behalf Of Larry Finger
> Sent: Monday, October 31, 2016 12:41 AM
> To: Linus Torvalds
> Cc: [email protected]; [email protected]; 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 <[email protected]>
> Cc: Alex Deucher <[email protected]>

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


2016-10-31 21:52:07

by Borislav Petkov

[permalink] [raw]
Subject: Re: [PATCH] drm/radeon: Fix kernel panic on shutdown

On Mon, Oct 31, 2016 at 04:21:55PM +0000, Deucher, Alexander wrote:
> > -----Original Message-----
> > From: Larry Finger [mailto:[email protected]] On Behalf Of Larry Finger
> > Sent: Monday, October 31, 2016 12:41 AM
> > To: Linus Torvalds
> > Cc: [email protected]; [email protected]; 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 <[email protected]>
> > Cc: Alex Deucher <[email protected]>
>
> Applied. Thanks!

Reported-and-tested-by: Borislav Petkov <[email protected]>

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.