Kaynağa Gözat

Fixing lsusb error messages

- Instead of stalling at Device Qualification and Debug descriptors, return 0
blockKey
Jacob Alexander 7 yıl önce
ebeveyn
işleme
8efeb60aa0
2 değiştirilmiş dosya ile 10 ekleme ve 1 silme
  1. 7
    0
      Bootloader/usb.c
  2. 3
    1
      Bootloader/usb.h

+ 7
- 0
Bootloader/usb.c Dosyayı Görüntüle

@@ -465,6 +465,13 @@ static void usb_handle_control(void *data, ssize_t len, void *cbdata)
default:
fail = -1;
break;

// Cleanup lsusb errors, just return 0 instead of stalling
case USB_DESC_DEVQUAL:
case USB_DESC_DEBUG:
usb_ep0_tx_cp(&zero16, sizeof(zero16), req->wLength, NULL, NULL);
fail = 0;
break;
}
/* we set fail already, so we can go directly to `err' */
goto err;

+ 3
- 1
Bootloader/usb.h Dosyayı Görüntüle

@@ -79,7 +79,9 @@ enum usb_desc_type {
USB_DESC_EP = 5,
USB_DESC_DEVQUAL = 6,
USB_DESC_OTHERSPEED = 7,
USB_DESC_POWER = 8
USB_DESC_POWER = 8,
USB_DESC_OTG = 9,
USB_DESC_DEBUG = 10,
};

struct usb_desc_type_t {