diff options
Diffstat (limited to 'drivers/gpu/drm/gma500/oaktrail_lvds.c')
-rw-r--r-- | drivers/gpu/drm/gma500/oaktrail_lvds.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/gma500/oaktrail_lvds.c b/drivers/gpu/drm/gma500/oaktrail_lvds.c index 5e0697862736..9b099468a5db 100644 --- a/drivers/gpu/drm/gma500/oaktrail_lvds.c +++ b/drivers/gpu/drm/gma500/oaktrail_lvds.c | |||
@@ -359,6 +359,7 @@ void oaktrail_lvds_init(struct drm_device *dev, | |||
359 | * if closed, act like it's not there for now | 359 | * if closed, act like it's not there for now |
360 | */ | 360 | */ |
361 | 361 | ||
362 | mutex_lock(&dev->mode_config.mutex); | ||
362 | i2c_adap = i2c_get_adapter(dev_priv->ops->i2c_bus); | 363 | i2c_adap = i2c_get_adapter(dev_priv->ops->i2c_bus); |
363 | if (i2c_adap == NULL) | 364 | if (i2c_adap == NULL) |
364 | dev_err(dev->dev, "No ddc adapter available!\n"); | 365 | dev_err(dev->dev, "No ddc adapter available!\n"); |
@@ -401,10 +402,14 @@ void oaktrail_lvds_init(struct drm_device *dev, | |||
401 | } | 402 | } |
402 | 403 | ||
403 | out: | 404 | out: |
405 | mutex_unlock(&dev->mode_config.mutex); | ||
406 | |||
404 | drm_sysfs_connector_add(connector); | 407 | drm_sysfs_connector_add(connector); |
405 | return; | 408 | return; |
406 | 409 | ||
407 | failed_find: | 410 | failed_find: |
411 | mutex_unlock(&dev->mode_config.mutex); | ||
412 | |||
408 | dev_dbg(dev->dev, "No LVDS modes found, disabling.\n"); | 413 | dev_dbg(dev->dev, "No LVDS modes found, disabling.\n"); |
409 | if (gma_encoder->ddc_bus) | 414 | if (gma_encoder->ddc_bus) |
410 | psb_intel_i2c_destroy(gma_encoder->ddc_bus); | 415 | psb_intel_i2c_destroy(gma_encoder->ddc_bus); |