return -ENODEV;
}
- if(rasync->subdev->busy)
+ if(dev->read_subdev->busy)
return -EBUSY;
if(rasync->mmap_count){
return -ENODEV;
}
- if(wasync->subdev->busy)
+ if(dev->write_subdev->busy)
return -EBUSY;
if(wasync->mmap_count){
async->buf_user_count = async->buf_int_count;
async->buf_user_ptr = async->buf_int_ptr;
retval=-EINVAL;
- do_cancel(dev, async->subdev);
+ do_cancel(dev, dev->read_subdev);
DPRINTK("buffer overrun\n");
break;
}
async = kmalloc(sizeof(comedi_async), GFP_KERNEL);
memset(async, 0, sizeof(comedi_async));
s->async = async;
- async->subdev = s;
async->prealloc_bufsz=1024*128;
/* XXX */
async->prealloc_buf=rvmalloc(async->prealloc_bufsz);
};
struct comedi_async_struct{
- comedi_subdevice *subdev; /* the subdevice this buffer is associated with */
-
void *prealloc_buf; /* pre-allocated buffer */
unsigned int prealloc_bufsz; /* buffer size, in bytes */
unsigned int mmap_count; /* current number of mmaps of prealloc_buf */