I'm writing a USB kernel driver and for some of the bulk transfers, I'm using the following function.
Code:
#include <linux/usb.h>
int usb_bulk_msg (struct usb_device * usb_dev, unsigned int pipe, void * data, int len, int * actual_length, int timeout);
When I call it, it returns -8. The man page states:
Quote:
|
If successful, it returns 0, otherwise a negative error number. The number of actual bytes transferred will be placed in the actual_timeout parameter.
|
If by "negative error number" it is referring to a value defined in errno.h, then that return value means "Exec format error". usb_bulk_msg is in the kernel, it shouldn't be calling exec. And if it was, wth?
Any ideas on what this value actually means?