I've passed this log through c++filt:
Code:
BUG: sleeping function called from invalid context at include/asm/semaphore.h:99
in_atomic():1, irqs_disabled():0
[<f9339e91>] __ke_down_struct_sem+0x14/0x2b [fglrx]
[<f93530fe>] firegl_cmmqs_unbind_pool+0x9e/0x170 [fglrx]
[<f939cd31>] NODElist_free::mergeNodeWithSuccessor(CMMNode*)+0x51/0x80 [fglrx]
[<f934f169>] MCIL_UnmapFromGartSpace+0xa9/0x110 [fglrx]
[<f939cda4>] NODElist_free::doGarbageCollection(CMMNode*)+0x44/0x80 [fglrx]
[<f938cd6d>] OS::gart_Free(CMMPool*)+0xcd/0x110 [fglrx]
[<f9386eef>] SegmentMapManager::init(MemSegment const&)+0x18f/0x220 [fglrx]
[<f9391d88>] CMMHeap_GART::dropPoolFromHeap(CMMPool*)+0x38/0x70 [fglrx]
[<f9391eb2>] CMMHeap_GART::shrinkHeap(bool)+0x92/0xa0 [fglrx]
[<f938d904>] CMMPool::freeNode(CMMNode*)+0x24/0x40 [fglrx]
[<f93a0ae2>] CMMClient::~CMMClient()+0x32/0x50 [fglrx]
[<f9390064>] CMMHeapManager::shrinkAllHeaps()+0x34/0x60 [fglrx]
[<f9396c5d>] CMMClientManager_CORE::destroyClient(CMMDriver*, CMMClient*)+0x2d/0x50 [fglrx]
[<f9392845>] cmmUnregisterClientInternal(CMMDriver*, CMMClient*)+0x25/0x30 [fglrx]
[<f938ab64>] MSF::doGarbageCollection()+0x204/0x250 [fglrx]
[<f939a0a8>] QS_PRIVATE_CORE::PM4idle(Asic::idle_WaitMethod)+0x48/0x70 [fglrx]
[<f939a0ec>] QS_PRIVATE_CORE::idleAll(Asic::idle_WaitMethod)+0x1c/0x50 [fglrx]
[<f933b116>] drm_free+0x66/0x150 [fglrx]
[<f93887aa>] CMM::releaseChildren()+0x2a/0x2d0 [fglrx]
[<f938a93b>] MSF::processTerminated(unsigned int)+0x1b/0x40 [fglrx]
[<f933b116>] drm_free+0x66/0x150 [fglrx]
[<f938502b>] CMMQS_ProcessTerminate+0x1b/0x30 [fglrx]
[<f9384e54>] CMMQS_Uninitialize+0x14/0x30 [fglrx]
[<f93550d8>] firegl_cmmqs_deinit+0x48/0xf0 [fglrx]
[<f9341435>] firegl_release_helper+0x5f5/0xa20 [fglrx]
[<f9344b9b>] firegl_takedown+0x5b/0xc50 [fglrx]
[<f93443bf>] firegl_release+0x12f/0x190 [fglrx]
[<f933898f>] ip_firegl_release+0xf/0x12 [fglrx]
[<c016b744>] __fput+0xaf/0x157
[<c016920c>] filp_close+0x51/0x58
[<c0122e44>] put_files_struct+0x5f/0xa7
[<c0123f1d>] do_exit+0x220/0x6d0
[<c012443a>] sys_exit_group+0x0/0xd
[<c012b569>] get_signal_to_deliver+0x3f3/0x418
[<c011b6d2>] try_to_wake_up+0x276/0x281
[<c01036d1>] do_notify_resume+0x84/0x633
[<c0129e4c>] signal_wake_up+0x1e/0x2c
[<c0118951>] do_page_fault+0x308/0x729
[<c014961a>] audit_syscall_exit+0x2aa/0x2c6
[<c0149346>] audit_syscall_entry+0x10d/0x137
[<c0107190>] do_syscall_trace+0x13c/0x180
[<c01070c3>] do_syscall_trace+0x6f/0x180
[<c010405e>] work_notifysig+0x13/0x19
=======================
BUG: scheduling while atomic: Xorg/0x00000002/3110
[<c02ad05e>] __sched_text_start+0x86/0x5b7
[<c011b1ef>] __wake_up+0x32/0x43
[<f9351e31>] irqmgr_wrap_shutdown+0x101/0x170 [fglrx]
[<f9344ba3>] firegl_takedown+0x63/0xc50 [fglrx]
[<f93443bf>] firegl_release+0x12f/0x190 [fglrx]
[<f933898f>] ip_firegl_release+0xf/0x12 [fglrx]
[<c016b744>] __fput+0xaf/0x157
[<c016920c>] filp_close+0x51/0x58
[<c0122e44>] put_files_struct+0x5f/0xa7
[<c0123f1d>] do_exit+0x220/0x6d0
[<c012443a>] sys_exit_group+0x0/0xd
[<c012b569>] get_signal_to_deliver+0x3f3/0x418
[<c011b6d2>] try_to_wake_up+0x276/0x281
[<c01036d1>] do_notify_resume+0x84/0x633
[<c0129e4c>] signal_wake_up+0x1e/0x2c
[<c0118951>] do_page_fault+0x308/0x729
[<c014961a>] audit_syscall_exit+0x2aa/0x2c6
[<c0149346>] audit_syscall_entry+0x10d/0x137
[<c0107190>] do_syscall_trace+0x13c/0x180
[<c01070c3>] do_syscall_trace+0x6f/0x180
[<c010405e>] work_notifysig+0x13/0x19
=======================
BUG: sleeping function called from invalid context at include/asm/semaphore.h:99
in_atomic():1, irqs_disabled():0
[<f9339e91>] __ke_down_struct_sem+0x14/0x2b [fglrx]
[<f933ea6f>] firegl_remove_all_drawables+0x3f/0x100 [fglrx]
[<f93414f9>] firegl_release_helper+0x6b9/0xa20 [fglrx]
[<f9344bab>] firegl_takedown+0x6b/0xc50 [fglrx]
[<c0246400>] __cpufreq_remove_dev+0x195/0x197
[<f93443bf>] firegl_release+0x12f/0x190 [fglrx]
[<f933898f>] ip_firegl_release+0xf/0x12 [fglrx]
[<c016b744>] __fput+0xaf/0x157
[<c016920c>] filp_close+0x51/0x58
[<c0107190>] do_syscall_trace+0x13c/0x180
[<c016a289>] sys_close+0x67/0x9e
[<c0103fc2>] syscall_call+0x7/0xb
=======================
[fglrx] PCIe has already been initialized. Reinitializing ...
BUG: sleeping function called from invalid context at include/asm/semaphore.h:99
in_atomic():1, irqs_disabled():0
[<f9339e91>] __ke_down_struct_sem+0x14/0x2b [fglrx]
[<f933ea6f>] firegl_remove_all_drawables+0x3f/0x100 [fglrx]
[<f93414f9>] firegl_release_helper+0x6b9/0xa20 [fglrx]
[<f9344bab>] firegl_takedown+0x6b/0xc50 [fglrx]
[<c0118649>] do_page_fault+0x0/0x729
[<f93443bf>] firegl_release+0x12f/0x190 [fglrx]
[<f933898f>] ip_firegl_release+0xf/0x12 [fglrx]
[<c016b744>] __fput+0xaf/0x157
[<c016920c>] filp_close+0x51/0x58
[<c0107190>] do_syscall_trace+0x13c/0x180
[<c016a289>] sys_close+0x67/0x9e
[<c0103fc2>] syscall_call+0x7/0xb
[<c02a0000>] xfrm4_udp_encap_rcv+0x3c/0x14c
=======================
[fglrx] Reserve Block - 0 offset = 0Xfffb000 length = 0X5000
[fglrx] Reserve Block - 1 offset = 0X0 length = 0X1000000
[fglrx] Reserve Block - 2 offset = 0Xffbb000 length = 0X40000