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