From 9498adef71fe2816d336061b38ed801dc980a8bb Mon Sep 17 00:00:00 2001 From: Nathan Conrad Date: Sat, 21 Sep 2019 19:29:57 -0400 Subject: [PATCH] Changing the bitwise to a logical OR created a huge hard to find bug. It shortcutted the call to the class function, so, lets use shortcutting anyway? --- src/device/usbd.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/device/usbd.c b/src/device/usbd.c index fb28ff0e6..50964bdee 100644 --- a/src/device/usbd.c +++ b/src/device/usbd.c @@ -549,9 +549,10 @@ static bool process_control_request(uint8_t rhport, tusb_control_request_t const // must not call tud_control_status(), and return value will have no effect // class driver is invoked last, so that EP already has EP stall cleared (in event of clear feature EP halt) - if ( usbd_class_drivers[drv_id].control_request ) + if ( usbd_class_drivers[drv_id].control_request && + usbd_class_drivers[drv_id].control_request(rhport, p_request)) { - ret = ret || usbd_class_drivers[drv_id].control_request(rhport, p_request); + ret = true; } return ret; }