mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-01-29 12:32:54 +00:00
l2cap: push state check into l2cap_handle_disconnect_request
This commit is contained in:
parent
42bd3d7789
commit
1dbbb889f1
24
src/l2cap.c
24
src/l2cap.c
@ -2495,6 +2495,17 @@ static void l2cap_register_signaling_response(hci_con_handle_t handle, uint8_t c
|
|||||||
|
|
||||||
#ifdef ENABLE_CLASSIC
|
#ifdef ENABLE_CLASSIC
|
||||||
static void l2cap_handle_disconnect_request(l2cap_channel_t *channel, uint16_t identifier){
|
static void l2cap_handle_disconnect_request(l2cap_channel_t *channel, uint16_t identifier){
|
||||||
|
switch (channel->state){
|
||||||
|
case L2CAP_STATE_CONFIG:
|
||||||
|
case L2CAP_STATE_OPEN:
|
||||||
|
case L2CAP_STATE_WILL_SEND_DISCONNECT_REQUEST:
|
||||||
|
case L2CAP_STATE_WAIT_DISCONNECT:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// ignore in other states
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
channel->remote_sig_id = identifier;
|
channel->remote_sig_id = identifier;
|
||||||
channel->state = L2CAP_STATE_WILL_SEND_DISCONNECT_RESPONSE;
|
channel->state = L2CAP_STATE_WILL_SEND_DISCONNECT_RESPONSE;
|
||||||
l2cap_run();
|
l2cap_run();
|
||||||
@ -2761,18 +2772,7 @@ static void l2cap_signaling_handler_channel(l2cap_channel_t *channel, uint8_t *c
|
|||||||
|
|
||||||
// handle DISCONNECT REQUESTS seperately
|
// handle DISCONNECT REQUESTS seperately
|
||||||
if (code == DISCONNECTION_REQUEST){
|
if (code == DISCONNECTION_REQUEST){
|
||||||
switch (channel->state){
|
l2cap_handle_disconnect_request(channel, identifier);
|
||||||
case L2CAP_STATE_CONFIG:
|
|
||||||
case L2CAP_STATE_OPEN:
|
|
||||||
case L2CAP_STATE_WILL_SEND_DISCONNECT_REQUEST:
|
|
||||||
case L2CAP_STATE_WAIT_DISCONNECT:
|
|
||||||
l2cap_handle_disconnect_request(channel, identifier);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
// ignore in other states
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user