drm/radeon: Make r100_cp_ring_info() and radeon_ring_gfx() safe (v2)
authorAlex Ivanov <gnidorah@p0n4ik.tk>
Fri, 20 Sep 2013 13:36:06 +0000 (17:36 +0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 5 Oct 2013 14:13:12 +0000 (07:13 -0700)
commitf329055796c2c2d4d0a6fe4691755213cfef6187
tree0d43537bbb08ea409b1a7805baa5f34218ab566a
parent6452230ccfffec35fc7ee2e5f3e3bb6f8ab6570d
drm/radeon: Make r100_cp_ring_info() and radeon_ring_gfx() safe (v2)

commit 0eb3448aa6b31fbf24c31756aba7940cac5ad6b8 upstream.

Prevent NULL pointer dereference in case when radeon_ring_fini() did it's job.

Reading of r100_cp_ring_info and radeon_ring_gfx debugfs entries will lead to a KP if ring buffer was deallocated, e.g. on failed ring test.
Seen on PA-RISC machine having "radeon: ring test failed (scratch(0x8504)=0xCAFEDEAD)" issue.

v2: agd5f: add some parens around ring->ready check

Signed-off-by: Alex Ivanov <gnidorah@p0n4ik.tk>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/radeon/r100.c
drivers/gpu/drm/radeon/radeon_ring.c