- From: Calin A. Culianu <calin_at_ajvar.org>
- Date: Tue, 17 Dec 2002 15:54:10 -0500 (EST)
Hmm I can't really help you except to suggest that it might be helpful to
post an oops message that has been run through ksymoops. Oops messages
are specific to your particular kernel and ksymoops helps a bit with this
in that it looks at the kernel symbol table and is able to figure out in
which bits of kernel code the crash occured (sometimes this helps).
-Calin
On Sun, 15 Dec 2002, Edwin wrote:
> Dear all:
> I was trying to write a driver for DI interrupt service,
> following structures as comedi_parport.c.
> The problem is when I access to the s->async->data, system would
> break down with a Oops message print out when the interrupt comes.
> I wrote the interrupt service like this:
> ------------------------------------------------------------------------
> ---------
> static void interrupt_service_pci1761(int irq, void *d, struct pt_regs
> *regs)
> {
> comedi_device *dev = d;
> comedi_subdevice *s = dev->subdevices + 5;
> *(sampl_t *)(s->async->data+s->async->buf_int_ptr)=0; // this would
> cause kernel dump
>
> s->async->buf_int_ptr+=sizeof(sampl_t);
> s->async->buf_int_count+=sizeof(sampl_t);
> if(s->async->buf_int_ptr>=s->async->data_len){
> s->async->buf_int_ptr=0;
> s->async->events |= COMEDI_CB_EOBUF;
> }
> s->async->events |= COMEDI_CB_EOS;
> comedi_event(dev,s,s->async->events);
> }
> ------------------------------------------------------------------------
> ---------
> Here is the oops message:
> ------------------------------------------------------------------------
> ---------
> Unable to handle kernel NULL pointer dereference at virtual address
> 00000000
> printing eip:
> c98a1568
> *pde = 00000000
> Oops: 0002
> CPU: 0
> EIP: 0010:[<c98a1568>]
> EFLAGS: 00010202
> eax: 00000000 ebx: c42f6400 ecx: c42f6610
> edx: 00000000
> esi: c42f0000 edi: 0000000b ebp: c0257fa8
> esp: c0257f58
> ds: 0018 es: 0018 ss: 0018
> Process swapper (pid: 0, stackpage = c0257000)
> Stack: 0000000b c4106e80 04000001 c010833a 0000000b
> c42f6000 c0257fa8 c0257fa8
> 0000000b c028fa60 c41ebe80 c01083a8
> 0000000b c025fa8 c41ebe80 c0105390
> c0256000 c0256000 c0105390 c020f180
> c0105390 0000032 00000019 c0256000
> Call Trace: [<c010822a>] [<c01083a8>] [<c0105390>]
> [<c0105390>] [<c020f180>]
> [<c0105390>] [<c0105390>] [<c01053b3>]
> [<c0105432>] [<c0105000>]
> Code: 66 c7 04 10 00 00 8b 93 30 02 00 00 8b 42 10 83 c0 02 89 42
> <0> Kernel panic: Aiee, killing interrupt handler!
> In interrupt handler -not syncing
> ------------------------------------------------------------------------
> ---------
>
> System discription:
> Redhat 7.2 _at_ 2.4.7
>
>
>
> _______________________________________________
> comedi mailing list
> comedi_at_comedi.org
> https://cvs.comedi.org/cgi-bin/mailman/listinfo/comedi
>
Received on 2002-12-17Z20:54:10