Linux Audio

Check our new training course

Loading...
   1/*
   2 * llc_c_st.c - This module contains state transition of connection component.
   3 *
   4 * Description of event functions and actions there is in 802.2 LLC standard,
   5 * or in "llc_c_ac.c" and "llc_c_ev.c" modules.
   6 *
   7 * Copyright (c) 1997 by Procom Technology, Inc.
   8 * 		 2001-2003 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
   9 *
  10 * This program can be redistributed or modified under the terms of the
  11 * GNU General Public License as published by the Free Software Foundation.
  12 * This program is distributed without any warranty or implied warranty
  13 * of merchantability or fitness for a particular purpose.
  14 *
  15 * See the GNU General Public License for more details.
  16 */
  17#include <linux/types.h>
  18#include <net/llc_if.h>
  19#include <net/llc_sap.h>
  20#include <net/llc_c_ev.h>
  21#include <net/llc_c_ac.h>
  22#include <net/llc_c_st.h>
  23
  24#define NONE NULL
  25
  26/* COMMON CONNECTION STATE transitions
  27 * Common transitions for
  28 * LLC_CONN_STATE_NORMAL,
  29 * LLC_CONN_STATE_BUSY,
  30 * LLC_CONN_STATE_REJ,
  31 * LLC_CONN_STATE_AWAIT,
  32 * LLC_CONN_STATE_AWAIT_BUSY and
  33 * LLC_CONN_STATE_AWAIT_REJ states
  34 */
  35/* State transitions for LLC_CONN_EV_DISC_REQ event */
  36static llc_conn_action_t llc_common_actions_1[] = {
  37	[0] = llc_conn_ac_send_disc_cmd_p_set_x,
  38	[1] = llc_conn_ac_start_ack_timer,
  39	[2] = llc_conn_ac_stop_other_timers,
  40	[3] = llc_conn_ac_set_retry_cnt_0,
  41	[4] = llc_conn_ac_set_cause_flag_1,
  42	[5] = NULL,
  43};
  44
  45static struct llc_conn_state_trans llc_common_state_trans_1 = {
  46	.ev	       = llc_conn_ev_disc_req,
  47	.next_state    = LLC_CONN_STATE_D_CONN,
  48	.ev_qualifiers = NONE,
  49	.ev_actions    = llc_common_actions_1,
  50};
  51
  52/* State transitions for LLC_CONN_EV_RESET_REQ event */
  53static llc_conn_action_t llc_common_actions_2[] = {
  54	[0] = llc_conn_ac_send_sabme_cmd_p_set_x,
  55	[1] = llc_conn_ac_start_ack_timer,
  56	[2] = llc_conn_ac_stop_other_timers,
  57	[3] = llc_conn_ac_set_retry_cnt_0,
  58	[4] = llc_conn_ac_set_cause_flag_1,
  59	[5] = NULL,
  60};
  61
  62static struct llc_conn_state_trans llc_common_state_trans_2 = {
  63	.ev	       = llc_conn_ev_rst_req,
  64	.next_state    = LLC_CONN_STATE_RESET,
  65	.ev_qualifiers = NONE,
  66	.ev_actions    = llc_common_actions_2,
  67};
  68
  69/* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event */
  70static llc_conn_action_t llc_common_actions_3[] = {
  71	[0] = llc_conn_ac_stop_all_timers,
  72	[1] = llc_conn_ac_set_vs_0,
  73	[2] = llc_conn_ac_set_vr_0,
  74	[3] = llc_conn_ac_send_ua_rsp_f_set_p,
  75	[4] = llc_conn_ac_rst_ind,
  76	[5] = llc_conn_ac_set_p_flag_0,
  77	[6] = llc_conn_ac_set_remote_busy_0,
  78	[7] = llc_conn_reset,
  79	[8] = NULL,
  80};
  81
  82static struct llc_conn_state_trans llc_common_state_trans_3 = {
  83	.ev	       = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
  84	.next_state    = LLC_CONN_STATE_NORMAL,
  85	.ev_qualifiers = NONE,
  86	.ev_actions    = llc_common_actions_3,
  87};
  88
  89/* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event */
  90static llc_conn_action_t llc_common_actions_4[] = {
  91	[0] = llc_conn_ac_stop_all_timers,
  92	[1] = llc_conn_ac_send_ua_rsp_f_set_p,
  93	[2] = llc_conn_ac_disc_ind,
  94	[3] = llc_conn_disc,
  95	[4] = NULL,
  96};
  97
  98static struct llc_conn_state_trans llc_common_state_trans_4 = {
  99	.ev	       = llc_conn_ev_rx_disc_cmd_pbit_set_x,
 100	.next_state    = LLC_CONN_STATE_ADM,
 101	.ev_qualifiers = NONE,
 102	.ev_actions    = llc_common_actions_4,
 103};
 104
 105/* State transitions for LLC_CONN_EV_RX_FRMR_RSP_Fbit_SET_X event */
 106static llc_conn_action_t llc_common_actions_5[] = {
 107	[0] = llc_conn_ac_send_sabme_cmd_p_set_x,
 108	[1] = llc_conn_ac_start_ack_timer,
 109	[2] = llc_conn_ac_stop_other_timers,
 110	[3] = llc_conn_ac_set_retry_cnt_0,
 111	[4] = llc_conn_ac_rst_ind,
 112	[5] = llc_conn_ac_set_cause_flag_0,
 113	[6] = llc_conn_reset,
 114	[7] = NULL,
 115};
 116
 117static struct llc_conn_state_trans llc_common_state_trans_5 = {
 118	.ev	       = llc_conn_ev_rx_frmr_rsp_fbit_set_x,
 119	.next_state    = LLC_CONN_STATE_RESET,
 120	.ev_qualifiers = NONE,
 121	.ev_actions    = llc_common_actions_5,
 122};
 123
 124/* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event */
 125static llc_conn_action_t llc_common_actions_6[] = {
 126	[0] = llc_conn_ac_disc_ind,
 127	[1] = llc_conn_ac_stop_all_timers,
 128	[2] = llc_conn_disc,
 129	[3] = NULL,
 130};
 131
 132static struct llc_conn_state_trans llc_common_state_trans_6 = {
 133	.ev	       = llc_conn_ev_rx_dm_rsp_fbit_set_x,
 134	.next_state    = LLC_CONN_STATE_ADM,
 135	.ev_qualifiers = NONE,
 136	.ev_actions    = llc_common_actions_6,
 137};
 138
 139/* State transitions for LLC_CONN_EV_RX_ZZZ_CMD_Pbit_SET_X_INVAL_Nr event */
 140static llc_conn_action_t llc_common_actions_7a[] = {
 141	[0] = llc_conn_ac_send_frmr_rsp_f_set_x,
 142	[1] = llc_conn_ac_start_ack_timer,
 143	[2] = llc_conn_ac_stop_other_timers,
 144	[3] = llc_conn_ac_set_retry_cnt_0,
 145	[4] = NULL,
 146};
 147
 148static struct llc_conn_state_trans llc_common_state_trans_7a = {
 149	.ev	       = llc_conn_ev_rx_zzz_cmd_pbit_set_x_inval_nr,
 150	.next_state    = LLC_CONN_STATE_ERROR,
 151	.ev_qualifiers = NONE,
 152	.ev_actions    = llc_common_actions_7a,
 153};
 154
 155/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_X_INVAL_Ns event */
 156static llc_conn_action_t llc_common_actions_7b[] = {
 157	[0] = llc_conn_ac_send_frmr_rsp_f_set_x,
 158	[1] = llc_conn_ac_start_ack_timer,
 159	[2] = llc_conn_ac_stop_other_timers,
 160	[3] = llc_conn_ac_set_retry_cnt_0,
 161	[4] = NULL,
 162};
 163
 164static struct llc_conn_state_trans llc_common_state_trans_7b = {
 165	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_x_inval_ns,
 166	.next_state    = LLC_CONN_STATE_ERROR,
 167	.ev_qualifiers = NONE,
 168	.ev_actions    = llc_common_actions_7b,
 169};
 170
 171/* State transitions for LLC_CONN_EV_RX_ZZZ_RSP_Fbit_SET_X_INVAL_Nr event */
 172static llc_conn_action_t llc_common_actions_8a[] = {
 173	[0] = llc_conn_ac_send_frmr_rsp_f_set_x,
 174	[1] = llc_conn_ac_start_ack_timer,
 175	[2] = llc_conn_ac_stop_other_timers,
 176	[3] = llc_conn_ac_set_retry_cnt_0,
 177	[4] = NULL,
 178};
 179
 180static struct llc_conn_state_trans llc_common_state_trans_8a = {
 181	.ev	       = llc_conn_ev_rx_zzz_rsp_fbit_set_x_inval_nr,
 182	.next_state    = LLC_CONN_STATE_ERROR,
 183	.ev_qualifiers = NONE,
 184	.ev_actions    = llc_common_actions_8a,
 185};
 186
 187/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_X_INVAL_Ns event */
 188static llc_conn_action_t llc_common_actions_8b[] = {
 189	[0] = llc_conn_ac_send_frmr_rsp_f_set_x,
 190	[1] = llc_conn_ac_start_ack_timer,
 191	[2] = llc_conn_ac_stop_other_timers,
 192	[3] = llc_conn_ac_set_retry_cnt_0,
 193	[4] = NULL,
 194};
 195
 196static struct llc_conn_state_trans llc_common_state_trans_8b = {
 197	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_x_inval_ns,
 198	.next_state    = LLC_CONN_STATE_ERROR,
 199	.ev_qualifiers = NONE,
 200	.ev_actions    = llc_common_actions_8b,
 201};
 202
 203/* State transitions for LLC_CONN_EV_RX_BAD_PDU event */
 204static llc_conn_action_t llc_common_actions_8c[] = {
 205	[0] = llc_conn_ac_send_frmr_rsp_f_set_x,
 206	[1] = llc_conn_ac_start_ack_timer,
 207	[2] = llc_conn_ac_stop_other_timers,
 208	[3] = llc_conn_ac_set_retry_cnt_0,
 209	[4] = NULL,
 210};
 211
 212static struct llc_conn_state_trans llc_common_state_trans_8c = {
 213	.ev	       = llc_conn_ev_rx_bad_pdu,
 214	.next_state    = LLC_CONN_STATE_ERROR,
 215	.ev_qualifiers = NONE,
 216	.ev_actions    = llc_common_actions_8c,
 217};
 218
 219/* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event */
 220static llc_conn_action_t llc_common_actions_9[] = {
 221	[0] = llc_conn_ac_send_frmr_rsp_f_set_x,
 222	[1] = llc_conn_ac_start_ack_timer,
 223	[2] = llc_conn_ac_stop_other_timers,
 224	[3] = llc_conn_ac_set_retry_cnt_0,
 225	[4] = NULL,
 226};
 227
 228static struct llc_conn_state_trans llc_common_state_trans_9 = {
 229	.ev	       = llc_conn_ev_rx_ua_rsp_fbit_set_x,
 230	.next_state    = LLC_CONN_STATE_ERROR,
 231	.ev_qualifiers = NONE,
 232	.ev_actions    = llc_common_actions_9,
 233};
 234
 235/* State transitions for LLC_CONN_EV_RX_XXX_RSP_Fbit_SET_1 event */
 236#if 0
 237static llc_conn_ev_qfyr_t llc_common_ev_qfyrs_10[] = {
 238	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
 239	[1] = NULL,
 240};
 241
 242static llc_conn_action_t llc_common_actions_10[] = {
 243	[0] = llc_conn_ac_send_frmr_rsp_f_set_x,
 244	[1] = llc_conn_ac_start_ack_timer,
 245	[2] = llc_conn_ac_stop_other_timers,
 246	[3] = llc_conn_ac_set_retry_cnt_0,
 247	[4] = NULL,
 248};
 249
 250static struct llc_conn_state_trans llc_common_state_trans_10 = {
 251	.ev	       = llc_conn_ev_rx_xxx_rsp_fbit_set_1,
 252	.next_state    = LLC_CONN_STATE_ERROR,
 253	.ev_qualifiers = llc_common_ev_qfyrs_10,
 254	.ev_actions    = llc_common_actions_10,
 255};
 256#endif
 257
 258/* State transitions for LLC_CONN_EV_P_TMR_EXP event */
 259static llc_conn_ev_qfyr_t llc_common_ev_qfyrs_11a[] = {
 260	[0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
 261	[1] = NULL,
 262};
 263
 264static llc_conn_action_t llc_common_actions_11a[] = {
 265	[0] = llc_conn_ac_send_sabme_cmd_p_set_x,
 266	[1] = llc_conn_ac_start_ack_timer,
 267	[2] = llc_conn_ac_stop_other_timers,
 268	[3] = llc_conn_ac_set_retry_cnt_0,
 269	[4] = llc_conn_ac_set_cause_flag_0,
 270	[5] = NULL,
 271};
 272
 273static struct llc_conn_state_trans llc_common_state_trans_11a = {
 274	.ev	       = llc_conn_ev_p_tmr_exp,
 275	.next_state    = LLC_CONN_STATE_RESET,
 276	.ev_qualifiers = llc_common_ev_qfyrs_11a,
 277	.ev_actions    = llc_common_actions_11a,
 278};
 279
 280/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
 281static llc_conn_ev_qfyr_t llc_common_ev_qfyrs_11b[] = {
 282	[0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
 283	[1] = NULL,
 284};
 285
 286static llc_conn_action_t llc_common_actions_11b[] = {
 287	[0] = llc_conn_ac_send_sabme_cmd_p_set_x,
 288	[1] = llc_conn_ac_start_ack_timer,
 289	[2] = llc_conn_ac_stop_other_timers,
 290	[3] = llc_conn_ac_set_retry_cnt_0,
 291	[4] = llc_conn_ac_set_cause_flag_0,
 292	[5] = NULL,
 293};
 294
 295static struct llc_conn_state_trans llc_common_state_trans_11b = {
 296	.ev	       = llc_conn_ev_ack_tmr_exp,
 297	.next_state    = LLC_CONN_STATE_RESET,
 298	.ev_qualifiers = llc_common_ev_qfyrs_11b,
 299	.ev_actions    = llc_common_actions_11b,
 300};
 301
 302/* State transitions for LLC_CONN_EV_REJ_TMR_EXP event */
 303static llc_conn_ev_qfyr_t llc_common_ev_qfyrs_11c[] = {
 304	[0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
 305	[1] = NULL,
 306};
 307
 308static llc_conn_action_t llc_common_actions_11c[] = {
 309	[0] = llc_conn_ac_send_sabme_cmd_p_set_x,
 310	[1] = llc_conn_ac_start_ack_timer,
 311	[2] = llc_conn_ac_stop_other_timers,
 312	[3] = llc_conn_ac_set_retry_cnt_0,
 313	[4] = llc_conn_ac_set_cause_flag_0,
 314	[5] = NULL,
 315};
 316
 317static struct llc_conn_state_trans llc_common_state_trans_11c = {
 318	.ev	       = llc_conn_ev_rej_tmr_exp,
 319	.next_state    = LLC_CONN_STATE_RESET,
 320	.ev_qualifiers = llc_common_ev_qfyrs_11c,
 321	.ev_actions    = llc_common_actions_11c,
 322};
 323
 324/* State transitions for LLC_CONN_EV_BUSY_TMR_EXP event */
 325static llc_conn_ev_qfyr_t llc_common_ev_qfyrs_11d[] = {
 326	[0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
 327	[1] = NULL,
 328};
 329
 330static llc_conn_action_t llc_common_actions_11d[] = {
 331	[0] = llc_conn_ac_send_sabme_cmd_p_set_x,
 332	[1] = llc_conn_ac_start_ack_timer,
 333	[2] = llc_conn_ac_stop_other_timers,
 334	[3] = llc_conn_ac_set_retry_cnt_0,
 335	[4] = llc_conn_ac_set_cause_flag_0,
 336	[5] = NULL,
 337};
 338
 339static struct llc_conn_state_trans llc_common_state_trans_11d = {
 340	.ev	       = llc_conn_ev_busy_tmr_exp,
 341	.next_state    = LLC_CONN_STATE_RESET,
 342	.ev_qualifiers = llc_common_ev_qfyrs_11d,
 343	.ev_actions    = llc_common_actions_11d,
 344};
 345
 346/*
 347 * Common dummy state transition; must be last entry for all state
 348 * transition groups - it'll be on .bss, so will be zeroed.
 349 */
 350static struct llc_conn_state_trans llc_common_state_trans_end;
 351
 352/* LLC_CONN_STATE_ADM transitions */
 353/* State transitions for LLC_CONN_EV_CONN_REQ event */
 354static llc_conn_action_t llc_adm_actions_1[] = {
 355	[0] = llc_conn_ac_send_sabme_cmd_p_set_x,
 356	[1] = llc_conn_ac_start_ack_timer,
 357	[2] = llc_conn_ac_set_retry_cnt_0,
 358	[3] = llc_conn_ac_set_s_flag_0,
 359	[4] = NULL,
 360};
 361
 362static struct llc_conn_state_trans llc_adm_state_trans_1 = {
 363	.ev	       = llc_conn_ev_conn_req,
 364	.next_state    = LLC_CONN_STATE_SETUP,
 365	.ev_qualifiers = NONE,
 366	.ev_actions    = llc_adm_actions_1,
 367};
 368
 369/* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event */
 370static llc_conn_action_t llc_adm_actions_2[] = {
 371	[0] = llc_conn_ac_send_ua_rsp_f_set_p,
 372	[1] = llc_conn_ac_set_vs_0,
 373	[2] = llc_conn_ac_set_vr_0,
 374	[3] = llc_conn_ac_set_retry_cnt_0,
 375	[4] = llc_conn_ac_set_p_flag_0,
 376	[5] = llc_conn_ac_set_remote_busy_0,
 377	[6] = llc_conn_ac_conn_ind,
 378	[7] = NULL,
 379};
 380
 381static struct llc_conn_state_trans llc_adm_state_trans_2 = {
 382	.ev	       = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
 383	.next_state    = LLC_CONN_STATE_NORMAL,
 384	.ev_qualifiers = NONE,
 385	.ev_actions    = llc_adm_actions_2,
 386};
 387
 388/* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event */
 389static llc_conn_action_t llc_adm_actions_3[] = {
 390	[0] = llc_conn_ac_send_dm_rsp_f_set_p,
 391	[1] = llc_conn_disc,
 392	[2] = NULL,
 393};
 394
 395static struct llc_conn_state_trans llc_adm_state_trans_3 = {
 396	.ev	       = llc_conn_ev_rx_disc_cmd_pbit_set_x,
 397	.next_state    = LLC_CONN_STATE_ADM,
 398	.ev_qualifiers = NONE,
 399	.ev_actions    = llc_adm_actions_3,
 400};
 401
 402/* State transitions for LLC_CONN_EV_RX_XXX_CMD_Pbit_SET_1 event */
 403static llc_conn_action_t llc_adm_actions_4[] = {
 404	[0] = llc_conn_ac_send_dm_rsp_f_set_1,
 405	[1] = llc_conn_disc,
 406	[2] = NULL,
 407};
 408
 409static struct llc_conn_state_trans llc_adm_state_trans_4 = {
 410	.ev	       = llc_conn_ev_rx_xxx_cmd_pbit_set_1,
 411	.next_state    = LLC_CONN_STATE_ADM,
 412	.ev_qualifiers = NONE,
 413	.ev_actions    = llc_adm_actions_4,
 414};
 415
 416/* State transitions for LLC_CONN_EV_RX_XXX_YYY event */
 417static llc_conn_action_t llc_adm_actions_5[] = {
 418	[0] = llc_conn_disc,
 419	[1] = NULL,
 420};
 421
 422static struct llc_conn_state_trans llc_adm_state_trans_5 = {
 423	.ev	       = llc_conn_ev_rx_any_frame,
 424	.next_state    = LLC_CONN_OUT_OF_SVC,
 425	.ev_qualifiers = NONE,
 426	.ev_actions    = llc_adm_actions_5,
 427};
 428
 429/*
 430 * Array of pointers;
 431 * one to each transition
 432 */
 433static struct llc_conn_state_trans *llc_adm_state_transitions[] = {
 434	[0] = &llc_adm_state_trans_1,		/* Request */
 435	[1] = &llc_common_state_trans_end,
 436	[2] = &llc_common_state_trans_end,	/* local_busy */
 437	[3] = &llc_common_state_trans_end,	/* init_pf_cycle */
 438	[4] = &llc_common_state_trans_end,	/* timer */
 439	[5] = &llc_adm_state_trans_2,		/* Receive frame */
 440	[6] = &llc_adm_state_trans_3,
 441	[7] = &llc_adm_state_trans_4,
 442	[8] = &llc_adm_state_trans_5,
 443	[9] = &llc_common_state_trans_end,
 444};
 445
 446/* LLC_CONN_STATE_SETUP transitions */
 447/* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event */
 448static llc_conn_action_t llc_setup_actions_1[] = {
 449	[0] = llc_conn_ac_send_ua_rsp_f_set_p,
 450	[1] = llc_conn_ac_set_vs_0,
 451	[2] = llc_conn_ac_set_vr_0,
 452	[3] = llc_conn_ac_set_s_flag_1,
 453	[4] = NULL,
 454};
 455
 456static struct llc_conn_state_trans llc_setup_state_trans_1 = {
 457	.ev	       = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
 458	.next_state    = LLC_CONN_STATE_SETUP,
 459	.ev_qualifiers = NONE,
 460	.ev_actions    = llc_setup_actions_1,
 461};
 462
 463/* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event */
 464static llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_2[] = {
 465	[0] = llc_conn_ev_qlfy_p_flag_eq_f,
 466	[1] = llc_conn_ev_qlfy_set_status_conn,
 467	[2] = NULL,
 468};
 469
 470static llc_conn_action_t llc_setup_actions_2[] = {
 471	[0] = llc_conn_ac_stop_ack_timer,
 472	[1] = llc_conn_ac_set_vs_0,
 473	[2] = llc_conn_ac_set_vr_0,
 474	[3] = llc_conn_ac_upd_p_flag,
 475	[4] = llc_conn_ac_set_remote_busy_0,
 476	[5] = llc_conn_ac_conn_confirm,
 477	[6] = NULL,
 478};
 479
 480static struct llc_conn_state_trans llc_setup_state_trans_2 = {
 481	.ev	       = llc_conn_ev_rx_ua_rsp_fbit_set_x,
 482	.next_state    = LLC_CONN_STATE_NORMAL,
 483	.ev_qualifiers = llc_setup_ev_qfyrs_2,
 484	.ev_actions    = llc_setup_actions_2,
 485};
 486
 487/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
 488static llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_3[] = {
 489	[0] = llc_conn_ev_qlfy_s_flag_eq_1,
 490	[1] = llc_conn_ev_qlfy_set_status_conn,
 491	[2] = NULL,
 492};
 493
 494static llc_conn_action_t llc_setup_actions_3[] = {
 495	[0] = llc_conn_ac_set_p_flag_0,
 496	[1] = llc_conn_ac_set_remote_busy_0,
 497	[2] = llc_conn_ac_conn_confirm,
 498	[3] = NULL,
 499};
 500
 501static struct llc_conn_state_trans llc_setup_state_trans_3 = {
 502	.ev	       = llc_conn_ev_ack_tmr_exp,
 503	.next_state    = LLC_CONN_STATE_NORMAL,
 504	.ev_qualifiers = llc_setup_ev_qfyrs_3,
 505	.ev_actions    = llc_setup_actions_3,
 506};
 507
 508/* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event */
 509static llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_4[] = {
 510	[0] = llc_conn_ev_qlfy_set_status_disc,
 511	[1] = NULL,
 512};
 513
 514static llc_conn_action_t llc_setup_actions_4[] = {
 515	[0] = llc_conn_ac_send_dm_rsp_f_set_p,
 516	[1] = llc_conn_ac_stop_ack_timer,
 517	[2] = llc_conn_ac_conn_confirm,
 518	[3] = llc_conn_disc,
 519	[4] = NULL,
 520};
 521
 522static struct llc_conn_state_trans llc_setup_state_trans_4 = {
 523	.ev	       = llc_conn_ev_rx_disc_cmd_pbit_set_x,
 524	.next_state    = LLC_CONN_STATE_ADM,
 525	.ev_qualifiers = llc_setup_ev_qfyrs_4,
 526	.ev_actions    = llc_setup_actions_4,
 527};
 528
 529/* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event */
 530static llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_5[] = {
 531	[0] = llc_conn_ev_qlfy_set_status_disc,
 532	[1] = NULL,
 533};
 534
 535static llc_conn_action_t llc_setup_actions_5[] = {
 536	[0] = llc_conn_ac_stop_ack_timer,
 537	[1] = llc_conn_ac_conn_confirm,
 538	[2] = llc_conn_disc,
 539	[3] = NULL,
 540};
 541
 542static struct llc_conn_state_trans llc_setup_state_trans_5 = {
 543	.ev	       = llc_conn_ev_rx_dm_rsp_fbit_set_x,
 544	.next_state    = LLC_CONN_STATE_ADM,
 545	.ev_qualifiers = llc_setup_ev_qfyrs_5,
 546	.ev_actions    = llc_setup_actions_5,
 547};
 548
 549/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
 550static llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_7[] = {
 551	[0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
 552	[1] = llc_conn_ev_qlfy_s_flag_eq_0,
 553	[2] = NULL,
 554};
 555
 556static llc_conn_action_t llc_setup_actions_7[] = {
 557	[0] = llc_conn_ac_send_sabme_cmd_p_set_x,
 558	[1] = llc_conn_ac_start_ack_timer,
 559	[2] = llc_conn_ac_inc_retry_cnt_by_1,
 560	[3] = NULL,
 561};
 562
 563static struct llc_conn_state_trans llc_setup_state_trans_7 = {
 564	.ev	       = llc_conn_ev_ack_tmr_exp,
 565	.next_state    = LLC_CONN_STATE_SETUP,
 566	.ev_qualifiers = llc_setup_ev_qfyrs_7,
 567	.ev_actions    = llc_setup_actions_7,
 568};
 569
 570/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
 571static llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_8[] = {
 572	[0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
 573	[1] = llc_conn_ev_qlfy_s_flag_eq_0,
 574	[2] = llc_conn_ev_qlfy_set_status_failed,
 575	[3] = NULL,
 576};
 577
 578static llc_conn_action_t llc_setup_actions_8[] = {
 579	[0] = llc_conn_ac_conn_confirm,
 580	[1] = llc_conn_disc,
 581	[2] = NULL,
 582};
 583
 584static struct llc_conn_state_trans llc_setup_state_trans_8 = {
 585	.ev	       = llc_conn_ev_ack_tmr_exp,
 586	.next_state    = LLC_CONN_STATE_ADM,
 587	.ev_qualifiers = llc_setup_ev_qfyrs_8,
 588	.ev_actions    = llc_setup_actions_8,
 589};
 590
 591/*
 592 * Array of pointers;
 593 * one to each transition
 594 */
 595static struct llc_conn_state_trans *llc_setup_state_transitions[] = {
 596	 [0] = &llc_common_state_trans_end,	/* Request */
 597	 [1] = &llc_common_state_trans_end,	/* local busy */
 598	 [2] = &llc_common_state_trans_end,	/* init_pf_cycle */
 599	 [3] = &llc_setup_state_trans_3,	/* Timer */
 600	 [4] = &llc_setup_state_trans_7,
 601	 [5] = &llc_setup_state_trans_8,
 602	 [6] = &llc_common_state_trans_end,
 603	 [7] = &llc_setup_state_trans_1,	/* Receive frame */
 604	 [8] = &llc_setup_state_trans_2,
 605	 [9] = &llc_setup_state_trans_4,
 606	[10] = &llc_setup_state_trans_5,
 607	[11] = &llc_common_state_trans_end,
 608};
 609
 610/* LLC_CONN_STATE_NORMAL transitions */
 611/* State transitions for LLC_CONN_EV_DATA_REQ event */
 612static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_1[] = {
 613	[0] = llc_conn_ev_qlfy_remote_busy_eq_0,
 614	[1] = llc_conn_ev_qlfy_p_flag_eq_0,
 615	[2] = llc_conn_ev_qlfy_last_frame_eq_0,
 616	[3] = NULL,
 617};
 618
 619static llc_conn_action_t llc_normal_actions_1[] = {
 620	[0] = llc_conn_ac_send_i_as_ack,
 621	[1] = llc_conn_ac_start_ack_tmr_if_not_running,
 622	[2] = NULL,
 623};
 624
 625static struct llc_conn_state_trans llc_normal_state_trans_1 = {
 626	.ev	       = llc_conn_ev_data_req,
 627	.next_state    = LLC_CONN_STATE_NORMAL,
 628	.ev_qualifiers = llc_normal_ev_qfyrs_1,
 629	.ev_actions    = llc_normal_actions_1,
 630};
 631
 632/* State transitions for LLC_CONN_EV_DATA_REQ event */
 633static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_2[] = {
 634	[0] = llc_conn_ev_qlfy_remote_busy_eq_0,
 635	[1] = llc_conn_ev_qlfy_p_flag_eq_0,
 636	[2] = llc_conn_ev_qlfy_last_frame_eq_1,
 637	[3] = NULL,
 638};
 639
 640static llc_conn_action_t llc_normal_actions_2[] = {
 641	[0] = llc_conn_ac_send_i_cmd_p_set_1,
 642	[1] = llc_conn_ac_start_p_timer,
 643	[2] = NULL,
 644};
 645
 646static struct llc_conn_state_trans llc_normal_state_trans_2 = {
 647	.ev	       = llc_conn_ev_data_req,
 648	.next_state    = LLC_CONN_STATE_NORMAL,
 649	.ev_qualifiers = llc_normal_ev_qfyrs_2,
 650	.ev_actions    = llc_normal_actions_2,
 651};
 652
 653/* State transitions for LLC_CONN_EV_DATA_REQ event */
 654static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_2_1[] = {
 655	[0] = llc_conn_ev_qlfy_remote_busy_eq_1,
 656	[1] = llc_conn_ev_qlfy_set_status_remote_busy,
 657	[2] = NULL,
 658};
 659
 660/* just one member, NULL, .bss zeroes it */
 661static llc_conn_action_t llc_normal_actions_2_1[1];
 662
 663static struct llc_conn_state_trans llc_normal_state_trans_2_1 = {
 664	.ev	       = llc_conn_ev_data_req,
 665	.next_state    = LLC_CONN_STATE_NORMAL,
 666	.ev_qualifiers = llc_normal_ev_qfyrs_2_1,
 667	.ev_actions    = llc_normal_actions_2_1,
 668};
 669
 670/* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */
 671static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_3[] = {
 672	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
 673	[1] = NULL,
 674};
 675
 676static llc_conn_action_t llc_normal_actions_3[] = {
 677	[0] = llc_conn_ac_rst_sendack_flag,
 678	[1] = llc_conn_ac_send_rnr_xxx_x_set_0,
 679	[2] = llc_conn_ac_set_data_flag_0,
 680	[3] = NULL,
 681};
 682
 683static struct llc_conn_state_trans llc_normal_state_trans_3 = {
 684	.ev	       = llc_conn_ev_local_busy_detected,
 685	.next_state    = LLC_CONN_STATE_BUSY,
 686	.ev_qualifiers = llc_normal_ev_qfyrs_3,
 687	.ev_actions    = llc_normal_actions_3,
 688};
 689
 690/* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */
 691static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_4[] = {
 692	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
 693	[1] = NULL,
 694};
 695
 696static llc_conn_action_t llc_normal_actions_4[] = {
 697	[0] = llc_conn_ac_rst_sendack_flag,
 698	[1] = llc_conn_ac_send_rnr_xxx_x_set_0,
 699	[2] = llc_conn_ac_set_data_flag_0,
 700	[3] = NULL,
 701};
 702
 703static struct llc_conn_state_trans llc_normal_state_trans_4 = {
 704	.ev	       = llc_conn_ev_local_busy_detected,
 705	.next_state    = LLC_CONN_STATE_BUSY,
 706	.ev_qualifiers = llc_normal_ev_qfyrs_4,
 707	.ev_actions    = llc_normal_actions_4,
 708};
 709
 710/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
 711static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_5a[] = {
 712	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
 713	[1] = NULL,
 714};
 715
 716static llc_conn_action_t llc_normal_actions_5a[] = {
 717	[0] = llc_conn_ac_rst_sendack_flag,
 718	[1] = llc_conn_ac_send_rej_xxx_x_set_0,
 719	[2] = llc_conn_ac_upd_nr_received,
 720	[3] = llc_conn_ac_upd_p_flag,
 721	[4] = llc_conn_ac_start_rej_timer,
 722	[5] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
 723	[6] = NULL,
 724};
 725
 726static struct llc_conn_state_trans llc_normal_state_trans_5a = {
 727	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
 728	.next_state    = LLC_CONN_STATE_REJ,
 729	.ev_qualifiers = llc_normal_ev_qfyrs_5a,
 730	.ev_actions    = llc_normal_actions_5a,
 731};
 732
 733/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
 734static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_5b[] = {
 735	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
 736	[1] = NULL,
 737};
 738
 739static llc_conn_action_t llc_normal_actions_5b[] = {
 740	[0] = llc_conn_ac_rst_sendack_flag,
 741	[1] = llc_conn_ac_send_rej_xxx_x_set_0,
 742	[2] = llc_conn_ac_upd_nr_received,
 743	[3] = llc_conn_ac_upd_p_flag,
 744	[4] = llc_conn_ac_start_rej_timer,
 745	[5] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
 746	[6] = NULL,
 747};
 748
 749static struct llc_conn_state_trans llc_normal_state_trans_5b = {
 750	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
 751	.next_state    = LLC_CONN_STATE_REJ,
 752	.ev_qualifiers = llc_normal_ev_qfyrs_5b,
 753	.ev_actions    = llc_normal_actions_5b,
 754};
 755
 756/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1_UNEXPD_Ns event */
 757static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_5c[] = {
 758	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
 759	[1] = NULL,
 760};
 761
 762static llc_conn_action_t llc_normal_actions_5c[] = {
 763	[0] = llc_conn_ac_rst_sendack_flag,
 764	[1] = llc_conn_ac_send_rej_xxx_x_set_0,
 765	[2] = llc_conn_ac_upd_nr_received,
 766	[3] = llc_conn_ac_upd_p_flag,
 767	[4] = llc_conn_ac_start_rej_timer,
 768	[5] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
 769	[6] = NULL,
 770};
 771
 772static struct llc_conn_state_trans llc_normal_state_trans_5c = {
 773	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns,
 774	.next_state    = LLC_CONN_STATE_REJ,
 775	.ev_qualifiers = llc_normal_ev_qfyrs_5c,
 776	.ev_actions    = llc_normal_actions_5c,
 777};
 778
 779/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
 780static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_6a[] = {
 781	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
 782	[1] = NULL,
 783};
 784
 785static llc_conn_action_t llc_normal_actions_6a[] = {
 786	[0] = llc_conn_ac_rst_sendack_flag,
 787	[1] = llc_conn_ac_send_rej_xxx_x_set_0,
 788	[2] = llc_conn_ac_upd_nr_received,
 789	[3] = llc_conn_ac_start_rej_timer,
 790	[4] = NULL,
 791};
 792
 793static struct llc_conn_state_trans llc_normal_state_trans_6a = {
 794	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
 795	.next_state    = LLC_CONN_STATE_REJ,
 796	.ev_qualifiers = llc_normal_ev_qfyrs_6a,
 797	.ev_actions    = llc_normal_actions_6a,
 798};
 799
 800/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
 801static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_6b[] = {
 802	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
 803	[1] = NULL,
 804};
 805
 806static llc_conn_action_t llc_normal_actions_6b[] = {
 807	[0] = llc_conn_ac_rst_sendack_flag,
 808	[1] = llc_conn_ac_send_rej_xxx_x_set_0,
 809	[2] = llc_conn_ac_upd_nr_received,
 810	[3] = llc_conn_ac_start_rej_timer,
 811	[4] = NULL,
 812};
 813
 814static struct llc_conn_state_trans llc_normal_state_trans_6b = {
 815	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
 816	.next_state    = LLC_CONN_STATE_REJ,
 817	.ev_qualifiers = llc_normal_ev_qfyrs_6b,
 818	.ev_actions    = llc_normal_actions_6b,
 819};
 820
 821/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */
 822static llc_conn_action_t llc_normal_actions_7[] = {
 823	[0] = llc_conn_ac_rst_sendack_flag,
 824	[1] = llc_conn_ac_send_rej_rsp_f_set_1,
 825	[2] = llc_conn_ac_upd_nr_received,
 826	[3] = llc_conn_ac_start_rej_timer,
 827	[4] = NULL,
 828};
 829
 830static struct llc_conn_state_trans llc_normal_state_trans_7 = {
 831	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,
 832	.next_state    = LLC_CONN_STATE_REJ,
 833	.ev_qualifiers = NONE,
 834	.ev_actions    = llc_normal_actions_7,
 835};
 836
 837/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_X event */
 838static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_8a[] = {
 839	[0] = llc_conn_ev_qlfy_p_flag_eq_f,
 840	[1] = NULL,
 841};
 842
 843static llc_conn_action_t llc_normal_actions_8[] = {
 844	[0] = llc_conn_ac_inc_vr_by_1,
 845	[1] = llc_conn_ac_data_ind,
 846	[2] = llc_conn_ac_upd_p_flag,
 847	[3] = llc_conn_ac_upd_nr_received,
 848	[4] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
 849	[5] = llc_conn_ac_send_ack_if_needed,
 850	[6] = NULL,
 851};
 852
 853static struct llc_conn_state_trans llc_normal_state_trans_8a = {
 854	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_x,
 855	.next_state    = LLC_CONN_STATE_NORMAL,
 856	.ev_qualifiers = llc_normal_ev_qfyrs_8a,
 857	.ev_actions    = llc_normal_actions_8,
 858};
 859
 860/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
 861static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_8b[] = {
 862	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
 863	[1] = NULL,
 864};
 865
 866static struct llc_conn_state_trans llc_normal_state_trans_8b = {
 867	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0,
 868	.next_state    = LLC_CONN_STATE_NORMAL,
 869	.ev_qualifiers = llc_normal_ev_qfyrs_8b,
 870	.ev_actions    = llc_normal_actions_8,
 871};
 872
 873/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 event */
 874static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_9a[] = {
 875	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
 876	[1] = NULL,
 877};
 878
 879static llc_conn_action_t llc_normal_actions_9a[] = {
 880	[0] = llc_conn_ac_inc_vr_by_1,
 881	[1] = llc_conn_ac_upd_nr_received,
 882	[2] = llc_conn_ac_data_ind,
 883	[3] = llc_conn_ac_send_ack_if_needed,
 884	[4] = NULL,
 885};
 886
 887static struct llc_conn_state_trans llc_normal_state_trans_9a = {
 888	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_0,
 889	.next_state    = LLC_CONN_STATE_NORMAL,
 890	.ev_qualifiers = llc_normal_ev_qfyrs_9a,
 891	.ev_actions    = llc_normal_actions_9a,
 892};
 893
 894/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
 895static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_9b[] = {
 896	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
 897	[1] = NULL,
 898};
 899
 900static llc_conn_action_t llc_normal_actions_9b[] = {
 901	[0] = llc_conn_ac_inc_vr_by_1,
 902	[1] = llc_conn_ac_upd_nr_received,
 903	[2] = llc_conn_ac_data_ind,
 904	[3] = llc_conn_ac_send_ack_if_needed,
 905	[4] = NULL,
 906};
 907
 908static struct llc_conn_state_trans llc_normal_state_trans_9b = {
 909	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0,
 910	.next_state    = LLC_CONN_STATE_NORMAL,
 911	.ev_qualifiers = llc_normal_ev_qfyrs_9b,
 912	.ev_actions    = llc_normal_actions_9b,
 913};
 914
 915/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 event */
 916static llc_conn_action_t llc_normal_actions_10[] = {
 917	[0] = llc_conn_ac_inc_vr_by_1,
 918	[1] = llc_conn_ac_send_ack_rsp_f_set_1,
 919	[2] = llc_conn_ac_rst_sendack_flag,
 920	[3] = llc_conn_ac_upd_nr_received,
 921	[4] = llc_conn_ac_data_ind,
 922	[5] = NULL,
 923};
 924
 925static struct llc_conn_state_trans llc_normal_state_trans_10 = {
 926	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_1,
 927	.next_state    = LLC_CONN_STATE_NORMAL,
 928	.ev_qualifiers = NONE,
 929	.ev_actions    = llc_normal_actions_10,
 930};
 931
 932/* State transitions for * LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 event */
 933static llc_conn_action_t llc_normal_actions_11a[] = {
 934	[0] = llc_conn_ac_upd_p_flag,
 935	[1] = llc_conn_ac_upd_nr_received,
 936	[2] = llc_conn_ac_clear_remote_busy,
 937	[3] = NULL,
 938};
 939
 940static struct llc_conn_state_trans llc_normal_state_trans_11a = {
 941	.ev	       = llc_conn_ev_rx_rr_cmd_pbit_set_0,
 942	.next_state    = LLC_CONN_STATE_NORMAL,
 943	.ev_qualifiers = NONE,
 944	.ev_actions    = llc_normal_actions_11a,
 945};
 946
 947/* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 event */
 948static llc_conn_action_t llc_normal_actions_11b[] = {
 949	[0] = llc_conn_ac_upd_p_flag,
 950	[1] = llc_conn_ac_upd_nr_received,
 951	[2] = llc_conn_ac_clear_remote_busy,
 952	[3] = NULL,
 953};
 954
 955static struct llc_conn_state_trans llc_normal_state_trans_11b = {
 956	.ev	       = llc_conn_ev_rx_rr_rsp_fbit_set_0,
 957	.next_state    = LLC_CONN_STATE_NORMAL,
 958	.ev_qualifiers = NONE,
 959	.ev_actions    = llc_normal_actions_11b,
 960};
 961
 962/* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 event */
 963static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_11c[] = {
 964	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
 965	[1] = NULL,
 966};
 967
 968static llc_conn_action_t llc_normal_actions_11c[] = {
 969	[0] = llc_conn_ac_upd_p_flag,
 970	[1] = llc_conn_ac_upd_nr_received,
 971	[2] = llc_conn_ac_inc_tx_win_size,
 972	[3] = llc_conn_ac_clear_remote_busy,
 973	[4] = NULL,
 974};
 975
 976static struct llc_conn_state_trans llc_normal_state_trans_11c = {
 977	.ev	       = llc_conn_ev_rx_rr_rsp_fbit_set_1,
 978	.next_state    = LLC_CONN_STATE_NORMAL,
 979	.ev_qualifiers = llc_normal_ev_qfyrs_11c,
 980	.ev_actions    = llc_normal_actions_11c,
 981};
 982
 983/* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 event */
 984static llc_conn_action_t llc_normal_actions_12[] = {
 985	[0] = llc_conn_ac_send_ack_rsp_f_set_1,
 986	[1] = llc_conn_ac_upd_nr_received,
 987	[2] = llc_conn_ac_adjust_npta_by_rr,
 988	[3] = llc_conn_ac_rst_sendack_flag,
 989	[4] = llc_conn_ac_clear_remote_busy,
 990	[5] = NULL,
 991};
 992
 993static struct llc_conn_state_trans llc_normal_state_trans_12 = {
 994	.ev	       = llc_conn_ev_rx_rr_cmd_pbit_set_1,
 995	.next_state    = LLC_CONN_STATE_NORMAL,
 996	.ev_qualifiers = NONE,
 997	.ev_actions    = llc_normal_actions_12,
 998};
 999
1000/* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 event */
1001static llc_conn_action_t llc_normal_actions_13a[] = {
1002	[0] = llc_conn_ac_upd_p_flag,
1003	[1] = llc_conn_ac_upd_nr_received,
1004	[2] = llc_conn_ac_set_remote_busy,
1005	[3] = NULL,
1006};
1007
1008static struct llc_conn_state_trans llc_normal_state_trans_13a = {
1009	.ev	       = llc_conn_ev_rx_rnr_cmd_pbit_set_0,
1010	.next_state    = LLC_CONN_STATE_NORMAL,
1011	.ev_qualifiers = NONE,
1012	.ev_actions    = llc_normal_actions_13a,
1013};
1014
1015/* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 event */
1016static llc_conn_action_t llc_normal_actions_13b[] = {
1017	[0] = llc_conn_ac_upd_p_flag,
1018	[1] = llc_conn_ac_upd_nr_received,
1019	[2] = llc_conn_ac_set_remote_busy,
1020	[3] = NULL,
1021};
1022
1023static struct llc_conn_state_trans llc_normal_state_trans_13b = {
1024	.ev	       = llc_conn_ev_rx_rnr_rsp_fbit_set_0,
1025	.next_state    = LLC_CONN_STATE_NORMAL,
1026	.ev_qualifiers = NONE,
1027	.ev_actions    = llc_normal_actions_13b,
1028};
1029
1030/* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 event */
1031static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_13c[] = {
1032	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
1033	[1] = NULL,
1034};
1035
1036static llc_conn_action_t llc_normal_actions_13c[] = {
1037	[0] = llc_conn_ac_upd_p_flag,
1038	[1] = llc_conn_ac_upd_nr_received,
1039	[2] = llc_conn_ac_set_remote_busy,
1040	[3] = NULL,
1041};
1042
1043static struct llc_conn_state_trans llc_normal_state_trans_13c = {
1044	.ev	       = llc_conn_ev_rx_rnr_rsp_fbit_set_1,
1045	.next_state    = LLC_CONN_STATE_NORMAL,
1046	.ev_qualifiers = llc_normal_ev_qfyrs_13c,
1047	.ev_actions    = llc_normal_actions_13c,
1048};
1049
1050/* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 event */
1051static llc_conn_action_t llc_normal_actions_14[] = {
1052	[0] = llc_conn_ac_send_rr_rsp_f_set_1,
1053	[1] = llc_conn_ac_upd_nr_received,
1054	[2] = llc_conn_ac_adjust_npta_by_rnr,
1055	[3] = llc_conn_ac_rst_sendack_flag,
1056	[4] = llc_conn_ac_set_remote_busy,
1057	[5] = NULL,
1058};
1059
1060static struct llc_conn_state_trans llc_normal_state_trans_14 = {
1061	.ev	       = llc_conn_ev_rx_rnr_cmd_pbit_set_1,
1062	.next_state    = LLC_CONN_STATE_NORMAL,
1063	.ev_qualifiers = NONE,
1064	.ev_actions    = llc_normal_actions_14,
1065};
1066
1067/* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
1068static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_15a[] = {
1069	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
1070	[1] = NULL,
1071};
1072
1073static llc_conn_action_t llc_normal_actions_15a[] = {
1074	[0] = llc_conn_ac_set_vs_nr,
1075	[1] = llc_conn_ac_upd_nr_received,
1076	[2] = llc_conn_ac_upd_p_flag,
1077	[3] = llc_conn_ac_dec_tx_win_size,
1078	[4] = llc_conn_ac_resend_i_xxx_x_set_0,
1079	[5] = llc_conn_ac_clear_remote_busy,
1080	[6] = NULL,
1081};
1082
1083static struct llc_conn_state_trans llc_normal_state_trans_15a = {
1084	.ev	       = llc_conn_ev_rx_rej_cmd_pbit_set_0,
1085	.next_state    = LLC_CONN_STATE_NORMAL,
1086	.ev_qualifiers = llc_normal_ev_qfyrs_15a,
1087	.ev_actions    = llc_normal_actions_15a,
1088};
1089
1090/* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_X event */
1091static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_15b[] = {
1092	[0] = llc_conn_ev_qlfy_p_flag_eq_f,
1093	[1] = NULL,
1094};
1095
1096static llc_conn_action_t llc_normal_actions_15b[] = {
1097	[0] = llc_conn_ac_set_vs_nr,
1098	[1] = llc_conn_ac_upd_nr_received,
1099	[2] = llc_conn_ac_upd_p_flag,
1100	[3] = llc_conn_ac_dec_tx_win_size,
1101	[4] = llc_conn_ac_resend_i_xxx_x_set_0,
1102	[5] = llc_conn_ac_clear_remote_busy,
1103	[6] = NULL,
1104};
1105
1106static struct llc_conn_state_trans llc_normal_state_trans_15b = {
1107	.ev	       = llc_conn_ev_rx_rej_rsp_fbit_set_x,
1108	.next_state    = LLC_CONN_STATE_NORMAL,
1109	.ev_qualifiers = llc_normal_ev_qfyrs_15b,
1110	.ev_actions    = llc_normal_actions_15b,
1111};
1112
1113/* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
1114static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_16a[] = {
1115	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
1116	[1] = NULL,
1117};
1118
1119static llc_conn_action_t llc_normal_actions_16a[] = {
1120	[0] = llc_conn_ac_set_vs_nr,
1121	[1] = llc_conn_ac_upd_nr_received,
1122	[2] = llc_conn_ac_dec_tx_win_size,
1123	[3] = llc_conn_ac_resend_i_xxx_x_set_0,
1124	[4] = llc_conn_ac_clear_remote_busy,
1125	[5] = NULL,
1126};
1127
1128static struct llc_conn_state_trans llc_normal_state_trans_16a = {
1129	.ev	       = llc_conn_ev_rx_rej_cmd_pbit_set_0,
1130	.next_state    = LLC_CONN_STATE_NORMAL,
1131	.ev_qualifiers = llc_normal_ev_qfyrs_16a,
1132	.ev_actions    = llc_normal_actions_16a,
1133};
1134
1135/* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 event */
1136static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_16b[] = {
1137	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
1138	[1] = NULL,
1139};
1140
1141static llc_conn_action_t llc_normal_actions_16b[] = {
1142	[0] = llc_conn_ac_set_vs_nr,
1143	[1] = llc_conn_ac_upd_nr_received,
1144	[2] = llc_conn_ac_dec_tx_win_size,
1145	[3] = llc_conn_ac_resend_i_xxx_x_set_0,
1146	[4] = llc_conn_ac_clear_remote_busy,
1147	[5] = NULL,
1148};
1149
1150static struct llc_conn_state_trans llc_normal_state_trans_16b = {
1151	.ev	       = llc_conn_ev_rx_rej_rsp_fbit_set_0,
1152	.next_state    = LLC_CONN_STATE_NORMAL,
1153	.ev_qualifiers = llc_normal_ev_qfyrs_16b,
1154	.ev_actions    = llc_normal_actions_16b,
1155};
1156
1157/* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 event */
1158static llc_conn_action_t llc_normal_actions_17[] = {
1159	[0] = llc_conn_ac_set_vs_nr,
1160	[1] = llc_conn_ac_upd_nr_received,
1161	[2] = llc_conn_ac_dec_tx_win_size,
1162	[3] = llc_conn_ac_resend_i_rsp_f_set_1,
1163	[4] = llc_conn_ac_clear_remote_busy,
1164	[5] = NULL,
1165};
1166
1167static struct llc_conn_state_trans llc_normal_state_trans_17 = {
1168	.ev	       = llc_conn_ev_rx_rej_cmd_pbit_set_1,
1169	.next_state    = LLC_CONN_STATE_NORMAL,
1170	.ev_qualifiers = NONE,
1171	.ev_actions    = llc_normal_actions_17,
1172};
1173
1174/* State transitions for LLC_CONN_EV_INIT_P_F_CYCLE event */
1175static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_18[] = {
1176	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
1177	[1] = NULL,
1178};
1179
1180static llc_conn_action_t llc_normal_actions_18[] = {
1181	[0] = llc_conn_ac_send_rr_cmd_p_set_1,
1182	[1] = llc_conn_ac_start_p_timer,
1183	[2] = NULL,
1184};
1185
1186static struct llc_conn_state_trans llc_normal_state_trans_18 = {
1187	.ev	       = llc_conn_ev_init_p_f_cycle,
1188	.next_state    = LLC_CONN_STATE_NORMAL,
1189	.ev_qualifiers = llc_normal_ev_qfyrs_18,
1190	.ev_actions    = llc_normal_actions_18,
1191};
1192
1193/* State transitions for LLC_CONN_EV_P_TMR_EXP event */
1194static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_19[] = {
1195	[0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
1196	[1] = NULL,
1197};
1198
1199static llc_conn_action_t llc_normal_actions_19[] = {
1200	[0] = llc_conn_ac_rst_sendack_flag,
1201	[1] = llc_conn_ac_send_rr_cmd_p_set_1,
1202	[2] = llc_conn_ac_rst_vs,
1203	[3] = llc_conn_ac_start_p_timer,
1204	[4] = llc_conn_ac_inc_retry_cnt_by_1,
1205	[5] = NULL,
1206};
1207
1208static struct llc_conn_state_trans llc_normal_state_trans_19 = {
1209	.ev	       = llc_conn_ev_p_tmr_exp,
1210	.next_state    = LLC_CONN_STATE_AWAIT,
1211	.ev_qualifiers = llc_normal_ev_qfyrs_19,
1212	.ev_actions    = llc_normal_actions_19,
1213};
1214
1215/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
1216static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_20a[] = {
1217	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
1218	[1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
1219	[2] = NULL,
1220};
1221
1222static llc_conn_action_t llc_normal_actions_20a[] = {
1223	[0] = llc_conn_ac_rst_sendack_flag,
1224	[1] = llc_conn_ac_send_rr_cmd_p_set_1,
1225	[2] = llc_conn_ac_rst_vs,
1226	[3] = llc_conn_ac_start_p_timer,
1227	[4] = llc_conn_ac_inc_retry_cnt_by_1,
1228	[5] = NULL,
1229};
1230
1231static struct llc_conn_state_trans llc_normal_state_trans_20a = {
1232	.ev	       = llc_conn_ev_ack_tmr_exp,
1233	.next_state    = LLC_CONN_STATE_AWAIT,
1234	.ev_qualifiers = llc_normal_ev_qfyrs_20a,
1235	.ev_actions    = llc_normal_actions_20a,
1236};
1237
1238/* State transitions for LLC_CONN_EV_BUSY_TMR_EXP event */
1239static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_20b[] = {
1240	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
1241	[1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
1242	[2] = NULL,
1243};
1244
1245static llc_conn_action_t llc_normal_actions_20b[] = {
1246	[0] = llc_conn_ac_rst_sendack_flag,
1247	[1] = llc_conn_ac_send_rr_cmd_p_set_1,
1248	[2] = llc_conn_ac_rst_vs,
1249	[3] = llc_conn_ac_start_p_timer,
1250	[4] = llc_conn_ac_inc_retry_cnt_by_1,
1251	[5] = NULL,
1252};
1253
1254static struct llc_conn_state_trans llc_normal_state_trans_20b = {
1255	.ev	       = llc_conn_ev_busy_tmr_exp,
1256	.next_state    = LLC_CONN_STATE_AWAIT,
1257	.ev_qualifiers = llc_normal_ev_qfyrs_20b,
1258	.ev_actions    = llc_normal_actions_20b,
1259};
1260
1261/* State transitions for LLC_CONN_EV_TX_BUFF_FULL event */
1262static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_21[] = {
1263	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
1264	[1] = NULL,
1265};
1266
1267static llc_conn_action_t llc_normal_actions_21[] = {
1268	[0] = llc_conn_ac_send_rr_cmd_p_set_1,
1269	[1] = llc_conn_ac_start_p_timer,
1270	[2] = NULL,
1271};
1272
1273static struct llc_conn_state_trans llc_normal_state_trans_21 = {
1274	.ev	       = llc_conn_ev_tx_buffer_full,
1275	.next_state    = LLC_CONN_STATE_NORMAL,
1276	.ev_qualifiers = llc_normal_ev_qfyrs_21,
1277	.ev_actions    = llc_normal_actions_21,
1278};
1279
1280/*
1281 * Array of pointers;
1282 * one to each transition
1283 */
1284static struct llc_conn_state_trans *llc_normal_state_transitions[] = {
1285	 [0] = &llc_normal_state_trans_1,	/* Requests */
1286	 [1] = &llc_normal_state_trans_2,
1287	 [2] = &llc_normal_state_trans_2_1,
1288	 [3] = &llc_common_state_trans_1,
1289	 [4] = &llc_common_state_trans_2,
1290	 [5] = &llc_common_state_trans_end,
1291	 [6] = &llc_normal_state_trans_21,
1292	 [7] = &llc_normal_state_trans_3,	/* Local busy */
1293	 [8] = &llc_normal_state_trans_4,
1294	 [9] = &llc_common_state_trans_end,
1295	[10] = &llc_normal_state_trans_18,	/* Init pf cycle */
1296	[11] = &llc_common_state_trans_end,
1297	[12] = &llc_common_state_trans_11a,	/* Timers */
1298	[13] = &llc_common_state_trans_11b,
1299	[14] = &llc_common_state_trans_11c,
1300	[15] = &llc_common_state_trans_11d,
1301	[16] = &llc_normal_state_trans_19,
1302	[17] = &llc_normal_state_trans_20a,
1303	[18] = &llc_normal_state_trans_20b,
1304	[19] = &llc_common_state_trans_end,
1305	[20] = &llc_normal_state_trans_8b,	/* Receive frames */
1306	[21] = &llc_normal_state_trans_9b,
1307	[22] = &llc_normal_state_trans_10,
1308	[23] = &llc_normal_state_trans_11b,
1309	[24] = &llc_normal_state_trans_11c,
1310	[25] = &llc_normal_state_trans_5a,
1311	[26] = &llc_normal_state_trans_5b,
1312	[27] = &llc_normal_state_trans_5c,
1313	[28] = &llc_normal_state_trans_6a,
1314	[29] = &llc_normal_state_trans_6b,
1315	[30] = &llc_normal_state_trans_7,
1316	[31] = &llc_normal_state_trans_8a,
1317	[32] = &llc_normal_state_trans_9a,
1318	[33] = &llc_normal_state_trans_11a,
1319	[34] = &llc_normal_state_trans_12,
1320	[35] = &llc_normal_state_trans_13a,
1321	[36] = &llc_normal_state_trans_13b,
1322	[37] = &llc_normal_state_trans_13c,
1323	[38] = &llc_normal_state_trans_14,
1324	[39] = &llc_normal_state_trans_15a,
1325	[40] = &llc_normal_state_trans_15b,
1326	[41] = &llc_normal_state_trans_16a,
1327	[42] = &llc_normal_state_trans_16b,
1328	[43] = &llc_normal_state_trans_17,
1329	[44] = &llc_common_state_trans_3,
1330	[45] = &llc_common_state_trans_4,
1331	[46] = &llc_common_state_trans_5,
1332	[47] = &llc_common_state_trans_6,
1333	[48] = &llc_common_state_trans_7a,
1334	[49] = &llc_common_state_trans_7b,
1335	[50] = &llc_common_state_trans_8a,
1336	[51] = &llc_common_state_trans_8b,
1337	[52] = &llc_common_state_trans_8c,
1338	[53] = &llc_common_state_trans_9,
1339	/* [54] = &llc_common_state_trans_10, */
1340	[54] = &llc_common_state_trans_end,
1341};
1342
1343/* LLC_CONN_STATE_BUSY transitions */
1344/* State transitions for LLC_CONN_EV_DATA_REQ event */
1345static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_1[] = {
1346	[0] = llc_conn_ev_qlfy_remote_busy_eq_0,
1347	[1] = llc_conn_ev_qlfy_p_flag_eq_0,
1348	[2] = NULL,
1349};
1350
1351static llc_conn_action_t llc_busy_actions_1[] = {
1352	[0] = llc_conn_ac_send_i_xxx_x_set_0,
1353	[1] = llc_conn_ac_start_ack_tmr_if_not_running,
1354	[2] = NULL,
1355};
1356
1357static struct llc_conn_state_trans llc_busy_state_trans_1 = {
1358	.ev	       = llc_conn_ev_data_req,
1359	.next_state    = LLC_CONN_STATE_BUSY,
1360	.ev_qualifiers = llc_busy_ev_qfyrs_1,
1361	.ev_actions    = llc_busy_actions_1,
1362};
1363
1364/* State transitions for LLC_CONN_EV_DATA_REQ event */
1365static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_2[] = {
1366	[0] = llc_conn_ev_qlfy_remote_busy_eq_0,
1367	[1] = llc_conn_ev_qlfy_p_flag_eq_1,
1368	[2] = NULL,
1369};
1370
1371static llc_conn_action_t llc_busy_actions_2[] = {
1372	[0] = llc_conn_ac_send_i_xxx_x_set_0,
1373	[1] = llc_conn_ac_start_ack_tmr_if_not_running,
1374	[2] = NULL,
1375};
1376
1377static struct llc_conn_state_trans llc_busy_state_trans_2 = {
1378	.ev	       = llc_conn_ev_data_req,
1379	.next_state    = LLC_CONN_STATE_BUSY,
1380	.ev_qualifiers = llc_busy_ev_qfyrs_2,
1381	.ev_actions    = llc_busy_actions_2,
1382};
1383
1384/* State transitions for LLC_CONN_EV_DATA_REQ event */
1385static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_2_1[] = {
1386	[0] = llc_conn_ev_qlfy_remote_busy_eq_1,
1387	[1] = llc_conn_ev_qlfy_set_status_remote_busy,
1388	[2] = NULL,
1389};
1390
1391/* just one member, NULL, .bss zeroes it */
1392static llc_conn_action_t llc_busy_actions_2_1[1];
1393
1394static struct llc_conn_state_trans llc_busy_state_trans_2_1 = {
1395	.ev	       = llc_conn_ev_data_req,
1396	.next_state    = LLC_CONN_STATE_BUSY,
1397	.ev_qualifiers = llc_busy_ev_qfyrs_2_1,
1398	.ev_actions    = llc_busy_actions_2_1,
1399};
1400
1401/* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
1402static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_3[] = {
1403	[0] = llc_conn_ev_qlfy_data_flag_eq_1,
1404	[1] = llc_conn_ev_qlfy_p_flag_eq_0,
1405	[2] = NULL,
1406};
1407
1408static llc_conn_action_t llc_busy_actions_3[] = {
1409	[0] = llc_conn_ac_send_rej_xxx_x_set_0,
1410	[1] = llc_conn_ac_start_rej_timer,
1411	[2] = NULL,
1412};
1413
1414static struct llc_conn_state_trans llc_busy_state_trans_3 = {
1415	.ev	       = llc_conn_ev_local_busy_cleared,
1416	.next_state    = LLC_CONN_STATE_REJ,
1417	.ev_qualifiers = llc_busy_ev_qfyrs_3,
1418	.ev_actions    = llc_busy_actions_3,
1419};
1420
1421/* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
1422static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_4[] = {
1423	[0] = llc_conn_ev_qlfy_data_flag_eq_1,
1424	[1] = llc_conn_ev_qlfy_p_flag_eq_1,
1425	[2] = NULL,
1426};
1427
1428static llc_conn_action_t llc_busy_actions_4[] = {
1429	[0] = llc_conn_ac_send_rej_xxx_x_set_0,
1430	[1] = llc_conn_ac_start_rej_timer,
1431	[2] = NULL,
1432};
1433
1434static struct llc_conn_state_trans llc_busy_state_trans_4 = {
1435	.ev	       = llc_conn_ev_local_busy_cleared,
1436	.next_state    = LLC_CONN_STATE_REJ,
1437	.ev_qualifiers = llc_busy_ev_qfyrs_4,
1438	.ev_actions    = llc_busy_actions_4,
1439};
1440
1441/* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
1442static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_5[] = {
1443	[0] = llc_conn_ev_qlfy_data_flag_eq_0,
1444	[1] = llc_conn_ev_qlfy_p_flag_eq_0,
1445	[2] = NULL,
1446};
1447
1448static llc_conn_action_t llc_busy_actions_5[] = {
1449	[0] = llc_conn_ac_send_rr_xxx_x_set_0,
1450	[1] = NULL,
1451};
1452
1453static struct llc_conn_state_trans llc_busy_state_trans_5 = {
1454	.ev	       = llc_conn_ev_local_busy_cleared,
1455	.next_state    = LLC_CONN_STATE_NORMAL,
1456	.ev_qualifiers = llc_busy_ev_qfyrs_5,
1457	.ev_actions    = llc_busy_actions_5,
1458};
1459
1460/* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
1461static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_6[] = {
1462	[0] = llc_conn_ev_qlfy_data_flag_eq_0,
1463	[1] = llc_conn_ev_qlfy_p_flag_eq_1,
1464	[2] = NULL,
1465};
1466
1467static llc_conn_action_t llc_busy_actions_6[] = {
1468	[0] = llc_conn_ac_send_rr_xxx_x_set_0,
1469	[1] = NULL,
1470};
1471
1472static struct llc_conn_state_trans llc_busy_state_trans_6 = {
1473	.ev	       = llc_conn_ev_local_busy_cleared,
1474	.next_state    = LLC_CONN_STATE_NORMAL,
1475	.ev_qualifiers = llc_busy_ev_qfyrs_6,
1476	.ev_actions    = llc_busy_actions_6,
1477};
1478
1479/* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
1480static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_7[] = {
1481	[0] = llc_conn_ev_qlfy_data_flag_eq_2,
1482	[1] = llc_conn_ev_qlfy_p_flag_eq_0,
1483	[2] = NULL,
1484};
1485
1486static llc_conn_action_t llc_busy_actions_7[] = {
1487	[0] = llc_conn_ac_send_rr_xxx_x_set_0,
1488	[1] = NULL,
1489};
1490
1491static struct llc_conn_state_trans llc_busy_state_trans_7 = {
1492	.ev	       = llc_conn_ev_local_busy_cleared,
1493	.next_state    = LLC_CONN_STATE_REJ,
1494	.ev_qualifiers = llc_busy_ev_qfyrs_7,
1495	.ev_actions    = llc_busy_actions_7,
1496};
1497
1498/* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
1499static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_8[] = {
1500	[0] = llc_conn_ev_qlfy_data_flag_eq_2,
1501	[1] = llc_conn_ev_qlfy_p_flag_eq_1,
1502	[2] = NULL,
1503};
1504
1505static llc_conn_action_t llc_busy_actions_8[] = {
1506	[0] = llc_conn_ac_send_rr_xxx_x_set_0,
1507	[1] = NULL,
1508};
1509
1510static struct llc_conn_state_trans llc_busy_state_trans_8 = {
1511	.ev	       = llc_conn_ev_local_busy_cleared,
1512	.next_state    = LLC_CONN_STATE_REJ,
1513	.ev_qualifiers = llc_busy_ev_qfyrs_8,
1514	.ev_actions    = llc_busy_actions_8,
1515};
1516
1517/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_X_UNEXPD_Ns event */
1518static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_9a[] = {
1519	[0] = llc_conn_ev_qlfy_p_flag_eq_f,
1520	[1] = NULL,
1521};
1522
1523static llc_conn_action_t llc_busy_actions_9a[] = {
1524	[0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
1525	[1] = llc_conn_ac_upd_p_flag,
1526	[2] = llc_conn_ac_upd_nr_received,
1527	[3] = llc_conn_ac_set_data_flag_1_if_data_flag_eq_0,
1528	[4] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
1529	[5] = NULL,
1530};
1531
1532static struct llc_conn_state_trans llc_busy_state_trans_9a = {
1533	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_x_unexpd_ns,
1534	.next_state    = LLC_CONN_STATE_BUSY,
1535	.ev_qualifiers = llc_busy_ev_qfyrs_9a,
1536	.ev_actions    = llc_busy_actions_9a,
1537};
1538
1539/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
1540static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_9b[] = {
1541	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
1542	[1] = NULL,
1543};
1544
1545static llc_conn_action_t llc_busy_actions_9b[] = {
1546	[0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
1547	[1] = llc_conn_ac_upd_p_flag,
1548	[2] = llc_conn_ac_upd_nr_received,
1549	[3] = llc_conn_ac_set_data_flag_1_if_data_flag_eq_0,
1550	[4] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
1551	[5] = NULL,
1552};
1553
1554static struct llc_conn_state_trans llc_busy_state_trans_9b = {
1555	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
1556	.next_state    = LLC_CONN_STATE_BUSY,
1557	.ev_qualifiers = llc_busy_ev_qfyrs_9b,
1558	.ev_actions    = llc_busy_actions_9b,
1559};
1560
1561/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
1562static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_10a[] = {
1563	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
1564	[1] = NULL,
1565};
1566
1567static llc_conn_action_t llc_busy_actions_10a[] = {
1568	[0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
1569	[1] = llc_conn_ac_upd_nr_received,
1570	[2] = llc_conn_ac_set_data_flag_1_if_data_flag_eq_0,
1571	[3] = NULL,
1572};
1573
1574static struct llc_conn_state_trans llc_busy_state_trans_10a = {
1575	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
1576	.next_state    = LLC_CONN_STATE_BUSY,
1577	.ev_qualifiers = llc_busy_ev_qfyrs_10a,
1578	.ev_actions    = llc_busy_actions_10a,
1579};
1580
1581/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
1582static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_10b[] = {
1583	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
1584	[1] = NULL,
1585};
1586
1587static llc_conn_action_t llc_busy_actions_10b[] = {
1588	[0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
1589	[1] = llc_conn_ac_upd_nr_received,
1590	[2] = llc_conn_ac_set_data_flag_1_if_data_flag_eq_0,
1591	[3] = NULL,
1592};
1593
1594static struct llc_conn_state_trans llc_busy_state_trans_10b = {
1595	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
1596	.next_state    = LLC_CONN_STATE_BUSY,
1597	.ev_qualifiers = llc_busy_ev_qfyrs_10b,
1598	.ev_actions    = llc_busy_actions_10b,
1599};
1600
1601/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */
1602static llc_conn_action_t llc_busy_actions_11[] = {
1603	[0] = llc_conn_ac_send_rnr_rsp_f_set_1,
1604	[1] = llc_conn_ac_upd_nr_received,
1605	[2] = llc_conn_ac_set_data_flag_1_if_data_flag_eq_0,
1606	[3] = NULL,
1607};
1608
1609static struct llc_conn_state_trans llc_busy_state_trans_11 = {
1610	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,
1611	.next_state    = LLC_CONN_STATE_BUSY,
1612	.ev_qualifiers = NONE,
1613	.ev_actions    = llc_busy_actions_11,
1614};
1615
1616/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 event */
1617static llc_conn_action_t llc_busy_actions_12[] = {
1618	[0] = llc_conn_ac_inc_vr_by_1,
1619	[1] = llc_conn_ac_data_ind,
1620	[2] = llc_conn_ac_send_rnr_rsp_f_set_1,
1621	[3] = llc_conn_ac_upd_nr_received,
1622	[4] = llc_conn_ac_stop_rej_tmr_if_data_flag_eq_2,
1623	[5] = llc_conn_ac_set_data_flag_0,
1624	[6] = NULL,
1625};
1626
1627static struct llc_conn_state_trans llc_busy_state_trans_12 = {
1628	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_1,
1629	.next_state    = LLC_CONN_STATE_BUSY,
1630	.ev_qualifiers = NONE,
1631	.ev_actions    = llc_busy_actions_12,
1632};
1633
1634/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_X event */
1635static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_13a[] = {
1636	[0] = llc_conn_ev_qlfy_p_flag_eq_f,
1637	[1] = NULL,
1638};
1639
1640static llc_conn_action_t llc_busy_actions_13a[] = {
1641	[0] = llc_conn_ac_inc_vr_by_1,
1642	[1] = llc_conn_ac_data_ind,
1643	[2] = llc_conn_ac_upd_p_flag,
1644	[3] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
1645	[4] = llc_conn_ac_upd_nr_received,
1646	[5] = llc_conn_ac_stop_rej_tmr_if_data_flag_eq_2,
1647	[6] = llc_conn_ac_set_data_flag_0,
1648	[7] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
1649	[8] = NULL,
1650};
1651
1652static struct llc_conn_state_trans llc_busy_state_trans_13a = {
1653	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_x,
1654	.next_state    = LLC_CONN_STATE_BUSY,
1655	.ev_qualifiers = llc_busy_ev_qfyrs_13a,
1656	.ev_actions    = llc_busy_actions_13a,
1657};
1658
1659/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
1660static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_13b[] = {
1661	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
1662	[1] = NULL,
1663};
1664
1665static llc_conn_action_t llc_busy_actions_13b[] = {
1666	[0] = llc_conn_ac_inc_vr_by_1,
1667	[1] = llc_conn_ac_data_ind,
1668	[2] = llc_conn_ac_upd_p_flag,
1669	[3] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
1670	[4] = llc_conn_ac_upd_nr_received,
1671	[5] = llc_conn_ac_stop_rej_tmr_if_data_flag_eq_2,
1672	[6] = llc_conn_ac_set_data_flag_0,
1673	[7] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
1674	[8] = NULL,
1675};
1676
1677static struct llc_conn_state_trans llc_busy_state_trans_13b = {
1678	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0,
1679	.next_state    = LLC_CONN_STATE_BUSY,
1680	.ev_qualifiers = llc_busy_ev_qfyrs_13b,
1681	.ev_actions    = llc_busy_actions_13b,
1682};
1683
1684/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 event */
1685static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_14a[] = {
1686	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
1687	[1] = NULL,
1688};
1689
1690static llc_conn_action_t llc_busy_actions_14a[] = {
1691	[0] = llc_conn_ac_inc_vr_by_1,
1692	[1] = llc_conn_ac_data_ind,
1693	[2] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
1694	[3] = llc_conn_ac_upd_nr_received,
1695	[4] = llc_conn_ac_stop_rej_tmr_if_data_flag_eq_2,
1696	[5] = llc_conn_ac_set_data_flag_0,
1697	[6] = NULL,
1698};
1699
1700static struct llc_conn_state_trans llc_busy_state_trans_14a = {
1701	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_0,
1702	.next_state    = LLC_CONN_STATE_BUSY,
1703	.ev_qualifiers = llc_busy_ev_qfyrs_14a,
1704	.ev_actions    = llc_busy_actions_14a,
1705};
1706
1707/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
1708static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_14b[] = {
1709	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
1710	[1] = NULL,
1711};
1712
1713static llc_conn_action_t llc_busy_actions_14b[] = {
1714	[0] = llc_conn_ac_inc_vr_by_1,
1715	[1] = llc_conn_ac_data_ind,
1716	[2] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
1717	[3] = llc_conn_ac_upd_nr_received,
1718	[4] = llc_conn_ac_stop_rej_tmr_if_data_flag_eq_2,
1719	[5] = llc_conn_ac_set_data_flag_0,
1720	[6] = NULL,
1721};
1722
1723static struct llc_conn_state_trans llc_busy_state_trans_14b = {
1724	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0,
1725	.next_state    = LLC_CONN_STATE_BUSY,
1726	.ev_qualifiers = llc_busy_ev_qfyrs_14b,
1727	.ev_actions    = llc_busy_actions_14b,
1728};
1729
1730/* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 event */
1731static llc_conn_action_t llc_busy_actions_15a[] = {
1732	[0] = llc_conn_ac_upd_p_flag,
1733	[1] = llc_conn_ac_upd_nr_received,
1734	[2] = llc_conn_ac_clear_remote_busy,
1735	[3] = NULL,
1736};
1737
1738static struct llc_conn_state_trans llc_busy_state_trans_15a = {
1739	.ev	       = llc_conn_ev_rx_rr_cmd_pbit_set_0,
1740	.next_state    = LLC_CONN_STATE_BUSY,
1741	.ev_qualifiers = NONE,
1742	.ev_actions    = llc_busy_actions_15a,
1743};
1744
1745/* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 event */
1746static llc_conn_action_t llc_busy_actions_15b[] = {
1747	[0] = llc_conn_ac_upd_p_flag,
1748	[1] = llc_conn_ac_upd_nr_received,
1749	[2] = llc_conn_ac_clear_remote_busy,
1750	[3] = NULL,
1751};
1752
1753static struct llc_conn_state_trans llc_busy_state_trans_15b = {
1754	.ev	       = llc_conn_ev_rx_rr_rsp_fbit_set_0,
1755	.next_state    = LLC_CONN_STATE_BUSY,
1756	.ev_qualifiers = NONE,
1757	.ev_actions    = llc_busy_actions_15b,
1758};
1759
1760/* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 event */
1761static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_15c[] = {
1762	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
1763	[1] = NULL,
1764};
1765
1766static llc_conn_action_t llc_busy_actions_15c[] = {
1767	[0] = llc_conn_ac_upd_p_flag,
1768	[1] = llc_conn_ac_upd_nr_received,
1769	[2] = llc_conn_ac_clear_remote_busy,
1770	[3] = NULL,
1771};
1772
1773static struct llc_conn_state_trans llc_busy_state_trans_15c = {
1774	.ev	       = llc_conn_ev_rx_rr_rsp_fbit_set_1,
1775	.next_state    = LLC_CONN_STATE_BUSY,
1776	.ev_qualifiers = llc_busy_ev_qfyrs_15c,
1777	.ev_actions    = llc_busy_actions_15c,
1778};
1779
1780/* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 event */
1781static llc_conn_action_t llc_busy_actions_16[] = {
1782	[0] = llc_conn_ac_send_rnr_rsp_f_set_1,
1783	[1] = llc_conn_ac_upd_nr_received,
1784	[2] = llc_conn_ac_clear_remote_busy,
1785	[3] = NULL,
1786};
1787
1788static struct llc_conn_state_trans llc_busy_state_trans_16 = {
1789	.ev	       = llc_conn_ev_rx_rr_cmd_pbit_set_1,
1790	.next_state    = LLC_CONN_STATE_BUSY,
1791	.ev_qualifiers = NONE,
1792	.ev_actions    = llc_busy_actions_16,
1793};
1794
1795/* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 event */
1796static llc_conn_action_t llc_busy_actions_17a[] = {
1797	[0] = llc_conn_ac_upd_p_flag,
1798	[1] = llc_conn_ac_upd_nr_received,
1799	[2] = llc_conn_ac_set_remote_busy,
1800	[3] = NULL,
1801};
1802
1803static struct llc_conn_state_trans llc_busy_state_trans_17a = {
1804	.ev	       = llc_conn_ev_rx_rnr_cmd_pbit_set_0,
1805	.next_state    = LLC_CONN_STATE_BUSY,
1806	.ev_qualifiers = NONE,
1807	.ev_actions    = llc_busy_actions_17a,
1808};
1809
1810/* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 event */
1811static llc_conn_action_t llc_busy_actions_17b[] = {
1812	[0] = llc_conn_ac_upd_p_flag,
1813	[1] = llc_conn_ac_upd_nr_received,
1814	[2] = llc_conn_ac_set_remote_busy,
1815	[3] = NULL,
1816};
1817
1818static struct llc_conn_state_trans llc_busy_state_trans_17b = {
1819	.ev	       = llc_conn_ev_rx_rnr_rsp_fbit_set_0,
1820	.next_state    = LLC_CONN_STATE_BUSY,
1821	.ev_qualifiers = NONE,
1822	.ev_actions    = llc_busy_actions_17b,
1823};
1824
1825/* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 event */
1826static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_17c[] = {
1827	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
1828	[1] = NULL,
1829};
1830
1831static llc_conn_action_t llc_busy_actions_17c[] = {
1832	[0] = llc_conn_ac_upd_p_flag,
1833	[1] = llc_conn_ac_upd_nr_received,
1834	[2] = llc_conn_ac_set_remote_busy,
1835	[3] = NULL,
1836};
1837
1838static struct llc_conn_state_trans llc_busy_state_trans_17c = {
1839	.ev	       = llc_conn_ev_rx_rnr_rsp_fbit_set_1,
1840	.next_state    = LLC_CONN_STATE_BUSY,
1841	.ev_qualifiers = llc_busy_ev_qfyrs_17c,
1842	.ev_actions    = llc_busy_actions_17c,
1843};
1844
1845/* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 event */
1846static llc_conn_action_t llc_busy_actions_18[] = {
1847	[0] = llc_conn_ac_send_rnr_rsp_f_set_1,
1848	[1] = llc_conn_ac_upd_nr_received,
1849	[2] = llc_conn_ac_set_remote_busy,
1850	[3] = NULL,
1851};
1852
1853static struct llc_conn_state_trans llc_busy_state_trans_18 = {
1854	.ev	       = llc_conn_ev_rx_rnr_cmd_pbit_set_1,
1855	.next_state    = LLC_CONN_STATE_BUSY,
1856	.ev_qualifiers = NONE,
1857	.ev_actions    = llc_busy_actions_18,
1858};
1859
1860/* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
1861static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_19a[] = {
1862	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
1863	[1] = NULL,
1864};
1865
1866static llc_conn_action_t llc_busy_actions_19a[] = {
1867	[0] = llc_conn_ac_set_vs_nr,
1868	[1] = llc_conn_ac_upd_nr_received,
1869	[2] = llc_conn_ac_upd_p_flag,
1870	[3] = llc_conn_ac_resend_i_xxx_x_set_0,
1871	[4] = llc_conn_ac_clear_remote_busy,
1872	[5] = NULL,
1873};
1874
1875static struct llc_conn_state_trans llc_busy_state_trans_19a = {
1876	.ev	       = llc_conn_ev_rx_rej_cmd_pbit_set_0,
1877	.next_state    = LLC_CONN_STATE_BUSY,
1878	.ev_qualifiers = llc_busy_ev_qfyrs_19a,
1879	.ev_actions    = llc_busy_actions_19a,
1880};
1881
1882/* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_X event */
1883static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_19b[] = {
1884	[0] = llc_conn_ev_qlfy_p_flag_eq_f,
1885	[1] = NULL,
1886};
1887
1888static llc_conn_action_t llc_busy_actions_19b[] = {
1889	[0] = llc_conn_ac_set_vs_nr,
1890	[1] = llc_conn_ac_upd_nr_received,
1891	[2] = llc_conn_ac_upd_p_flag,
1892	[3] = llc_conn_ac_resend_i_xxx_x_set_0,
1893	[4] = llc_conn_ac_clear_remote_busy,
1894	[5] = NULL,
1895};
1896
1897static struct llc_conn_state_trans llc_busy_state_trans_19b = {
1898	.ev	       = llc_conn_ev_rx_rej_rsp_fbit_set_x,
1899	.next_state    = LLC_CONN_STATE_BUSY,
1900	.ev_qualifiers = llc_busy_ev_qfyrs_19b,
1901	.ev_actions    = llc_busy_actions_19b,
1902};
1903
1904/* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
1905static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_20a[] = {
1906	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
1907	[1] = NULL,
1908};
1909
1910static llc_conn_action_t llc_busy_actions_20a[] = {
1911	[0] = llc_conn_ac_set_vs_nr,
1912	[1] = llc_conn_ac_upd_nr_received,
1913	[2] = llc_conn_ac_resend_i_xxx_x_set_0,
1914	[3] = llc_conn_ac_clear_remote_busy,
1915	[4] = NULL,
1916};
1917
1918static struct llc_conn_state_trans llc_busy_state_trans_20a = {
1919	.ev	       = llc_conn_ev_rx_rej_cmd_pbit_set_0,
1920	.next_state    = LLC_CONN_STATE_BUSY,
1921	.ev_qualifiers = llc_busy_ev_qfyrs_20a,
1922	.ev_actions    = llc_busy_actions_20a,
1923};
1924
1925/* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 event */
1926static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_20b[] = {
1927	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
1928	[1] = NULL,
1929};
1930
1931static llc_conn_action_t llc_busy_actions_20b[] = {
1932	[0] = llc_conn_ac_set_vs_nr,
1933	[1] = llc_conn_ac_upd_nr_received,
1934	[2] = llc_conn_ac_resend_i_xxx_x_set_0,
1935	[3] = llc_conn_ac_clear_remote_busy,
1936	[4] = NULL,
1937};
1938
1939static struct llc_conn_state_trans llc_busy_state_trans_20b = {
1940	.ev	       = llc_conn_ev_rx_rej_rsp_fbit_set_0,
1941	.next_state    = LLC_CONN_STATE_BUSY,
1942	.ev_qualifiers = llc_busy_ev_qfyrs_20b,
1943	.ev_actions    = llc_busy_actions_20b,
1944};
1945
1946/* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 event */
1947static llc_conn_action_t llc_busy_actions_21[] = {
1948	[0] = llc_conn_ac_set_vs_nr,
1949	[1] = llc_conn_ac_upd_nr_received,
1950	[2] = llc_conn_ac_send_rnr_rsp_f_set_1,
1951	[3] = llc_conn_ac_resend_i_xxx_x_set_0,
1952	[4] = llc_conn_ac_clear_remote_busy,
1953	[5] = NULL,
1954};
1955
1956static struct llc_conn_state_trans llc_busy_state_trans_21 = {
1957	.ev	       = llc_conn_ev_rx_rej_cmd_pbit_set_1,
1958	.next_state    = LLC_CONN_STATE_BUSY,
1959	.ev_qualifiers = NONE,
1960	.ev_actions    = llc_busy_actions_21,
1961};
1962
1963/* State transitions for LLC_CONN_EV_INIT_P_F_CYCLE event */
1964static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_22[] = {
1965	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
1966	[1] = NULL,
1967};
1968
1969static llc_conn_action_t llc_busy_actions_22[] = {
1970	[0] = llc_conn_ac_send_rnr_cmd_p_set_1,
1971	[1] = llc_conn_ac_start_p_timer,
1972	[2] = NULL,
1973};
1974
1975static struct llc_conn_state_trans llc_busy_state_trans_22 = {
1976	.ev	       = llc_conn_ev_init_p_f_cycle,
1977	.next_state    = LLC_CONN_STATE_BUSY,
1978	.ev_qualifiers = llc_busy_ev_qfyrs_22,
1979	.ev_actions    = llc_busy_actions_22,
1980};
1981
1982/* State transitions for LLC_CONN_EV_P_TMR_EXP event */
1983static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_23[] = {
1984	[0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
1985	[1] = NULL,
1986};
1987
1988static llc_conn_action_t llc_busy_actions_23[] = {
1989	[0] = llc_conn_ac_send_rnr_cmd_p_set_1,
1990	[1] = llc_conn_ac_rst_vs,
1991	[2] = llc_conn_ac_start_p_timer,
1992	[3] = llc_conn_ac_inc_retry_cnt_by_1,
1993	[4] = NULL,
1994};
1995
1996static struct llc_conn_state_trans llc_busy_state_trans_23 = {
1997	.ev	       = llc_conn_ev_p_tmr_exp,
1998	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
1999	.ev_qualifiers = llc_busy_ev_qfyrs_23,
2000	.ev_actions    = llc_busy_actions_23,
2001};
2002
2003/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
2004static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_24a[] = {
2005	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
2006	[1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
2007	[2] = NULL,
2008};
2009
2010static llc_conn_action_t llc_busy_actions_24a[] = {
2011	[0] = llc_conn_ac_send_rnr_cmd_p_set_1,
2012	[1] = llc_conn_ac_start_p_timer,
2013	[2] = llc_conn_ac_inc_retry_cnt_by_1,
2014	[3] = llc_conn_ac_rst_vs,
2015	[4] = NULL,
2016};
2017
2018static struct llc_conn_state_trans llc_busy_state_trans_24a = {
2019	.ev	       = llc_conn_ev_ack_tmr_exp,
2020	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
2021	.ev_qualifiers = llc_busy_ev_qfyrs_24a,
2022	.ev_actions    = llc_busy_actions_24a,
2023};
2024
2025/* State transitions for LLC_CONN_EV_BUSY_TMR_EXP event */
2026static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_24b[] = {
2027	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
2028	[1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
2029	[2] = NULL,
2030};
2031
2032static llc_conn_action_t llc_busy_actions_24b[] = {
2033	[0] = llc_conn_ac_send_rnr_cmd_p_set_1,
2034	[1] = llc_conn_ac_start_p_timer,
2035	[2] = llc_conn_ac_inc_retry_cnt_by_1,
2036	[3] = llc_conn_ac_rst_vs,
2037	[4] = NULL,
2038};
2039
2040static struct llc_conn_state_trans llc_busy_state_trans_24b = {
2041	.ev	       = llc_conn_ev_busy_tmr_exp,
2042	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
2043	.ev_qualifiers = llc_busy_ev_qfyrs_24b,
2044	.ev_actions    = llc_busy_actions_24b,
2045};
2046
2047/* State transitions for LLC_CONN_EV_REJ_TMR_EXP event */
2048static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_25[] = {
2049	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
2050	[1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
2051	[2] = NULL,
2052};
2053
2054static llc_conn_action_t llc_busy_actions_25[] = {
2055	[0] = llc_conn_ac_send_rnr_cmd_p_set_1,
2056	[1] = llc_conn_ac_start_p_timer,
2057	[2] = llc_conn_ac_inc_retry_cnt_by_1,
2058	[3] = llc_conn_ac_rst_vs,
2059	[4] = llc_conn_ac_set_data_flag_1,
2060	[5] = NULL,
2061};
2062
2063static struct llc_conn_state_trans llc_busy_state_trans_25 = {
2064	.ev	       = llc_conn_ev_rej_tmr_exp,
2065	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
2066	.ev_qualifiers = llc_busy_ev_qfyrs_25,
2067	.ev_actions    = llc_busy_actions_25,
2068};
2069
2070/* State transitions for LLC_CONN_EV_REJ_TMR_EXP event */
2071static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_26[] = {
2072	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
2073	[1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
2074	[2] = NULL,
2075};
2076
2077static llc_conn_action_t llc_busy_actions_26[] = {
2078	[0] = llc_conn_ac_set_data_flag_1,
2079	[1] = NULL,
2080};
2081
2082static struct llc_conn_state_trans llc_busy_state_trans_26 = {
2083	.ev	       = llc_conn_ev_rej_tmr_exp,
2084	.next_state    = LLC_CONN_STATE_BUSY,
2085	.ev_qualifiers = llc_busy_ev_qfyrs_26,
2086	.ev_actions    = llc_busy_actions_26,
2087};
2088
2089/*
2090 * Array of pointers;
2091 * one to each transition
2092 */
2093static struct llc_conn_state_trans *llc_busy_state_transitions[] = {
2094	 [0] = &llc_common_state_trans_1,	/* Request */
2095	 [1] = &llc_common_state_trans_2,
2096	 [2] = &llc_busy_state_trans_1,
2097	 [3] = &llc_busy_state_trans_2,
2098	 [4] = &llc_busy_state_trans_2_1,
2099	 [5] = &llc_common_state_trans_end,
2100	 [6] = &llc_busy_state_trans_3,		/* Local busy */
2101	 [7] = &llc_busy_state_trans_4,
2102	 [8] = &llc_busy_state_trans_5,
2103	 [9] = &llc_busy_state_trans_6,
2104	[10] = &llc_busy_state_trans_7,
2105	[11] = &llc_busy_state_trans_8,
2106	[12] = &llc_common_state_trans_end,
2107	[13] = &llc_busy_state_trans_22,	/* Initiate PF cycle */
2108	[14] = &llc_common_state_trans_end,
2109	[15] = &llc_common_state_trans_11a,	/* Timer */
2110	[16] = &llc_common_state_trans_11b,
2111	[17] = &llc_common_state_trans_11c,
2112	[18] = &llc_common_state_trans_11d,
2113	[19] = &llc_busy_state_trans_23,
2114	[20] = &llc_busy_state_trans_24a,
2115	[21] = &llc_busy_state_trans_24b,
2116	[22] = &llc_busy_state_trans_25,
2117	[23] = &llc_busy_state_trans_26,
2118	[24] = &llc_common_state_trans_end,
2119	[25] = &llc_busy_state_trans_9a,	/* Receive frame */
2120	[26] = &llc_busy_state_trans_9b,
2121	[27] = &llc_busy_state_trans_10a,
2122	[28] = &llc_busy_state_trans_10b,
2123	[29] = &llc_busy_state_trans_11,
2124	[30] = &llc_busy_state_trans_12,
2125	[31] = &llc_busy_state_trans_13a,
2126	[32] = &llc_busy_state_trans_13b,
2127	[33] = &llc_busy_state_trans_14a,
2128	[34] = &llc_busy_state_trans_14b,
2129	[35] = &llc_busy_state_trans_15a,
2130	[36] = &llc_busy_state_trans_15b,
2131	[37] = &llc_busy_state_trans_15c,
2132	[38] = &llc_busy_state_trans_16,
2133	[39] = &llc_busy_state_trans_17a,
2134	[40] = &llc_busy_state_trans_17b,
2135	[41] = &llc_busy_state_trans_17c,
2136	[42] = &llc_busy_state_trans_18,
2137	[43] = &llc_busy_state_trans_19a,
2138	[44] = &llc_busy_state_trans_19b,
2139	[45] = &llc_busy_state_trans_20a,
2140	[46] = &llc_busy_state_trans_20b,
2141	[47] = &llc_busy_state_trans_21,
2142	[48] = &llc_common_state_trans_3,
2143	[49] = &llc_common_state_trans_4,
2144	[50] = &llc_common_state_trans_5,
2145	[51] = &llc_common_state_trans_6,
2146	[52] = &llc_common_state_trans_7a,
2147	[53] = &llc_common_state_trans_7b,
2148	[54] = &llc_common_state_trans_8a,
2149	[55] = &llc_common_state_trans_8b,
2150	[56] = &llc_common_state_trans_8c,
2151	[57] = &llc_common_state_trans_9,
2152	/* [58] = &llc_common_state_trans_10, */
2153	[58] = &llc_common_state_trans_end,
2154};
2155
2156/* LLC_CONN_STATE_REJ transitions */
2157/* State transitions for LLC_CONN_EV_DATA_REQ event */
2158static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_1[] = {
2159	[0] = llc_conn_ev_qlfy_remote_busy_eq_0,
2160	[1] = llc_conn_ev_qlfy_p_flag_eq_0,
2161	[2] = NULL,
2162};
2163
2164static llc_conn_action_t llc_reject_actions_1[] = {
2165	[0] = llc_conn_ac_send_i_xxx_x_set_0,
2166	[1] = NULL,
2167};
2168
2169static struct llc_conn_state_trans llc_reject_state_trans_1 = {
2170	.ev	       = llc_conn_ev_data_req,
2171	.next_state    = LLC_CONN_STATE_REJ,
2172	.ev_qualifiers = llc_reject_ev_qfyrs_1,
2173	.ev_actions    = llc_reject_actions_1,
2174};
2175
2176/* State transitions for LLC_CONN_EV_DATA_REQ event */
2177static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_2[] = {
2178	[0] = llc_conn_ev_qlfy_remote_busy_eq_0,
2179	[1] = llc_conn_ev_qlfy_p_flag_eq_1,
2180	[2] = NULL,
2181};
2182
2183static llc_conn_action_t llc_reject_actions_2[] = {
2184	[0] = llc_conn_ac_send_i_xxx_x_set_0,
2185	[1] = NULL,
2186};
2187
2188static struct llc_conn_state_trans llc_reject_state_trans_2 = {
2189	.ev	       = llc_conn_ev_data_req,
2190	.next_state    = LLC_CONN_STATE_REJ,
2191	.ev_qualifiers = llc_reject_ev_qfyrs_2,
2192	.ev_actions    = llc_reject_actions_2,
2193};
2194
2195/* State transitions for LLC_CONN_EV_DATA_REQ event */
2196static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_2_1[] = {
2197	[0] = llc_conn_ev_qlfy_remote_busy_eq_1,
2198	[1] = llc_conn_ev_qlfy_set_status_remote_busy,
2199	[2] = NULL,
2200};
2201
2202/* just one member, NULL, .bss zeroes it */
2203static llc_conn_action_t llc_reject_actions_2_1[1];
2204
2205static struct llc_conn_state_trans llc_reject_state_trans_2_1 = {
2206	.ev	       = llc_conn_ev_data_req,
2207	.next_state    = LLC_CONN_STATE_REJ,
2208	.ev_qualifiers = llc_reject_ev_qfyrs_2_1,
2209	.ev_actions    = llc_reject_actions_2_1,
2210};
2211
2212
2213/* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */
2214static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_3[] = {
2215	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
2216	[1] = NULL,
2217};
2218
2219static llc_conn_action_t llc_reject_actions_3[] = {
2220	[0] = llc_conn_ac_send_rnr_xxx_x_set_0,
2221	[1] = llc_conn_ac_set_data_flag_2,
2222	[2] = NULL,
2223};
2224
2225static struct llc_conn_state_trans llc_reject_state_trans_3 = {
2226	.ev	       = llc_conn_ev_local_busy_detected,
2227	.next_state    = LLC_CONN_STATE_BUSY,
2228	.ev_qualifiers = llc_reject_ev_qfyrs_3,
2229	.ev_actions    = llc_reject_actions_3,
2230};
2231
2232/* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */
2233static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_4[] = {
2234	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
2235	[1] = NULL,
2236};
2237
2238static llc_conn_action_t llc_reject_actions_4[] = {
2239	[0] = llc_conn_ac_send_rnr_xxx_x_set_0,
2240	[1] = llc_conn_ac_set_data_flag_2,
2241	[2] = NULL,
2242};
2243
2244static struct llc_conn_state_trans llc_reject_state_trans_4 = {
2245	.ev	       = llc_conn_ev_local_busy_detected,
2246	.next_state    = LLC_CONN_STATE_BUSY,
2247	.ev_qualifiers = llc_reject_ev_qfyrs_4,
2248	.ev_actions    = llc_reject_actions_4,
2249};
2250
2251/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
2252static llc_conn_action_t llc_reject_actions_5a[] = {
2253	[0] = llc_conn_ac_upd_nr_received,
2254	[1] = llc_conn_ac_upd_p_flag,
2255	[2] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
2256	[3] = NULL,
2257};
2258
2259static struct llc_conn_state_trans llc_reject_state_trans_5a = {
2260	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
2261	.next_state    = LLC_CONN_STATE_REJ,
2262	.ev_qualifiers = NONE,
2263	.ev_actions    = llc_reject_actions_5a,
2264};
2265
2266/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
2267static llc_conn_action_t llc_reject_actions_5b[] = {
2268	[0] = llc_conn_ac_upd_nr_received,
2269	[1] = llc_conn_ac_upd_p_flag,
2270	[2] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
2271	[3] = NULL,
2272};
2273
2274static struct llc_conn_state_trans llc_reject_state_trans_5b = {
2275	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
2276	.next_state    = LLC_CONN_STATE_REJ,
2277	.ev_qualifiers = NONE,
2278	.ev_actions    = llc_reject_actions_5b,
2279};
2280
2281/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1_UNEXPD_Ns event */
2282static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_5c[] = {
2283	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
2284	[1] = NULL,
2285};
2286
2287static llc_conn_action_t llc_reject_actions_5c[] = {
2288	[0] = llc_conn_ac_upd_nr_received,
2289	[1] = llc_conn_ac_upd_p_flag,
2290	[2] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
2291	[3] = NULL,
2292};
2293
2294static struct llc_conn_state_trans llc_reject_state_trans_5c = {
2295	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns,
2296	.next_state    = LLC_CONN_STATE_REJ,
2297	.ev_qualifiers = llc_reject_ev_qfyrs_5c,
2298	.ev_actions    = llc_reject_actions_5c,
2299};
2300
2301/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */
2302static llc_conn_action_t llc_reject_actions_6[] = {
2303	[0] = llc_conn_ac_send_rr_rsp_f_set_1,
2304	[1] = llc_conn_ac_upd_nr_received,
2305	[2] = NULL,
2306};
2307
2308static struct llc_conn_state_trans llc_reject_state_trans_6 = {
2309	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,
2310	.next_state    = LLC_CONN_STATE_REJ,
2311	.ev_qualifiers = NONE,
2312	.ev_actions    = llc_reject_actions_6,
2313};
2314
2315/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_X event */
2316static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_7a[] = {
2317	[0] = llc_conn_ev_qlfy_p_flag_eq_f,
2318	[1] = NULL,
2319};
2320
2321static llc_conn_action_t llc_reject_actions_7a[] = {
2322	[0] = llc_conn_ac_inc_vr_by_1,
2323	[1] = llc_conn_ac_data_ind,
2324	[2] = llc_conn_ac_upd_p_flag,
2325	[3] = llc_conn_ac_send_ack_xxx_x_set_0,
2326	[4] = llc_conn_ac_upd_nr_received,
2327	[5] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
2328	[6] = llc_conn_ac_stop_rej_timer,
2329	[7] = NULL,
2330
2331};
2332
2333static struct llc_conn_state_trans llc_reject_state_trans_7a = {
2334	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_x,
2335	.next_state    = LLC_CONN_STATE_NORMAL,
2336	.ev_qualifiers = llc_reject_ev_qfyrs_7a,
2337	.ev_actions    = llc_reject_actions_7a,
2338};
2339
2340/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
2341static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_7b[] = {
2342	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
2343	[1] = NULL,
2344};
2345
2346static llc_conn_action_t llc_reject_actions_7b[] = {
2347	[0] = llc_conn_ac_inc_vr_by_1,
2348	[1] = llc_conn_ac_data_ind,
2349	[2] = llc_conn_ac_upd_p_flag,
2350	[3] = llc_conn_ac_send_ack_xxx_x_set_0,
2351	[4] = llc_conn_ac_upd_nr_received,
2352	[5] = llc_conn_ac_clear_remote_busy_if_f_eq_1,
2353	[6] = llc_conn_ac_stop_rej_timer,
2354	[7] = NULL,
2355};
2356
2357static struct llc_conn_state_trans llc_reject_state_trans_7b = {
2358	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0,
2359	.next_state    = LLC_CONN_STATE_NORMAL,
2360	.ev_qualifiers = llc_reject_ev_qfyrs_7b,
2361	.ev_actions    = llc_reject_actions_7b,
2362};
2363
2364/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 event */
2365static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_8a[] = {
2366	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
2367	[1] = NULL,
2368};
2369
2370static llc_conn_action_t llc_reject_actions_8a[] = {
2371	[0] = llc_conn_ac_inc_vr_by_1,
2372	[1] = llc_conn_ac_data_ind,
2373	[2] = llc_conn_ac_send_ack_xxx_x_set_0,
2374	[3] = llc_conn_ac_upd_nr_received,
2375	[4] = llc_conn_ac_stop_rej_timer,
2376	[5] = NULL,
2377};
2378
2379static struct llc_conn_state_trans llc_reject_state_trans_8a = {
2380	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_0,
2381	.next_state    = LLC_CONN_STATE_NORMAL,
2382	.ev_qualifiers = llc_reject_ev_qfyrs_8a,
2383	.ev_actions    = llc_reject_actions_8a,
2384};
2385
2386/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
2387static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_8b[] = {
2388	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
2389	[1] = NULL,
2390};
2391
2392static llc_conn_action_t llc_reject_actions_8b[] = {
2393	[0] = llc_conn_ac_inc_vr_by_1,
2394	[1] = llc_conn_ac_data_ind,
2395	[2] = llc_conn_ac_send_ack_xxx_x_set_0,
2396	[3] = llc_conn_ac_upd_nr_received,
2397	[4] = llc_conn_ac_stop_rej_timer,
2398	[5] = NULL,
2399};
2400
2401static struct llc_conn_state_trans llc_reject_state_trans_8b = {
2402	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0,
2403	.next_state    = LLC_CONN_STATE_NORMAL,
2404	.ev_qualifiers = llc_reject_ev_qfyrs_8b,
2405	.ev_actions    = llc_reject_actions_8b,
2406};
2407
2408/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 event */
2409static llc_conn_action_t llc_reject_actions_9[] = {
2410	[0] = llc_conn_ac_inc_vr_by_1,
2411	[1] = llc_conn_ac_data_ind,
2412	[2] = llc_conn_ac_send_ack_rsp_f_set_1,
2413	[3] = llc_conn_ac_upd_nr_received,
2414	[4] = llc_conn_ac_stop_rej_timer,
2415	[5] = NULL,
2416};
2417
2418static struct llc_conn_state_trans llc_reject_state_trans_9 = {
2419	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_1,
2420	.next_state    = LLC_CONN_STATE_NORMAL,
2421	.ev_qualifiers = NONE,
2422	.ev_actions    = llc_reject_actions_9,
2423};
2424
2425/* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 event */
2426static llc_conn_action_t llc_reject_actions_10a[] = {
2427	[0] = llc_conn_ac_upd_p_flag,
2428	[1] = llc_conn_ac_upd_nr_received,
2429	[2] = llc_conn_ac_clear_remote_busy,
2430	[3] = NULL,
2431};
2432
2433static struct llc_conn_state_trans llc_reject_state_trans_10a = {
2434	.ev	       = llc_conn_ev_rx_rr_cmd_pbit_set_0,
2435	.next_state    = LLC_CONN_STATE_REJ,
2436	.ev_qualifiers = NONE,
2437	.ev_actions    = llc_reject_actions_10a,
2438};
2439
2440/* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 event */
2441static llc_conn_action_t llc_reject_actions_10b[] = {
2442	[0] = llc_conn_ac_upd_p_flag,
2443	[1] = llc_conn_ac_upd_nr_received,
2444	[2] = llc_conn_ac_clear_remote_busy,
2445	[3] = NULL,
2446};
2447
2448static struct llc_conn_state_trans llc_reject_state_trans_10b = {
2449	.ev	       = llc_conn_ev_rx_rr_rsp_fbit_set_0,
2450	.next_state    = LLC_CONN_STATE_REJ,
2451	.ev_qualifiers = NONE,
2452	.ev_actions    = llc_reject_actions_10b,
2453};
2454
2455/* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 event */
2456static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_10c[] = {
2457	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
2458	[1] = NULL,
2459};
2460
2461static llc_conn_action_t llc_reject_actions_10c[] = {
2462	[0] = llc_conn_ac_upd_p_flag,
2463	[1] = llc_conn_ac_upd_nr_received,
2464	[2] = llc_conn_ac_clear_remote_busy,
2465	[3] = NULL,
2466};
2467
2468static struct llc_conn_state_trans llc_reject_state_trans_10c = {
2469	.ev	       = llc_conn_ev_rx_rr_rsp_fbit_set_1,
2470	.next_state    = LLC_CONN_STATE_REJ,
2471	.ev_qualifiers = llc_reject_ev_qfyrs_10c,
2472	.ev_actions    = llc_reject_actions_10c,
2473};
2474
2475/* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 event */
2476static llc_conn_action_t llc_reject_actions_11[] = {
2477	[0] = llc_conn_ac_send_ack_rsp_f_set_1,
2478	[1] = llc_conn_ac_upd_nr_received,
2479	[2] = llc_conn_ac_clear_remote_busy,
2480	[3] = NULL,
2481};
2482
2483static struct llc_conn_state_trans llc_reject_state_trans_11 = {
2484	.ev	       = llc_conn_ev_rx_rr_cmd_pbit_set_1,
2485	.next_state    = LLC_CONN_STATE_REJ,
2486	.ev_qualifiers = NONE,
2487	.ev_actions    = llc_reject_actions_11,
2488};
2489
2490/* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 event */
2491static llc_conn_action_t llc_reject_actions_12a[] = {
2492	[0] = llc_conn_ac_upd_p_flag,
2493	[1] = llc_conn_ac_upd_nr_received,
2494	[2] = llc_conn_ac_set_remote_busy,
2495	[3] = NULL,
2496};
2497
2498static struct llc_conn_state_trans llc_reject_state_trans_12a = {
2499	.ev	       = llc_conn_ev_rx_rnr_cmd_pbit_set_0,
2500	.next_state    = LLC_CONN_STATE_REJ,
2501	.ev_qualifiers = NONE,
2502	.ev_actions    = llc_reject_actions_12a,
2503};
2504
2505/* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 event */
2506static llc_conn_action_t llc_reject_actions_12b[] = {
2507	[0] = llc_conn_ac_upd_p_flag,
2508	[1] = llc_conn_ac_upd_nr_received,
2509	[2] = llc_conn_ac_set_remote_busy,
2510	[3] = NULL,
2511};
2512
2513static struct llc_conn_state_trans llc_reject_state_trans_12b = {
2514	.ev	       = llc_conn_ev_rx_rnr_rsp_fbit_set_0,
2515	.next_state    = LLC_CONN_STATE_REJ,
2516	.ev_qualifiers = NONE,
2517	.ev_actions    = llc_reject_actions_12b,
2518};
2519
2520/* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 event */
2521static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_12c[] = {
2522	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
2523	[1] = NULL,
2524};
2525
2526static llc_conn_action_t llc_reject_actions_12c[] = {
2527	[0] = llc_conn_ac_upd_p_flag,
2528	[1] = llc_conn_ac_upd_nr_received,
2529	[2] = llc_conn_ac_set_remote_busy,
2530	[3] = NULL,
2531};
2532
2533static struct llc_conn_state_trans llc_reject_state_trans_12c = {
2534	.ev	       = llc_conn_ev_rx_rnr_rsp_fbit_set_1,
2535	.next_state    = LLC_CONN_STATE_REJ,
2536	.ev_qualifiers = llc_reject_ev_qfyrs_12c,
2537	.ev_actions    = llc_reject_actions_12c,
2538};
2539
2540/* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 event */
2541static llc_conn_action_t llc_reject_actions_13[] = {
2542	[0] = llc_conn_ac_send_rr_rsp_f_set_1,
2543	[1] = llc_conn_ac_upd_nr_received,
2544	[2] = llc_conn_ac_set_remote_busy,
2545	[3] = NULL,
2546};
2547
2548static struct llc_conn_state_trans llc_reject_state_trans_13 = {
2549	.ev	       = llc_conn_ev_rx_rnr_cmd_pbit_set_1,
2550	.next_state    = LLC_CONN_STATE_REJ,
2551	.ev_qualifiers = NONE,
2552	.ev_actions    = llc_reject_actions_13,
2553};
2554
2555/* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
2556static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_14a[] = {
2557	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
2558	[1] = NULL,
2559};
2560
2561static llc_conn_action_t llc_reject_actions_14a[] = {
2562	[0] = llc_conn_ac_set_vs_nr,
2563	[1] = llc_conn_ac_upd_nr_received,
2564	[2] = llc_conn_ac_upd_p_flag,
2565	[3] = llc_conn_ac_resend_i_xxx_x_set_0,
2566	[4] = llc_conn_ac_clear_remote_busy,
2567	[5] = NULL,
2568};
2569
2570static struct llc_conn_state_trans llc_reject_state_trans_14a = {
2571	.ev	       = llc_conn_ev_rx_rej_cmd_pbit_set_0,
2572	.next_state    = LLC_CONN_STATE_REJ,
2573	.ev_qualifiers = llc_reject_ev_qfyrs_14a,
2574	.ev_actions    = llc_reject_actions_14a,
2575};
2576
2577/* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_X event */
2578static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_14b[] = {
2579	[0] = llc_conn_ev_qlfy_p_flag_eq_f,
2580	[1] = NULL,
2581};
2582
2583static llc_conn_action_t llc_reject_actions_14b[] = {
2584	[0] = llc_conn_ac_set_vs_nr,
2585	[1] = llc_conn_ac_upd_nr_received,
2586	[2] = llc_conn_ac_upd_p_flag,
2587	[3] = llc_conn_ac_resend_i_xxx_x_set_0,
2588	[4] = llc_conn_ac_clear_remote_busy,
2589	[5] = NULL,
2590};
2591
2592static struct llc_conn_state_trans llc_reject_state_trans_14b = {
2593	.ev	       = llc_conn_ev_rx_rej_rsp_fbit_set_x,
2594	.next_state    = LLC_CONN_STATE_REJ,
2595	.ev_qualifiers = llc_reject_ev_qfyrs_14b,
2596	.ev_actions    = llc_reject_actions_14b,
2597};
2598
2599/* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
2600static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_15a[] = {
2601	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
2602	[1] = NULL,
2603};
2604
2605static llc_conn_action_t llc_reject_actions_15a[] = {
2606	[0] = llc_conn_ac_set_vs_nr,
2607	[1] = llc_conn_ac_upd_nr_received,
2608	[2] = llc_conn_ac_resend_i_xxx_x_set_0,
2609	[3] = llc_conn_ac_clear_remote_busy,
2610	[4] = NULL,
2611};
2612
2613static struct llc_conn_state_trans llc_reject_state_trans_15a = {
2614	.ev	       = llc_conn_ev_rx_rej_cmd_pbit_set_0,
2615	.next_state    = LLC_CONN_STATE_REJ,
2616	.ev_qualifiers = llc_reject_ev_qfyrs_15a,
2617	.ev_actions    = llc_reject_actions_15a,
2618};
2619
2620/* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 event */
2621static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_15b[] = {
2622	[0] = llc_conn_ev_qlfy_p_flag_eq_1,
2623	[1] = NULL,
2624};
2625
2626static llc_conn_action_t llc_reject_actions_15b[] = {
2627	[0] = llc_conn_ac_set_vs_nr,
2628	[1] = llc_conn_ac_upd_nr_received,
2629	[2] = llc_conn_ac_resend_i_xxx_x_set_0,
2630	[3] = llc_conn_ac_clear_remote_busy,
2631	[4] = NULL,
2632};
2633
2634static struct llc_conn_state_trans llc_reject_state_trans_15b = {
2635	.ev	       = llc_conn_ev_rx_rej_rsp_fbit_set_0,
2636	.next_state    = LLC_CONN_STATE_REJ,
2637	.ev_qualifiers = llc_reject_ev_qfyrs_15b,
2638	.ev_actions    = llc_reject_actions_15b,
2639};
2640
2641/* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 event */
2642static llc_conn_action_t llc_reject_actions_16[] = {
2643	[0] = llc_conn_ac_set_vs_nr,
2644	[1] = llc_conn_ac_upd_nr_received,
2645	[2] = llc_conn_ac_resend_i_rsp_f_set_1,
2646	[3] = llc_conn_ac_clear_remote_busy,
2647	[4] = NULL,
2648};
2649
2650static struct llc_conn_state_trans llc_reject_state_trans_16 = {
2651	.ev	       = llc_conn_ev_rx_rej_cmd_pbit_set_1,
2652	.next_state    = LLC_CONN_STATE_REJ,
2653	.ev_qualifiers = NONE,
2654	.ev_actions    = llc_reject_actions_16,
2655};
2656
2657/* State transitions for LLC_CONN_EV_INIT_P_F_CYCLE event */
2658static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_17[] = {
2659	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
2660	[1] = NULL,
2661};
2662
2663static llc_conn_action_t llc_reject_actions_17[] = {
2664	[0] = llc_conn_ac_send_rr_cmd_p_set_1,
2665	[1] = llc_conn_ac_start_p_timer,
2666	[2] = NULL,
2667};
2668
2669static struct llc_conn_state_trans llc_reject_state_trans_17 = {
2670	.ev	       = llc_conn_ev_init_p_f_cycle,
2671	.next_state    = LLC_CONN_STATE_REJ,
2672	.ev_qualifiers = llc_reject_ev_qfyrs_17,
2673	.ev_actions    = llc_reject_actions_17,
2674};
2675
2676/* State transitions for LLC_CONN_EV_REJ_TMR_EXP event */
2677static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_18[] = {
2678	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
2679	[1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
2680	[2] = NULL,
2681};
2682
2683static llc_conn_action_t llc_reject_actions_18[] = {
2684	[0] = llc_conn_ac_send_rej_cmd_p_set_1,
2685	[1] = llc_conn_ac_start_p_timer,
2686	[2] = llc_conn_ac_start_rej_timer,
2687	[3] = llc_conn_ac_inc_retry_cnt_by_1,
2688	[4] = NULL,
2689};
2690
2691static struct llc_conn_state_trans llc_reject_state_trans_18 = {
2692	.ev	       = llc_conn_ev_rej_tmr_exp,
2693	.next_state    = LLC_CONN_STATE_REJ,
2694	.ev_qualifiers = llc_reject_ev_qfyrs_18,
2695	.ev_actions    = llc_reject_actions_18,
2696};
2697
2698/* State transitions for LLC_CONN_EV_P_TMR_EXP event */
2699static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_19[] = {
2700	[0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
2701	[1] = NULL,
2702};
2703
2704static llc_conn_action_t llc_reject_actions_19[] = {
2705	[0] = llc_conn_ac_send_rr_cmd_p_set_1,
2706	[1] = llc_conn_ac_start_p_timer,
2707	[2] = llc_conn_ac_start_rej_timer,
2708	[3] = llc_conn_ac_inc_retry_cnt_by_1,
2709	[4] = llc_conn_ac_rst_vs,
2710	[5] = NULL,
2711};
2712
2713static struct llc_conn_state_trans llc_reject_state_trans_19 = {
2714	.ev	       = llc_conn_ev_p_tmr_exp,
2715	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
2716	.ev_qualifiers = llc_reject_ev_qfyrs_19,
2717	.ev_actions    = llc_reject_actions_19,
2718};
2719
2720/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
2721static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_20a[] = {
2722	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
2723	[1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
2724	[2] = NULL,
2725};
2726
2727static llc_conn_action_t llc_reject_actions_20a[] = {
2728	[0] = llc_conn_ac_send_rr_cmd_p_set_1,
2729	[1] = llc_conn_ac_start_p_timer,
2730	[2] = llc_conn_ac_start_rej_timer,
2731	[3] = llc_conn_ac_inc_retry_cnt_by_1,
2732	[4] = llc_conn_ac_rst_vs,
2733	[5] = NULL,
2734};
2735
2736static struct llc_conn_state_trans llc_reject_state_trans_20a = {
2737	.ev	       = llc_conn_ev_ack_tmr_exp,
2738	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
2739	.ev_qualifiers = llc_reject_ev_qfyrs_20a,
2740	.ev_actions    = llc_reject_actions_20a,
2741};
2742
2743/* State transitions for LLC_CONN_EV_BUSY_TMR_EXP event */
2744static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_20b[] = {
2745	[0] = llc_conn_ev_qlfy_p_flag_eq_0,
2746	[1] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
2747	[2] = NULL,
2748};
2749
2750static llc_conn_action_t llc_reject_actions_20b[] = {
2751	[0] = llc_conn_ac_send_rr_cmd_p_set_1,
2752	[1] = llc_conn_ac_start_p_timer,
2753	[2] = llc_conn_ac_start_rej_timer,
2754	[3] = llc_conn_ac_inc_retry_cnt_by_1,
2755	[4] = llc_conn_ac_rst_vs,
2756	[5] = NULL,
2757};
2758
2759static struct llc_conn_state_trans llc_reject_state_trans_20b = {
2760	.ev	       = llc_conn_ev_busy_tmr_exp,
2761	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
2762	.ev_qualifiers = llc_reject_ev_qfyrs_20b,
2763	.ev_actions    = llc_reject_actions_20b,
2764};
2765
2766/*
2767 * Array of pointers;
2768 * one to each transition
2769 */
2770static struct llc_conn_state_trans *llc_reject_state_transitions[] = {
2771	 [0] = &llc_common_state_trans_1,	/* Request */
2772	 [1] = &llc_common_state_trans_2,
2773	 [2] = &llc_common_state_trans_end,
2774	 [3] = &llc_reject_state_trans_1,
2775	 [4] = &llc_reject_state_trans_2,
2776	 [5] = &llc_reject_state_trans_2_1,
2777	 [6] = &llc_reject_state_trans_3,	/* Local busy */
2778	 [7] = &llc_reject_state_trans_4,
2779	 [8] = &llc_common_state_trans_end,
2780	 [9] = &llc_reject_state_trans_17,	/* Initiate PF cycle */
2781	[10] = &llc_common_state_trans_end,
2782	[11] = &llc_common_state_trans_11a,	/* Timer */
2783	[12] = &llc_common_state_trans_11b,
2784	[13] = &llc_common_state_trans_11c,
2785	[14] = &llc_common_state_trans_11d,
2786	[15] = &llc_reject_state_trans_18,
2787	[16] = &llc_reject_state_trans_19,
2788	[17] = &llc_reject_state_trans_20a,
2789	[18] = &llc_reject_state_trans_20b,
2790	[19] = &llc_common_state_trans_end,
2791	[20] = &llc_common_state_trans_3,	/* Receive frame */
2792	[21] = &llc_common_state_trans_4,
2793	[22] = &llc_common_state_trans_5,
2794	[23] = &llc_common_state_trans_6,
2795	[24] = &llc_common_state_trans_7a,
2796	[25] = &llc_common_state_trans_7b,
2797	[26] = &llc_common_state_trans_8a,
2798	[27] = &llc_common_state_trans_8b,
2799	[28] = &llc_common_state_trans_8c,
2800	[29] = &llc_common_state_trans_9,
2801	/* [30] = &llc_common_state_trans_10, */
2802	[30] = &llc_reject_state_trans_5a,
2803	[31] = &llc_reject_state_trans_5b,
2804	[32] = &llc_reject_state_trans_5c,
2805	[33] = &llc_reject_state_trans_6,
2806	[34] = &llc_reject_state_trans_7a,
2807	[35] = &llc_reject_state_trans_7b,
2808	[36] = &llc_reject_state_trans_8a,
2809	[37] = &llc_reject_state_trans_8b,
2810	[38] = &llc_reject_state_trans_9,
2811	[39] = &llc_reject_state_trans_10a,
2812	[40] = &llc_reject_state_trans_10b,
2813	[41] = &llc_reject_state_trans_10c,
2814	[42] = &llc_reject_state_trans_11,
2815	[43] = &llc_reject_state_trans_12a,
2816	[44] = &llc_reject_state_trans_12b,
2817	[45] = &llc_reject_state_trans_12c,
2818	[46] = &llc_reject_state_trans_13,
2819	[47] = &llc_reject_state_trans_14a,
2820	[48] = &llc_reject_state_trans_14b,
2821	[49] = &llc_reject_state_trans_15a,
2822	[50] = &llc_reject_state_trans_15b,
2823	[51] = &llc_reject_state_trans_16,
2824	[52] = &llc_common_state_trans_end,
2825};
2826
2827/* LLC_CONN_STATE_AWAIT transitions */
2828/* State transitions for LLC_CONN_EV_DATA_REQ event */
2829static llc_conn_ev_qfyr_t llc_await_ev_qfyrs_1_0[] = {
2830	[0] = llc_conn_ev_qlfy_set_status_refuse,
2831	[1] = NULL,
2832};
2833
2834/* just one member, NULL, .bss zeroes it */
2835static llc_conn_action_t llc_await_actions_1_0[1];
2836
2837static struct llc_conn_state_trans llc_await_state_trans_1_0 = {
2838	.ev	       = llc_conn_ev_data_req,
2839	.next_state    = LLC_CONN_STATE_AWAIT,
2840	.ev_qualifiers = llc_await_ev_qfyrs_1_0,
2841	.ev_actions    = llc_await_actions_1_0,
2842};
2843
2844/* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */
2845static llc_conn_action_t llc_await_actions_1[] = {
2846	[0] = llc_conn_ac_send_rnr_xxx_x_set_0,
2847	[1] = llc_conn_ac_set_data_flag_0,
2848	[2] = NULL,
2849};
2850
2851static struct llc_conn_state_trans llc_await_state_trans_1 = {
2852	.ev	       = llc_conn_ev_local_busy_detected,
2853	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
2854	.ev_qualifiers = NONE,
2855	.ev_actions    = llc_await_actions_1,
2856};
2857
2858/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1_UNEXPD_Ns event */
2859static llc_conn_action_t llc_await_actions_2[] = {
2860	[0] = llc_conn_ac_send_rej_xxx_x_set_0,
2861	[1] = llc_conn_ac_upd_nr_received,
2862	[2] = llc_conn_ac_upd_vs,
2863	[3] = llc_conn_ac_stop_p_timer,
2864	[4] = llc_conn_ac_resend_i_xxx_x_set_0,
2865	[5] = llc_conn_ac_start_rej_timer,
2866	[6] = llc_conn_ac_clear_remote_busy,
2867	[7] = NULL,
2868};
2869
2870static struct llc_conn_state_trans llc_await_state_trans_2 = {
2871	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns,
2872	.next_state    = LLC_CONN_STATE_REJ,
2873	.ev_qualifiers = NONE,
2874	.ev_actions    = llc_await_actions_2,
2875};
2876
2877/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
2878static llc_conn_action_t llc_await_actions_3a[] = {
2879	[0] = llc_conn_ac_send_rej_xxx_x_set_0,
2880	[1] = llc_conn_ac_upd_nr_received,
2881	[2] = llc_conn_ac_upd_vs,
2882	[3] = llc_conn_ac_start_rej_timer,
2883	[4] = NULL,
2884};
2885
2886static struct llc_conn_state_trans llc_await_state_trans_3a = {
2887	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
2888	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
2889	.ev_qualifiers = NONE,
2890	.ev_actions    = llc_await_actions_3a,
2891};
2892
2893/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
2894static llc_conn_action_t llc_await_actions_3b[] = {
2895	[0] = llc_conn_ac_send_rej_xxx_x_set_0,
2896	[1] = llc_conn_ac_upd_nr_received,
2897	[2] = llc_conn_ac_upd_vs,
2898	[3] = llc_conn_ac_start_rej_timer,
2899	[4] = NULL,
2900};
2901
2902static struct llc_conn_state_trans llc_await_state_trans_3b = {
2903	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
2904	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
2905	.ev_qualifiers = NONE,
2906	.ev_actions    = llc_await_actions_3b,
2907};
2908
2909/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */
2910static llc_conn_action_t llc_await_actions_4[] = {
2911	[0] = llc_conn_ac_send_rej_rsp_f_set_1,
2912	[1] = llc_conn_ac_upd_nr_received,
2913	[2] = llc_conn_ac_upd_vs,
2914	[3] = llc_conn_ac_start_rej_timer,
2915	[4] = llc_conn_ac_start_p_timer,
2916	[5] = NULL,
2917};
2918
2919static struct llc_conn_state_trans llc_await_state_trans_4 = {
2920	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,
2921	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
2922	.ev_qualifiers = NONE,
2923	.ev_actions    = llc_await_actions_4,
2924};
2925
2926/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1 event */
2927static llc_conn_action_t llc_await_actions_5[] = {
2928	[0] = llc_conn_ac_inc_vr_by_1,
2929	[1] = llc_conn_ac_data_ind,
2930	[2] = llc_conn_ac_stop_p_timer,
2931	[3] = llc_conn_ac_upd_nr_received,
2932	[4] = llc_conn_ac_upd_vs,
2933	[5] = llc_conn_ac_resend_i_xxx_x_set_0_or_send_rr,
2934	[6] = llc_conn_ac_clear_remote_busy,
2935	[7] = NULL,
2936};
2937
2938static struct llc_conn_state_trans llc_await_state_trans_5 = {
2939	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_1,
2940	.next_state    = LLC_CONN_STATE_NORMAL,
2941	.ev_qualifiers = NONE,
2942	.ev_actions    = llc_await_actions_5,
2943};
2944
2945/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 event */
2946static llc_conn_action_t llc_await_actions_6a[] = {
2947	[0] = llc_conn_ac_inc_vr_by_1,
2948	[1] = llc_conn_ac_data_ind,
2949	[2] = llc_conn_ac_send_rr_xxx_x_set_0,
2950	[3] = llc_conn_ac_upd_nr_received,
2951	[4] = llc_conn_ac_upd_vs,
2952	[5] = NULL,
2953};
2954
2955static struct llc_conn_state_trans llc_await_state_trans_6a = {
2956	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_0,
2957	.next_state    = LLC_CONN_STATE_AWAIT,
2958	.ev_qualifiers = NONE,
2959	.ev_actions    = llc_await_actions_6a,
2960};
2961
2962/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
2963static llc_conn_action_t llc_await_actions_6b[] = {
2964	[0] = llc_conn_ac_inc_vr_by_1,
2965	[1] = llc_conn_ac_data_ind,
2966	[2] = llc_conn_ac_send_rr_xxx_x_set_0,
2967	[3] = llc_conn_ac_upd_nr_received,
2968	[4] = llc_conn_ac_upd_vs,
2969	[5] = NULL,
2970};
2971
2972static struct llc_conn_state_trans llc_await_state_trans_6b = {
2973	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0,
2974	.next_state    = LLC_CONN_STATE_AWAIT,
2975	.ev_qualifiers = NONE,
2976	.ev_actions    = llc_await_actions_6b,
2977};
2978
2979/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 event */
2980static llc_conn_action_t llc_await_actions_7[] = {
2981	[0] = llc_conn_ac_inc_vr_by_1,
2982	[1] = llc_conn_ac_data_ind,
2983	[2] = llc_conn_ac_send_rr_rsp_f_set_1,
2984	[3] = llc_conn_ac_upd_nr_received,
2985	[4] = llc_conn_ac_upd_vs,
2986	[5] = NULL,
2987};
2988
2989static struct llc_conn_state_trans llc_await_state_trans_7 = {
2990	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_1,
2991	.next_state    = LLC_CONN_STATE_AWAIT,
2992	.ev_qualifiers = NONE,
2993	.ev_actions    = llc_await_actions_7,
2994};
2995
2996/* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 event */
2997static llc_conn_action_t llc_await_actions_8a[] = {
2998	[0] = llc_conn_ac_upd_nr_received,
2999	[1] = llc_conn_ac_upd_vs,
3000	[2] = llc_conn_ac_stop_p_timer,
3001	[3] = llc_conn_ac_resend_i_xxx_x_set_0,
3002	[4] = llc_conn_ac_clear_remote_busy,
3003	[5] = NULL,
3004};
3005
3006static struct llc_conn_state_trans llc_await_state_trans_8a = {
3007	.ev	       = llc_conn_ev_rx_rr_rsp_fbit_set_1,
3008	.next_state    = LLC_CONN_STATE_NORMAL,
3009	.ev_qualifiers = NONE,
3010	.ev_actions    = llc_await_actions_8a,
3011};
3012
3013/* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_1 event */
3014static llc_conn_action_t llc_await_actions_8b[] = {
3015	[0] = llc_conn_ac_upd_nr_received,
3016	[1] = llc_conn_ac_upd_vs,
3017	[2] = llc_conn_ac_stop_p_timer,
3018	[3] = llc_conn_ac_resend_i_xxx_x_set_0,
3019	[4] = llc_conn_ac_clear_remote_busy,
3020	[5] = NULL,
3021};
3022
3023static struct llc_conn_state_trans llc_await_state_trans_8b = {
3024	.ev	       = llc_conn_ev_rx_rej_rsp_fbit_set_1,
3025	.next_state    = LLC_CONN_STATE_NORMAL,
3026	.ev_qualifiers = NONE,
3027	.ev_actions    = llc_await_actions_8b,
3028};
3029
3030/* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 event */
3031static llc_conn_action_t llc_await_actions_9a[] = {
3032	[0] = llc_conn_ac_upd_nr_received,
3033	[1] = llc_conn_ac_upd_vs,
3034	[2] = llc_conn_ac_clear_remote_busy,
3035	[3] = NULL,
3036};
3037
3038static struct llc_conn_state_trans llc_await_state_trans_9a = {
3039	.ev	       = llc_conn_ev_rx_rr_cmd_pbit_set_0,
3040	.next_state    = LLC_CONN_STATE_AWAIT,
3041	.ev_qualifiers = NONE,
3042	.ev_actions    = llc_await_actions_9a,
3043};
3044
3045/* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 event */
3046static llc_conn_action_t llc_await_actions_9b[] = {
3047	[0] = llc_conn_ac_upd_nr_received,
3048	[1] = llc_conn_ac_upd_vs,
3049	[2] = llc_conn_ac_clear_remote_busy,
3050	[3] = NULL,
3051};
3052
3053static struct llc_conn_state_trans llc_await_state_trans_9b = {
3054	.ev	       = llc_conn_ev_rx_rr_rsp_fbit_set_0,
3055	.next_state    = LLC_CONN_STATE_AWAIT,
3056	.ev_qualifiers = NONE,
3057	.ev_actions    = llc_await_actions_9b,
3058};
3059
3060/* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
3061static llc_conn_action_t llc_await_actions_9c[] = {
3062	[0] = llc_conn_ac_upd_nr_received,
3063	[1] = llc_conn_ac_upd_vs,
3064	[2] = llc_conn_ac_clear_remote_busy,
3065	[3] = NULL,
3066};
3067
3068static struct llc_conn_state_trans llc_await_state_trans_9c = {
3069	.ev	       = llc_conn_ev_rx_rej_cmd_pbit_set_0,
3070	.next_state    = LLC_CONN_STATE_AWAIT,
3071	.ev_qualifiers = NONE,
3072	.ev_actions    = llc_await_actions_9c,
3073};
3074
3075/* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 event */
3076static llc_conn_action_t llc_await_actions_9d[] = {
3077	[0] = llc_conn_ac_upd_nr_received,
3078	[1] = llc_conn_ac_upd_vs,
3079	[2] = llc_conn_ac_clear_remote_busy,
3080	[3] = NULL,
3081};
3082
3083static struct llc_conn_state_trans llc_await_state_trans_9d = {
3084	.ev	       = llc_conn_ev_rx_rej_rsp_fbit_set_0,
3085	.next_state    = LLC_CONN_STATE_AWAIT,
3086	.ev_qualifiers = NONE,
3087	.ev_actions    = llc_await_actions_9d,
3088};
3089
3090/* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 event */
3091static llc_conn_action_t llc_await_actions_10a[] = {
3092	[0] = llc_conn_ac_send_rr_rsp_f_set_1,
3093	[1] = llc_conn_ac_upd_nr_received,
3094	[2] = llc_conn_ac_upd_vs,
3095	[3] = llc_conn_ac_clear_remote_busy,
3096	[4] = NULL,
3097};
3098
3099static struct llc_conn_state_trans llc_await_state_trans_10a = {
3100	.ev	       = llc_conn_ev_rx_rr_cmd_pbit_set_1,
3101	.next_state    = LLC_CONN_STATE_AWAIT,
3102	.ev_qualifiers = NONE,
3103	.ev_actions    = llc_await_actions_10a,
3104};
3105
3106/* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 event */
3107static llc_conn_action_t llc_await_actions_10b[] = {
3108	[0] = llc_conn_ac_send_rr_rsp_f_set_1,
3109	[1] = llc_conn_ac_upd_nr_received,
3110	[2] = llc_conn_ac_upd_vs,
3111	[3] = llc_conn_ac_clear_remote_busy,
3112	[4] = NULL,
3113};
3114
3115static struct llc_conn_state_trans llc_await_state_trans_10b = {
3116	.ev	       = llc_conn_ev_rx_rej_cmd_pbit_set_1,
3117	.next_state    = LLC_CONN_STATE_AWAIT,
3118	.ev_qualifiers = NONE,
3119	.ev_actions    = llc_await_actions_10b,
3120};
3121
3122/* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 event */
3123static llc_conn_action_t llc_await_actions_11[] = {
3124	[0] = llc_conn_ac_upd_nr_received,
3125	[1] = llc_conn_ac_upd_vs,
3126	[2] = llc_conn_ac_stop_p_timer,
3127	[3] = llc_conn_ac_set_remote_busy,
3128	[4] = NULL,
3129};
3130
3131static struct llc_conn_state_trans llc_await_state_trans_11 = {
3132	.ev	       = llc_conn_ev_rx_rnr_rsp_fbit_set_1,
3133	.next_state    = LLC_CONN_STATE_NORMAL,
3134	.ev_qualifiers = NONE,
3135	.ev_actions    = llc_await_actions_11,
3136};
3137
3138/* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 event */
3139static llc_conn_action_t llc_await_actions_12a[] = {
3140	[0] = llc_conn_ac_upd_nr_received,
3141	[1] = llc_conn_ac_upd_vs,
3142	[2] = llc_conn_ac_set_remote_busy,
3143	[3] = NULL,
3144};
3145
3146static struct llc_conn_state_trans llc_await_state_trans_12a = {
3147	.ev	       = llc_conn_ev_rx_rnr_cmd_pbit_set_0,
3148	.next_state    = LLC_CONN_STATE_AWAIT,
3149	.ev_qualifiers = NONE,
3150	.ev_actions    = llc_await_actions_12a,
3151};
3152
3153/* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 event */
3154static llc_conn_action_t llc_await_actions_12b[] = {
3155	[0] = llc_conn_ac_upd_nr_received,
3156	[1] = llc_conn_ac_upd_vs,
3157	[2] = llc_conn_ac_set_remote_busy,
3158	[3] = NULL,
3159};
3160
3161static struct llc_conn_state_trans llc_await_state_trans_12b = {
3162	.ev	       = llc_conn_ev_rx_rnr_rsp_fbit_set_0,
3163	.next_state    = LLC_CONN_STATE_AWAIT,
3164	.ev_qualifiers = NONE,
3165	.ev_actions    = llc_await_actions_12b,
3166};
3167
3168/* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 event */
3169static llc_conn_action_t llc_await_actions_13[] = {
3170	[0] = llc_conn_ac_send_rr_rsp_f_set_1,
3171	[1] = llc_conn_ac_upd_nr_received,
3172	[2] = llc_conn_ac_upd_vs,
3173	[3] = llc_conn_ac_set_remote_busy,
3174	[4] = NULL,
3175};
3176
3177static struct llc_conn_state_trans llc_await_state_trans_13 = {
3178	.ev	       = llc_conn_ev_rx_rnr_cmd_pbit_set_1,
3179	.next_state    = LLC_CONN_STATE_AWAIT,
3180	.ev_qualifiers = NONE,
3181	.ev_actions    = llc_await_actions_13,
3182};
3183
3184/* State transitions for LLC_CONN_EV_P_TMR_EXP event */
3185static llc_conn_ev_qfyr_t llc_await_ev_qfyrs_14[] = {
3186	[0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
3187	[1] = NULL,
3188};
3189
3190static llc_conn_action_t llc_await_actions_14[] = {
3191	[0] = llc_conn_ac_send_rr_cmd_p_set_1,
3192	[1] = llc_conn_ac_start_p_timer,
3193	[2] = llc_conn_ac_inc_retry_cnt_by_1,
3194	[3] = NULL,
3195};
3196
3197static struct llc_conn_state_trans llc_await_state_trans_14 = {
3198	.ev	       = llc_conn_ev_p_tmr_exp,
3199	.next_state    = LLC_CONN_STATE_AWAIT,
3200	.ev_qualifiers = llc_await_ev_qfyrs_14,
3201	.ev_actions    = llc_await_actions_14,
3202};
3203
3204/*
3205 * Array of pointers;
3206 * one to each transition
3207 */
3208static struct llc_conn_state_trans *llc_await_state_transitions[] = {
3209	 [0] = &llc_common_state_trans_1,	/* Request */
3210	 [1] = &llc_common_state_trans_2,
3211	 [2] = &llc_await_state_trans_1_0,
3212	 [3] = &llc_common_state_trans_end,
3213	 [4] = &llc_await_state_trans_1,	/* Local busy */
3214	 [5] = &llc_common_state_trans_end,
3215	 [6] = &llc_common_state_trans_end,	/* Initiate PF Cycle */
3216	 [7] = &llc_common_state_trans_11a,	/* Timer */
3217	 [8] = &llc_common_state_trans_11b,
3218	 [9] = &llc_common_state_trans_11c,
3219	[10] = &llc_common_state_trans_11d,
3220	[11] = &llc_await_state_trans_14,
3221	[12] = &llc_common_state_trans_end,
3222	[13] = &llc_common_state_trans_3,	/* Receive frame */
3223	[14] = &llc_common_state_trans_4,
3224	[15] = &llc_common_state_trans_5,
3225	[16] = &llc_common_state_trans_6,
3226	[17] = &llc_common_state_trans_7a,
3227	[18] = &llc_common_state_trans_7b,
3228	[19] = &llc_common_state_trans_8a,
3229	[20] = &llc_common_state_trans_8b,
3230	[21] = &llc_common_state_trans_8c,
3231	[22] = &llc_common_state_trans_9,
3232	/* [23] = &llc_common_state_trans_10, */
3233	[23] = &llc_await_state_trans_2,
3234	[24] = &llc_await_state_trans_3a,
3235	[25] = &llc_await_state_trans_3b,
3236	[26] = &llc_await_state_trans_4,
3237	[27] = &llc_await_state_trans_5,
3238	[28] = &llc_await_state_trans_6a,
3239	[29] = &llc_await_state_trans_6b,
3240	[30] = &llc_await_state_trans_7,
3241	[31] = &llc_await_state_trans_8a,
3242	[32] = &llc_await_state_trans_8b,
3243	[33] = &llc_await_state_trans_9a,
3244	[34] = &llc_await_state_trans_9b,
3245	[35] = &llc_await_state_trans_9c,
3246	[36] = &llc_await_state_trans_9d,
3247	[37] = &llc_await_state_trans_10a,
3248	[38] = &llc_await_state_trans_10b,
3249	[39] = &llc_await_state_trans_11,
3250	[40] = &llc_await_state_trans_12a,
3251	[41] = &llc_await_state_trans_12b,
3252	[42] = &llc_await_state_trans_13,
3253	[43] = &llc_common_state_trans_end,
3254};
3255
3256/* LLC_CONN_STATE_AWAIT_BUSY transitions */
3257/* State transitions for LLC_CONN_EV_DATA_CONN_REQ event */
3258static llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_1_0[] = {
3259	[0] = llc_conn_ev_qlfy_set_status_refuse,
3260	[1] = NULL,
3261};
3262
3263/* just one member, NULL, .bss zeroes it */
3264static llc_conn_action_t llc_await_busy_actions_1_0[1];
3265
3266static struct llc_conn_state_trans llc_await_busy_state_trans_1_0 = {
3267	.ev	       = llc_conn_ev_data_req,
3268	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3269	.ev_qualifiers = llc_await_busy_ev_qfyrs_1_0,
3270	.ev_actions    = llc_await_busy_actions_1_0,
3271};
3272
3273/* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
3274static llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_1[] = {
3275	[0] = llc_conn_ev_qlfy_data_flag_eq_1,
3276	[1] = NULL,
3277};
3278
3279static llc_conn_action_t llc_await_busy_actions_1[] = {
3280	[0] = llc_conn_ac_send_rej_xxx_x_set_0,
3281	[1] = llc_conn_ac_start_rej_timer,
3282	[2] = NULL,
3283};
3284
3285static struct llc_conn_state_trans llc_await_busy_state_trans_1 = {
3286	.ev	       = llc_conn_ev_local_busy_cleared,
3287	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
3288	.ev_qualifiers = llc_await_busy_ev_qfyrs_1,
3289	.ev_actions    = llc_await_busy_actions_1,
3290};
3291
3292/* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
3293static llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_2[] = {
3294	[0] = llc_conn_ev_qlfy_data_flag_eq_0,
3295	[1] = NULL,
3296};
3297
3298static llc_conn_action_t llc_await_busy_actions_2[] = {
3299	[0] = llc_conn_ac_send_rr_xxx_x_set_0,
3300	[1] = NULL,
3301};
3302
3303static struct llc_conn_state_trans llc_await_busy_state_trans_2 = {
3304	.ev	       = llc_conn_ev_local_busy_cleared,
3305	.next_state    = LLC_CONN_STATE_AWAIT,
3306	.ev_qualifiers = llc_await_busy_ev_qfyrs_2,
3307	.ev_actions    = llc_await_busy_actions_2,
3308};
3309
3310/* State transitions for LLC_CONN_EV_LOCAL_BUSY_CLEARED event */
3311static llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_3[] = {
3312	[0] = llc_conn_ev_qlfy_data_flag_eq_2,
3313	[1] = NULL,
3314};
3315
3316static llc_conn_action_t llc_await_busy_actions_3[] = {
3317	[0] = llc_conn_ac_send_rr_xxx_x_set_0,
3318	[1] = NULL,
3319};
3320
3321static struct llc_conn_state_trans llc_await_busy_state_trans_3 = {
3322	.ev	       = llc_conn_ev_local_busy_cleared,
3323	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
3324	.ev_qualifiers = llc_await_busy_ev_qfyrs_3,
3325	.ev_actions    = llc_await_busy_actions_3,
3326};
3327
3328/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1_UNEXPD_Ns event */
3329static llc_conn_action_t llc_await_busy_actions_4[] = {
3330	[0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
3331	[1] = llc_conn_ac_upd_nr_received,
3332	[2] = llc_conn_ac_upd_vs,
3333	[3] = llc_conn_ac_stop_p_timer,
3334	[4] = llc_conn_ac_set_data_flag_1,
3335	[5] = llc_conn_ac_clear_remote_busy,
3336	[6] = llc_conn_ac_resend_i_xxx_x_set_0,
3337	[7] = NULL,
3338};
3339
3340static struct llc_conn_state_trans llc_await_busy_state_trans_4 = {
3341	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns,
3342	.next_state    = LLC_CONN_STATE_BUSY,
3343	.ev_qualifiers = NONE,
3344	.ev_actions    = llc_await_busy_actions_4,
3345};
3346
3347/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
3348static llc_conn_action_t llc_await_busy_actions_5a[] = {
3349	[0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
3350	[1] = llc_conn_ac_upd_nr_received,
3351	[2] = llc_conn_ac_upd_vs,
3352	[3] = llc_conn_ac_set_data_flag_1,
3353	[4] = NULL,
3354};
3355
3356static struct llc_conn_state_trans llc_await_busy_state_trans_5a = {
3357	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
3358	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3359	.ev_qualifiers = NONE,
3360	.ev_actions    = llc_await_busy_actions_5a,
3361};
3362
3363/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
3364static llc_conn_action_t llc_await_busy_actions_5b[] = {
3365	[0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
3366	[1] = llc_conn_ac_upd_nr_received,
3367	[2] = llc_conn_ac_upd_vs,
3368	[3] = llc_conn_ac_set_data_flag_1,
3369	[4] = NULL,
3370};
3371
3372static struct llc_conn_state_trans llc_await_busy_state_trans_5b = {
3373	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
3374	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3375	.ev_qualifiers = NONE,
3376	.ev_actions    = llc_await_busy_actions_5b,
3377};
3378
3379/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */
3380static llc_conn_action_t llc_await_busy_actions_6[] = {
3381	[0] = llc_conn_ac_send_rnr_rsp_f_set_1,
3382	[1] = llc_conn_ac_upd_nr_received,
3383	[2] = llc_conn_ac_upd_vs,
3384	[3] = llc_conn_ac_set_data_flag_1,
3385	[4] = NULL,
3386};
3387
3388static struct llc_conn_state_trans llc_await_busy_state_trans_6 = {
3389	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,
3390	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3391	.ev_qualifiers = NONE,
3392	.ev_actions    = llc_await_busy_actions_6,
3393};
3394
3395/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1 event */
3396static llc_conn_action_t llc_await_busy_actions_7[] = {
3397	[0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
3398	[1] = llc_conn_ac_inc_vr_by_1,
3399	[2] = llc_conn_ac_data_ind,
3400	[3] = llc_conn_ac_stop_p_timer,
3401	[4] = llc_conn_ac_upd_nr_received,
3402	[5] = llc_conn_ac_upd_vs,
3403	[6] = llc_conn_ac_set_data_flag_0,
3404	[7] = llc_conn_ac_clear_remote_busy,
3405	[8] = llc_conn_ac_resend_i_xxx_x_set_0,
3406	[9] = NULL,
3407};
3408
3409static struct llc_conn_state_trans llc_await_busy_state_trans_7 = {
3410	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_1,
3411	.next_state    = LLC_CONN_STATE_BUSY,
3412	.ev_qualifiers = NONE,
3413	.ev_actions    = llc_await_busy_actions_7,
3414};
3415
3416/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 event */
3417static llc_conn_action_t llc_await_busy_actions_8a[] = {
3418	[0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
3419	[1] = llc_conn_ac_inc_vr_by_1,
3420	[2] = llc_conn_ac_data_ind,
3421	[3] = llc_conn_ac_upd_nr_received,
3422	[4] = llc_conn_ac_upd_vs,
3423	[5] = llc_conn_ac_set_data_flag_0,
3424	[6] = NULL,
3425};
3426
3427static struct llc_conn_state_trans llc_await_busy_state_trans_8a = {
3428	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_0,
3429	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3430	.ev_qualifiers = NONE,
3431	.ev_actions    = llc_await_busy_actions_8a,
3432};
3433
3434/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
3435static llc_conn_action_t llc_await_busy_actions_8b[] = {
3436	[0] = llc_conn_ac_opt_send_rnr_xxx_x_set_0,
3437	[1] = llc_conn_ac_inc_vr_by_1,
3438	[2] = llc_conn_ac_data_ind,
3439	[3] = llc_conn_ac_upd_nr_received,
3440	[4] = llc_conn_ac_upd_vs,
3441	[5] = llc_conn_ac_set_data_flag_0,
3442	[6] = NULL,
3443};
3444
3445static struct llc_conn_state_trans llc_await_busy_state_trans_8b = {
3446	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0,
3447	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3448	.ev_qualifiers = NONE,
3449	.ev_actions    = llc_await_busy_actions_8b,
3450};
3451
3452/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 event */
3453static llc_conn_action_t llc_await_busy_actions_9[] = {
3454	[0] = llc_conn_ac_send_rnr_rsp_f_set_1,
3455	[1] = llc_conn_ac_inc_vr_by_1,
3456	[2] = llc_conn_ac_data_ind,
3457	[3] = llc_conn_ac_upd_nr_received,
3458	[4] = llc_conn_ac_upd_vs,
3459	[5] = llc_conn_ac_set_data_flag_0,
3460	[6] = NULL,
3461};
3462
3463static struct llc_conn_state_trans llc_await_busy_state_trans_9 = {
3464	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_1,
3465	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3466	.ev_qualifiers = NONE,
3467	.ev_actions    = llc_await_busy_actions_9,
3468};
3469
3470/* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 event */
3471static llc_conn_action_t llc_await_busy_actions_10a[] = {
3472	[0] = llc_conn_ac_upd_nr_received,
3473	[1] = llc_conn_ac_upd_vs,
3474	[2] = llc_conn_ac_stop_p_timer,
3475	[3] = llc_conn_ac_resend_i_xxx_x_set_0,
3476	[4] = llc_conn_ac_clear_remote_busy,
3477	[5] = NULL,
3478};
3479
3480static struct llc_conn_state_trans llc_await_busy_state_trans_10a = {
3481	.ev	       = llc_conn_ev_rx_rr_rsp_fbit_set_1,
3482	.next_state    = LLC_CONN_STATE_BUSY,
3483	.ev_qualifiers = NONE,
3484	.ev_actions    = llc_await_busy_actions_10a,
3485};
3486
3487/* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_1 event */
3488static llc_conn_action_t llc_await_busy_actions_10b[] = {
3489	[0] = llc_conn_ac_upd_nr_received,
3490	[1] = llc_conn_ac_upd_vs,
3491	[2] = llc_conn_ac_stop_p_timer,
3492	[3] = llc_conn_ac_resend_i_xxx_x_set_0,
3493	[4] = llc_conn_ac_clear_remote_busy,
3494	[5] = NULL,
3495};
3496
3497static struct llc_conn_state_trans llc_await_busy_state_trans_10b = {
3498	.ev	       = llc_conn_ev_rx_rej_rsp_fbit_set_1,
3499	.next_state    = LLC_CONN_STATE_BUSY,
3500	.ev_qualifiers = NONE,
3501	.ev_actions    = llc_await_busy_actions_10b,
3502};
3503
3504/* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 event */
3505static llc_conn_action_t llc_await_busy_actions_11a[] = {
3506	[0] = llc_conn_ac_upd_nr_received,
3507	[1] = llc_conn_ac_upd_vs,
3508	[2] = llc_conn_ac_clear_remote_busy,
3509	[3] = NULL,
3510};
3511
3512static struct llc_conn_state_trans llc_await_busy_state_trans_11a = {
3513	.ev	       = llc_conn_ev_rx_rr_cmd_pbit_set_0,
3514	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3515	.ev_qualifiers = NONE,
3516	.ev_actions    = llc_await_busy_actions_11a,
3517};
3518
3519/* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 event */
3520static llc_conn_action_t llc_await_busy_actions_11b[] = {
3521	[0] = llc_conn_ac_upd_nr_received,
3522	[1] = llc_conn_ac_upd_vs,
3523	[2] = llc_conn_ac_clear_remote_busy,
3524	[3] = NULL,
3525};
3526
3527static struct llc_conn_state_trans llc_await_busy_state_trans_11b = {
3528	.ev	       = llc_conn_ev_rx_rr_rsp_fbit_set_0,
3529	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3530	.ev_qualifiers = NONE,
3531	.ev_actions    = llc_await_busy_actions_11b,
3532};
3533
3534/* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
3535static llc_conn_action_t llc_await_busy_actions_11c[] = {
3536	[0] = llc_conn_ac_upd_nr_received,
3537	[1] = llc_conn_ac_upd_vs,
3538	[2] = llc_conn_ac_clear_remote_busy,
3539	[3] = NULL,
3540};
3541
3542static struct llc_conn_state_trans llc_await_busy_state_trans_11c = {
3543	.ev	       = llc_conn_ev_rx_rej_cmd_pbit_set_0,
3544	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3545	.ev_qualifiers = NONE,
3546	.ev_actions    = llc_await_busy_actions_11c,
3547};
3548
3549/* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 event */
3550static llc_conn_action_t llc_await_busy_actions_11d[] = {
3551	[0] = llc_conn_ac_upd_nr_received,
3552	[1] = llc_conn_ac_upd_vs,
3553	[2] = llc_conn_ac_clear_remote_busy,
3554	[3] = NULL,
3555};
3556
3557static struct llc_conn_state_trans llc_await_busy_state_trans_11d = {
3558	.ev	       = llc_conn_ev_rx_rej_rsp_fbit_set_0,
3559	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3560	.ev_qualifiers = NONE,
3561	.ev_actions    = llc_await_busy_actions_11d,
3562};
3563
3564/* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 event */
3565static llc_conn_action_t llc_await_busy_actions_12a[] = {
3566	[0] = llc_conn_ac_send_rnr_rsp_f_set_1,
3567	[1] = llc_conn_ac_upd_nr_received,
3568	[2] = llc_conn_ac_upd_vs,
3569	[3] = llc_conn_ac_clear_remote_busy,
3570	[4] = NULL,
3571};
3572
3573static struct llc_conn_state_trans llc_await_busy_state_trans_12a = {
3574	.ev	       = llc_conn_ev_rx_rr_cmd_pbit_set_1,
3575	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3576	.ev_qualifiers = NONE,
3577	.ev_actions    = llc_await_busy_actions_12a,
3578};
3579
3580/* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 event */
3581static llc_conn_action_t llc_await_busy_actions_12b[] = {
3582	[0] = llc_conn_ac_send_rnr_rsp_f_set_1,
3583	[1] = llc_conn_ac_upd_nr_received,
3584	[2] = llc_conn_ac_upd_vs,
3585	[3] = llc_conn_ac_clear_remote_busy,
3586	[4] = NULL,
3587};
3588
3589static struct llc_conn_state_trans llc_await_busy_state_trans_12b = {
3590	.ev	       = llc_conn_ev_rx_rej_cmd_pbit_set_1,
3591	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3592	.ev_qualifiers = NONE,
3593	.ev_actions    = llc_await_busy_actions_12b,
3594};
3595
3596/* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 event */
3597static llc_conn_action_t llc_await_busy_actions_13[] = {
3598	[0] = llc_conn_ac_upd_nr_received,
3599	[1] = llc_conn_ac_upd_vs,
3600	[2] = llc_conn_ac_stop_p_timer,
3601	[3] = llc_conn_ac_set_remote_busy,
3602	[4] = NULL,
3603};
3604
3605static struct llc_conn_state_trans llc_await_busy_state_trans_13 = {
3606	.ev	       = llc_conn_ev_rx_rnr_rsp_fbit_set_1,
3607	.next_state    = LLC_CONN_STATE_BUSY,
3608	.ev_qualifiers = NONE,
3609	.ev_actions    = llc_await_busy_actions_13,
3610};
3611
3612/* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 event */
3613static llc_conn_action_t llc_await_busy_actions_14a[] = {
3614	[0] = llc_conn_ac_upd_nr_received,
3615	[1] = llc_conn_ac_upd_vs,
3616	[2] = llc_conn_ac_set_remote_busy,
3617	[3] = NULL,
3618};
3619
3620static struct llc_conn_state_trans llc_await_busy_state_trans_14a = {
3621	.ev	       = llc_conn_ev_rx_rnr_cmd_pbit_set_0,
3622	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3623	.ev_qualifiers = NONE,
3624	.ev_actions    = llc_await_busy_actions_14a,
3625};
3626
3627/* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 event */
3628static llc_conn_action_t llc_await_busy_actions_14b[] = {
3629	[0] = llc_conn_ac_upd_nr_received,
3630	[1] = llc_conn_ac_upd_vs,
3631	[2] = llc_conn_ac_set_remote_busy,
3632	[3] = NULL,
3633};
3634
3635static struct llc_conn_state_trans llc_await_busy_state_trans_14b = {
3636	.ev	       = llc_conn_ev_rx_rnr_rsp_fbit_set_0,
3637	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3638	.ev_qualifiers = NONE,
3639	.ev_actions    = llc_await_busy_actions_14b,
3640};
3641
3642/* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 event */
3643static llc_conn_action_t llc_await_busy_actions_15[] = {
3644	[0] = llc_conn_ac_send_rnr_rsp_f_set_1,
3645	[1] = llc_conn_ac_upd_nr_received,
3646	[2] = llc_conn_ac_upd_vs,
3647	[3] = llc_conn_ac_set_remote_busy,
3648	[4] = NULL,
3649};
3650
3651static struct llc_conn_state_trans llc_await_busy_state_trans_15 = {
3652	.ev	       = llc_conn_ev_rx_rnr_cmd_pbit_set_1,
3653	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3654	.ev_qualifiers = NONE,
3655	.ev_actions    = llc_await_busy_actions_15,
3656};
3657
3658/* State transitions for LLC_CONN_EV_P_TMR_EXP event */
3659static llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_16[] = {
3660	[0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
3661	[1] = NULL,
3662};
3663
3664static llc_conn_action_t llc_await_busy_actions_16[] = {
3665	[0] = llc_conn_ac_send_rnr_cmd_p_set_1,
3666	[1] = llc_conn_ac_start_p_timer,
3667	[2] = llc_conn_ac_inc_retry_cnt_by_1,
3668	[3] = NULL,
3669};
3670
3671static struct llc_conn_state_trans llc_await_busy_state_trans_16 = {
3672	.ev	       = llc_conn_ev_p_tmr_exp,
3673	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3674	.ev_qualifiers = llc_await_busy_ev_qfyrs_16,
3675	.ev_actions    = llc_await_busy_actions_16,
3676};
3677
3678/*
3679 * Array of pointers;
3680 * one to each transition
3681 */
3682static struct llc_conn_state_trans *llc_await_busy_state_transitions[] = {
3683	 [0] = &llc_common_state_trans_1,		/* Request */
3684	 [1] = &llc_common_state_trans_2,
3685	 [2] = &llc_await_busy_state_trans_1_0,
3686	 [3] = &llc_common_state_trans_end,
3687	 [4] = &llc_await_busy_state_trans_1,		/* Local busy */
3688	 [5] = &llc_await_busy_state_trans_2,
3689	 [6] = &llc_await_busy_state_trans_3,
3690	 [7] = &llc_common_state_trans_end,
3691	 [8] = &llc_common_state_trans_end,		/* Initiate PF cycle */
3692	 [9] = &llc_common_state_trans_11a,		/* Timer */
3693	[10] = &llc_common_state_trans_11b,
3694	[11] = &llc_common_state_trans_11c,
3695	[12] = &llc_common_state_trans_11d,
3696	[13] = &llc_await_busy_state_trans_16,
3697	[14] = &llc_common_state_trans_end,
3698	[15] = &llc_await_busy_state_trans_4,		/* Receive frame */
3699	[16] = &llc_await_busy_state_trans_5a,
3700	[17] = &llc_await_busy_state_trans_5b,
3701	[18] = &llc_await_busy_state_trans_6,
3702	[19] = &llc_await_busy_state_trans_7,
3703	[20] = &llc_await_busy_state_trans_8a,
3704	[21] = &llc_await_busy_state_trans_8b,
3705	[22] = &llc_await_busy_state_trans_9,
3706	[23] = &llc_await_busy_state_trans_10a,
3707	[24] = &llc_await_busy_state_trans_10b,
3708	[25] = &llc_await_busy_state_trans_11a,
3709	[26] = &llc_await_busy_state_trans_11b,
3710	[27] = &llc_await_busy_state_trans_11c,
3711	[28] = &llc_await_busy_state_trans_11d,
3712	[29] = &llc_await_busy_state_trans_12a,
3713	[30] = &llc_await_busy_state_trans_12b,
3714	[31] = &llc_await_busy_state_trans_13,
3715	[32] = &llc_await_busy_state_trans_14a,
3716	[33] = &llc_await_busy_state_trans_14b,
3717	[34] = &llc_await_busy_state_trans_15,
3718	[35] = &llc_common_state_trans_3,
3719	[36] = &llc_common_state_trans_4,
3720	[37] = &llc_common_state_trans_5,
3721	[38] = &llc_common_state_trans_6,
3722	[39] = &llc_common_state_trans_7a,
3723	[40] = &llc_common_state_trans_7b,
3724	[41] = &llc_common_state_trans_8a,
3725	[42] = &llc_common_state_trans_8b,
3726	[43] = &llc_common_state_trans_8c,
3727	[44] = &llc_common_state_trans_9,
3728	/* [45] = &llc_common_state_trans_10, */
3729	[45] = &llc_common_state_trans_end,
3730};
3731
3732/* ----------------- LLC_CONN_STATE_AWAIT_REJ transitions --------------- */
3733/* State transitions for LLC_CONN_EV_DATA_CONN_REQ event */
3734static llc_conn_ev_qfyr_t llc_await_reject_ev_qfyrs_1_0[] = {
3735	[0] = llc_conn_ev_qlfy_set_status_refuse,
3736	[1] = NULL,
3737};
3738
3739/* just one member, NULL, .bss zeroes it */
3740static llc_conn_action_t llc_await_reject_actions_1_0[1];
3741
3742static struct llc_conn_state_trans llc_await_reject_state_trans_1_0 = {
3743	.ev	       = llc_conn_ev_data_req,
3744	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
3745	.ev_qualifiers = llc_await_reject_ev_qfyrs_1_0,
3746	.ev_actions    = llc_await_reject_actions_1_0,
3747};
3748
3749/* State transitions for LLC_CONN_EV_LOCAL_BUSY_DETECTED event */
3750static llc_conn_action_t llc_await_rejct_actions_1[] = {
3751	[0] = llc_conn_ac_send_rnr_xxx_x_set_0,
3752	[1] = llc_conn_ac_set_data_flag_2,
3753	[2] = NULL
3754};
3755
3756static struct llc_conn_state_trans llc_await_rejct_state_trans_1 = {
3757	.ev	       = llc_conn_ev_local_busy_detected,
3758	.next_state    = LLC_CONN_STATE_AWAIT_BUSY,
3759	.ev_qualifiers = NONE,
3760	.ev_actions    = llc_await_rejct_actions_1,
3761};
3762
3763/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns event */
3764static llc_conn_action_t llc_await_rejct_actions_2a[] = {
3765	[0] = llc_conn_ac_upd_nr_received,
3766	[1] = llc_conn_ac_upd_vs,
3767	[2] = NULL
3768};
3769
3770static struct llc_conn_state_trans llc_await_rejct_state_trans_2a = {
3771	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns,
3772	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
3773	.ev_qualifiers = NONE,
3774	.ev_actions    = llc_await_rejct_actions_2a,
3775};
3776
3777/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns event */
3778static llc_conn_action_t llc_await_rejct_actions_2b[] = {
3779	[0] = llc_conn_ac_upd_nr_received,
3780	[1] = llc_conn_ac_upd_vs,
3781	[2] = NULL
3782};
3783
3784static struct llc_conn_state_trans llc_await_rejct_state_trans_2b = {
3785	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns,
3786	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
3787	.ev_qualifiers = NONE,
3788	.ev_actions    = llc_await_rejct_actions_2b,
3789};
3790
3791/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns event */
3792static llc_conn_action_t llc_await_rejct_actions_3[] = {
3793	[0] = llc_conn_ac_send_rr_rsp_f_set_1,
3794	[1] = llc_conn_ac_upd_nr_received,
3795	[2] = llc_conn_ac_upd_vs,
3796	[3] = NULL
3797};
3798
3799static struct llc_conn_state_trans llc_await_rejct_state_trans_3 = {
3800	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns,
3801	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
3802	.ev_qualifiers = NONE,
3803	.ev_actions    = llc_await_rejct_actions_3,
3804};
3805
3806/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1 event */
3807static llc_conn_action_t llc_await_rejct_actions_4[] = {
3808	[0] = llc_conn_ac_inc_vr_by_1,
3809	[1] = llc_conn_ac_data_ind,
3810	[2] = llc_conn_ac_stop_p_timer,
3811	[3] = llc_conn_ac_stop_rej_timer,
3812	[4] = llc_conn_ac_upd_nr_received,
3813	[5] = llc_conn_ac_upd_vs,
3814	[6] = llc_conn_ac_resend_i_xxx_x_set_0_or_send_rr,
3815	[7] = llc_conn_ac_clear_remote_busy,
3816	[8] = NULL,
3817};
3818
3819static struct llc_conn_state_trans llc_await_rejct_state_trans_4 = {
3820	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_1,
3821	.next_state    = LLC_CONN_STATE_NORMAL,
3822	.ev_qualifiers = NONE,
3823	.ev_actions    = llc_await_rejct_actions_4,
3824};
3825
3826/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 event */
3827static llc_conn_action_t llc_await_rejct_actions_5a[] = {
3828	[0] = llc_conn_ac_inc_vr_by_1,
3829	[1] = llc_conn_ac_data_ind,
3830	[2] = llc_conn_ac_send_rr_xxx_x_set_0,
3831	[3] = llc_conn_ac_stop_rej_timer,
3832	[4] = llc_conn_ac_upd_nr_received,
3833	[5] = llc_conn_ac_upd_vs,
3834	[6] = NULL,
3835};
3836
3837static struct llc_conn_state_trans llc_await_rejct_state_trans_5a = {
3838	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_0,
3839	.next_state    = LLC_CONN_STATE_AWAIT,
3840	.ev_qualifiers = NONE,
3841	.ev_actions    = llc_await_rejct_actions_5a,
3842};
3843
3844/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 event */
3845static llc_conn_action_t llc_await_rejct_actions_5b[] = {
3846	[0] = llc_conn_ac_inc_vr_by_1,
3847	[1] = llc_conn_ac_data_ind,
3848	[2] = llc_conn_ac_send_rr_xxx_x_set_0,
3849	[3] = llc_conn_ac_stop_rej_timer,
3850	[4] = llc_conn_ac_upd_nr_received,
3851	[5] = llc_conn_ac_upd_vs,
3852	[6] = NULL,
3853};
3854
3855static struct llc_conn_state_trans llc_await_rejct_state_trans_5b = {
3856	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_0,
3857	.next_state    = LLC_CONN_STATE_AWAIT,
3858	.ev_qualifiers = NONE,
3859	.ev_actions    = llc_await_rejct_actions_5b,
3860};
3861
3862/* State transitions for LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 event */
3863static llc_conn_action_t llc_await_rejct_actions_6[] = {
3864	[0] = llc_conn_ac_inc_vr_by_1,
3865	[1] = llc_conn_ac_data_ind,
3866	[2] = llc_conn_ac_send_rr_rsp_f_set_1,
3867	[3] = llc_conn_ac_stop_rej_timer,
3868	[4] = llc_conn_ac_upd_nr_received,
3869	[5] = llc_conn_ac_upd_vs,
3870	[6] = NULL,
3871};
3872
3873static struct llc_conn_state_trans llc_await_rejct_state_trans_6 = {
3874	.ev	       = llc_conn_ev_rx_i_cmd_pbit_set_1,
3875	.next_state    = LLC_CONN_STATE_AWAIT,
3876	.ev_qualifiers = NONE,
3877	.ev_actions    = llc_await_rejct_actions_6,
3878};
3879
3880/* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 event */
3881static llc_conn_action_t llc_await_rejct_actions_7a[] = {
3882	[0] = llc_conn_ac_upd_nr_received,
3883	[1] = llc_conn_ac_upd_vs,
3884	[2] = llc_conn_ac_stop_p_timer,
3885	[3] = llc_conn_ac_resend_i_xxx_x_set_0,
3886	[4] = llc_conn_ac_clear_remote_busy,
3887	[5] = NULL,
3888};
3889
3890static struct llc_conn_state_trans llc_await_rejct_state_trans_7a = {
3891	.ev	       = llc_conn_ev_rx_rr_rsp_fbit_set_1,
3892	.next_state    = LLC_CONN_STATE_REJ,
3893	.ev_qualifiers = NONE,
3894	.ev_actions    = llc_await_rejct_actions_7a,
3895};
3896
3897/* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_1 event */
3898static llc_conn_action_t llc_await_rejct_actions_7b[] = {
3899	[0] = llc_conn_ac_upd_nr_received,
3900	[1] = llc_conn_ac_upd_vs,
3901	[2] = llc_conn_ac_stop_p_timer,
3902	[3] = llc_conn_ac_resend_i_xxx_x_set_0,
3903	[4] = llc_conn_ac_clear_remote_busy,
3904	[5] = NULL,
3905};
3906
3907static struct llc_conn_state_trans llc_await_rejct_state_trans_7b = {
3908	.ev	       = llc_conn_ev_rx_rej_rsp_fbit_set_1,
3909	.next_state    = LLC_CONN_STATE_REJ,
3910	.ev_qualifiers = NONE,
3911	.ev_actions    = llc_await_rejct_actions_7b,
3912};
3913
3914/* State transitions for LLC_CONN_EV_RX_I_RSP_Fbit_SET_1_UNEXPD_Ns event */
3915static llc_conn_action_t llc_await_rejct_actions_7c[] = {
3916	[0] = llc_conn_ac_upd_nr_received,
3917	[1] = llc_conn_ac_upd_vs,
3918	[2] = llc_conn_ac_stop_p_timer,
3919	[3] = llc_conn_ac_resend_i_xxx_x_set_0,
3920	[4] = llc_conn_ac_clear_remote_busy,
3921	[5] = NULL,
3922};
3923
3924static struct llc_conn_state_trans llc_await_rejct_state_trans_7c = {
3925	.ev	       = llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns,
3926	.next_state    = LLC_CONN_STATE_REJ,
3927	.ev_qualifiers = NONE,
3928	.ev_actions    = llc_await_rejct_actions_7c,
3929};
3930
3931/* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 event */
3932static llc_conn_action_t llc_await_rejct_actions_8a[] = {
3933	[0] = llc_conn_ac_upd_nr_received,
3934	[1] = llc_conn_ac_upd_vs,
3935	[2] = llc_conn_ac_clear_remote_busy,
3936	[3] = NULL,
3937};
3938
3939static struct llc_conn_state_trans llc_await_rejct_state_trans_8a = {
3940	.ev	       = llc_conn_ev_rx_rr_cmd_pbit_set_0,
3941	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
3942	.ev_qualifiers = NONE,
3943	.ev_actions    = llc_await_rejct_actions_8a,
3944};
3945
3946/* State transitions for LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 event */
3947static llc_conn_action_t llc_await_rejct_actions_8b[] = {
3948	[0] = llc_conn_ac_upd_nr_received,
3949	[1] = llc_conn_ac_upd_vs,
3950	[2] = llc_conn_ac_clear_remote_busy,
3951	[3] = NULL,
3952};
3953
3954static struct llc_conn_state_trans llc_await_rejct_state_trans_8b = {
3955	.ev	       = llc_conn_ev_rx_rr_rsp_fbit_set_0,
3956	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
3957	.ev_qualifiers = NONE,
3958	.ev_actions    = llc_await_rejct_actions_8b,
3959};
3960
3961/* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 event */
3962static llc_conn_action_t llc_await_rejct_actions_8c[] = {
3963	[0] = llc_conn_ac_upd_nr_received,
3964	[1] = llc_conn_ac_upd_vs,
3965	[2] = llc_conn_ac_clear_remote_busy,
3966	[3] = NULL,
3967};
3968
3969static struct llc_conn_state_trans llc_await_rejct_state_trans_8c = {
3970	.ev	       = llc_conn_ev_rx_rej_cmd_pbit_set_0,
3971	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
3972	.ev_qualifiers = NONE,
3973	.ev_actions    = llc_await_rejct_actions_8c,
3974};
3975
3976/* State transitions for LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 event */
3977static llc_conn_action_t llc_await_rejct_actions_8d[] = {
3978	[0] = llc_conn_ac_upd_nr_received,
3979	[1] = llc_conn_ac_upd_vs,
3980	[2] = llc_conn_ac_clear_remote_busy,
3981	[3] = NULL,
3982};
3983
3984static struct llc_conn_state_trans llc_await_rejct_state_trans_8d = {
3985	.ev	       = llc_conn_ev_rx_rej_rsp_fbit_set_0,
3986	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
3987	.ev_qualifiers = NONE,
3988	.ev_actions    = llc_await_rejct_actions_8d,
3989};
3990
3991/* State transitions for LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 event */
3992static llc_conn_action_t llc_await_rejct_actions_9a[] = {
3993	[0] = llc_conn_ac_send_rr_rsp_f_set_1,
3994	[1] = llc_conn_ac_upd_nr_received,
3995	[2] = llc_conn_ac_upd_vs,
3996	[3] = llc_conn_ac_clear_remote_busy,
3997	[4] = NULL,
3998};
3999
4000static struct llc_conn_state_trans llc_await_rejct_state_trans_9a = {
4001	.ev	       = llc_conn_ev_rx_rr_cmd_pbit_set_1,
4002	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
4003	.ev_qualifiers = NONE,
4004	.ev_actions    = llc_await_rejct_actions_9a,
4005};
4006
4007/* State transitions for LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 event */
4008static llc_conn_action_t llc_await_rejct_actions_9b[] = {
4009	[0] = llc_conn_ac_send_rr_rsp_f_set_1,
4010	[1] = llc_conn_ac_upd_nr_received,
4011	[2] = llc_conn_ac_upd_vs,
4012	[3] = llc_conn_ac_clear_remote_busy,
4013	[4] = NULL,
4014};
4015
4016static struct llc_conn_state_trans llc_await_rejct_state_trans_9b = {
4017	.ev	       = llc_conn_ev_rx_rej_cmd_pbit_set_1,
4018	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
4019	.ev_qualifiers = NONE,
4020	.ev_actions    = llc_await_rejct_actions_9b,
4021};
4022
4023/* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 event */
4024static llc_conn_action_t llc_await_rejct_actions_10[] = {
4025	[0] = llc_conn_ac_upd_nr_received,
4026	[1] = llc_conn_ac_upd_vs,
4027	[2] = llc_conn_ac_stop_p_timer,
4028	[3] = llc_conn_ac_set_remote_busy,
4029	[4] = NULL,
4030};
4031
4032static struct llc_conn_state_trans llc_await_rejct_state_trans_10 = {
4033	.ev	       = llc_conn_ev_rx_rnr_rsp_fbit_set_1,
4034	.next_state    = LLC_CONN_STATE_REJ,
4035	.ev_qualifiers = NONE,
4036	.ev_actions    = llc_await_rejct_actions_10,
4037};
4038
4039/* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 event */
4040static llc_conn_action_t llc_await_rejct_actions_11a[] = {
4041	[0] = llc_conn_ac_upd_nr_received,
4042	[1] = llc_conn_ac_upd_vs,
4043	[2] = llc_conn_ac_set_remote_busy,
4044	[3] = NULL,
4045};
4046
4047static struct llc_conn_state_trans llc_await_rejct_state_trans_11a = {
4048	.ev	       = llc_conn_ev_rx_rnr_cmd_pbit_set_0,
4049	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
4050	.ev_qualifiers = NONE,
4051	.ev_actions    = llc_await_rejct_actions_11a,
4052};
4053
4054/* State transitions for LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 event */
4055static llc_conn_action_t llc_await_rejct_actions_11b[] = {
4056	[0] = llc_conn_ac_upd_nr_received,
4057	[1] = llc_conn_ac_upd_vs,
4058	[2] = llc_conn_ac_set_remote_busy,
4059	[3] = NULL,
4060};
4061
4062static struct llc_conn_state_trans llc_await_rejct_state_trans_11b = {
4063	.ev	       = llc_conn_ev_rx_rnr_rsp_fbit_set_0,
4064	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
4065	.ev_qualifiers = NONE,
4066	.ev_actions    = llc_await_rejct_actions_11b,
4067};
4068
4069/* State transitions for LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 event */
4070static llc_conn_action_t llc_await_rejct_actions_12[] = {
4071	[0] = llc_conn_ac_send_rr_rsp_f_set_1,
4072	[1] = llc_conn_ac_upd_nr_received,
4073	[2] = llc_conn_ac_upd_vs,
4074	[3] = llc_conn_ac_set_remote_busy,
4075	[4] = NULL,
4076};
4077
4078static struct llc_conn_state_trans llc_await_rejct_state_trans_12 = {
4079	.ev	       = llc_conn_ev_rx_rnr_cmd_pbit_set_1,
4080	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
4081	.ev_qualifiers = NONE,
4082	.ev_actions    = llc_await_rejct_actions_12,
4083};
4084
4085/* State transitions for LLC_CONN_EV_P_TMR_EXP event */
4086static llc_conn_ev_qfyr_t llc_await_rejct_ev_qfyrs_13[] = {
4087	[0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
4088	[1] = NULL,
4089};
4090
4091static llc_conn_action_t llc_await_rejct_actions_13[] = {
4092	[0] = llc_conn_ac_send_rej_cmd_p_set_1,
4093	[1] = llc_conn_ac_stop_p_timer,
4094	[2] = llc_conn_ac_inc_retry_cnt_by_1,
4095	[3] = NULL,
4096};
4097
4098static struct llc_conn_state_trans llc_await_rejct_state_trans_13 = {
4099	.ev	       = llc_conn_ev_p_tmr_exp,
4100	.next_state    = LLC_CONN_STATE_AWAIT_REJ,
4101	.ev_qualifiers = llc_await_rejct_ev_qfyrs_13,
4102	.ev_actions    = llc_await_rejct_actions_13,
4103};
4104
4105/*
4106 * Array of pointers;
4107 * one to each transition
4108 */
4109static struct llc_conn_state_trans *llc_await_rejct_state_transitions[] = {
4110	 [0] = &llc_await_reject_state_trans_1_0,
4111	 [1] = &llc_common_state_trans_1,		/* requests */
4112	 [2] = &llc_common_state_trans_2,
4113	 [3] = &llc_common_state_trans_end,
4114	 [4] = &llc_await_rejct_state_trans_1,		/* local busy */
4115	 [5] = &llc_common_state_trans_end,
4116	 [6] = &llc_common_state_trans_end,		/* Initiate PF cycle */
4117	 [7] = &llc_await_rejct_state_trans_13,	/* timers */
4118	 [8] = &llc_common_state_trans_11a,
4119	 [9] = &llc_common_state_trans_11b,
4120	[10] = &llc_common_state_trans_11c,
4121	[11] = &llc_common_state_trans_11d,
4122	[12] = &llc_common_state_trans_end,
4123	[13] = &llc_await_rejct_state_trans_2a,	/* receive frames */
4124	[14] = &llc_await_rejct_state_trans_2b,
4125	[15] = &llc_await_rejct_state_trans_3,
4126	[16] = &llc_await_rejct_state_trans_4,
4127	[17] = &llc_await_rejct_state_trans_5a,
4128	[18] = &llc_await_rejct_state_trans_5b,
4129	[19] = &llc_await_rejct_state_trans_6,
4130	[20] = &llc_await_rejct_state_trans_7a,
4131	[21] = &llc_await_rejct_state_trans_7b,
4132	[22] = &llc_await_rejct_state_trans_7c,
4133	[23] = &llc_await_rejct_state_trans_8a,
4134	[24] = &llc_await_rejct_state_trans_8b,
4135	[25] = &llc_await_rejct_state_trans_8c,
4136	[26] = &llc_await_rejct_state_trans_8d,
4137	[27] = &llc_await_rejct_state_trans_9a,
4138	[28] = &llc_await_rejct_state_trans_9b,
4139	[29] = &llc_await_rejct_state_trans_10,
4140	[30] = &llc_await_rejct_state_trans_11a,
4141	[31] = &llc_await_rejct_state_trans_11b,
4142	[32] = &llc_await_rejct_state_trans_12,
4143	[33] = &llc_common_state_trans_3,
4144	[34] = &llc_common_state_trans_4,
4145	[35] = &llc_common_state_trans_5,
4146	[36] = &llc_common_state_trans_6,
4147	[37] = &llc_common_state_trans_7a,
4148	[38] = &llc_common_state_trans_7b,
4149	[39] = &llc_common_state_trans_8a,
4150	[40] = &llc_common_state_trans_8b,
4151	[41] = &llc_common_state_trans_8c,
4152	[42] = &llc_common_state_trans_9,
4153	/* [43] = &llc_common_state_trans_10, */
4154	[43] = &llc_common_state_trans_end,
4155};
4156
4157/* LLC_CONN_STATE_D_CONN transitions */
4158/* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event,
4159 * cause_flag = 1 */
4160static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_1[] = {
4161	[0] = llc_conn_ev_qlfy_cause_flag_eq_1,
4162	[1] = llc_conn_ev_qlfy_set_status_conflict,
4163	[2] = NULL,
4164};
4165
4166static llc_conn_action_t llc_d_conn_actions_1[] = {
4167	[0] = llc_conn_ac_send_dm_rsp_f_set_p,
4168	[1] = llc_conn_ac_stop_ack_timer,
4169	[2] = llc_conn_ac_disc_confirm,
4170	[3] = llc_conn_disc,
4171	[4] = NULL,
4172};
4173
4174static struct llc_conn_state_trans llc_d_conn_state_trans_1 = {
4175	.ev	       = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
4176	.next_state    = LLC_CONN_STATE_ADM,
4177	.ev_qualifiers = llc_d_conn_ev_qfyrs_1,
4178	.ev_actions    = llc_d_conn_actions_1,
4179};
4180
4181/* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event,
4182 * cause_flag = 0
4183 */
4184static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_1_1[] = {
4185	[0] = llc_conn_ev_qlfy_cause_flag_eq_0,
4186	[1] = llc_conn_ev_qlfy_set_status_conflict,
4187	[2] = NULL,
4188};
4189
4190static llc_conn_action_t llc_d_conn_actions_1_1[] = {
4191	[0] = llc_conn_ac_send_dm_rsp_f_set_p,
4192	[1] = llc_conn_ac_stop_ack_timer,
4193	[2] = llc_conn_disc,
4194	[3] = NULL,
4195};
4196
4197static struct llc_conn_state_trans llc_d_conn_state_trans_1_1 = {
4198	.ev	       = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
4199	.next_state    = LLC_CONN_STATE_ADM,
4200	.ev_qualifiers = llc_d_conn_ev_qfyrs_1_1,
4201	.ev_actions    = llc_d_conn_actions_1_1,
4202};
4203
4204/* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event,
4205 * cause_flag = 1
4206 */
4207static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_2[] = {
4208	[0] = llc_conn_ev_qlfy_p_flag_eq_f,
4209	[1] = llc_conn_ev_qlfy_cause_flag_eq_1,
4210	[2] = llc_conn_ev_qlfy_set_status_disc,
4211	[3] = NULL,
4212};
4213
4214static llc_conn_action_t llc_d_conn_actions_2[] = {
4215	[0] = llc_conn_ac_stop_ack_timer,
4216	[1] = llc_conn_ac_disc_confirm,
4217	[2] = llc_conn_disc,
4218	[3] = NULL,
4219};
4220
4221static struct llc_conn_state_trans llc_d_conn_state_trans_2 = {
4222	.ev	       = llc_conn_ev_rx_ua_rsp_fbit_set_x,
4223	.next_state    = LLC_CONN_STATE_ADM,
4224	.ev_qualifiers = llc_d_conn_ev_qfyrs_2,
4225	.ev_actions    = llc_d_conn_actions_2,
4226};
4227
4228/* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event,
4229 * cause_flag = 0
4230 */
4231static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_2_1[] = {
4232	[0] = llc_conn_ev_qlfy_p_flag_eq_f,
4233	[1] = llc_conn_ev_qlfy_cause_flag_eq_0,
4234	[2] = llc_conn_ev_qlfy_set_status_disc,
4235	[3] = NULL,
4236};
4237
4238static llc_conn_action_t llc_d_conn_actions_2_1[] = {
4239	[0] = llc_conn_ac_stop_ack_timer,
4240	[1] = llc_conn_disc,
4241	[2] = NULL,
4242};
4243
4244static struct llc_conn_state_trans llc_d_conn_state_trans_2_1 = {
4245	.ev	       = llc_conn_ev_rx_ua_rsp_fbit_set_x,
4246	.next_state    = LLC_CONN_STATE_ADM,
4247	.ev_qualifiers = llc_d_conn_ev_qfyrs_2_1,
4248	.ev_actions    = llc_d_conn_actions_2_1,
4249};
4250
4251/* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event */
4252static llc_conn_action_t llc_d_conn_actions_3[] = {
4253	[0] = llc_conn_ac_send_ua_rsp_f_set_p,
4254	[1] = NULL,
4255};
4256
4257static struct llc_conn_state_trans llc_d_conn_state_trans_3 = {
4258	.ev	       = llc_conn_ev_rx_disc_cmd_pbit_set_x,
4259	.next_state    = LLC_CONN_STATE_D_CONN,
4260	.ev_qualifiers = NONE,
4261	.ev_actions    = llc_d_conn_actions_3,
4262};
4263
4264/* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event,
4265 * cause_flag = 1
4266 */
4267static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_4[] = {
4268	[0] = llc_conn_ev_qlfy_cause_flag_eq_1,
4269	[1] = llc_conn_ev_qlfy_set_status_disc,
4270	[2] = NULL,
4271};
4272
4273static llc_conn_action_t llc_d_conn_actions_4[] = {
4274	[0] = llc_conn_ac_stop_ack_timer,
4275	[1] = llc_conn_ac_disc_confirm,
4276	[2] = llc_conn_disc,
4277	[3] = NULL,
4278};
4279
4280static struct llc_conn_state_trans llc_d_conn_state_trans_4 = {
4281	.ev	       = llc_conn_ev_rx_dm_rsp_fbit_set_x,
4282	.next_state    = LLC_CONN_STATE_ADM,
4283	.ev_qualifiers = llc_d_conn_ev_qfyrs_4,
4284	.ev_actions    = llc_d_conn_actions_4,
4285};
4286
4287/* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event,
4288 * cause_flag = 0
4289 */
4290static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_4_1[] = {
4291	[0] = llc_conn_ev_qlfy_cause_flag_eq_0,
4292	[1] = llc_conn_ev_qlfy_set_status_disc,
4293	[2] = NULL,
4294};
4295
4296static llc_conn_action_t llc_d_conn_actions_4_1[] = {
4297	[0] = llc_conn_ac_stop_ack_timer,
4298	[1] = llc_conn_disc,
4299	[2] = NULL,
4300};
4301
4302static struct llc_conn_state_trans llc_d_conn_state_trans_4_1 = {
4303	.ev	       = llc_conn_ev_rx_dm_rsp_fbit_set_x,
4304	.next_state    = LLC_CONN_STATE_ADM,
4305	.ev_qualifiers = llc_d_conn_ev_qfyrs_4_1,
4306	.ev_actions    = llc_d_conn_actions_4_1,
4307};
4308
4309/*
4310 * State transition for
4311 * LLC_CONN_EV_DATA_CONN_REQ event
4312 */
4313static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_5[] = {
4314	[0] = llc_conn_ev_qlfy_set_status_refuse,
4315	[1] = NULL,
4316};
4317
4318/* just one member, NULL, .bss zeroes it */
4319static llc_conn_action_t llc_d_conn_actions_5[1];
4320
4321static struct llc_conn_state_trans llc_d_conn_state_trans_5 = {
4322	.ev	       = llc_conn_ev_data_req,
4323	.next_state    = LLC_CONN_STATE_D_CONN,
4324	.ev_qualifiers = llc_d_conn_ev_qfyrs_5,
4325	.ev_actions    = llc_d_conn_actions_5,
4326};
4327
4328/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
4329static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_6[] = {
4330	[0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
4331	[1] = NULL,
4332};
4333
4334static llc_conn_action_t llc_d_conn_actions_6[] = {
4335	[0] = llc_conn_ac_send_disc_cmd_p_set_x,
4336	[1] = llc_conn_ac_start_ack_timer,
4337	[2] = llc_conn_ac_inc_retry_cnt_by_1,
4338	[3] = NULL,
4339};
4340
4341static struct llc_conn_state_trans llc_d_conn_state_trans_6 = {
4342	.ev	       = llc_conn_ev_ack_tmr_exp,
4343	.next_state    = LLC_CONN_STATE_D_CONN,
4344	.ev_qualifiers = llc_d_conn_ev_qfyrs_6,
4345	.ev_actions    = llc_d_conn_actions_6,
4346};
4347
4348/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event, cause_flag = 1 */
4349static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_7[] = {
4350	[0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
4351	[1] = llc_conn_ev_qlfy_cause_flag_eq_1,
4352	[2] = llc_conn_ev_qlfy_set_status_failed,
4353	[3] = NULL,
4354};
4355
4356static llc_conn_action_t llc_d_conn_actions_7[] = {
4357	[0] = llc_conn_ac_disc_confirm,
4358	[1] = llc_conn_disc,
4359	[2] = NULL,
4360};
4361
4362static struct llc_conn_state_trans llc_d_conn_state_trans_7 = {
4363	.ev	       = llc_conn_ev_ack_tmr_exp,
4364	.next_state    = LLC_CONN_STATE_ADM,
4365	.ev_qualifiers = llc_d_conn_ev_qfyrs_7,
4366	.ev_actions    = llc_d_conn_actions_7,
4367};
4368
4369/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event, cause_flag = 0 */
4370static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_8[] = {
4371	[0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
4372	[1] = llc_conn_ev_qlfy_cause_flag_eq_0,
4373	[2] = llc_conn_ev_qlfy_set_status_failed,
4374	[3] = NULL,
4375};
4376
4377static llc_conn_action_t llc_d_conn_actions_8[] = {
4378	[0] = llc_conn_disc,
4379	[1] = NULL,
4380};
4381
4382static struct llc_conn_state_trans llc_d_conn_state_trans_8 = {
4383	.ev	       = llc_conn_ev_ack_tmr_exp,
4384	.next_state    = LLC_CONN_STATE_ADM,
4385	.ev_qualifiers = llc_d_conn_ev_qfyrs_8,
4386	.ev_actions    = llc_d_conn_actions_8,
4387};
4388
4389/*
4390 * Array of pointers;
4391 * one to each transition
4392 */
4393static struct llc_conn_state_trans *llc_d_conn_state_transitions[] = {
4394	 [0] = &llc_d_conn_state_trans_5,	/* Request */
4395	 [1] = &llc_common_state_trans_end,
4396	 [2] = &llc_common_state_trans_end,	/* Local busy */
4397	 [3] = &llc_common_state_trans_end,	/* Initiate PF cycle */
4398	 [4] = &llc_d_conn_state_trans_6,	/* Timer */
4399	 [5] = &llc_d_conn_state_trans_7,
4400	 [6] = &llc_d_conn_state_trans_8,
4401	 [7] = &llc_common_state_trans_end,
4402	 [8] = &llc_d_conn_state_trans_1,	/* Receive frame */
4403	 [9] = &llc_d_conn_state_trans_1_1,
4404	[10] = &llc_d_conn_state_trans_2,
4405	[11] = &llc_d_conn_state_trans_2_1,
4406	[12] = &llc_d_conn_state_trans_3,
4407	[13] = &llc_d_conn_state_trans_4,
4408	[14] = &llc_d_conn_state_trans_4_1,
4409	[15] = &llc_common_state_trans_end,
4410};
4411
4412/* LLC_CONN_STATE_RESET transitions */
4413/* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event */
4414static llc_conn_action_t llc_rst_actions_1[] = {
4415	[0] = llc_conn_ac_set_vs_0,
4416	[1] = llc_conn_ac_set_vr_0,
4417	[2] = llc_conn_ac_set_s_flag_1,
4418	[3] = llc_conn_ac_send_ua_rsp_f_set_p,
4419	[4] = NULL,
4420};
4421
4422static struct llc_conn_state_trans llc_rst_state_trans_1 = {
4423	.ev	       = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
4424	.next_state    = LLC_CONN_STATE_RESET,
4425	.ev_qualifiers = NONE,
4426	.ev_actions    = llc_rst_actions_1,
4427};
4428
4429/* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event,
4430 * cause_flag = 1
4431 */
4432static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_2[] = {
4433	[0] = llc_conn_ev_qlfy_p_flag_eq_f,
4434	[1] = llc_conn_ev_qlfy_cause_flag_eq_1,
4435	[2] = llc_conn_ev_qlfy_set_status_conn,
4436	[3] = NULL,
4437};
4438
4439static llc_conn_action_t llc_rst_actions_2[] = {
4440	[0] = llc_conn_ac_stop_ack_timer,
4441	[1] = llc_conn_ac_set_vs_0,
4442	[2] = llc_conn_ac_set_vr_0,
4443	[3] = llc_conn_ac_upd_p_flag,
4444	[4] = llc_conn_ac_rst_confirm,
4445	[5] = llc_conn_ac_set_remote_busy_0,
4446	[6] = llc_conn_reset,
4447	[7] = NULL,
4448};
4449
4450static struct llc_conn_state_trans llc_rst_state_trans_2 = {
4451	.ev	       = llc_conn_ev_rx_ua_rsp_fbit_set_x,
4452	.next_state    = LLC_CONN_STATE_NORMAL,
4453	.ev_qualifiers = llc_rst_ev_qfyrs_2,
4454	.ev_actions    = llc_rst_actions_2,
4455};
4456
4457/* State transitions for LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X event,
4458 * cause_flag = 0
4459 */
4460static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_2_1[] = {
4461	[0] = llc_conn_ev_qlfy_p_flag_eq_f,
4462	[1] = llc_conn_ev_qlfy_cause_flag_eq_0,
4463	[2] = llc_conn_ev_qlfy_set_status_rst_done,
4464	[3] = NULL,
4465};
4466
4467static llc_conn_action_t llc_rst_actions_2_1[] = {
4468	[0] = llc_conn_ac_stop_ack_timer,
4469	[1] = llc_conn_ac_set_vs_0,
4470	[2] = llc_conn_ac_set_vr_0,
4471	[3] = llc_conn_ac_upd_p_flag,
4472	[4] = llc_conn_ac_rst_confirm,
4473	[5] = llc_conn_ac_set_remote_busy_0,
4474	[6] = llc_conn_reset,
4475	[7] = NULL,
4476};
4477
4478static struct llc_conn_state_trans llc_rst_state_trans_2_1 = {
4479	.ev	       = llc_conn_ev_rx_ua_rsp_fbit_set_x,
4480	.next_state    = LLC_CONN_STATE_NORMAL,
4481	.ev_qualifiers = llc_rst_ev_qfyrs_2_1,
4482	.ev_actions    = llc_rst_actions_2_1,
4483};
4484
4485/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
4486static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_3[] = {
4487	[0] = llc_conn_ev_qlfy_s_flag_eq_1,
4488	[1] = llc_conn_ev_qlfy_set_status_rst_done,
4489	[2] = NULL,
4490};
4491
4492static llc_conn_action_t llc_rst_actions_3[] = {
4493	[0] = llc_conn_ac_set_p_flag_0,
4494	[1] = llc_conn_ac_set_remote_busy_0,
4495	[2] = NULL,
4496};
4497
4498static struct llc_conn_state_trans llc_rst_state_trans_3 = {
4499	.ev	       = llc_conn_ev_ack_tmr_exp,
4500	.next_state    = LLC_CONN_STATE_NORMAL,
4501	.ev_qualifiers = llc_rst_ev_qfyrs_3,
4502	.ev_actions    = llc_rst_actions_3,
4503};
4504
4505/* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event,
4506 * cause_flag = 1
4507 */
4508static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_4[] = {
4509	[0] = llc_conn_ev_qlfy_cause_flag_eq_1,
4510	[1] = llc_conn_ev_qlfy_set_status_disc,
4511	[2] = NULL,
4512};
4513static llc_conn_action_t llc_rst_actions_4[] = {
4514	[0] = llc_conn_ac_send_dm_rsp_f_set_p,
4515	[1] = llc_conn_ac_disc_ind,
4516	[2] = llc_conn_ac_stop_ack_timer,
4517	[3] = llc_conn_disc,
4518	[4] = NULL,
4519};
4520
4521static struct llc_conn_state_trans llc_rst_state_trans_4 = {
4522	.ev	       = llc_conn_ev_rx_disc_cmd_pbit_set_x,
4523	.next_state    = LLC_CONN_STATE_ADM,
4524	.ev_qualifiers = llc_rst_ev_qfyrs_4,
4525	.ev_actions    = llc_rst_actions_4,
4526};
4527
4528/* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event,
4529 * cause_flag = 0
4530 */
4531static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_4_1[] = {
4532	[0] = llc_conn_ev_qlfy_cause_flag_eq_0,
4533	[1] = llc_conn_ev_qlfy_set_status_refuse,
4534	[2] = NULL,
4535};
4536
4537static llc_conn_action_t llc_rst_actions_4_1[] = {
4538	[0] = llc_conn_ac_send_dm_rsp_f_set_p,
4539	[1] = llc_conn_ac_stop_ack_timer,
4540	[2] = llc_conn_disc,
4541	[3] = NULL,
4542};
4543
4544static struct llc_conn_state_trans llc_rst_state_trans_4_1 = {
4545	.ev	       = llc_conn_ev_rx_disc_cmd_pbit_set_x,
4546	.next_state    = LLC_CONN_STATE_ADM,
4547	.ev_qualifiers = llc_rst_ev_qfyrs_4_1,
4548	.ev_actions    = llc_rst_actions_4_1,
4549};
4550
4551/* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event,
4552 * cause_flag = 1
4553 */
4554static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_5[] = {
4555	[0] = llc_conn_ev_qlfy_cause_flag_eq_1,
4556	[1] = llc_conn_ev_qlfy_set_status_disc,
4557	[2] = NULL,
4558};
4559
4560static llc_conn_action_t llc_rst_actions_5[] = {
4561	[0] = llc_conn_ac_disc_ind,
4562	[1] = llc_conn_ac_stop_ack_timer,
4563	[2] = llc_conn_disc,
4564	[3] = NULL,
4565};
4566
4567static struct llc_conn_state_trans llc_rst_state_trans_5 = {
4568	.ev	       = llc_conn_ev_rx_dm_rsp_fbit_set_x,
4569	.next_state    = LLC_CONN_STATE_ADM,
4570	.ev_qualifiers = llc_rst_ev_qfyrs_5,
4571	.ev_actions    = llc_rst_actions_5,
4572};
4573
4574/* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event,
4575 * cause_flag = 0
4576 */
4577static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_5_1[] = {
4578	[0] = llc_conn_ev_qlfy_cause_flag_eq_0,
4579	[1] = llc_conn_ev_qlfy_set_status_refuse,
4580	[2] = NULL,
4581};
4582
4583static llc_conn_action_t llc_rst_actions_5_1[] = {
4584	[0] = llc_conn_ac_stop_ack_timer,
4585	[1] = llc_conn_disc,
4586	[2] = NULL,
4587};
4588
4589static struct llc_conn_state_trans llc_rst_state_trans_5_1 = {
4590	.ev	       = llc_conn_ev_rx_dm_rsp_fbit_set_x,
4591	.next_state    = LLC_CONN_STATE_ADM,
4592	.ev_qualifiers = llc_rst_ev_qfyrs_5_1,
4593	.ev_actions    = llc_rst_actions_5_1,
4594};
4595
4596/* State transitions for DATA_CONN_REQ event */
4597static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_6[] = {
4598	[0] = llc_conn_ev_qlfy_set_status_refuse,
4599	[1] = NULL,
4600};
4601
4602/* just one member, NULL, .bss zeroes it */
4603static llc_conn_action_t llc_rst_actions_6[1];
4604
4605static struct llc_conn_state_trans llc_rst_state_trans_6 = {
4606	.ev	       = llc_conn_ev_data_req,
4607	.next_state    = LLC_CONN_STATE_RESET,
4608	.ev_qualifiers = llc_rst_ev_qfyrs_6,
4609	.ev_actions    = llc_rst_actions_6,
4610};
4611
4612/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
4613static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_7[] = {
4614	[0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
4615	[1] = llc_conn_ev_qlfy_s_flag_eq_0,
4616	[2] = NULL,
4617};
4618
4619static llc_conn_action_t llc_rst_actions_7[] = {
4620	[0] = llc_conn_ac_send_sabme_cmd_p_set_x,
4621	[1] = llc_conn_ac_start_ack_timer,
4622	[2] = llc_conn_ac_inc_retry_cnt_by_1,
4623	[3] = NULL,
4624};
4625
4626static struct llc_conn_state_trans llc_rst_state_trans_7 = {
4627	.ev	       = llc_conn_ev_ack_tmr_exp,
4628	.next_state    = LLC_CONN_STATE_RESET,
4629	.ev_qualifiers = llc_rst_ev_qfyrs_7,
4630	.ev_actions    = llc_rst_actions_7,
4631};
4632
4633/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
4634static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_8[] = {
4635	[0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
4636	[1] = llc_conn_ev_qlfy_s_flag_eq_0,
4637	[2] = llc_conn_ev_qlfy_cause_flag_eq_1,
4638	[3] = llc_conn_ev_qlfy_set_status_failed,
4639	[4] = NULL,
4640};
4641static llc_conn_action_t llc_rst_actions_8[] = {
4642	[0] = llc_conn_ac_disc_ind,
4643	[1] = llc_conn_disc,
4644	[2] = NULL,
4645};
4646
4647static struct llc_conn_state_trans llc_rst_state_trans_8 = {
4648	.ev	       = llc_conn_ev_ack_tmr_exp,
4649	.next_state    = LLC_CONN_STATE_ADM,
4650	.ev_qualifiers = llc_rst_ev_qfyrs_8,
4651	.ev_actions    = llc_rst_actions_8,
4652};
4653
4654/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
4655static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_8_1[] = {
4656	[0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
4657	[1] = llc_conn_ev_qlfy_s_flag_eq_0,
4658	[2] = llc_conn_ev_qlfy_cause_flag_eq_0,
4659	[3] = llc_conn_ev_qlfy_set_status_failed,
4660	[4] = NULL,
4661};
4662static llc_conn_action_t llc_rst_actions_8_1[] = {
4663	[0] = llc_conn_ac_disc_ind,
4664	[1] = llc_conn_disc,
4665	[2] = NULL,
4666};
4667
4668static struct llc_conn_state_trans llc_rst_state_trans_8_1 = {
4669	.ev	       = llc_conn_ev_ack_tmr_exp,
4670	.next_state    = LLC_CONN_STATE_ADM,
4671	.ev_qualifiers = llc_rst_ev_qfyrs_8_1,
4672	.ev_actions    = llc_rst_actions_8_1,
4673};
4674
4675/*
4676 * Array of pointers;
4677 * one to each transition
4678 */
4679static struct llc_conn_state_trans *llc_rst_state_transitions[] = {
4680	 [0] = &llc_rst_state_trans_6,		/* Request */
4681	 [1] = &llc_common_state_trans_end,
4682	 [2] = &llc_common_state_trans_end,	/* Local busy */
4683	 [3] = &llc_common_state_trans_end,	/* Initiate PF cycle */
4684	 [4] = &llc_rst_state_trans_3,		/* Timer */
4685	 [5] = &llc_rst_state_trans_7,
4686	 [6] = &llc_rst_state_trans_8,
4687	 [7] = &llc_rst_state_trans_8_1,
4688	 [8] = &llc_common_state_trans_end,
4689	 [9] = &llc_rst_state_trans_1,		/* Receive frame */
4690	[10] = &llc_rst_state_trans_2,
4691	[11] = &llc_rst_state_trans_2_1,
4692	[12] = &llc_rst_state_trans_4,
4693	[13] = &llc_rst_state_trans_4_1,
4694	[14] = &llc_rst_state_trans_5,
4695	[15] = &llc_rst_state_trans_5_1,
4696	[16] = &llc_common_state_trans_end,
4697};
4698
4699/* LLC_CONN_STATE_ERROR transitions */
4700/* State transitions for LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X event */
4701static llc_conn_action_t llc_error_actions_1[] = {
4702	[0] = llc_conn_ac_set_vs_0,
4703	[1] = llc_conn_ac_set_vr_0,
4704	[2] = llc_conn_ac_send_ua_rsp_f_set_p,
4705	[3] = llc_conn_ac_rst_ind,
4706	[4] = llc_conn_ac_set_p_flag_0,
4707	[5] = llc_conn_ac_set_remote_busy_0,
4708	[6] = llc_conn_ac_stop_ack_timer,
4709	[7] = llc_conn_reset,
4710	[8] = NULL,
4711};
4712
4713static struct llc_conn_state_trans llc_error_state_trans_1 = {
4714	.ev	       = llc_conn_ev_rx_sabme_cmd_pbit_set_x,
4715	.next_state    = LLC_CONN_STATE_NORMAL,
4716	.ev_qualifiers = NONE,
4717	.ev_actions    = llc_error_actions_1,
4718};
4719
4720/* State transitions for LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X event */
4721static llc_conn_action_t llc_error_actions_2[] = {
4722	[0] = llc_conn_ac_send_ua_rsp_f_set_p,
4723	[1] = llc_conn_ac_disc_ind,
4724	[2] = llc_conn_ac_stop_ack_timer,
4725	[3] = llc_conn_disc,
4726	[4] = NULL,
4727};
4728
4729static struct llc_conn_state_trans llc_error_state_trans_2 = {
4730	.ev	       = llc_conn_ev_rx_disc_cmd_pbit_set_x,
4731	.next_state    = LLC_CONN_STATE_ADM,
4732	.ev_qualifiers = NONE,
4733	.ev_actions    = llc_error_actions_2,
4734};
4735
4736/* State transitions for LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X event */
4737static llc_conn_action_t llc_error_actions_3[] = {
4738	[0] = llc_conn_ac_disc_ind,
4739	[1] = llc_conn_ac_stop_ack_timer,
4740	[2] = llc_conn_disc,
4741	[3] = NULL,
4742};
4743
4744static struct llc_conn_state_trans llc_error_state_trans_3 = {
4745	.ev	       = llc_conn_ev_rx_dm_rsp_fbit_set_x,
4746	.next_state    = LLC_CONN_STATE_ADM,
4747	.ev_qualifiers = NONE,
4748	.ev_actions    = llc_error_actions_3,
4749};
4750
4751/* State transitions for LLC_CONN_EV_RX_FRMR_RSP_Fbit_SET_X event */
4752static llc_conn_action_t llc_error_actions_4[] = {
4753	[0] = llc_conn_ac_send_sabme_cmd_p_set_x,
4754	[1] = llc_conn_ac_start_ack_timer,
4755	[2] = llc_conn_ac_set_retry_cnt_0,
4756	[3] = llc_conn_ac_set_cause_flag_0,
4757	[4] = NULL,
4758};
4759
4760static struct llc_conn_state_trans llc_error_state_trans_4 = {
4761	.ev	       = llc_conn_ev_rx_frmr_rsp_fbit_set_x,
4762	.next_state    = LLC_CONN_STATE_RESET,
4763	.ev_qualifiers = NONE,
4764	.ev_actions    = llc_error_actions_4,
4765};
4766
4767/* State transitions for LLC_CONN_EV_RX_XXX_CMD_Pbit_SET_X event */
4768static llc_conn_action_t llc_error_actions_5[] = {
4769	[0] = llc_conn_ac_resend_frmr_rsp_f_set_p,
4770	[1] = NULL,
4771};
4772
4773static struct llc_conn_state_trans llc_error_state_trans_5 = {
4774	.ev	       = llc_conn_ev_rx_xxx_cmd_pbit_set_x,
4775	.next_state    = LLC_CONN_STATE_ERROR,
4776	.ev_qualifiers = NONE,
4777	.ev_actions    = llc_error_actions_5,
4778};
4779
4780/* State transitions for LLC_CONN_EV_RX_XXX_RSP_Fbit_SET_X event */
4781static struct llc_conn_state_trans llc_error_state_trans_6 = {
4782	.ev	       = llc_conn_ev_rx_xxx_rsp_fbit_set_x,
4783	.next_state    = LLC_CONN_STATE_ERROR,
4784	.ev_qualifiers = NONE,
4785	.ev_actions    = NONE,
4786};
4787
4788/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
4789static llc_conn_ev_qfyr_t llc_error_ev_qfyrs_7[] = {
4790	[0] = llc_conn_ev_qlfy_retry_cnt_lt_n2,
4791	[1] = NULL,
4792};
4793
4794static llc_conn_action_t llc_error_actions_7[] = {
4795	[0] = llc_conn_ac_resend_frmr_rsp_f_set_0,
4796	[1] = llc_conn_ac_start_ack_timer,
4797	[2] = llc_conn_ac_inc_retry_cnt_by_1,
4798	[3] = NULL,
4799};
4800
4801static struct llc_conn_state_trans llc_error_state_trans_7 = {
4802	.ev	       = llc_conn_ev_ack_tmr_exp,
4803	.next_state    = LLC_CONN_STATE_ERROR,
4804	.ev_qualifiers = llc_error_ev_qfyrs_7,
4805	.ev_actions    = llc_error_actions_7,
4806};
4807
4808/* State transitions for LLC_CONN_EV_ACK_TMR_EXP event */
4809static llc_conn_ev_qfyr_t llc_error_ev_qfyrs_8[] = {
4810	[0] = llc_conn_ev_qlfy_retry_cnt_gte_n2,
4811	[1] = NULL,
4812};
4813
4814static llc_conn_action_t llc_error_actions_8[] = {
4815	[0] = llc_conn_ac_send_sabme_cmd_p_set_x,
4816	[1] = llc_conn_ac_set_s_flag_0,
4817	[2] = llc_conn_ac_start_ack_timer,
4818	[3] = llc_conn_ac_set_retry_cnt_0,
4819	[4] = llc_conn_ac_set_cause_flag_0,
4820	[5] = NULL,
4821};
4822
4823static struct llc_conn_state_trans llc_error_state_trans_8 = {
4824	.ev	       = llc_conn_ev_ack_tmr_exp,
4825	.next_state    = LLC_CONN_STATE_RESET,
4826	.ev_qualifiers = llc_error_ev_qfyrs_8,
4827	.ev_actions    = llc_error_actions_8,
4828};
4829
4830/* State transitions for LLC_CONN_EV_DATA_CONN_REQ event */
4831static llc_conn_ev_qfyr_t llc_error_ev_qfyrs_9[] = {
4832	[0] = llc_conn_ev_qlfy_set_status_refuse,
4833	[1] = NULL,
4834};
4835
4836/* just one member, NULL, .bss zeroes it */
4837static llc_conn_action_t llc_error_actions_9[1];
4838
4839static struct llc_conn_state_trans llc_error_state_trans_9 = {
4840	.ev	       = llc_conn_ev_data_req,
4841	.next_state    = LLC_CONN_STATE_ERROR,
4842	.ev_qualifiers = llc_error_ev_qfyrs_9,
4843	.ev_actions    = llc_error_actions_9,
4844};
4845
4846/*
4847 * Array of pointers;
4848 * one to each transition
4849 */
4850static struct llc_conn_state_trans *llc_error_state_transitions[] = {
4851	 [0] = &llc_error_state_trans_9,	/* Request */
4852	 [1] = &llc_common_state_trans_end,
4853	 [2] = &llc_common_state_trans_end,	/* Local busy */
4854	 [3] = &llc_common_state_trans_end,	/* Initiate PF cycle */
4855	 [4] = &llc_error_state_trans_7,	/* Timer */
4856	 [5] = &llc_error_state_trans_8,
4857	 [6] = &llc_common_state_trans_end,
4858	 [7] = &llc_error_state_trans_1,	/* Receive frame */
4859	 [8] = &llc_error_state_trans_2,
4860	 [9] = &llc_error_state_trans_3,
4861	[10] = &llc_error_state_trans_4,
4862	[11] = &llc_error_state_trans_5,
4863	[12] = &llc_error_state_trans_6,
4864	[13] = &llc_common_state_trans_end,
4865};
4866
4867/* LLC_CONN_STATE_TEMP transitions */
4868/* State transitions for LLC_CONN_EV_DISC_REQ event */
4869static llc_conn_action_t llc_temp_actions_1[] = {
4870	[0] = llc_conn_ac_stop_all_timers,
4871	[1] = llc_conn_ac_send_disc_cmd_p_set_x,
4872	[2] = llc_conn_disc,
4873	[3] = NULL,
4874};
4875
4876static struct llc_conn_state_trans llc_temp_state_trans_1 = {
4877	.ev	       = llc_conn_ev_disc_req,
4878	.next_state    = LLC_CONN_STATE_ADM,
4879	.ev_qualifiers = NONE,
4880	.ev_actions    = llc_temp_actions_1,
4881};
4882
4883/*
4884 * Array of pointers;
4885 * one to each transition
4886 */
4887static struct llc_conn_state_trans *llc_temp_state_transitions[] = {
4888	[0] = &llc_temp_state_trans_1,		/* requests */
4889	[1] = &llc_common_state_trans_end,
4890	[2] = &llc_common_state_trans_end,	/* local busy */
4891	[3] = &llc_common_state_trans_end,	/* init_pf_cycle */
4892	[4] = &llc_common_state_trans_end,	/* timer */
4893	[5] = &llc_common_state_trans_end,	/* receive */
4894};
4895
4896/* Connection State Transition Table */
4897struct llc_conn_state llc_conn_state_table[NBR_CONN_STATES] = {
4898	[LLC_CONN_STATE_ADM - 1] = {
4899		.current_state	= LLC_CONN_STATE_ADM,
4900		.transitions	= llc_adm_state_transitions,
4901	},
4902	[LLC_CONN_STATE_SETUP - 1] = {
4903		.current_state	= LLC_CONN_STATE_SETUP,
4904		.transitions	= llc_setup_state_transitions,
4905	},
4906	[LLC_CONN_STATE_NORMAL - 1] = {
4907		.current_state	= LLC_CONN_STATE_NORMAL,
4908		.transitions	= llc_normal_state_transitions,
4909	},
4910	[LLC_CONN_STATE_BUSY - 1] = {
4911		.current_state	= LLC_CONN_STATE_BUSY,
4912		.transitions	= llc_busy_state_transitions,
4913	},
4914	[LLC_CONN_STATE_REJ - 1] = {
4915		.current_state	= LLC_CONN_STATE_REJ,
4916		.transitions	= llc_reject_state_transitions,
4917	},
4918	[LLC_CONN_STATE_AWAIT - 1] = {
4919		.current_state	= LLC_CONN_STATE_AWAIT,
4920		.transitions	= llc_await_state_transitions,
4921	},
4922	[LLC_CONN_STATE_AWAIT_BUSY - 1] = {
4923		.current_state	= LLC_CONN_STATE_AWAIT_BUSY,
4924		.transitions	= llc_await_busy_state_transitions,
4925	},
4926	[LLC_CONN_STATE_AWAIT_REJ - 1] = {
4927		.current_state	= LLC_CONN_STATE_AWAIT_REJ,
4928		.transitions	= llc_await_rejct_state_transitions,
4929	},
4930	[LLC_CONN_STATE_D_CONN - 1] = {
4931		.current_state	= LLC_CONN_STATE_D_CONN,
4932		.transitions	= llc_d_conn_state_transitions,
4933	},
4934	[LLC_CONN_STATE_RESET - 1] = {
4935		.current_state	= LLC_CONN_STATE_RESET,
4936		.transitions	= llc_rst_state_transitions,
4937	},
4938	[LLC_CONN_STATE_ERROR - 1] = {
4939		.current_state	= LLC_CONN_STATE_ERROR,
4940		.transitions	= llc_error_state_transitions,
4941	},
4942	[LLC_CONN_STATE_TEMP - 1] = {
4943		.current_state	= LLC_CONN_STATE_TEMP,
4944		.transitions	= llc_temp_state_transitions,
4945	},
4946};