Возникла следующая проблема при чтении данных с устройства
Следующая функция возвращает ошибку -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.
Заранее благодарен