diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-09-27 12:28:19 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-09-27 12:28:19 -0700 | 
| commit | 381ba329e578755bc974b46c6a6f2ac286e89b40 (patch) | |
| tree | 899079aae0472b74087e9c5bec2f7283117d8fdb | |
| parent | 65097561b91c4f8ce92a2905f150900f1779ccd1 (diff) | |
| parent | cf9a2f3afc75d41a61cbc91e725b9ce0746c400a (diff) | |
Merge branch 'drm-intel-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel
* 'drm-intel-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel:
  drm/i915/sdvo: Handle unsupported GET_SUPPORTED_ENHANCEMENTS gracefully
  drm/i915/sdvo: Cleanup connector on error path
  drm/i915: Fix 945GM regression in e259befd
| -rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_sdvo.c | 15 | 
2 files changed, 7 insertions, 10 deletions
| diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index cf4ffbee1c00..bced9b25c71e 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -2400,7 +2400,7 @@ i915_gem_clear_fence_reg(struct drm_gem_object *obj)  		I915_WRITE64(FENCE_REG_965_0 + (obj_priv->fence_reg * 8), 0);  		break;  	case 3: -		if (obj_priv->fence_reg > 8) +		if (obj_priv->fence_reg >= 8)  			fence_reg = FENCE_REG_945_8 + (obj_priv->fence_reg - 8) * 4;  		else  	case 2: diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index e8e902d614ed..ee73e428a84a 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c @@ -2170,8 +2170,7 @@ intel_sdvo_tv_init(struct intel_sdvo *intel_sdvo, int type)          return true;  err: -	intel_sdvo_destroy_enhance_property(connector); -	kfree(intel_sdvo_connector); +	intel_sdvo_destroy(connector);  	return false;  } @@ -2243,8 +2242,7 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device)  	return true;  err: -	intel_sdvo_destroy_enhance_property(connector); -	kfree(intel_sdvo_connector); +	intel_sdvo_destroy(connector);  	return false;  } @@ -2522,11 +2520,10 @@ static bool intel_sdvo_create_enhance_property(struct intel_sdvo *intel_sdvo,  		uint16_t response;  	} enhancements; -	if (!intel_sdvo_get_value(intel_sdvo, -				  SDVO_CMD_GET_SUPPORTED_ENHANCEMENTS, -				  &enhancements, sizeof(enhancements))) -		return false; - +	enhancements.response = 0; +	intel_sdvo_get_value(intel_sdvo, +			     SDVO_CMD_GET_SUPPORTED_ENHANCEMENTS, +			     &enhancements, sizeof(enhancements));  	if (enhancements.response == 0) {  		DRM_DEBUG_KMS("No enhancement is supported\n");  		return true; | 
