From 7a52b7dd8353b63d42be7274b0eb02866ccb5cdc Mon Sep 17 00:00:00 2001 From: Ed Date: Wed, 1 May 2024 09:50:39 +0100 Subject: [PATCH] Initial fix for wrong in EP count --- lib_xua/api/xua_conf_default.h | 2 ++ lib_xua/src/core/endpoint0/xua_endpoint0.c | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib_xua/api/xua_conf_default.h b/lib_xua/api/xua_conf_default.h index 053dff28..82be6dab 100644 --- a/lib_xua/api/xua_conf_default.h +++ b/lib_xua/api/xua_conf_default.h @@ -1273,7 +1273,9 @@ enum USBEndpointNumber_In #if (NUM_USB_CHAN_IN == 0) || defined (UAC_FORCE_FEEDBACK_EP) ENDPOINT_NUMBER_IN_FEEDBACK, #endif +#if (NUM_USB_CHAN_IN != 0) ENDPOINT_NUMBER_IN_AUDIO, +#endif #if (XUA_SPDIF_RX_EN) || (XUA_ADAT_RX_EN) ENDPOINT_NUMBER_IN_INTERRUPT, /* Audio interrupt/status EP */ #endif diff --git a/lib_xua/src/core/endpoint0/xua_endpoint0.c b/lib_xua/src/core/endpoint0/xua_endpoint0.c index c24dfefc..3d3c3be4 100755 --- a/lib_xua/src/core/endpoint0/xua_endpoint0.c +++ b/lib_xua/src/core/endpoint0/xua_endpoint0.c @@ -814,7 +814,14 @@ void XUA_Endpoint0_loop(XUD_Result_t result, USB_SetupPacket_t sp, chanend c_ep0 { unsigned epNum = sp.wIndex & 0xff; - if ((epNum == ENDPOINT_ADDRESS_OUT_AUDIO) || (epNum == ENDPOINT_ADDRESS_IN_AUDIO)) +// Ensure we only check for AUDIO EPs if enabled +#if (NUM_USB_CHAN_IN != 0 && NUM_USB_CHAN_OUT == 0) + if (epNum == ENDPOINT_ADDRESS_IN_AUDIO) +#elif (NUM_USB_CHAN_IN == 0 && NUM_USB_CHAN_OUT != 0) + if (epNum == ENDPOINT_ADDRESS_OUT_AUDIO) +#elif (NUM_USB_CHAN_IN != 0 && NUM_USB_CHAN_OUT != 0) + if ((epNum == ENDPOINT_ADDRESS_IN_AUDIO) || (epNum == ENDPOINT_ADDRESS_OUT_AUDIO)) +#endif { #if (AUDIO_CLASS == 2) && (AUDIO_CLASS_FALLBACK) if(g_curUsbSpeed == XUD_SPEED_FS)