]> git.zerfleddert.de Git - hmcfgusb/blobdiff - hmcfgusb.c
send a full frame containing only zeroes instead of a zero-byte frame
[hmcfgusb] / hmcfgusb.c
index 825b3132a3bbc660d37ef6a41259fbc7b785d6e7..d8a442f690a04bba9d368c4c4340b54311e2e64b 100644 (file)
@@ -146,8 +146,11 @@ int hmcfgusb_send_null_frame(struct hmcfgusb_dev *usbdev, int silent)
 {
        int err;
        int cnt;
+       unsigned char out[0x40];
 
-       err = libusb_interrupt_transfer(usbdev->usb_devh, EP_OUT, NULL, 0, &cnt, USB_TIMEOUT);
+       memset(out, 0, sizeof(out));
+
+       err = libusb_interrupt_transfer(usbdev->usb_devh, EP_OUT, out, sizeof(out), &cnt, USB_TIMEOUT);
        if (err && (!silent)) {
                fprintf(stderr, "Can't send null frame: %s\n", usb_strerror(err));
                return 0;
@@ -242,7 +245,7 @@ static void LIBUSB_CALL hmcfgusb_interrupt(struct libusb_transfer *transfer)
 
        if (transfer->status != LIBUSB_TRANSFER_COMPLETED) {
                if (transfer->status != LIBUSB_TRANSFER_TIMED_OUT) {
-                       fprintf(stderr, "Interrupt transfer not completed: %d!\n", transfer->status);
+                       fprintf(stderr, "Interrupt transfer not completed: %s!\n", usb_strerror(transfer->status));
                        quit = EIO;
 
                        if (cb_data && cb_data->dev && cb_data->dev->transfer) {
Impressum, Datenschutz