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