Skip to content

Commit af843eb

Browse files
chengkai15xiaoxiang781216
authored andcommitted
bluetooth: check work_available with retxworker
retxworker would delay when there are many tx hci data Signed-off-by: chengkai <[email protected]>
1 parent 946dad5 commit af843eb

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

drivers/wireless/bluetooth/bt_slip.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -750,8 +750,12 @@ static int bt_slip_send(FAR struct bt_driver_s *dev,
750750
frame->type = type;
751751
frame->pktlen = len;
752752
memcpy(frame->data, data, len);
753-
work_queue(HPWORK, &priv->retxworker, bt_slip_retx_work,
754-
priv, BT_SLIP_RTX_TIMEOUT);
753+
754+
if (work_available(&priv->retxworker))
755+
{
756+
work_queue(HPWORK, &priv->retxworker, bt_slip_retx_work,
757+
priv, BT_SLIP_RTX_TIMEOUT);
758+
}
755759

756760
end:
757761
nxmutex_unlock(&priv->sliplock);

0 commit comments

Comments
 (0)