From d2daf66d3839fda03333e579443e12c1f7b61f68 Mon Sep 17 00:00:00 2001 From: yangsong8 Date: Mon, 16 Jun 2025 14:43:20 +0800 Subject: [PATCH] drivers/usbdev/cdcacm: Fix the issue of missing release one req buf When unbinding, if a req buf is held by priv->container, it also needs to be released. Signed-off-by: yangsong8 --- drivers/usbdev/cdcacm.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/usbdev/cdcacm.c b/drivers/usbdev/cdcacm.c index 851ebc1f254..554688f3c33 100644 --- a/drivers/usbdev/cdcacm.c +++ b/drivers/usbdev/cdcacm.c @@ -1500,6 +1500,12 @@ static void cdcacm_unbind(FAR struct usbdevclass_driver_s *driver, #ifdef CONFIG_CDCACM_DISABLE_TXBUF DEBUGASSERT(priv->nwrq >= CONFIG_CDCACM_NWRREQS - 1); + if (priv->wrcontainer) + { + sq_addlast((FAR sq_entry_t *)priv->wrcontainer, &priv->txfree); + priv->wrcontainer = NULL; + priv->nwrq++; + } #else DEBUGASSERT(priv->nwrq == CONFIG_CDCACM_NWRREQS); #endif