You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2024/10/17 10:09:48 UTC
(nuttx) 10/27: bluetooth: add nxmutex_lock check
This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 946dad5ff03d12b68f835b4b226f190d0b224713
Author: chengkai <ch...@xiaomi.com>
AuthorDate: Tue Feb 20 16:15:02 2024 +0800
bluetooth: add nxmutex_lock check
Signed-off-by: chengkai <ch...@xiaomi.com>
---
drivers/wireless/bluetooth/bt_slip.c | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/drivers/wireless/bluetooth/bt_slip.c b/drivers/wireless/bluetooth/bt_slip.c
index 3da65525ac..8560ca498d 100644
--- a/drivers/wireless/bluetooth/bt_slip.c
+++ b/drivers/wireless/bluetooth/bt_slip.c
@@ -698,7 +698,12 @@ static int bt_slip_send(FAR struct bt_driver_s *dev,
priv = (FAR struct sliphci_s *)dev;
- nxmutex_lock(&priv->sliplock);
+ ret = nxmutex_lock(&priv->sliplock);
+ if (ret < 0)
+ {
+ return ret;
+ }
+
if (bt_slip_unack_size(priv) >= priv->txwin)
{
bt_slip_send_ack(priv);
@@ -711,7 +716,11 @@ static int bt_slip_send(FAR struct bt_driver_s *dev,
{
nxmutex_unlock(&priv->sliplock);
nxsem_wait_uninterruptible(&priv->sem);
- nxmutex_lock(&priv->sliplock);
+ ret = nxmutex_lock(&priv->sliplock);
+ if (ret < 0)
+ {
+ return ret;
+ }
}
}
@@ -767,6 +776,7 @@ static int bt_slip_receive(FAR struct bt_driver_s *drv,
uint16_t checksum;
size_t remaining;
uint8_t state;
+ int ret;
enum
{
PACKET_START,
@@ -776,7 +786,12 @@ static int bt_slip_receive(FAR struct bt_driver_s *drv,
PACKET_END,
};
- nxmutex_lock(&priv->sliplock);
+ ret = nxmutex_lock(&priv->sliplock);
+ if (ret < 0)
+ {
+ return ret;
+ }
+
for (packet = data, cursor = data, header = data, state = PACKET_START;
packet < (FAR uint8_t *)data + len; packet++)
{