From 1b712a04462981d219b605af1dd61a1025756e84 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Sun, 28 Jan 2018 02:18:39 +0100 Subject: [PATCH] trezorhal: fix simple interface behaviour on windows --- embed/trezorhal/usbd_core.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/embed/trezorhal/usbd_core.c b/embed/trezorhal/usbd_core.c index 876d6122a..265cf86cc 100644 --- a/embed/trezorhal/usbd_core.c +++ b/embed/trezorhal/usbd_core.c @@ -289,7 +289,6 @@ USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup) break; case USB_REQ_TYPE_CLASS: - case USB_REQ_TYPE_VENDOR: if (pdev->dev_state == USBD_STATE_CONFIGURED) { if (pdev->pClass->Setup != NULL) pdev->pClass->Setup(pdev, &pdev->request); @@ -297,6 +296,15 @@ USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup) USBD_CtlError(pdev, &pdev->request); } break; + + case USB_REQ_TYPE_VENDOR: + if (pdev->dev_state == USBD_STATE_CONFIGURED || pdev->dev_state == USBD_STATE_ADDRESSED) { + if (pdev->pClass->Setup != NULL) + pdev->pClass->Setup(pdev, &pdev->request); + } else { + USBD_CtlError(pdev, &pdev->request); + } + break; } return USBD_OK;