lkml.org 
[lkml]   [2003]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: Panic in i810
Kasper Dupont wrote:
>
> I have a reproducable kernel panic with different 2.4.x kernels.
> I'm using XFree86-4.2.0-8 with a i810 onboard chipset. Sometimes
> when I log off X the kernel panics. This can be reproduced by
> loging in on a VC as root and typing:
>
> while [ ! -f /tmp/stopit ] ; do
> killall gdmlogin || killall gdm ; sleep 7 ; deallocvt
> done

I made a patch, that at least prevents the system from panicing.
This is just a workaround, probably the problem is really
somewhere else. My guess is that something in the driver cleanup
is being done in an incorrect order, but I do have some problems
following this code.

--
Kasper Dupont -- der bruger for meget tid på usenet.
For sending spam use mailto:aaarep@daimi.au.dk
for(_=52;_;(_%5)||(_/=5),(_%5)&&(_-=2))putchar(_);diff -Nur linux.old/drivers/char/drm/i810_dma.c linux.new/drivers/char/drm/i810_dma.c
--- linux.old/drivers/char/drm/i810_dma.c Wed Feb 26 13:36:14 2003
+++ linux.new/drivers/char/drm/i810_dma.c Wed Feb 26 13:36:20 2003
@@ -894,6 +894,7 @@
void i810_dma_service(int irq, void *device, struct pt_regs *regs)
{
drm_device_t *dev = (drm_device_t *)device;
+ if (dev && dev->dev_private && dev->counts) {
drm_i810_private_t *dev_priv = (drm_i810_private_t *)dev->dev_private;
u16 temp;

@@ -907,6 +908,9 @@

queue_task(&dev->tq, &tq_immediate);
mark_bh(IMMEDIATE_BH);
+ } else {
+ printk(KERN_CRIT __FUNCTION__ ": NULL pointer\n");
+ }
}

void i810_dma_immediate_bh(void *device)
\
 
 \ /
  Last update: 2005-03-22 13:33    [W:0.170 / U:0.960 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site