Regression in kernel 4.9-rcX - bisected to commit a481daa88fd4

From: Larry Finger
Date: Sun Oct 30 2016 - 19:32:47 EST


With the 4.9-rcX kernel, my Dell Latitude D600 laptop has a kernel panic on shutdown in routine radeon_connector_unregister(). This problem has been bisected to show that commit a481daa88fd4 ("drm/radeon: always apply pci shutdown callbacks") is at fault.

In the routine that crashes, the ddc_bus member of the struct drm_connector is NULL, thus the following one-line (line-wrapped) patch fixes the problem:

diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c
--- 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;
}

The above change will soon be submitted as a proper patch. This posting to LKML is intended to publicize the regression as soon as possible.

Larry