ausb: fix interrupt URB callback

This commit is contained in:
Harald Welte 2010-11-18 23:04:21 +01:00
parent 6506db78c1
commit 1e04258b8d
1 changed files with 14 additions and 2 deletions

View File

@ -29,16 +29,26 @@ static struct usb_device *find_cj_usbdev(int num)
return NULL;
}
static void int_cb(struct usbdevfs_urb *uurb)
static void int_cb(struct usbdevfs_urb *uurb, void *data)
{
struct ausb_dev_handle *ah = uurb->usercontext;
unsigned char *buffer = uurb->buffer;
int i;
fprintf(stdout, "int_cb() called, ");
ausb_dump_urb(uurb);
if (ausb_submit_urb(ah, uurb))
for (i = 0; i < uurb->actual_length; i++)
printf("%02x ", buffer[i]);
if (ausb_submit_urb(ah, uurb)) {
fprintf(stderr, "unable to resubmit urb\n");
ausb_close(ah);
exit(1);
}
fflush(stdout);
}
int main(int argc, char **argv)
@ -76,6 +86,8 @@ int main(int argc, char **argv)
exit(1);
}
ausb_register_callback(ah, USBDEVFS_URB_TYPE_INTERRUPT, &int_cb, ah);
#if 1
ausb_fill_int_urb(uurb, 0x81, buffer, sizeof(buffer));
if (ausb_submit_urb(ah, uurb)) {