]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/gpu/drm/gma500/psb_intel_lvds.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[karo-tx-linux.git] / drivers / gpu / drm / gma500 / psb_intel_lvds.c
index 32342f6990d964ddb6c798fc9159b5f5d4870b1a..d7778d0472c18569cbd89fbd9c70b5aa3f3a913b 100644 (file)
@@ -614,7 +614,7 @@ int psb_intel_lvds_set_property(struct drm_connector *connector,
                                                      &crtc->saved_mode,
                                                      encoder->crtc->x,
                                                      encoder->crtc->y,
-                                                     encoder->crtc->fb))
+                                                     encoder->crtc->primary->fb))
                                goto set_prop_error;
                }
        } else if (!strcmp(property->name, "backlight")) {
@@ -777,6 +777,7 @@ void psb_intel_lvds_init(struct drm_device *dev,
         * Attempt to get the fixed panel mode from DDC.  Assume that the
         * preferred mode is the right one.
         */
+       mutex_lock(&dev->mode_config.mutex);
        psb_intel_ddc_get_modes(connector, &lvds_priv->ddc_bus->adapter);
        list_for_each_entry(scan, &connector->probed_modes, head) {
                if (scan->type & DRM_MODE_TYPE_PREFERRED) {
@@ -827,10 +828,12 @@ void psb_intel_lvds_init(struct drm_device *dev,
         * actually having one.
         */
 out:
+       mutex_unlock(&dev->mode_config.mutex);
        drm_sysfs_connector_add(connector);
        return;
 
 failed_find:
+       mutex_unlock(&dev->mode_config.mutex);
        if (lvds_priv->ddc_bus)
                psb_intel_i2c_destroy(lvds_priv->ddc_bus);
 failed_ddc: