From: Alan Cox <a...@linux.intel.com>

Reported-by: Guillaume Cl?ment <guillaume at baobob.org>
Signed-off-by: Alan Cox <alan at linux.intel.com>
Cc: <stable at kernel.org>
---

 drivers/gpu/drm/gma500/psb_device.c |    6 ++++--
 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 2a3e2da..eff039b 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;

Reply via email to