Bluetooth: AVDTP: Add AVDTP_Timer & Handler
Added AVDTP_TIMER = 6secs for tracking sent Singalling Request. Timeout handler function added. Change-Id: I76ddcdcfba2b5e9317f66f9815e0d9d3f4cc87e7 Signed-off-by: Arun Jagadish <arun.jagadish@intel.com>
This commit is contained in:
parent
129a844d63
commit
71fdc901e3
1 changed files with 22 additions and 1 deletions
|
@ -55,15 +55,36 @@ static struct bt_avdtp_seid_lsep *lseps;
|
||||||
|
|
||||||
#define AVDTP_CHAN(_ch) CONTAINER_OF(_ch, struct bt_avdtp, br_chan.chan)
|
#define AVDTP_CHAN(_ch) CONTAINER_OF(_ch, struct bt_avdtp, br_chan.chan)
|
||||||
|
|
||||||
|
#define AVDTP_KWORK(_work) CONTAINER_OF(_work, struct bt_avdtp,\
|
||||||
|
req.timeout_work)
|
||||||
|
|
||||||
|
#define AVDTP_TIMEOUT K_SECONDS(6)
|
||||||
|
|
||||||
|
/* Timeout handler */
|
||||||
|
static void avdtp_timeout(struct k_work *work)
|
||||||
|
{
|
||||||
|
BT_DBG("Failed Signal_id = %d", (AVDTP_KWORK(work))->req.signal_id);
|
||||||
|
|
||||||
|
/* Gracefully Disconnect the Signalling and streaming L2cap chann*/
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/* L2CAP Interface callbacks */
|
/* L2CAP Interface callbacks */
|
||||||
void bt_avdtp_l2cap_connected(struct bt_l2cap_chan *chan)
|
void bt_avdtp_l2cap_connected(struct bt_l2cap_chan *chan)
|
||||||
{
|
{
|
||||||
|
struct bt_avdtp *session;
|
||||||
|
|
||||||
if (!chan) {
|
if (!chan) {
|
||||||
BT_ERR("Invalid AVDTP chan");
|
BT_ERR("Invalid AVDTP chan");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
BT_DBG("chan %p session %p", chan, AVDTP_CHAN(chan));
|
session = AVDTP_CHAN(chan);
|
||||||
|
BT_DBG("chan %p session %p", chan, session);
|
||||||
|
|
||||||
|
/* Init the timer */
|
||||||
|
k_delayed_work_init(&session->req.timeout_work, avdtp_timeout);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void bt_avdtp_l2cap_disconnected(struct bt_l2cap_chan *chan)
|
void bt_avdtp_l2cap_disconnected(struct bt_l2cap_chan *chan)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue