diff options
| -rw-r--r-- | drivers/gpu/drm/i915/i915_drv.c | 27 | 
1 files changed, 15 insertions, 12 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 07c07d55398b..be8555049c93 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -1102,30 +1102,32 @@ static int i915_driver_init_hw(struct drm_i915_private *dev_priv)  	ret = i915_ggtt_probe_hw(dev_priv);  	if (ret) -		return ret; +		goto err_perf; -	/* WARNING: Apparently we must kick fbdev drivers before vgacon, -	 * otherwise the vga fbdev driver falls over. */ +	/* +	 * WARNING: Apparently we must kick fbdev drivers before vgacon, +	 * otherwise the vga fbdev driver falls over. +	 */  	ret = i915_kick_out_firmware_fb(dev_priv);  	if (ret) {  		DRM_ERROR("failed to remove conflicting framebuffer drivers\n"); -		goto out_ggtt; +		goto err_ggtt;  	}  	ret = i915_kick_out_vgacon(dev_priv);  	if (ret) {  		DRM_ERROR("failed to remove conflicting VGA console\n"); -		goto out_ggtt; +		goto err_ggtt;  	}  	ret = i915_ggtt_init_hw(dev_priv);  	if (ret) -		return ret; +		goto err_ggtt;  	ret = i915_ggtt_enable_hw(dev_priv);  	if (ret) {  		DRM_ERROR("failed to enable GGTT\n"); -		goto out_ggtt; +		goto err_ggtt;  	}  	pci_set_master(pdev); @@ -1136,7 +1138,7 @@ static int i915_driver_init_hw(struct drm_i915_private *dev_priv)  		if (ret) {  			DRM_ERROR("failed to set DMA mask\n"); -			goto out_ggtt; +			goto err_ggtt;  		}  	} @@ -1154,7 +1156,7 @@ static int i915_driver_init_hw(struct drm_i915_private *dev_priv)  		if (ret) {  			DRM_ERROR("failed to set DMA mask\n"); -			goto out_ggtt; +			goto err_ggtt;  		}  	} @@ -1187,13 +1189,14 @@ static int i915_driver_init_hw(struct drm_i915_private *dev_priv)  	ret = intel_gvt_init(dev_priv);  	if (ret) -		goto out_ggtt; +		goto err_ggtt;  	return 0; -out_ggtt: +err_ggtt:  	i915_ggtt_cleanup_hw(dev_priv); - +err_perf: +	i915_perf_fini(dev_priv);  	return ret;  }  | 
