diff --git a/drivers/wireless/bluetooth/bt_slip.c b/drivers/wireless/bluetooth/bt_slip.c index faa76dd0c64..ca48747cb5b 100644 --- a/drivers/wireless/bluetooth/bt_slip.c +++ b/drivers/wireless/bluetooth/bt_slip.c @@ -558,8 +558,8 @@ static void bt_slip_unack_handle(FAR struct sliphci_s *priv) { int semcount; - nxsem_get_value(&priv->sem, &semcount); - if (semcount < 0) + while (nxsem_get_value(&priv->sem, &semcount) >= 0 && + semcount <= 0) { nxsem_post(&priv->sem); }