[PATCH] drm/radeon/kms: Don't try to process irq when we are unloading

2009-09-09 Thread Jerome Glisse
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 jgli...@redhat.com
---
 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 5708c07..36d0ba2 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)
if (!status) {
return IRQ_NONE;
}
+   if (rdev-shutdown) {
+   return IRQ_NONE;
+   }
while (status) {
/* SW interrupt */
if (status  RADEON_SW_INT_TEST) {
-- 
1.6.4.1


--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [PATCH] drm/radeon/kms: Don't try to process irq when we are unloading

2009-09-09 Thread Dave Airlie
On Wed, 9 Sep 2009, Jerome Glisse wrote:

 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.

Should you not just ack all irqs here before returning, else we'll
just get called again.

Dave.

 
 Signed-off-by: Jerome Glisse jgli...@redhat.com
 ---
  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 5708c07..36d0ba2 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)
   if (!status) {
   return IRQ_NONE;
   }
 + if (rdev-shutdown) {
 + return IRQ_NONE;
 + }
   while (status) {
   /* SW interrupt */
   if (status  RADEON_SW_INT_TEST) {
 

--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel