MCPcopy Create free account
hub / github.com/F-Stack/f-stack / ng_l2cap_con_fail

Function ng_l2cap_con_fail

freebsd/netgraph/bluetooth/l2cap/ng_l2cap_cmds.c:242–333  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

240 */
241
242void
243ng_l2cap_con_fail(ng_l2cap_con_p con, u_int16_t result)
244{
245 ng_l2cap_p l2cap = con->l2cap;
246 ng_l2cap_cmd_p cmd = NULL;
247 ng_l2cap_chan_p ch = NULL;
248
249 NG_L2CAP_INFO(
250"%s: %s - ACL connection failed, result=%d\n",
251 __func__, NG_NODE_NAME(l2cap->node), result);
252
253 /* Connection is dying */
254 con->flags |= NG_L2CAP_CON_DYING;
255
256 /* Clean command queue */
257 while (!TAILQ_EMPTY(&con->cmd_list)) {
258 cmd = TAILQ_FIRST(&con->cmd_list);
259
260 ng_l2cap_unlink_cmd(cmd);
261 if(cmd->flags & NG_L2CAP_CMD_PENDING)
262 ng_l2cap_command_untimeout(cmd);
263
264 KASSERT((cmd->con == con),
265("%s: %s - invalid connection pointer!\n",
266 __func__, NG_NODE_NAME(l2cap->node)));
267
268 switch (cmd->code) {
269 case NG_L2CAP_CMD_REJ:
270 case NG_L2CAP_DISCON_RSP:
271 case NG_L2CAP_ECHO_RSP:
272 case NG_L2CAP_INFO_RSP:
273 case NG_L2CAP_CMD_PARAM_UPDATE_RESPONSE:
274 break;
275
276 case NG_L2CAP_CON_REQ:
277 ng_l2cap_l2ca_con_rsp(cmd->ch, cmd->token, result, 0);
278 break;
279
280 case NG_L2CAP_CON_RSP:
281 if (cmd->ch != NULL)
282 ng_l2cap_l2ca_con_rsp_rsp(cmd->ch, cmd->token,
283 result);
284 break;
285
286 case NG_L2CAP_CFG_REQ:
287 case NG_L2CAP_CFG_RSP:
288 case NGM_L2CAP_L2CA_WRITE:
289 ng_l2cap_l2ca_discon_ind(cmd->ch);
290 break;
291
292 case NG_L2CAP_DISCON_REQ:
293 ng_l2cap_l2ca_discon_rsp(cmd->ch, cmd->token,
294 NG_L2CAP_SUCCESS);
295 break;
296
297 case NG_L2CAP_ECHO_REQ:
298 ng_l2cap_l2ca_ping_rsp(cmd->con, cmd->token,
299 result, NULL);

Callers 4

ng_l2cap_lp_con_cfmFunction · 0.85
ng_l2cap_lp_discon_indFunction · 0.85
ng_l2cap_cleanupFunction · 0.85

Calls 10

ng_l2cap_l2ca_con_rspFunction · 0.85
ng_l2cap_l2ca_discon_indFunction · 0.85
ng_l2cap_l2ca_discon_rspFunction · 0.85
ng_l2cap_l2ca_ping_rspFunction · 0.85
ng_l2cap_free_chanFunction · 0.85
ng_l2cap_free_conFunction · 0.85
panicFunction · 0.50

Tested by

no test coverage detected