summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/gma500/psb_device.c
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2012-05-21 18:27:44 +0400
committerDave Airlie <airlied@redhat.com>2012-05-22 13:15:45 +0400
commit7beff62ee39d3ccf088bb77f61a63037f714d235 (patch)
treeb6a2aa20f68594c6e7bcb800bc9b826d48a1cee7 /drivers/gpu/drm/gma500/psb_device.c
parentbc794829141f28e14fe7d0e07e35870bd9aee78c (diff)
downloadlinux-7beff62ee39d3ccf088bb77f61a63037f714d235.tar.xz
gma500: Fix Poulsbo suspend/resume crash on devices with SDVO ports
Reported-by: Guillaume Clément <guillaume@baobob.org> Signed-off-by: Alan Cox <alan@linux.intel.com> Cc: stable@vger.kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/gma500/psb_device.c')
-rw-r--r--drivers/gpu/drm/gma500/psb_device.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/gma500/psb_device.c b/drivers/gpu/drm/gma500/psb_device.c
index 2a3e2da4ea8e..eff039bf92d4 100644
--- a/drivers/gpu/drm/gma500/psb_device.c
+++ b/drivers/gpu/drm/gma500/psb_device.c
@@ -197,7 +197,8 @@ static int psb_save_display_registers(struct drm_device *dev)
}
list_for_each_entry(connector, &dev->mode_config.connector_list, head)
- connector->funcs->save(connector);
+ if (connector->funcs->save)
+ connector->funcs->save(connector);
mutex_unlock(&dev->mode_config.mutex);
return 0;
@@ -235,7 +236,8 @@ static int psb_restore_display_registers(struct drm_device *dev)
crtc->funcs->restore(crtc);
list_for_each_entry(connector, &dev->mode_config.connector_list, head)
- connector->funcs->restore(connector);
+ if (connector->funcs->restore)
+ connector->funcs->restore(connector);
mutex_unlock(&dev->mode_config.mutex);
return 0;