diff options
author | Jerome Glisse <jglisse@redhat.com> | 2009-09-09 16:23:07 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-09-10 04:41:01 -0400 |
commit | a513c184d99fe10e7b20771ef86f5f807769318f (patch) | |
tree | 140e14b22cbae3e09d6ec3644fbf48b68a83229d /drivers/gpu/drm/radeon/r100.c | |
parent | 905b68223be18937159a29b354e6a332952ff952 (diff) |
drm/radeon/kms: Don't try to process irq when we are unloading
If module is being unloaded we should not try to handle irq especialy
we should not call into drm helper or we could hard hang the computer
free_irq will call the irq handler to make sure we behave properly.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/r100.c')
-rw-r--r-- | drivers/gpu/drm/radeon/r100.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c index 4e1c55162ccb..4dd5ca50c0c5 100644 --- a/drivers/gpu/drm/radeon/r100.c +++ b/drivers/gpu/drm/radeon/r100.c | |||
@@ -319,6 +319,9 @@ int r100_irq_process(struct radeon_device *rdev) | |||
319 | if (!status) { | 319 | if (!status) { |
320 | return IRQ_NONE; | 320 | return IRQ_NONE; |
321 | } | 321 | } |
322 | if (rdev->shutdown) { | ||
323 | return IRQ_NONE; | ||
324 | } | ||
322 | while (status) { | 325 | while (status) { |
323 | /* SW interrupt */ | 326 | /* SW interrupt */ |
324 | if (status & RADEON_SW_INT_TEST) { | 327 | if (status & RADEON_SW_INT_TEST) { |