mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-03-28 19:20:54 +00:00
rfcomm: check state for rfcomm_disconnect
This commit is contained in:
parent
bae152386e
commit
dd2e590c4f
@ -2550,10 +2550,12 @@ uint8_t rfcomm_create_channel(btstack_packet_handler_t packet_handler, bd_addr_t
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint8_t rfcomm_disconnect(uint16_t rfcomm_cid){
|
uint8_t rfcomm_disconnect(uint16_t rfcomm_cid){
|
||||||
log_info("disconnect cid 0x%02x", rfcomm_cid);
|
|
||||||
rfcomm_channel_t * channel = rfcomm_channel_for_rfcomm_cid(rfcomm_cid);
|
rfcomm_channel_t * channel = rfcomm_channel_for_rfcomm_cid(rfcomm_cid);
|
||||||
if (!channel) return ERROR_CODE_UNKNOWN_CONNECTION_IDENTIFIER;
|
if (!channel) return ERROR_CODE_UNKNOWN_CONNECTION_IDENTIFIER;
|
||||||
|
|
||||||
|
if (channel->state != RFCOMM_CHANNEL_OPEN) return ERROR_CODE_COMMAND_DISALLOWED;
|
||||||
|
|
||||||
|
log_info("disconnect cid 0x%02x", rfcomm_cid);
|
||||||
channel->state = RFCOMM_CHANNEL_SEND_DISC;
|
channel->state = RFCOMM_CHANNEL_SEND_DISC;
|
||||||
l2cap_request_can_send_now_event(channel->multiplexer->l2cap_cid);
|
l2cap_request_can_send_now_event(channel->multiplexer->l2cap_cid);
|
||||||
return ERROR_CODE_SUCCESS;
|
return ERROR_CODE_SUCCESS;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user