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