/* OK, add it to the receive buffer, or copy into external buffer if supplied */
if (ebuf == NULL) {
- dvb_ringbuffer_pkt_write(&ca->slot_info[slot].rx_buffer, buf, bytes_read, 0);
+ dvb_ringbuffer_pkt_write(&ca->slot_info[slot].rx_buffer, buf, bytes_read);
} else {
memcpy(ebuf, buf, bytes_read);
}
*
* @return Number of bytes read, or <0 on error.
*/
-static ssize_t dvb_ca_en50221_io_write(struct file *file, const char *buf, size_t count, loff_t *ppos)
+static ssize_t dvb_ca_en50221_io_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos)
{
struct dvb_device *dvbdev=(struct dvb_device *) file->private_data;
struct dvb_ca_private *ca=(struct dvb_ca_private*) dvbdev->priv;
int status;
char fragbuf[HOST_LINK_BUF_SIZE];
int fragpos = 0;
- int fraglen;
+ size_t fraglen;
unsigned long timeout;
int written;
int slot;
int slot_count = 0;
int idx;
- int fraglen;
+ size_t fraglen;
int connection_id = -1;
int found = 0;
u8 hdr[2];
*
* @return Number of bytes read, or <0 on error.
*/
-static ssize_t dvb_ca_en50221_io_read(struct file *file, char *buf, size_t count, loff_t *ppos)
+static ssize_t dvb_ca_en50221_io_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
{
struct dvb_device *dvbdev=(struct dvb_device *) file->private_data;
struct dvb_ca_private *ca=(struct dvb_ca_private*) dvbdev->priv;
static struct file_operations dvb_ca_fops = {
- owner: THIS_MODULE,
- read: dvb_ca_en50221_io_read,
- write: dvb_ca_en50221_io_write,
- ioctl: dvb_ca_en50221_io_ioctl,
- open: dvb_ca_en50221_io_open,
- release: dvb_ca_en50221_io_release,
- poll: dvb_ca_en50221_io_poll,
+ .owner = THIS_MODULE,
+ .read = dvb_ca_en50221_io_read,
+ .write = dvb_ca_en50221_io_write,
+ .ioctl = dvb_ca_en50221_io_ioctl,
+ .open = dvb_ca_en50221_io_open,
+ .release = dvb_ca_en50221_io_release,
+ .poll = dvb_ca_en50221_io_poll,
};
static struct dvb_device dvbdev_ca = {
- priv: 0,
- users: 1,
- readers: 1,
- writers: 1,
- fops: &dvb_ca_fops,
+ .users = 1,
+ .readers = 1,
+ .writers = 1,
+ .fops = &dvb_ca_fops,
};