public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] drm/ttm: Cleanup state in global ttm structures
@ 2019-04-16  1:50 Brian Yip
  2019-04-16  1:50 ` [PATCH v2 1/2] drm/ttm: Reset ttm_mem_global when initialized Brian Yip
  2019-04-16  1:50 ` [PATCH v2 2/2] drm/ttm: Reset ttm_bo_glob " Brian Yip
  0 siblings, 2 replies; 3+ messages in thread
From: Brian Yip @ 2019-04-16  1:50 UTC (permalink / raw)
  To: christian.koenig
  Cc: ray.huang, Jerry.Zhang, airlied, daniel, dri-devel, linux-kernel,
	Brian Yip

State in global ttm structures was not properly reset on cleanup.

In the scenario where multiple drm drivers are loaded and the first one 
fails to initialize, there is an attempt to reset the global state in
the ttm structures. However, there were some attributes which were not
properly reset during this process. This resulted in a crash and 
false positive kobj initialization warnings during subsequent initialization
of these global structures.

Fix the crash and false positive kobj initialization warnings.

---
Changes in v2:

State in global ttm structures is reset by means of zeroing memory
in global structure initialization functions rather than checking
reference counters in their corresponding release functions.

Brian Yip (2):
  drm/ttm: Reset ttm_mem_global when initialized
  drm/ttm: Reset ttm_bo_glob when initialized

 drivers/gpu/drm/ttm/ttm_bo.c     | 6 +++++-
 drivers/gpu/drm/ttm/ttm_memory.c | 2 ++
 2 files changed, 7 insertions(+), 1 deletion(-)

-- 
2.20.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-04-16  1:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-16  1:50 [PATCH v2 0/2] drm/ttm: Cleanup state in global ttm structures Brian Yip
2019-04-16  1:50 ` [PATCH v2 1/2] drm/ttm: Reset ttm_mem_global when initialized Brian Yip
2019-04-16  1:50 ` [PATCH v2 2/2] drm/ttm: Reset ttm_bo_glob " Brian Yip

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox