The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Опять USB-драйвер"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Опять USB-драйвер"  
Сообщение от Doomer email(ok) on 06-Сен-06, 13:41 
Возникла следующая проблема при чтении данных с устройства
Следующая функция возвращает ошибку -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.

Заранее благодарен

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Опять USB-драйвер"  
Сообщение от Doomer email(ok) on 08-Сен-06, 16:45 
>Возникла следующая проблема при чтении данных с устройства
>Следующая функция возвращает ошибку -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.
>
>Заранее благодарен


Что-то никто не отвечает... Мож я как-то не так вопрос задал?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру