From 8ed5c2eaa43549cdf33fc627c459966ef9d74629 Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Fri, 8 Apr 2016 16:08:32 +0200 Subject: [PATCH] rfcomm: improve rfcomm_channel_ready_to_send --- src/classic/rfcomm.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/classic/rfcomm.c b/src/classic/rfcomm.c index faa21ae7a..ee988e8d3 100644 --- a/src/classic/rfcomm.c +++ b/src/classic/rfcomm.c @@ -1648,6 +1648,16 @@ static int rfcomm_channel_ready_to_send(rfcomm_channel_t * channel){ return 1; } break; + case RFCOMM_CHANNEL_DLC_SETUP: + if (channel->state_var & ( + RFCOMM_CHANNEL_STATE_VAR_SEND_MSC_CMD | + RFCOMM_CHANNEL_STATE_VAR_SEND_CREDITS + )) { + log_debug("ch-ready: channel dlc setup & send msc cmd or send credits") ; + return 1; + } + break; + default: break; } @@ -1657,9 +1667,7 @@ static int rfcomm_channel_ready_to_send(rfcomm_channel_t * channel){ RFCOMM_CHANNEL_STATE_VAR_SEND_RPN_INFO | RFCOMM_CHANNEL_STATE_VAR_SEND_RPN_RSP | RFCOMM_CHANNEL_STATE_VAR_SEND_UA | - RFCOMM_CHANNEL_STATE_VAR_SEND_MSC_CMD | - RFCOMM_CHANNEL_STATE_VAR_SEND_MSC_RSP | - RFCOMM_CHANNEL_STATE_VAR_SEND_CREDITS + RFCOMM_CHANNEL_STATE_VAR_SEND_MSC_RSP )){ log_debug("ch-ready: state %x, state var %x", channel->state, channel->state_var); return 1;