[<prev] [next>] [day] [month] [year] [list]
Message-Id: <365371312455777@web44.yandex.ru>
Date: Thu, 04 Aug 2011 15:02:57 +0400
From: Dmitry Dmitriev <dimondmm@...dex.ru>
To: chris@...is-wilson.co.uk, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, airlied@...ux.ie
Subject: PROBLEM: Possible problem in i915_dma_cleanup function in i915_dma.c module
Hello!
This problem is found in 3.0 kernel.
In i915_dma_cleanup function(drivers/gpu/drm/i915/i915_dma.c module) I found following:
135static int i915_dma_cleanup(struct drm_device * dev)
136{
.......
152 /* Clear the HWS virtual address at teardown */
153 if (I915_NEED_GFX_HWS(dev))
154 i915_free_hws(dev);
.......
157}
2102int i915_driver_unload(struct drm_device *dev)
2103{
........
2174 if (!I915_NEED_GFX_HWS(dev))
2175 i915_free_hws(dev);
........
2190}
I.e. in one case i915_free_hws function is called when (I915_NEED_GFX_HWS(dev)) condition is true(i915_dma_cleanup), but in other case it called when (!I915_NEED_GFX_HWS(dev)) condition is true(in i915_driver_unload function). This is intentional?
Corresponding init function is called only when (!I915_NEED_GFX_HWS(dev)) condition is true(in i915_driver_load function). Therefore I guess that if condition is wrong in i915_dma_cleanup function.
Thanks,
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists