From f44ef812d30f5467ccd0c15e699a00e3ceec3aa0 Mon Sep 17 00:00:00 2001 From: Dylan Laduranty Date: Sun, 17 Mar 2024 16:47:07 +0100 Subject: [PATCH] sys/usbus: answer get_status if request is standard type Signed-off-by: Dylan Laduranty --- sys/usb/usbus/usbus_control.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/usb/usbus/usbus_control.c b/sys/usb/usbus/usbus_control.c index 18931c7e9f..98e1dbba8f 100644 --- a/sys/usb/usbus/usbus_control.c +++ b/sys/usb/usbus/usbus_control.c @@ -291,9 +291,11 @@ static int _recv_interface_setup(usbus_t *usbus, usb_setup_t *pkt) usbus_control_handler_t *ep0_handler = (usbus_control_handler_t *)usbus->control; uint16_t destination = pkt->index & 0x0f; + uint8_t type_mask = pkt->type & USB_SETUP_REQUEST_TYPE_MASK; /* Globally handle the iface get status request */ - if (pkt->request == USB_SETUP_REQ_GET_STATUS) { + if (pkt->request == USB_SETUP_REQ_GET_STATUS && + type_mask == USB_SETUP_REQUEST_TYPE_STANDARD) { return _req_iface_status(usbus); }