Hello Chris Wilson, The patch 5705670d0463: "drm: Track drm_mm allocators and show leaks on shutdown" from Oct 31, 2016, leads to the following Smatch static checker warning: drivers/gpu/drm/drm_mm.c:1001 drm_mm_takedown() warn: sleeping in atomic context drivers/gpu/drm/drm_mm.c 991 * drm_mm_takedown - clean up a drm_mm allocator 992 * @mm: drm_mm allocator to clean up 993 * 994 * Note that it is a bug to call this function on an allocator which is not 995 * clean. 996 */ 997 void drm_mm_takedown(struct drm_mm *mm) 998 { 999 if (WARN(!drm_mm_clean(mm), 1000 "Memory manager not clean during takedown.\n")) --> 1001 show_leaks(mm); ^^^^^^^^^^^^^^^ The show_leaks() function does a GFP_KERNEL allocation but a couple of the callers for drm_mm_takedown() are holding spinlocks so it's a sleeping in atomic bug. The problematic callers are ttm_range_man_fini_nocheck() and amdgpu_gtt_mgr_fini(). 1002 } regards, dan carpenter