Возникла следующая проблема при чтении данных с устройства
Следующая функция возвращает ошибку -EOVERFLOW (-75) при попытке чтения с устройства 16кб данных.
static ssize_t mydev_read(struct file *file, char *buffer, size_t count, loff_t *ppos)
{
struct usb_skel *dev;
int retval = 0;
dev = (struct usb_skel *)file->private_data;
/* do a blocking bulk read to get data from the device */
retval = usb_bulk_msg(dev->udev,
usb_rcvbulkpipe(dev->udev, 5),
dev->bulk_in_buffer,
min(dev->bulk_in_size, count),
&count, HZ*10);
/* if the read was successful, copy the data to userspace */
if (!retval) {
if (copy_to_user(buffer, dev->bulk_in_buffer, count))
retval = -EFAULT;
else
retval = count;
} else info("read error %d",retval);
return retval;
}
Кто-нибудь может подсказать что может быть этому причиной?
Система - Fedora Сore 4.
Заранее благодарен