[Intel-gfx] [PATCH 1/1] drm/i915/guc: Add uc_fini_wq in gem_init unwind path

Sagar Arun Kamble sagar.a.kamble at intel.com
Wed Jan 10 10:23:06 UTC 2018



On 1/10/2018 3:14 PM, Michał Winiarski wrote:
> On Wed, Jan 10, 2018 at 01:41:29PM +0530, Sagar Arun Kamble wrote:
>> While moving code around for solving lockdep issue for GuC log relay,
>> spotted that uc_fini_wq is not being called in failure path in gem_init.
>> Missed in the below commit. Add it.
>>
>> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble at intel.com>
>> Fixes: 3176ff49bc3e ("drm/i915/guc: Move GuC workqueue allocations outside of the mutex")
>> Cc: Michał Winiarski <michal.winiarski at intel.com>
>> Cc: Chris Wilson <chris at chris-wilson.co.uk>
>> ---
>>   drivers/gpu/drm/i915/i915_gem.c | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
>> index 8bc3283..1135a77 100644
>> --- a/drivers/gpu/drm/i915/i915_gem.c
>> +++ b/drivers/gpu/drm/i915/i915_gem.c
>> @@ -5283,6 +5283,8 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
>>   	intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL);
>>   	mutex_unlock(&dev_priv->drm.struct_mutex);
>>   
>> +	intel_uc_fini_wq(dev_priv);
>> +
> Ooppss.
>
> Now that we're doing proper cleanup here, we also need to remove:
>
> GEM_BUG_ON(!HAS_GUC(dev_priv));
>
> from intel_uc_fini_wq - otherwise we'll hit it with enable_guc=1 on plaforms
> without GuC.
Took some time for me to understand why we will not hit this on other 
uc_fini paths :)
Thanks for the review.
> With that:
>
> Reviewed-by: Michał Winiarski <michal.winiarski at intel.com>
>
> -Michał
>
>>   	if (ret != -EIO)
>>   		i915_gem_cleanup_userptr(dev_priv);
>>   
>> -- 
>> 1.9.1
>>



More information about the Intel-gfx mailing list