+       bytes_read +=
+           snprintf (dev->bulk_in_buffer, dev->bulk_in_size, "%s", HEADER);

Use a copy operation.

+       while (bytes_read < IMGSIZE) {
+               result = usb_bulk_msg (dev->udev,
+                                     usb_rcvbulkpipe (dev->udev, 
dev->bulk_in_endpointAddr),
+                                     dev->bulk_in_buffer + bytes_read,
+                                     dev->bulk_in_size, &bulk_read, HZ * 5);
+               if (result < 0)
+                       return result;
+               bytes_read += bulk_read;
+       }

You should make this interruptible.

+                       /* create a new image and check for success */
+                       result = idmouse_create_image (dev);
+                       if (result)
+                               goto error;

Why on open()?

        Regards
                Oliver


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to