Skip to content

Commit 946dad5

Browse files
chengkai15xiaoxiang781216
authored andcommitted
bluetooth: add nxmutex_lock check
Signed-off-by: chengkai <[email protected]>
1 parent 933841d commit 946dad5

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

drivers/wireless/bluetooth/bt_slip.c

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -698,7 +698,12 @@ static int bt_slip_send(FAR struct bt_driver_s *dev,
698698

699699
priv = (FAR struct sliphci_s *)dev;
700700

701-
nxmutex_lock(&priv->sliplock);
701+
ret = nxmutex_lock(&priv->sliplock);
702+
if (ret < 0)
703+
{
704+
return ret;
705+
}
706+
702707
if (bt_slip_unack_size(priv) >= priv->txwin)
703708
{
704709
bt_slip_send_ack(priv);
@@ -711,7 +716,11 @@ static int bt_slip_send(FAR struct bt_driver_s *dev,
711716
{
712717
nxmutex_unlock(&priv->sliplock);
713718
nxsem_wait_uninterruptible(&priv->sem);
714-
nxmutex_lock(&priv->sliplock);
719+
ret = nxmutex_lock(&priv->sliplock);
720+
if (ret < 0)
721+
{
722+
return ret;
723+
}
715724
}
716725
}
717726

@@ -767,6 +776,7 @@ static int bt_slip_receive(FAR struct bt_driver_s *drv,
767776
uint16_t checksum;
768777
size_t remaining;
769778
uint8_t state;
779+
int ret;
770780
enum
771781
{
772782
PACKET_START,
@@ -776,7 +786,12 @@ static int bt_slip_receive(FAR struct bt_driver_s *drv,
776786
PACKET_END,
777787
};
778788

779-
nxmutex_lock(&priv->sliplock);
789+
ret = nxmutex_lock(&priv->sliplock);
790+
if (ret < 0)
791+
{
792+
return ret;
793+
}
794+
780795
for (packet = data, cursor = data, header = data, state = PACKET_START;
781796
packet < (FAR uint8_t *)data + len; packet++)
782797
{

0 commit comments

Comments
 (0)