why can't I access to *s->async->data?

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

Received on 2002-12-15Z13:01:28