Message ID | 1417740959-342-1-git-send-email-weiyj_lk@163.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Dec 05, 2014 at 08:55:59AM +0800, weiyj_lk@163.com wrote: > From: Wei Yongjun <yongjun_wei@trendmicro.com.cn> > > Add the missing unlock before return from function i915_gem_init_hw() > in the error handling case. > > Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Applied, thanks for the patch. Two minor comments: - Please mention the commit that introduced the issue next time around. I've added that while applying. - The usual patter is if (ret) goto out; /* more code */ out: mutex_unlock(); return ret; This would work really well in i915_gem_init_hw and besides the code-cleanup also prevents such a fumble in the future. If you feel like please submit that patch to convert init_hw to this shared unlock code pattern, too. Thanks, Daniel > --- > drivers/gpu/drm/i915/i915_gem.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > index d2ba315..3eeb2d0 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -4879,8 +4879,10 @@ i915_gem_init_hw(struct drm_device *dev) > i915_gem_init_swizzling(dev); > > ret = dev_priv->gt.init_rings(dev); > - if (ret) > + if (ret) { > + mutex_unlock(&dev->struct_mutex); > return ret; > + } > > for (i = 0; i < NUM_L3_SLICES(dev); i++) > i915_gem_l3_remap(&dev_priv->ring[RCS], i); > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index d2ba315..3eeb2d0 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -4879,8 +4879,10 @@ i915_gem_init_hw(struct drm_device *dev) i915_gem_init_swizzling(dev); ret = dev_priv->gt.init_rings(dev); - if (ret) + if (ret) { + mutex_unlock(&dev->struct_mutex); return ret; + } for (i = 0; i < NUM_L3_SLICES(dev); i++) i915_gem_l3_remap(&dev_priv->ring[RCS], i);