Sanjay Govind 11 месяцев назад
Родитель
Сommit
8394e48254
1 измененных файлов с 15 добавлено и 3 удалено
  1. 15 3
      helpers/pof_usb.c

+ 15 - 3
helpers/pof_usb.c

@@ -282,12 +282,27 @@ static usbd_respond pof_usb_ep_config(usbd_device* dev, uint8_t cfg) {
     case 0: // deconfig
         usbd_ep_deconfig(dev, POF_USB_EP_OUT);
         usbd_ep_deconfig(dev, POF_USB_EP_IN);
+        usbd_ep_deconfig(dev, POF_USB_X360_AUDIO_EP_IN1);
+        usbd_ep_deconfig(dev, POF_USB_X360_AUDIO_EP_IN2);
+        usbd_ep_deconfig(dev, POF_USB_X360_AUDIO_EP_OUT1);
+        usbd_ep_deconfig(dev, POF_USB_X360_AUDIO_EP_OUT2);
+        usbd_ep_deconfig(dev, POF_USB_X360_PLUGIN_MODULE_EP_IN);
         usbd_reg_endpoint(dev, POF_USB_EP_OUT, NULL);
         usbd_reg_endpoint(dev, POF_USB_EP_IN, NULL);
+        usbd_reg_endpoint(dev, POF_USB_X360_AUDIO_EP_IN1, NULL);
+        usbd_reg_endpoint(dev, POF_USB_X360_AUDIO_EP_IN2, NULL);
+        usbd_reg_endpoint(dev, POF_USB_X360_AUDIO_EP_OUT1, NULL);
+        usbd_reg_endpoint(dev, POF_USB_X360_AUDIO_EP_OUT2, NULL);
+        usbd_reg_endpoint(dev, POF_USB_X360_PLUGIN_MODULE_EP_IN, NULL);
         return usbd_ack;
     case 1: // config
         usbd_ep_config(dev, POF_USB_EP_IN, USB_EPTYPE_INTERRUPT, POF_USB_EP_IN_SIZE);
         usbd_ep_config(dev, POF_USB_EP_OUT, USB_EPTYPE_INTERRUPT, POF_USB_EP_OUT_SIZE);
+        usbd_ep_config(dev, POF_USB_X360_AUDIO_EP_IN1, USB_EPTYPE_INTERRUPT, POF_USB_EP_IN_SIZE);
+        usbd_ep_config(dev, POF_USB_X360_AUDIO_EP_IN2, USB_EPTYPE_INTERRUPT, POF_USB_EP_OUT_SIZE);
+        usbd_ep_config(dev, POF_USB_X360_AUDIO_EP_OUT1, USB_EPTYPE_INTERRUPT, POF_USB_EP_IN_SIZE);
+        usbd_ep_config(dev, POF_USB_X360_AUDIO_EP_OUT2, USB_EPTYPE_INTERRUPT, POF_USB_EP_OUT_SIZE);
+        usbd_ep_config(dev, POF_USB_X360_PLUGIN_MODULE_EP_IN, USB_EPTYPE_INTERRUPT, POF_USB_EP_OUT_SIZE);
         usbd_reg_endpoint(dev, POF_USB_EP_IN, pof_usb_tx_ep_callback);
         usbd_reg_endpoint(dev, POF_USB_EP_OUT, pof_usb_rx_ep_callback);
         return usbd_ack;
@@ -693,9 +708,6 @@ static usbd_respond
             return usbd_fail;
         }
     }
-    if (req->bmRequestType == 0x02 && req->bRequest == 0x01) {
-        return usbd_ack;
-    }
     if(((USB_REQ_RECIPIENT | USB_REQ_TYPE) & req->bmRequestType) ==
            (USB_REQ_DEVICE | USB_REQ_STANDARD) && req->bRequest == USB_STD_GET_DESCRIPTOR) {
         switch(wValueH) {