Line data Source code
1 :
2 : struct device;
3 :
4 : void *ldv_dev_get_drvdata(const struct device *dev);
5 : int ldv_dev_set_drvdata(struct device *dev, void *data);
6 :
7 : struct spi_master;
8 : struct device;
9 : struct spi_master *ldv_spi_alloc_master(struct device *host, unsigned size);
10 :
11 : #include <linux/ldv/err.h>
12 :
13 : #include <linux/types.h>
14 : void *ldv_kzalloc(size_t size, gfp_t flags);
15 :
16 : struct clk;
17 :
18 : extern void ldv_clk_disable(struct clk *clk);
19 : extern int ldv_clk_enable(void);
20 :
21 : #include <linux/ldv/common.h>
22 : #include <linux/ldv/irq.h>
23 : #include <verifier/common.h>
24 : #include <verifier/nondet.h>
25 : #include <verifier/memory.h>
26 : #include <verifier/thread.h>
27 :
28 : #include <linux/pci.h>
29 : #include <linux/pm.h>
30 : #include <scsi/scsi_host.h>
31 : #include <linux/timer.h>
32 :
33 :
34 : struct ldv_struct_insmod_12 {
35 : int signal_pending;
36 : };
37 1 :
38 : struct ldv_struct_pci_scenario_1 {
39 : struct pci_driver *arg0;
40 : int signal_pending;
41 : };
42 1 :
43 : struct ldv_struct_timer_scenario_10 {
44 : struct timer_list *arg0;
45 : int signal_pending;
46 : };
47 :
48 : /* EMG Function declarations */
49 : void ldv_dispatch_default_deregister_10_12_5(void);
50 : void ldv_dispatch_default_deregister_5_12_6(void);
51 : void ldv_dispatch_default_deregister_6_12_7(void);
52 : void ldv_dispatch_default_deregister_7_12_8(void);
53 : void ldv_dispatch_default_deregister_8_12_4(void);
54 : void ldv_dispatch_default_register_10_12_12(void);
55 : void ldv_dispatch_default_register_5_12_11(void);
56 : void ldv_dispatch_default_register_6_12_10(void);
57 : void ldv_dispatch_default_register_7_12_9(void);
58 : void ldv_dispatch_default_register_8_12_13(void);
59 : void ldv_dispatch_deregister_14_1(struct pci_driver *);
60 : void ldv_dispatch_insmod_deregister_16_2(void);
61 : void ldv_dispatch_insmod_register_16_3(void);
62 : void ldv_dispatch_instance_deregister_11_3(struct timer_list *);
63 : void ldv_dispatch_instance_register_13_3(struct timer_list *);
64 : void ldv_dispatch_register_15_3(struct pci_driver *);
65 : int ldv_emg___pci_register_driver(struct pci_driver *, struct module *, char *);
66 : int ldv_emg_mod_timer(struct timer_list *, long unsigned int);
67 : void ldv_emg_pci_unregister_driver(struct pci_driver *);
68 : void ldv_factory_scenario_11(void *);
69 : void ldv_insmod_12(void *);
70 : void ldv_insmod_ahci_exit_12_2(void (*)(void));
71 : int ldv_insmod_ahci_init_12_17(int (*)(void));
72 : void ldv_main_16(void *);
73 : void ldv_pci_scenario_1(void *);
74 : int ldv_pci_scenario_probe_1_17(int (*)(struct pci_dev *, struct pci_device_id *), struct pci_dev *, struct pci_device_id *);
75 : void ldv_pci_scenario_release_1_2(void (*)(struct pci_dev *), struct pci_dev *);
76 : void ldv_pci_scenario_resume_1_5(int (*)(struct pci_dev *), struct pci_dev *);
77 : void ldv_pci_scenario_resume_early_1_6(int (*)(struct pci_dev *), struct pci_dev *);
78 : void ldv_pci_scenario_shutdown_1_3(void (*)(struct pci_dev *), struct pci_dev *);
79 : int ldv_pci_scenario_suspend_1_8(int (*)(struct pci_dev *, struct pm_message), struct pci_dev *, struct pm_message);
80 : int ldv_pci_scenario_suspend_late_1_7(int (*)(struct pci_dev *, struct pm_message), struct pci_dev *, struct pm_message);
81 : void ldv_random_containerless_scenario_3(void *);
82 : void ldv_random_containerless_scenario_4(void *);
83 : void ldv_random_containerless_scenario_5(void *);
84 : void ldv_random_containerless_scenario_6(void *);
85 : void ldv_random_containerless_scenario_7(void *);
86 : void ldv_random_containerless_scenario_8(void *);
87 : void ldv_random_containerless_scenario_9(void *);
88 : void ldv_random_containerless_scenario_callback_3_12(ssize_t (*)(struct ata_port *, char *, size_t ), struct ata_port *, char *, long unsigned int);
89 : void ldv_random_containerless_scenario_callback_3_15(int (*)(struct ata_port *, enum link_pm), struct ata_port *, enum link_pm);
90 : void ldv_random_containerless_scenario_callback_3_16(void (*)(struct ata_port *), struct ata_port *);
91 : void ldv_random_containerless_scenario_callback_3_17(void (*)(struct ata_port *), struct ata_port *);
92 : void ldv_random_containerless_scenario_callback_3_18(int (*)(struct ata_link *, unsigned int *, long unsigned int), struct ata_link *, u32 *, long unsigned int);
93 : void ldv_random_containerless_scenario_callback_3_21(void (*)(struct ata_port *), struct ata_port *);
94 : void ldv_random_containerless_scenario_callback_3_22(void (*)(struct ata_port *), struct ata_port *);
95 : void ldv_random_containerless_scenario_callback_3_23(int (*)(struct ata_link *, unsigned int *, long unsigned int), struct ata_link *, u32 *, long unsigned int);
96 : void ldv_random_containerless_scenario_callback_3_26(int (*)(struct ata_port *), struct ata_port *);
97 : void ldv_random_containerless_scenario_callback_3_27(void (*)(struct ata_port *), struct ata_port *);
98 : void ldv_random_containerless_scenario_callback_3_28(void (*)(struct ata_queued_cmd *), struct ata_queued_cmd *);
99 : void ldv_random_containerless_scenario_callback_3_29(void (*)(struct ata_link *, unsigned int *), struct ata_link *, u32 *);
100 : void ldv_random_containerless_scenario_callback_3_32(int (*)(struct ata_queued_cmd *), struct ata_queued_cmd *);
101 : void ldv_random_containerless_scenario_callback_3_33(bool (*)(struct ata_queued_cmd *), struct ata_queued_cmd *);
102 : void ldv_random_containerless_scenario_callback_3_34(unsigned int (*)(struct ata_queued_cmd *), struct ata_queued_cmd *);
103 : void ldv_random_containerless_scenario_callback_3_35(void (*)(struct ata_queued_cmd *), struct ata_queued_cmd *);
104 : void ldv_random_containerless_scenario_callback_3_36(int (*)(struct ata_link *, unsigned int, u32 *), struct ata_link *, unsigned int, u32 *);
105 : void ldv_random_containerless_scenario_callback_3_39(int (*)(struct ata_link *, unsigned int, u32 ), struct ata_link *, unsigned int, unsigned int);
106 : void ldv_random_containerless_scenario_callback_3_4(void (*)(struct ata_device *), struct ata_device *);
107 : void ldv_random_containerless_scenario_callback_3_42(int (*)(struct ata_link *, unsigned int *, long unsigned int), struct ata_link *, u32 *, long unsigned int);
108 : void ldv_random_containerless_scenario_callback_3_45(ssize_t (*)(struct ata_device *, char *), struct ata_device *, char *);
109 : void ldv_random_containerless_scenario_callback_3_48(ssize_t (*)(struct ata_device *, enum sw_activity), struct ata_device *, enum sw_activity);
110 : void ldv_random_containerless_scenario_callback_3_49(void (*)(struct ata_port *), struct ata_port *);
111 : void ldv_random_containerless_scenario_callback_3_8(void (*)(struct ata_port *), struct ata_port *);
112 : void ldv_random_containerless_scenario_callback_3_9(ssize_t (*)(struct ata_port *, char *), struct ata_port *, char *);
113 : void ldv_random_containerless_scenario_callback_4_12(ssize_t (*)(struct ata_port *, char *, size_t ), struct ata_port *, char *, long unsigned int);
114 : void ldv_random_containerless_scenario_callback_4_15(int (*)(struct ata_port *, enum link_pm), struct ata_port *, enum link_pm);
115 : void ldv_random_containerless_scenario_callback_4_16(void (*)(struct ata_port *), struct ata_port *);
116 : void ldv_random_containerless_scenario_callback_4_17(void (*)(struct ata_port *), struct ata_port *);
117 : void ldv_random_containerless_scenario_callback_4_18(int (*)(struct ata_link *, unsigned int *, long unsigned int), struct ata_link *, u32 *, long unsigned int);
118 : void ldv_random_containerless_scenario_callback_4_21(void (*)(struct ata_port *), struct ata_port *);
119 : void ldv_random_containerless_scenario_callback_4_22(void (*)(struct ata_port *), struct ata_port *);
120 : void ldv_random_containerless_scenario_callback_4_23(int (*)(struct ata_link *, unsigned int *, long unsigned int), struct ata_link *, u32 *, long unsigned int);
121 : void ldv_random_containerless_scenario_callback_4_26(int (*)(struct ata_port *), struct ata_port *);
122 : void ldv_random_containerless_scenario_callback_4_27(void (*)(struct ata_port *), struct ata_port *);
123 : void ldv_random_containerless_scenario_callback_4_28(void (*)(struct ata_queued_cmd *), struct ata_queued_cmd *);
124 : void ldv_random_containerless_scenario_callback_4_29(void (*)(struct ata_link *, unsigned int *), struct ata_link *, u32 *);
125 : void ldv_random_containerless_scenario_callback_4_32(int (*)(struct ata_queued_cmd *), struct ata_queued_cmd *);
126 : void ldv_random_containerless_scenario_callback_4_33(bool (*)(struct ata_queued_cmd *), struct ata_queued_cmd *);
127 : void ldv_random_containerless_scenario_callback_4_34(unsigned int (*)(struct ata_queued_cmd *), struct ata_queued_cmd *);
128 : void ldv_random_containerless_scenario_callback_4_35(void (*)(struct ata_queued_cmd *), struct ata_queued_cmd *);
129 : void ldv_random_containerless_scenario_callback_4_36(int (*)(struct ata_link *, unsigned int, u32 *), struct ata_link *, unsigned int, u32 *);
130 : void ldv_random_containerless_scenario_callback_4_39(int (*)(struct ata_link *, unsigned int, u32 ), struct ata_link *, unsigned int, unsigned int);
131 : void ldv_random_containerless_scenario_callback_4_4(void (*)(struct ata_device *), struct ata_device *);
132 : void ldv_random_containerless_scenario_callback_4_42(int (*)(struct ata_link *, unsigned int *, long unsigned int), struct ata_link *, u32 *, long unsigned int);
133 : void ldv_random_containerless_scenario_callback_4_45(ssize_t (*)(struct ata_device *, char *), struct ata_device *, char *);
134 : void ldv_random_containerless_scenario_callback_4_48(ssize_t (*)(struct ata_device *, enum sw_activity), struct ata_device *, enum sw_activity);
135 : void ldv_random_containerless_scenario_callback_4_49(void (*)(struct ata_port *), struct ata_port *);
136 : void ldv_random_containerless_scenario_callback_4_8(void (*)(struct ata_port *), struct ata_port *);
137 : void ldv_random_containerless_scenario_callback_4_9(ssize_t (*)(struct ata_port *, char *), struct ata_port *, char *);
138 : void ldv_random_containerless_scenario_callback_5_4(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
139 : void ldv_random_containerless_scenario_callback_6_4(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
140 : void ldv_random_containerless_scenario_callback_7_4(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
141 : void ldv_random_containerless_scenario_callback_8_4(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
142 : void ldv_random_containerless_scenario_callback_9_10(int (*)(char *, struct kernel_param *), char *, struct kernel_param *);
143 : void ldv_random_containerless_scenario_callback_9_4(int (*)(char *, struct kernel_param *), char *, struct kernel_param *);
144 : void ldv_scsi_LLDd_scenario_2(void *);
145 : void ldv_scsi_LLDd_scenario_callback_2_17(int (*)(struct scsi_device *, int, int), struct scsi_device *, int, int);
146 : void ldv_scsi_LLDd_scenario_callback_2_20(int (*)(struct scsi_device *, int, void *), struct scsi_device *, int, void *);
147 : void ldv_scsi_LLDd_scenario_callback_2_23(int (*)(struct scsi_cmnd *, void (*)(struct scsi_cmnd *)), struct scsi_cmnd *, void (*)(struct scsi_cmnd *));
148 : void ldv_scsi_LLDd_scenario_callback_2_26(int (*)(struct scsi_device *), struct scsi_device *);
149 : void ldv_scsi_LLDd_scenario_callback_2_27(void (*)(struct scsi_device *), struct scsi_device *);
150 : void ldv_scsi_LLDd_scenario_callback_2_4(int (*)(struct scsi_device *, struct block_device *, long unsigned int, int *), struct scsi_device *, struct block_device *, long unsigned int, int *);
151 : int ldv_scsi_LLDd_scenario_probe_2_11(int (*)(struct Scsi_Host *), struct Scsi_Host *);
152 : void ldv_scsi_LLDd_scenario_release_2_2(int (*)(struct Scsi_Host *), struct Scsi_Host *);
153 : void ldv_timer_scenario_10(void *);
154 : void ldv_timer_scenario_callback_10_2(void (*)(unsigned long), unsigned long);
155 : int main(void);
156 :
157 : /* EMG variable declarations */
158 1 : struct ldv_thread ldv_thread_1;
159 1 : struct ldv_thread ldv_thread_10;
160 1 : struct ldv_thread ldv_thread_11;
161 1 : struct ldv_thread ldv_thread_12;
162 1 : struct ldv_thread ldv_thread_16;
163 1 : struct ldv_thread ldv_thread_2;
164 1 : struct ldv_thread ldv_thread_3;
165 1 : struct ldv_thread ldv_thread_4;
166 1 : struct ldv_thread ldv_thread_5;
167 1 : struct ldv_thread ldv_thread_6;
168 1 : struct ldv_thread ldv_thread_7;
169 1 : struct ldv_thread ldv_thread_8;
170 1 : struct ldv_thread ldv_thread_9;
171 :
172 : /* EMG variable initialization */
173 :
174 : /* EMG function definitions */
175 : /* AUX_FUNC ldv_dispatch_default_deregister_10_12_5 */
176 : void ldv_dispatch_default_deregister_10_12_5() {
177 : struct ldv_struct_insmod_12 *cf_arg_11;
178 : /* Skip thread join call */
179 1 : return;
180 : }
181 :
182 : /* AUX_FUNC ldv_dispatch_default_deregister_5_12_6 */
183 : void ldv_dispatch_default_deregister_5_12_6() {
184 : struct ldv_struct_insmod_12 *cf_arg_2;
185 : /* Skip thread join call */
186 1 : return;
187 : }
188 :
189 : /* AUX_FUNC ldv_dispatch_default_deregister_6_12_7 */
190 : void ldv_dispatch_default_deregister_6_12_7() {
191 : struct ldv_struct_insmod_12 *cf_arg_3;
192 : struct ldv_struct_insmod_12 *cf_arg_4;
193 : /* Skip thread join call */
194 : /* Skip thread join call */
195 1 : return;
196 : }
197 :
198 : /* AUX_FUNC ldv_dispatch_default_deregister_7_12_8 */
199 : void ldv_dispatch_default_deregister_7_12_8() {
200 : struct ldv_struct_insmod_12 *cf_arg_8;
201 : struct ldv_struct_insmod_12 *cf_arg_5;
202 : struct ldv_struct_insmod_12 *cf_arg_6;
203 : struct ldv_struct_insmod_12 *cf_arg_7;
204 : /* Skip thread join call */
205 : /* Skip thread join call */
206 : /* Skip thread join call */
207 : /* Skip thread join call */
208 1 : return;
209 : }
210 :
211 : /* AUX_FUNC ldv_dispatch_default_deregister_8_12_4 */
212 : void ldv_dispatch_default_deregister_8_12_4() {
213 : struct ldv_struct_insmod_12 *cf_arg_9;
214 : /* Skip thread join call */
215 1 : return;
216 : }
217 :
218 : /* AUX_FUNC ldv_dispatch_default_register_10_12_12 */
219 : void ldv_dispatch_default_register_10_12_12() {
220 : struct ldv_struct_insmod_12 *cf_arg_11;
221 4 : cf_arg_11 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_12));
222 3 : ldv_factory_scenario_11(cf_arg_11);
223 1 : return;
224 : }
225 :
226 : /* AUX_FUNC ldv_dispatch_default_register_5_12_11 */
227 : void ldv_dispatch_default_register_5_12_11() {
228 : struct ldv_struct_insmod_12 *cf_arg_2;
229 4 : cf_arg_2 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_12));
230 3 : ldv_scsi_LLDd_scenario_2(cf_arg_2);
231 1 : return;
232 : }
233 :
234 : /* AUX_FUNC ldv_dispatch_default_register_6_12_10 */
235 : void ldv_dispatch_default_register_6_12_10() {
236 : struct ldv_struct_insmod_12 *cf_arg_3;
237 1 : struct ldv_struct_insmod_12 *cf_arg_4;
238 4 : cf_arg_3 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_12));
239 3 : ldv_random_containerless_scenario_3(cf_arg_3);
240 4 : cf_arg_4 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_12));
241 2 : ldv_random_containerless_scenario_4(cf_arg_4);
242 1 : return;
243 : }
244 :
245 : /* AUX_FUNC ldv_dispatch_default_register_7_12_9 */
246 : void ldv_dispatch_default_register_7_12_9() {
247 : struct ldv_struct_insmod_12 *cf_arg_8;
248 1 : struct ldv_struct_insmod_12 *cf_arg_5;
249 1 : struct ldv_struct_insmod_12 *cf_arg_6;
250 1 : struct ldv_struct_insmod_12 *cf_arg_7;
251 4 : cf_arg_8 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_12));
252 3 : ldv_random_containerless_scenario_8(cf_arg_8);
253 4 : cf_arg_5 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_12));
254 3 : ldv_random_containerless_scenario_5(cf_arg_5);
255 4 : cf_arg_6 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_12));
256 2 : ldv_random_containerless_scenario_6(cf_arg_6);
257 3 : cf_arg_7 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_12));
258 2 : ldv_random_containerless_scenario_7(cf_arg_7);
259 1 : return;
260 : }
261 :
262 : /* AUX_FUNC ldv_dispatch_default_register_8_12_13 */
263 : void ldv_dispatch_default_register_8_12_13() {
264 : struct ldv_struct_insmod_12 *cf_arg_9;
265 4 : cf_arg_9 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_12));
266 3 : ldv_random_containerless_scenario_9(cf_arg_9);
267 1 : return;
268 : }
269 :
270 : /* AUX_FUNC ldv_dispatch_deregister_14_1 */
271 : void ldv_dispatch_deregister_14_1(struct pci_driver *arg0) {
272 : struct ldv_struct_pci_scenario_1 *cf_arg_1;
273 : /* Skip thread join call */
274 2 : return;
275 : }
276 :
277 : /* AUX_FUNC ldv_dispatch_insmod_deregister_16_2 */
278 : void ldv_dispatch_insmod_deregister_16_2() {
279 : struct ldv_struct_insmod_12 *cf_arg_12;
280 : /* Skip thread join call */
281 1 : return;
282 : }
283 :
284 : /* AUX_FUNC ldv_dispatch_insmod_register_16_3 */
285 : void ldv_dispatch_insmod_register_16_3() {
286 : struct ldv_struct_insmod_12 *cf_arg_12;
287 4 : cf_arg_12 = ldv_xmalloc(sizeof(struct ldv_struct_insmod_12));
288 4 : ldv_insmod_12(cf_arg_12);
289 1 : return;
290 : }
291 :
292 : /* AUX_FUNC ldv_dispatch_instance_deregister_11_3 */
293 : void ldv_dispatch_instance_deregister_11_3(struct timer_list *arg0) {
294 : struct ldv_struct_timer_scenario_10 *cf_arg_10;
295 : /* Skip thread join call */
296 1 : return;
297 : }
298 :
299 : /* AUX_FUNC ldv_dispatch_instance_register_13_3 */
300 : void ldv_dispatch_instance_register_13_3(struct timer_list *arg0) {
301 : struct ldv_struct_timer_scenario_10 *cf_arg_10;
302 8 : cf_arg_10 = ldv_xmalloc(sizeof(struct ldv_struct_timer_scenario_10));
303 4 : cf_arg_10->arg0 = arg0;
304 8 : ldv_timer_scenario_10(cf_arg_10);
305 2 : return;
306 : }
307 :
308 : /* AUX_FUNC ldv_dispatch_register_15_3 */
309 : void ldv_dispatch_register_15_3(struct pci_driver *arg0) {
310 : struct ldv_struct_pci_scenario_1 *cf_arg_1;
311 4 : cf_arg_1 = ldv_xmalloc(sizeof(struct ldv_struct_pci_scenario_1));
312 2 : cf_arg_1->arg0 = arg0;
313 2 : ldv_pci_scenario_1(cf_arg_1);
314 1 : return;
315 : }
316 :
317 : /* AUX_FUNC ldv_emg___pci_register_driver */
318 : int ldv_emg___pci_register_driver(struct pci_driver *arg0, struct module *arg1, char *arg2) {
319 : /* LDV {"comment": "Control function '__pci_register_driver'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg___pci_register_driver"} */
320 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
321 1 : struct pci_driver *ldv_15_pci_driver_pci_driver;
322 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
323 1 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
324 :
325 4 : if (ldv_undef_int()) {
326 : /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Get 'pci' callbacks to register."} */
327 1 : ldv_15_pci_driver_pci_driver = arg0;
328 : /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
329 :
330 : /* LDV {"action": "REGISTER", "type": "DISPATCH_BEGIN", "comment": "Register PCI callbacks."} */
331 2 : ldv_dispatch_register_15_3(ldv_15_pci_driver_pci_driver);
332 : /* LDV {"action": "REGISTER", "type": "DISPATCH_END"} */
333 :
334 : /* LDV {"action": "FAIL", "type": "CONDITION_BEGIN", "comment": "Fail registration of 'pci' callbacks."} */
335 3 : return ldv_undef_int_negative();
336 : /* LDV {"action": "FAIL", "type": "CONDITION_END"} */
337 :
338 : /* Exit function at a terminal state */
339 : }
340 : else {
341 : /* LDV {"action": "SUCCESS", "type": "CONDITION_BEGIN", "comment": "Registration of 'pci' callbacks has been successful."} */
342 1 : return 0;
343 : /* LDV {"action": "SUCCESS", "type": "CONDITION_END"} */
344 :
345 : /* Exit function at a terminal state */
346 : }
347 : /* End of the process */
348 : /* LDV {"comment": "End of control function based on process '__pci_register_driver'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg___pci_register_driver"} */
349 : }
350 :
351 : /* AUX_FUNC ldv_emg_mod_timer */
352 : int ldv_emg_mod_timer(struct timer_list *arg0, long unsigned int arg1) {
353 : /* LDV {"comment": "Control function 'mod_timer'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg_mod_timer"} */
354 2 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
355 2 : struct timer_list *ldv_13_timer_list_timer_list;
356 2 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
357 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
358 :
359 8 : if (ldv_undef_int()) {
360 : /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Get timer representing structure."} */
361 2 : ldv_13_timer_list_timer_list = arg0;
362 : /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
363 :
364 : /* LDV {"action": "INSTANCE_REGISTER", "type": "DISPATCH_BEGIN", "comment": "Register TIMER callbacks."} */
365 4 : ldv_dispatch_instance_register_13_3(ldv_13_timer_list_timer_list);
366 : /* LDV {"action": "INSTANCE_REGISTER", "type": "DISPATCH_END"} */
367 :
368 : /* LDV {"action": "SUCCESS", "type": "CONDITION_BEGIN", "comment": "Successfully modified a timer's timeout"} */
369 2 : return 0;
370 : /* LDV {"action": "SUCCESS", "type": "CONDITION_END"} */
371 :
372 : /* Exit function at a terminal state */
373 : }
374 : else {
375 : /* LDV {"action": "FAIL", "type": "CONDITION_BEGIN", "comment": "Failed to modify a timer's timeout"} */
376 6 : return ldv_undef_int_negative();
377 : /* LDV {"action": "FAIL", "type": "CONDITION_END"} */
378 :
379 : /* Exit function at a terminal state */
380 : }
381 : /* End of the process */
382 : /* LDV {"comment": "End of control function based on process 'mod_timer'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg_mod_timer"} */
383 : }
384 :
385 : /* AUX_FUNC ldv_emg_pci_unregister_driver */
386 : void ldv_emg_pci_unregister_driver(struct pci_driver *arg0) {
387 : /* LDV {"comment": "Control function 'pci_unregister_driver'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg_pci_unregister_driver"} */
388 2 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
389 : struct pci_driver *ldv_14_pci_driver_pci_driver;
390 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
391 : /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Get 'pci' callbacks to deregister."} */
392 2 : ldv_14_pci_driver_pci_driver = arg0;
393 : /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
394 :
395 : /* LDV {"action": "DEREGISTER", "type": "DISPATCH_BEGIN", "comment": "Deregister PCI callbacks."} */
396 4 : ldv_dispatch_deregister_14_1(ldv_14_pci_driver_pci_driver);
397 : /* LDV {"action": "DEREGISTER", "type": "DISPATCH_END"} */
398 :
399 : /* Exit function at a terminal state */
400 2 : return;
401 : /* End of the process */
402 : return;
403 : /* LDV {"comment": "End of control function based on process 'pci_unregister_driver'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg_pci_unregister_driver"} */
404 : }
405 :
406 : /* AUX_FUNC ldv_factory_scenario_11 */
407 : void ldv_factory_scenario_11(void *arg0) {
408 : /* LDV {"thread": 11, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'factory_scenario(timer)'", "function": "ldv_factory_scenario_11"} */
409 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
410 1 : struct timer_list *ldv_11_container_timer_list;
411 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
412 : /* LDV {"action": "DEFAULT_REGISTER_10", "type": "RECEIVE_BEGIN", "comment": "Proceed to TIMER callbacks invocations scenarios."} */
413 2 : ldv_free(arg0);
414 : /* LDV {"action": "DEFAULT_REGISTER_10", "type": "RECEIVE_END"} */
415 :
416 : /* LDV {"action": "DEFAULT_ALLOC_10", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
417 3 : ldv_11_container_timer_list = ldv_xmalloc_unknown_size(0);
418 : /* LDV {"action": "DEFAULT_ALLOC_10", "type": "CONDITION_END"} */
419 :
420 : /* LDV {"action": "INSTANCE_REGISTER", "type": "DISPATCH_BEGIN", "comment": "Skip the action, since no callbacks has been found."} */
421 : /* Dispatch 'instance_register' is not expected by any process, skipping the action */
422 : /* Skip the dispatch because there is no process to receive the signal */
423 : /* LDV {"action": "INSTANCE_REGISTER", "type": "DISPATCH_END"} */
424 :
425 : /* LDV {"action": "INSTANCE_DEREGISTER", "type": "DISPATCH_BEGIN", "comment": "Finish scenario for TIMER callbacks invocations"} */
426 2 : ldv_dispatch_instance_deregister_11_3(ldv_11_container_timer_list);
427 : /* LDV {"action": "INSTANCE_DEREGISTER", "type": "DISPATCH_END"} */
428 :
429 : /* LDV {"action": "DEFAULT_FREE_10", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
430 2 : ldv_free(ldv_11_container_timer_list);
431 : /* LDV {"action": "DEFAULT_FREE_10", "type": "CONDITION_END"} */
432 :
433 : /* LDV {"action": "DEFAULT_DEREGISTER_10", "type": "RECEIVE_BEGIN", "comment": "Finish TIMER callbacks invocations scenarios."} */
434 : /* Skip a non-replicative signal receiving */
435 : /* LDV {"action": "DEFAULT_DEREGISTER_10", "type": "RECEIVE_END"} */
436 :
437 : /* Exit function at a terminal state */
438 1 : return;
439 : /* End of the process */
440 : return;
441 : /* LDV {"comment": "End of control function based on process 'factory_scenario(timer)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_factory_scenario_11"} */
442 : }
443 :
444 : /* AUX_FUNC ldv_insmod_12 */
445 : void ldv_insmod_12(void *arg0) {
446 : /* LDV {"thread": 12, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'insmod(artificial)'", "function": "ldv_insmod_12"} */
447 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
448 1 : void (*ldv_12_ahci_exit_default)(void);
449 1 : int (*ldv_12_ahci_init_default)(void);
450 1 : int ldv_12_ret_default;
451 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
452 : /* LDV {"action": "INSMOD_REGISTER", "type": "RECEIVE_BEGIN", "comment": "Trigger module initialization."} */
453 2 : ldv_free(arg0);
454 : /* LDV {"action": "INSMOD_REGISTER", "type": "RECEIVE_END"} */
455 :
456 : /* LDV {"action": "AHCI_INIT", "type": "CALL_BEGIN", "callback": true, "comment": "Initialize the module after insmod with 'ahci_init' function. Invoke callback ahci_init from ARTIFICIAL."} */
457 : /* LDV {"type": "CALLBACK", "call": "ldv_12_ret_default = (ahci_init)();", "comment": "ahci_init"} */
458 2 : ldv_12_ret_default = ldv_insmod_ahci_init_12_17(ldv_12_ahci_init_default);
459 : /* Callback post-call */
460 2 : ldv_12_ret_default = ldv_post_init(ldv_12_ret_default);
461 : /* LDV {"action": "AHCI_INIT", "type": "CALL_END"} */
462 :
463 4 : if (ldv_undef_int()) {
464 : /* LDV {"action": "INIT_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to initialize the module."} */
465 2 : ldv_assume(ldv_12_ret_default != 0);
466 : /* LDV {"action": "INIT_FAILED", "type": "CONDITION_END"} */
467 :
468 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Trigger module exit."} */
469 : /* Skip a non-replicative signal receiving */
470 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_END"} */
471 :
472 : /* Exit function at a terminal state */
473 1 : return;
474 : }
475 : else {
476 : /* LDV {"action": "INIT_SUCCESS", "type": "CONDITION_BEGIN", "comment": "Module has been initialized."} */
477 2 : ldv_assume(ldv_12_ret_default == 0);
478 : /* LDV {"action": "INIT_SUCCESS", "type": "CONDITION_END"} */
479 :
480 4 : if (ldv_undef_int()) {
481 : /* LDV {"action": "DEFAULT_REGISTER_8", "type": "DISPATCH_BEGIN", "comment": "Register 'STRUCT_KERNEL_PARAM' callbacks with unknown registration function."} */
482 2 : ldv_dispatch_default_register_8_12_13();
483 : /* LDV {"action": "DEFAULT_REGISTER_8", "type": "DISPATCH_END"} */
484 :
485 : /* LDV {"action": "DEFAULT_REGISTER_10", "type": "DISPATCH_BEGIN", "comment": "Register 'TIMER' callbacks with unknown registration function."} */
486 2 : ldv_dispatch_default_register_10_12_12();
487 : /* LDV {"action": "DEFAULT_REGISTER_10", "type": "DISPATCH_END"} */
488 :
489 : /* LDV {"action": "DEFAULT_REGISTER_5", "type": "DISPATCH_BEGIN", "comment": "Register 'SCSI_HOST_TEMPLATE' callbacks with unknown registration function."} */
490 2 : ldv_dispatch_default_register_5_12_11();
491 : /* LDV {"action": "DEFAULT_REGISTER_5", "type": "DISPATCH_END"} */
492 :
493 : /* LDV {"action": "DEFAULT_REGISTER_6", "type": "DISPATCH_BEGIN", "comment": "Register 'STRUCT_ATA_PORT_OPERATIONS' callbacks with unknown registration function."} */
494 2 : ldv_dispatch_default_register_6_12_10();
495 : /* LDV {"action": "DEFAULT_REGISTER_6", "type": "DISPATCH_END"} */
496 :
497 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "DISPATCH_BEGIN", "comment": "Register 'STRUCT_DEVICE_ATTRIBUTE' callbacks with unknown registration function."} */
498 2 : ldv_dispatch_default_register_7_12_9();
499 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "DISPATCH_END"} */
500 :
501 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "DISPATCH_BEGIN", "comment": "Deregister 'STRUCT_DEVICE_ATTRIBUTE' callbacks with unknown deregistration function."} */
502 2 : ldv_dispatch_default_deregister_7_12_8();
503 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "DISPATCH_END"} */
504 :
505 : /* LDV {"action": "DEFAULT_DEREGISTER_6", "type": "DISPATCH_BEGIN", "comment": "Deregister 'STRUCT_ATA_PORT_OPERATIONS' callbacks with unknown deregistration function."} */
506 2 : ldv_dispatch_default_deregister_6_12_7();
507 : /* LDV {"action": "DEFAULT_DEREGISTER_6", "type": "DISPATCH_END"} */
508 :
509 : /* LDV {"action": "DEFAULT_DEREGISTER_5", "type": "DISPATCH_BEGIN", "comment": "Deregister 'SCSI_HOST_TEMPLATE' callbacks with unknown deregistration function."} */
510 2 : ldv_dispatch_default_deregister_5_12_6();
511 : /* LDV {"action": "DEFAULT_DEREGISTER_5", "type": "DISPATCH_END"} */
512 :
513 : /* LDV {"action": "DEFAULT_DEREGISTER_10", "type": "DISPATCH_BEGIN", "comment": "Deregister 'TIMER' callbacks with unknown deregistration function."} */
514 2 : ldv_dispatch_default_deregister_10_12_5();
515 : /* LDV {"action": "DEFAULT_DEREGISTER_10", "type": "DISPATCH_END"} */
516 :
517 : /* LDV {"action": "DEFAULT_DEREGISTER_8", "type": "DISPATCH_BEGIN", "comment": "Deregister 'STRUCT_KERNEL_PARAM' callbacks with unknown deregistration function."} */
518 2 : ldv_dispatch_default_deregister_8_12_4();
519 : /* LDV {"action": "DEFAULT_DEREGISTER_8", "type": "DISPATCH_END"} */
520 :
521 : }
522 : else {
523 : /* LDV {"action": "NONE", "type": "CONDITION_BEGIN", "comment": "Skip default callbacks registrations and deregistrations."} */
524 : /* LDV {"action": "NONE", "type": "CONDITION_END"} */
525 :
526 : }
527 : /* LDV {"action": "AHCI_EXIT", "type": "CALL_BEGIN", "callback": true, "comment": "Exit the module before its unloading with 'ahci_exit' function. Invoke callback ahci_exit from ARTIFICIAL."} */
528 : /* LDV {"type": "CALLBACK", "call": "(ahci_exit)();", "comment": "ahci_exit"} */
529 4 : ldv_insmod_ahci_exit_12_2(ldv_12_ahci_exit_default);
530 : /* LDV {"action": "AHCI_EXIT", "type": "CALL_END"} */
531 :
532 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Trigger module exit."} */
533 : /* Skip a non-replicative signal receiving */
534 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_END"} */
535 :
536 : /* Exit function at a terminal state */
537 1 : return;
538 : }
539 : /* End of the process */
540 : return;
541 : /* LDV {"comment": "End of control function based on process 'insmod(artificial)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_insmod_12"} */
542 : }
543 :
544 : /* AUX_FUNC_CALLBACK ldv_insmod_ahci_exit_12_2 */
545 : void ldv_insmod_ahci_exit_12_2(void (*arg0)(void)) {
546 4 : (ahci_exit)();
547 2 : }
548 :
549 : /* AUX_FUNC_CALLBACK ldv_insmod_ahci_init_12_17 */
550 : int ldv_insmod_ahci_init_12_17(int (*arg0)(void)) {
551 3 : return (ahci_init)();
552 1 : }
553 :
554 : /* AUX_FUNC ldv_main_16 */
555 : void ldv_main_16(void *arg0) {
556 : /* LDV {"thread": 16, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'main(main)'", "function": "ldv_main_16"} */
557 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
558 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
559 : /* LDV {"action": "INIT", "type": "CONDITION_BEGIN", "comment": "Initialize rule models."} */
560 1 : ldv_initialize();
561 : /* LDV {"action": "INIT", "type": "CONDITION_END"} */
562 :
563 : /* LDV {"action": "INSMOD_REGISTER", "type": "DISPATCH_BEGIN", "comment": "Start environment model scenarios."} */
564 2 : ldv_dispatch_insmod_register_16_3();
565 : /* LDV {"action": "INSMOD_REGISTER", "type": "DISPATCH_END"} */
566 :
567 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "DISPATCH_BEGIN", "comment": "Stop environment model scenarios."} */
568 2 : ldv_dispatch_insmod_deregister_16_2();
569 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "DISPATCH_END"} */
570 :
571 : /* LDV {"action": "FINAL", "type": "CONDITION_BEGIN", "comment": "Check rule model state at the exit."} */
572 1 : ldv_check_final_state();
573 1 : ldv_stop();
574 : /* LDV {"action": "FINAL", "type": "CONDITION_END"} */
575 :
576 : /* Exit function at a terminal state */
577 0 : return;
578 : /* End of the process */
579 : return;
580 : /* LDV {"comment": "End of control function based on process 'main(main)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_main_16"} */
581 : }
582 :
583 : /* AUX_FUNC ldv_pci_scenario_1 */
584 : void ldv_pci_scenario_1(void *arg0) {
585 : /* LDV {"thread": 1, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'pci_scenario(pci)'", "function": "ldv_pci_scenario_1"} */
586 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
587 1 : struct pci_driver *ldv_1_container_pci_driver;
588 1 : struct pci_dev *ldv_1_resource_dev;
589 1 : struct pm_message ldv_1_resource_pm_message;
590 1 : struct pci_device_id *ldv_1_resource_struct_pci_device_id_ptr;
591 1 : int ldv_1_ret_default;
592 1 : /* Received labels */
593 2 : struct ldv_struct_pci_scenario_1 *data = (struct ldv_struct_pci_scenario_1*) arg0;
594 1 :
595 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
596 1 : /* Initialize automaton variables */
597 1 : ldv_1_ret_default = 1;
598 : /* LDV {"action": "REGISTER", "type": "RECEIVE_BEGIN", "comment": "Begin PCI callbacks invocating."} */
599 : /* Assign recieved labels */
600 2 : if (data) {
601 1 : ldv_1_container_pci_driver = data->arg0;
602 2 : ldv_free(data);
603 : }
604 : /* LDV {"action": "REGISTER", "type": "RECEIVE_END"} */
605 :
606 : /* LDV {"action": "INIT", "type": "CONDITION_BEGIN", "comment": "Allocate memory for pci_dev structure."} */
607 5 : ldv_1_resource_dev = ldv_xmalloc(sizeof(struct pci_dev));
608 3 : ldv_1_resource_struct_pci_device_id_ptr = ldv_xmalloc_unknown_size(0);
609 : /* LDV {"action": "INIT", "type": "CONDITION_END"} */
610 :
611 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "New device is inserted, probe it."} */
612 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
613 :
614 : /* Jump to a subprocess 'main' initial state */
615 1 : goto ldv_main_1;
616 : /* End of the process */
617 : return;
618 1 :
619 : /* Sbprocess main */
620 : ldv_main_1:
621 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
622 :
623 4 : if (ldv_undef_int()) {
624 : /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe new PCI driver. Invoke callback probe from pci_driver."} */
625 : /* Callback pre-call */
626 1 : ldv_pre_probe();
627 : /* LDV {"type": "CALLBACK", "call": "ldv_1_ret_default = ((& ahci_init_one))(ldv_1_resource_dev, ldv_1_resource_struct_pci_device_id_ptr);", "comment": "probe"} */
628 3 : ldv_1_ret_default = ldv_pci_scenario_probe_1_17(ldv_1_container_pci_driver->probe, ldv_1_resource_dev, ldv_1_resource_struct_pci_device_id_ptr);
629 : /* Callback post-call */
630 2 : ldv_1_ret_default = ldv_post_probe(ldv_1_ret_default);
631 : /* LDV {"action": "PROBE", "type": "CALL_END"} */
632 :
633 4 : if (ldv_undef_int()) {
634 : /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "Probing of PCI driver has been successfull."} */
635 2 : ldv_assume(ldv_1_ret_default == 0);
636 : /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
637 :
638 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Driver is probed, call rest callbacks."} */
639 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
640 :
641 : /* Jump to a subprocess 'call' initial state */
642 1 : goto ldv_call_1;
643 : }
644 : else {
645 : /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe PCI driver."} */
646 2 : ldv_assume(ldv_1_ret_default != 0);
647 : /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
648 :
649 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "New device is inserted, probe it."} */
650 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
651 :
652 : /* Jump to a subprocess 'main' initial state */
653 1 : goto ldv_main_1;
654 : }
655 : }
656 : else {
657 : /* LDV {"action": "FREE", "type": "CONDITION_BEGIN", "comment": "Free memory of pci_dev structure."} */
658 2 : ldv_free(ldv_1_resource_dev);
659 2 : ldv_free(ldv_1_resource_struct_pci_device_id_ptr);
660 : /* LDV {"action": "FREE", "type": "CONDITION_END"} */
661 :
662 : /* LDV {"action": "DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Stop PCI callbacks invocating."} */
663 : /* Skip a non-replicative signal receiving */
664 : /* LDV {"action": "DEREGISTER", "type": "RECEIVE_END"} */
665 :
666 : /* Exit function at a terminal state */
667 1 : return;
668 : }
669 : /* End of the subprocess 'main' */
670 : return;
671 1 :
672 : /* Sbprocess call */
673 : ldv_call_1:
674 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
675 :
676 2 : switch (ldv_undef_int()) {
677 3 : case 1: {
678 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "comment": "Call callback 'callback' of a process 'pci_scenario' of an interface category 'pci'"} */
679 : /* Skip callback without implementations */
680 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
681 :
682 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Driver is probed, call rest callbacks."} */
683 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
684 :
685 : /* Jump to a subprocess 'call' initial state */
686 1 : goto ldv_call_1;
687 1 : break;
688 : }
689 3 : case 2: {
690 : /* LDV {"action": "SUSPEND", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from PCI."} */
691 3 : if (ldv_1_container_pci_driver->suspend) {
692 : /* LDV {"type": "CALLBACK", "call": "ldv_1_ret_default = (ldv_1_container_pci_driver->suspend)(ldv_1_resource_dev, ldv_1_resource_pm_message);", "comment": "suspend"} */
693 2 : ldv_1_ret_default = ldv_pci_scenario_suspend_1_8(ldv_1_container_pci_driver->suspend, ldv_1_resource_dev, ldv_1_resource_pm_message);
694 : }
695 : /* Callback post-call */
696 4 : ldv_1_ret_default = ldv_filter_err_code(ldv_1_ret_default);
697 : /* LDV {"action": "SUSPEND", "type": "CALL_END"} */
698 :
699 : /* LDV {"action": "SUSPEND_LATE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend_late from PCI."} */
700 3 : if (ldv_1_container_pci_driver->suspend_late) {
701 : /* LDV {"type": "CALLBACK", "call": "ldv_1_ret_default = (ldv_1_container_pci_driver->suspend_late)(ldv_1_resource_dev, ldv_1_resource_pm_message);", "comment": "suspend_late"} */
702 2 : ldv_1_ret_default = ldv_pci_scenario_suspend_late_1_7(ldv_1_container_pci_driver->suspend_late, ldv_1_resource_dev, ldv_1_resource_pm_message);
703 : }
704 : /* Callback post-call */
705 4 : ldv_1_ret_default = ldv_filter_err_code(ldv_1_ret_default);
706 : /* LDV {"action": "SUSPEND_LATE", "type": "CALL_END"} */
707 :
708 : /* LDV {"action": "RESUME_EARLY", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume_early from PCI."} */
709 3 : if (ldv_1_container_pci_driver->resume_early) {
710 : /* LDV {"type": "CALLBACK", "call": "(ldv_1_container_pci_driver->resume_early)(ldv_1_resource_dev);", "comment": "resume_early"} */
711 2 : ldv_pci_scenario_resume_early_1_6(ldv_1_container_pci_driver->resume_early, ldv_1_resource_dev);
712 : }
713 : /* LDV {"action": "RESUME_EARLY", "type": "CALL_END"} */
714 :
715 : /* LDV {"action": "RESUME", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from PCI."} */
716 6 : if (ldv_1_container_pci_driver->resume) {
717 : /* LDV {"type": "CALLBACK", "call": "(ldv_1_container_pci_driver->resume)(ldv_1_resource_dev);", "comment": "resume"} */
718 4 : ldv_pci_scenario_resume_1_5(ldv_1_container_pci_driver->resume, ldv_1_resource_dev);
719 : }
720 : /* LDV {"action": "RESUME", "type": "CALL_END"} */
721 :
722 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Driver is probed, call rest callbacks."} */
723 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
724 :
725 : /* Jump to a subprocess 'call' initial state */
726 3 : goto ldv_call_1;
727 1 : break;
728 : }
729 3 : case 3: {
730 : /* LDV {"action": "SHUTDOWN", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback shutdown from PCI."} */
731 3 : if (ldv_1_container_pci_driver->shutdown) {
732 : /* LDV {"type": "CALLBACK", "call": "(ldv_1_container_pci_driver->shutdown)(ldv_1_resource_dev);", "comment": "shutdown"} */
733 2 : ldv_pci_scenario_shutdown_1_3(ldv_1_container_pci_driver->shutdown, ldv_1_resource_dev);
734 : }
735 : /* LDV {"action": "SHUTDOWN", "type": "CALL_END"} */
736 :
737 : /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from pci_driver."} */
738 : /* LDV {"type": "CALLBACK", "call": "((& ata_pci_remove_one))(ldv_1_resource_dev);", "comment": "release"} */
739 4 : ldv_pci_scenario_release_1_2(ldv_1_container_pci_driver->remove, ldv_1_resource_dev);
740 : /* LDV {"action": "RELEASE", "type": "CALL_END"} */
741 :
742 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "New device is inserted, probe it."} */
743 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
744 :
745 : /* Jump to a subprocess 'main' initial state */
746 1 : goto ldv_main_1;
747 1 : break;
748 : }
749 2 : default: ldv_stop();
750 1 : }
751 0 : /* End of the subprocess 'call' */
752 0 : return;
753 : /* LDV {"comment": "End of control function based on process 'pci_scenario(pci)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_pci_scenario_1"} */
754 : }
755 :
756 : /* AUX_FUNC_CALLBACK ldv_pci_scenario_probe_1_17 */
757 : int ldv_pci_scenario_probe_1_17(int (*arg0)(struct pci_dev *, struct pci_device_id *), struct pci_dev *arg1, struct pci_device_id *arg2) {
758 11 : return ((& ahci_init_one))(arg1, arg2);
759 : }
760 1 :
761 : /* AUX_FUNC_CALLBACK ldv_pci_scenario_release_1_2 */
762 : void ldv_pci_scenario_release_1_2(void (*arg0)(struct pci_dev *), struct pci_dev *arg1) {
763 2 : ((& ata_pci_remove_one))(arg1);
764 2 : }
765 :
766 : /* AUX_FUNC_CALLBACK ldv_pci_scenario_resume_1_5 */
767 : void ldv_pci_scenario_resume_1_5(int (*arg0)(struct pci_dev *), struct pci_dev *arg1) {
768 2 : (*arg0)(arg1);
769 2 : }
770 :
771 : /* AUX_FUNC_CALLBACK ldv_pci_scenario_resume_early_1_6 */
772 : void ldv_pci_scenario_resume_early_1_6(int (*arg0)(struct pci_dev *), struct pci_dev *arg1) {
773 1 : (*arg0)(arg1);
774 1 : }
775 :
776 : /* AUX_FUNC_CALLBACK ldv_pci_scenario_shutdown_1_3 */
777 : void ldv_pci_scenario_shutdown_1_3(void (*arg0)(struct pci_dev *), struct pci_dev *arg1) {
778 1 : (*arg0)(arg1);
779 1 : }
780 :
781 : /* AUX_FUNC_CALLBACK ldv_pci_scenario_suspend_1_8 */
782 : int ldv_pci_scenario_suspend_1_8(int (*arg0)(struct pci_dev *, struct pm_message), struct pci_dev *arg1, struct pm_message arg2) {
783 2 : return (*arg0)(arg1, arg2);
784 : }
785 1 :
786 : /* AUX_FUNC_CALLBACK ldv_pci_scenario_suspend_late_1_7 */
787 : int ldv_pci_scenario_suspend_late_1_7(int (*arg0)(struct pci_dev *, struct pm_message), struct pci_dev *arg1, struct pm_message arg2) {
788 2 : return (*arg0)(arg1, arg2);
789 : }
790 1 :
791 : /* AUX_FUNC ldv_random_containerless_scenario_3 */
792 : void ldv_random_containerless_scenario_3(void *arg0) {
793 : /* LDV {"thread": 3, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_ata_port_operations)'", "function": "ldv_random_containerless_scenario_3"} */
794 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
795 1 : void (*ldv_3_callback_dev_config)(struct ata_device *);
796 1 : void (*ldv_3_callback_disable_pm)(struct ata_port *);
797 1 : ssize_t (*ldv_3_callback_em_show)(struct ata_port *, char *);
798 1 : ssize_t (*ldv_3_callback_em_store)(struct ata_port *, char *, size_t );
799 1 : int (*ldv_3_callback_enable_pm)(struct ata_port *, enum link_pm);
800 1 : void (*ldv_3_callback_error_handler)(struct ata_port *);
801 1 : void (*ldv_3_callback_freeze)(struct ata_port *);
802 1 : int (*ldv_3_callback_hardreset)(struct ata_link *, unsigned int *, long unsigned int);
803 1 : void (*ldv_3_callback_pmp_attach)(struct ata_port *);
804 1 : void (*ldv_3_callback_pmp_detach)(struct ata_port *);
805 1 : int (*ldv_3_callback_pmp_softreset)(struct ata_link *, unsigned int *, long unsigned int);
806 1 : int (*ldv_3_callback_port_start)(struct ata_port *);
807 1 : void (*ldv_3_callback_port_stop)(struct ata_port *);
808 1 : void (*ldv_3_callback_post_internal_cmd)(struct ata_queued_cmd *);
809 1 : void (*ldv_3_callback_postreset)(struct ata_link *, unsigned int *);
810 1 : int (*ldv_3_callback_qc_defer)(struct ata_queued_cmd *);
811 1 : bool (*ldv_3_callback_qc_fill_rtf)(struct ata_queued_cmd *);
812 1 : unsigned int (*ldv_3_callback_qc_issue)(struct ata_queued_cmd *);
813 1 : void (*ldv_3_callback_qc_prep)(struct ata_queued_cmd *);
814 1 : int (*ldv_3_callback_scr_read)(struct ata_link *, unsigned int, u32 *);
815 1 : int (*ldv_3_callback_scr_write)(struct ata_link *, unsigned int, u32 );
816 1 : int (*ldv_3_callback_softreset)(struct ata_link *, unsigned int *, long unsigned int);
817 1 : ssize_t (*ldv_3_callback_sw_activity_show)(struct ata_device *, char *);
818 1 : ssize_t (*ldv_3_callback_sw_activity_store)(struct ata_device *, enum sw_activity);
819 1 : void (*ldv_3_callback_thaw)(struct ata_port *);
820 1 : enum link_pm ldv_3_container_enum_link_pm;
821 1 : enum sw_activity ldv_3_container_enum_sw_activity;
822 1 : struct ata_device *ldv_3_container_struct_ata_device_ptr;
823 1 : struct ata_link *ldv_3_container_struct_ata_link_ptr;
824 1 : struct ata_port *ldv_3_container_struct_ata_port_ptr;
825 1 : struct ata_queued_cmd *ldv_3_container_struct_ata_queued_cmd_ptr;
826 1 : char *ldv_3_ldv_param_12_1_default;
827 1 : long unsigned int ldv_3_ldv_param_12_2_default;
828 1 : unsigned int *ldv_3_ldv_param_18_1_default;
829 1 : long unsigned int ldv_3_ldv_param_18_2_default;
830 1 : unsigned int *ldv_3_ldv_param_23_1_default;
831 1 : long unsigned int ldv_3_ldv_param_23_2_default;
832 1 : unsigned int *ldv_3_ldv_param_29_1_default;
833 1 : unsigned int ldv_3_ldv_param_36_1_default;
834 1 : unsigned int *ldv_3_ldv_param_36_2_default;
835 1 : unsigned int ldv_3_ldv_param_39_1_default;
836 1 : unsigned int ldv_3_ldv_param_39_2_default;
837 1 : unsigned int *ldv_3_ldv_param_42_1_default;
838 1 : long unsigned int ldv_3_ldv_param_42_2_default;
839 1 : char *ldv_3_ldv_param_45_1_default;
840 1 : char *ldv_3_ldv_param_9_1_default;
841 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
842 1 : /* LDV {"action": "DEFAULT_REGISTER_6", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_ATA_PORT_OPERATIONS callbacks invocations scenario."} */
843 3 : ldv_free(arg0);
844 1 : /* LDV {"action": "DEFAULT_REGISTER_6", "type": "RECEIVE_END"} */
845 1 :
846 1 : /* LDV {"action": "DEFAULT_ALLOC_6", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
847 4 : ldv_3_container_struct_ata_device_ptr = ldv_xmalloc_unknown_size(0);
848 4 : ldv_3_container_struct_ata_link_ptr = ldv_xmalloc_unknown_size(0);
849 4 : ldv_3_container_struct_ata_port_ptr = ldv_xmalloc_unknown_size(0);
850 4 : ldv_3_container_struct_ata_queued_cmd_ptr = ldv_xmalloc_unknown_size(0);
851 1 : /* LDV {"action": "DEFAULT_ALLOC_6", "type": "CONDITION_END"} */
852 1 :
853 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
854 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
855 :
856 : /* Jump to a subprocess 'call' initial state */
857 1 : goto ldv_call_3;
858 : /* End of the process */
859 : return;
860 1 :
861 : /* Sbprocess call */
862 : ldv_call_3:
863 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
864 :
865 2 : switch (ldv_undef_int()) {
866 3 : case 1: {
867 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback thaw from ata_port_operations."} */
868 : /* LDV {"type": "CALLBACK", "call": "((& ahci_thaw))(ldv_3_container_struct_ata_port_ptr);", "comment": "callback"} */
869 2 : ldv_random_containerless_scenario_callback_3_49(ldv_3_callback_thaw, ldv_3_container_struct_ata_port_ptr);
870 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
871 :
872 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
873 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
874 :
875 : /* Jump to a subprocess 'call' initial state */
876 1 : goto ldv_call_3;
877 1 : break;
878 : }
879 3 : case 2: {
880 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback sw_activity_store from ata_port_operations."} */
881 : /* LDV {"type": "CALLBACK", "call": "((& ahci_activity_store))(ldv_3_container_struct_ata_device_ptr, ldv_3_container_enum_sw_activity);", "comment": "callback"} */
882 2 : ldv_random_containerless_scenario_callback_3_48(ldv_3_callback_sw_activity_store, ldv_3_container_struct_ata_device_ptr, ldv_3_container_enum_sw_activity);
883 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
884 :
885 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
886 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
887 :
888 : /* Jump to a subprocess 'call' initial state */
889 1 : goto ldv_call_3;
890 : /* Jump to a subprocess 'call' initial state */
891 : goto ldv_call_3;
892 1 : break;
893 : }
894 3 : case 3: {
895 : /* LDV {"action": "PRE_CALL_45", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
896 3 : ldv_3_ldv_param_45_1_default = ldv_xmalloc_unknown_size(0);
897 : /* LDV {"action": "PRE_CALL_45", "type": "CONDITION_END"} */
898 :
899 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback sw_activity_show from ata_port_operations."} */
900 : /* LDV {"type": "CALLBACK", "call": "((& ahci_activity_show))(ldv_3_container_struct_ata_device_ptr, ldv_3_ldv_param_45_1_default);", "comment": "callback"} */
901 2 : ldv_random_containerless_scenario_callback_3_45(ldv_3_callback_sw_activity_show, ldv_3_container_struct_ata_device_ptr, ldv_3_ldv_param_45_1_default);
902 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
903 :
904 : /* LDV {"action": "POST_CALL_45", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
905 2 : ldv_free(ldv_3_ldv_param_45_1_default);
906 : /* LDV {"action": "POST_CALL_45", "type": "CONDITION_END"} */
907 :
908 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
909 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
910 :
911 : /* Jump to a subprocess 'call' initial state */
912 1 : goto ldv_call_3;
913 : /* Jump to a subprocess 'call' initial state */
914 : goto ldv_call_3;
915 : /* Jump to a subprocess 'call' initial state */
916 : goto ldv_call_3;
917 1 : break;
918 : }
919 3 : case 4: {
920 : /* LDV {"action": "PRE_CALL_42", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
921 3 : ldv_3_ldv_param_42_1_default = ldv_xmalloc_unknown_size(0);
922 : /* LDV {"action": "PRE_CALL_42", "type": "CONDITION_END"} */
923 :
924 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback softreset from ata_port_operations."} */
925 : /* LDV {"type": "CALLBACK", "call": "((& ahci_softreset))(ldv_3_container_struct_ata_link_ptr, ldv_3_ldv_param_42_1_default, ldv_3_ldv_param_42_2_default);", "comment": "callback"} */
926 2 : ldv_random_containerless_scenario_callback_3_42(ldv_3_callback_softreset, ldv_3_container_struct_ata_link_ptr, ldv_3_ldv_param_42_1_default, ldv_3_ldv_param_42_2_default);
927 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
928 :
929 : /* LDV {"action": "POST_CALL_42", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
930 2 : ldv_free(ldv_3_ldv_param_42_1_default);
931 : /* LDV {"action": "POST_CALL_42", "type": "CONDITION_END"} */
932 :
933 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
934 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
935 :
936 : /* Jump to a subprocess 'call' initial state */
937 1 : goto ldv_call_3;
938 : /* Jump to a subprocess 'call' initial state */
939 : goto ldv_call_3;
940 : /* Jump to a subprocess 'call' initial state */
941 : goto ldv_call_3;
942 : /* Jump to a subprocess 'call' initial state */
943 : goto ldv_call_3;
944 1 : break;
945 : }
946 3 : case 5: {
947 : /* LDV {"action": "PRE_CALL_39", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
948 : /* LDV {"action": "PRE_CALL_39", "type": "CONDITION_END"} */
949 :
950 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback scr_write from ata_port_operations."} */
951 : /* LDV {"type": "CALLBACK", "call": "((& ahci_scr_write))(ldv_3_container_struct_ata_link_ptr, ldv_3_ldv_param_39_1_default, ldv_3_ldv_param_39_2_default);", "comment": "callback"} */
952 2 : ldv_random_containerless_scenario_callback_3_39(ldv_3_callback_scr_write, ldv_3_container_struct_ata_link_ptr, ldv_3_ldv_param_39_1_default, ldv_3_ldv_param_39_2_default);
953 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
954 :
955 : /* LDV {"action": "POST_CALL_39", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
956 : /* LDV {"action": "POST_CALL_39", "type": "CONDITION_END"} */
957 :
958 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
959 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
960 :
961 : /* Jump to a subprocess 'call' initial state */
962 1 : goto ldv_call_3;
963 : /* Jump to a subprocess 'call' initial state */
964 : goto ldv_call_3;
965 : /* Jump to a subprocess 'call' initial state */
966 : goto ldv_call_3;
967 : /* Jump to a subprocess 'call' initial state */
968 : goto ldv_call_3;
969 : /* Jump to a subprocess 'call' initial state */
970 : goto ldv_call_3;
971 1 : break;
972 : }
973 3 : case 6: {
974 : /* LDV {"action": "PRE_CALL_36", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
975 3 : ldv_3_ldv_param_36_2_default = ldv_xmalloc_unknown_size(0);
976 : /* LDV {"action": "PRE_CALL_36", "type": "CONDITION_END"} */
977 :
978 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback scr_read from ata_port_operations."} */
979 : /* LDV {"type": "CALLBACK", "call": "((& ahci_scr_read))(ldv_3_container_struct_ata_link_ptr, ldv_3_ldv_param_36_1_default, ldv_3_ldv_param_36_2_default);", "comment": "callback"} */
980 2 : ldv_random_containerless_scenario_callback_3_36(ldv_3_callback_scr_read, ldv_3_container_struct_ata_link_ptr, ldv_3_ldv_param_36_1_default, ldv_3_ldv_param_36_2_default);
981 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
982 :
983 : /* LDV {"action": "POST_CALL_36", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
984 2 : ldv_free(ldv_3_ldv_param_36_2_default);
985 : /* LDV {"action": "POST_CALL_36", "type": "CONDITION_END"} */
986 :
987 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
988 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
989 :
990 : /* Jump to a subprocess 'call' initial state */
991 1 : goto ldv_call_3;
992 : /* Jump to a subprocess 'call' initial state */
993 : goto ldv_call_3;
994 : /* Jump to a subprocess 'call' initial state */
995 : goto ldv_call_3;
996 : /* Jump to a subprocess 'call' initial state */
997 : goto ldv_call_3;
998 : /* Jump to a subprocess 'call' initial state */
999 : goto ldv_call_3;
1000 : /* Jump to a subprocess 'call' initial state */
1001 : goto ldv_call_3;
1002 1 : break;
1003 : }
1004 3 : case 7: {
1005 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback qc_prep from ata_port_operations."} */
1006 : /* LDV {"type": "CALLBACK", "call": "((& ahci_qc_prep))(ldv_3_container_struct_ata_queued_cmd_ptr);", "comment": "callback"} */
1007 2 : ldv_random_containerless_scenario_callback_3_35(ldv_3_callback_qc_prep, ldv_3_container_struct_ata_queued_cmd_ptr);
1008 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1009 :
1010 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1011 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1012 :
1013 : /* Jump to a subprocess 'call' initial state */
1014 1 : goto ldv_call_3;
1015 : /* Jump to a subprocess 'call' initial state */
1016 : goto ldv_call_3;
1017 : /* Jump to a subprocess 'call' initial state */
1018 : goto ldv_call_3;
1019 : /* Jump to a subprocess 'call' initial state */
1020 : goto ldv_call_3;
1021 : /* Jump to a subprocess 'call' initial state */
1022 : goto ldv_call_3;
1023 : /* Jump to a subprocess 'call' initial state */
1024 : goto ldv_call_3;
1025 : /* Jump to a subprocess 'call' initial state */
1026 : goto ldv_call_3;
1027 1 : break;
1028 : }
1029 3 : case 8: {
1030 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback qc_issue from ata_port_operations."} */
1031 : /* LDV {"type": "CALLBACK", "call": "((& ahci_qc_issue))(ldv_3_container_struct_ata_queued_cmd_ptr);", "comment": "callback"} */
1032 2 : ldv_random_containerless_scenario_callback_3_34(ldv_3_callback_qc_issue, ldv_3_container_struct_ata_queued_cmd_ptr);
1033 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1034 :
1035 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1036 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1037 :
1038 : /* Jump to a subprocess 'call' initial state */
1039 1 : goto ldv_call_3;
1040 : /* Jump to a subprocess 'call' initial state */
1041 : goto ldv_call_3;
1042 : /* Jump to a subprocess 'call' initial state */
1043 : goto ldv_call_3;
1044 : /* Jump to a subprocess 'call' initial state */
1045 : goto ldv_call_3;
1046 : /* Jump to a subprocess 'call' initial state */
1047 : goto ldv_call_3;
1048 : /* Jump to a subprocess 'call' initial state */
1049 : goto ldv_call_3;
1050 : /* Jump to a subprocess 'call' initial state */
1051 : goto ldv_call_3;
1052 : /* Jump to a subprocess 'call' initial state */
1053 : goto ldv_call_3;
1054 1 : break;
1055 : }
1056 3 : case 9: {
1057 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback qc_fill_rtf from ata_port_operations."} */
1058 : /* LDV {"type": "CALLBACK", "call": "((& ahci_qc_fill_rtf))(ldv_3_container_struct_ata_queued_cmd_ptr);", "comment": "callback"} */
1059 2 : ldv_random_containerless_scenario_callback_3_33(ldv_3_callback_qc_fill_rtf, ldv_3_container_struct_ata_queued_cmd_ptr);
1060 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1061 :
1062 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1063 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1064 :
1065 : /* Jump to a subprocess 'call' initial state */
1066 1 : goto ldv_call_3;
1067 : /* Jump to a subprocess 'call' initial state */
1068 : goto ldv_call_3;
1069 : /* Jump to a subprocess 'call' initial state */
1070 : goto ldv_call_3;
1071 : /* Jump to a subprocess 'call' initial state */
1072 : goto ldv_call_3;
1073 : /* Jump to a subprocess 'call' initial state */
1074 : goto ldv_call_3;
1075 : /* Jump to a subprocess 'call' initial state */
1076 : goto ldv_call_3;
1077 : /* Jump to a subprocess 'call' initial state */
1078 : goto ldv_call_3;
1079 : /* Jump to a subprocess 'call' initial state */
1080 : goto ldv_call_3;
1081 : /* Jump to a subprocess 'call' initial state */
1082 : goto ldv_call_3;
1083 1 : break;
1084 : }
1085 3 : case 10: {
1086 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback qc_defer from ata_port_operations."} */
1087 : /* LDV {"type": "CALLBACK", "call": "((& sata_pmp_qc_defer_cmd_switch))(ldv_3_container_struct_ata_queued_cmd_ptr);", "comment": "callback"} */
1088 2 : ldv_random_containerless_scenario_callback_3_32(ldv_3_callback_qc_defer, ldv_3_container_struct_ata_queued_cmd_ptr);
1089 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1090 :
1091 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1092 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1093 :
1094 : /* Jump to a subprocess 'call' initial state */
1095 1 : goto ldv_call_3;
1096 : /* Jump to a subprocess 'call' initial state */
1097 : goto ldv_call_3;
1098 : /* Jump to a subprocess 'call' initial state */
1099 : goto ldv_call_3;
1100 : /* Jump to a subprocess 'call' initial state */
1101 : goto ldv_call_3;
1102 : /* Jump to a subprocess 'call' initial state */
1103 : goto ldv_call_3;
1104 : /* Jump to a subprocess 'call' initial state */
1105 : goto ldv_call_3;
1106 : /* Jump to a subprocess 'call' initial state */
1107 : goto ldv_call_3;
1108 : /* Jump to a subprocess 'call' initial state */
1109 : goto ldv_call_3;
1110 : /* Jump to a subprocess 'call' initial state */
1111 : goto ldv_call_3;
1112 : /* Jump to a subprocess 'call' initial state */
1113 : goto ldv_call_3;
1114 1 : break;
1115 : }
1116 3 : case 11: {
1117 : /* LDV {"action": "PRE_CALL_29", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1118 3 : ldv_3_ldv_param_29_1_default = ldv_xmalloc_unknown_size(0);
1119 : /* LDV {"action": "PRE_CALL_29", "type": "CONDITION_END"} */
1120 :
1121 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback postreset from ata_port_operations."} */
1122 : /* LDV {"type": "CALLBACK", "call": "((& ahci_postreset))(ldv_3_container_struct_ata_link_ptr, ldv_3_ldv_param_29_1_default);", "comment": "callback"} */
1123 2 : ldv_random_containerless_scenario_callback_3_29(ldv_3_callback_postreset, ldv_3_container_struct_ata_link_ptr, ldv_3_ldv_param_29_1_default);
1124 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1125 :
1126 : /* LDV {"action": "POST_CALL_29", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1127 2 : ldv_free(ldv_3_ldv_param_29_1_default);
1128 : /* LDV {"action": "POST_CALL_29", "type": "CONDITION_END"} */
1129 :
1130 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1131 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1132 :
1133 : /* Jump to a subprocess 'call' initial state */
1134 1 : goto ldv_call_3;
1135 : /* Jump to a subprocess 'call' initial state */
1136 : goto ldv_call_3;
1137 : /* Jump to a subprocess 'call' initial state */
1138 : goto ldv_call_3;
1139 : /* Jump to a subprocess 'call' initial state */
1140 : goto ldv_call_3;
1141 : /* Jump to a subprocess 'call' initial state */
1142 : goto ldv_call_3;
1143 : /* Jump to a subprocess 'call' initial state */
1144 : goto ldv_call_3;
1145 : /* Jump to a subprocess 'call' initial state */
1146 : goto ldv_call_3;
1147 : /* Jump to a subprocess 'call' initial state */
1148 : goto ldv_call_3;
1149 : /* Jump to a subprocess 'call' initial state */
1150 : goto ldv_call_3;
1151 : /* Jump to a subprocess 'call' initial state */
1152 : goto ldv_call_3;
1153 : /* Jump to a subprocess 'call' initial state */
1154 : goto ldv_call_3;
1155 1 : break;
1156 : }
1157 3 : case 12: {
1158 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback post_internal_cmd from ata_port_operations."} */
1159 : /* LDV {"type": "CALLBACK", "call": "((& ahci_post_internal_cmd))(ldv_3_container_struct_ata_queued_cmd_ptr);", "comment": "callback"} */
1160 2 : ldv_random_containerless_scenario_callback_3_28(ldv_3_callback_post_internal_cmd, ldv_3_container_struct_ata_queued_cmd_ptr);
1161 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1162 :
1163 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1164 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1165 :
1166 : /* Jump to a subprocess 'call' initial state */
1167 1 : goto ldv_call_3;
1168 : /* Jump to a subprocess 'call' initial state */
1169 : goto ldv_call_3;
1170 : /* Jump to a subprocess 'call' initial state */
1171 : goto ldv_call_3;
1172 : /* Jump to a subprocess 'call' initial state */
1173 : goto ldv_call_3;
1174 : /* Jump to a subprocess 'call' initial state */
1175 : goto ldv_call_3;
1176 : /* Jump to a subprocess 'call' initial state */
1177 : goto ldv_call_3;
1178 : /* Jump to a subprocess 'call' initial state */
1179 : goto ldv_call_3;
1180 : /* Jump to a subprocess 'call' initial state */
1181 : goto ldv_call_3;
1182 : /* Jump to a subprocess 'call' initial state */
1183 : goto ldv_call_3;
1184 : /* Jump to a subprocess 'call' initial state */
1185 : goto ldv_call_3;
1186 : /* Jump to a subprocess 'call' initial state */
1187 : goto ldv_call_3;
1188 : /* Jump to a subprocess 'call' initial state */
1189 : goto ldv_call_3;
1190 1 : break;
1191 : }
1192 3 : case 13: {
1193 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback port_stop from ata_port_operations."} */
1194 : /* LDV {"type": "CALLBACK", "call": "((& ahci_port_stop))(ldv_3_container_struct_ata_port_ptr);", "comment": "callback"} */
1195 2 : ldv_random_containerless_scenario_callback_3_27(ldv_3_callback_port_stop, ldv_3_container_struct_ata_port_ptr);
1196 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1197 :
1198 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1199 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1200 :
1201 : /* Jump to a subprocess 'call' initial state */
1202 1 : goto ldv_call_3;
1203 : /* Jump to a subprocess 'call' initial state */
1204 : goto ldv_call_3;
1205 : /* Jump to a subprocess 'call' initial state */
1206 : goto ldv_call_3;
1207 : /* Jump to a subprocess 'call' initial state */
1208 : goto ldv_call_3;
1209 : /* Jump to a subprocess 'call' initial state */
1210 : goto ldv_call_3;
1211 : /* Jump to a subprocess 'call' initial state */
1212 : goto ldv_call_3;
1213 : /* Jump to a subprocess 'call' initial state */
1214 : goto ldv_call_3;
1215 : /* Jump to a subprocess 'call' initial state */
1216 : goto ldv_call_3;
1217 : /* Jump to a subprocess 'call' initial state */
1218 : goto ldv_call_3;
1219 : /* Jump to a subprocess 'call' initial state */
1220 : goto ldv_call_3;
1221 : /* Jump to a subprocess 'call' initial state */
1222 : goto ldv_call_3;
1223 : /* Jump to a subprocess 'call' initial state */
1224 : goto ldv_call_3;
1225 : /* Jump to a subprocess 'call' initial state */
1226 : goto ldv_call_3;
1227 1 : break;
1228 : }
1229 3 : case 14: {
1230 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback port_start from ata_port_operations."} */
1231 : /* LDV {"type": "CALLBACK", "call": "((& ahci_port_start))(ldv_3_container_struct_ata_port_ptr);", "comment": "callback"} */
1232 2 : ldv_random_containerless_scenario_callback_3_26(ldv_3_callback_port_start, ldv_3_container_struct_ata_port_ptr);
1233 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1234 :
1235 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1236 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1237 :
1238 : /* Jump to a subprocess 'call' initial state */
1239 1 : goto ldv_call_3;
1240 : /* Jump to a subprocess 'call' initial state */
1241 : goto ldv_call_3;
1242 : /* Jump to a subprocess 'call' initial state */
1243 : goto ldv_call_3;
1244 : /* Jump to a subprocess 'call' initial state */
1245 : goto ldv_call_3;
1246 : /* Jump to a subprocess 'call' initial state */
1247 : goto ldv_call_3;
1248 : /* Jump to a subprocess 'call' initial state */
1249 : goto ldv_call_3;
1250 : /* Jump to a subprocess 'call' initial state */
1251 : goto ldv_call_3;
1252 : /* Jump to a subprocess 'call' initial state */
1253 : goto ldv_call_3;
1254 : /* Jump to a subprocess 'call' initial state */
1255 : goto ldv_call_3;
1256 : /* Jump to a subprocess 'call' initial state */
1257 : goto ldv_call_3;
1258 : /* Jump to a subprocess 'call' initial state */
1259 : goto ldv_call_3;
1260 : /* Jump to a subprocess 'call' initial state */
1261 : goto ldv_call_3;
1262 : /* Jump to a subprocess 'call' initial state */
1263 : goto ldv_call_3;
1264 : /* Jump to a subprocess 'call' initial state */
1265 : goto ldv_call_3;
1266 1 : break;
1267 : }
1268 3 : case 15: {
1269 : /* LDV {"action": "PRE_CALL_23", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1270 3 : ldv_3_ldv_param_23_1_default = ldv_xmalloc_unknown_size(0);
1271 : /* LDV {"action": "PRE_CALL_23", "type": "CONDITION_END"} */
1272 :
1273 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback softreset from ata_port_operations."} */
1274 : /* LDV {"type": "CALLBACK", "call": "((& ahci_softreset))(ldv_3_container_struct_ata_link_ptr, ldv_3_ldv_param_23_1_default, ldv_3_ldv_param_23_2_default);", "comment": "callback"} */
1275 2 : ldv_random_containerless_scenario_callback_3_23(ldv_3_callback_pmp_softreset, ldv_3_container_struct_ata_link_ptr, ldv_3_ldv_param_23_1_default, ldv_3_ldv_param_23_2_default);
1276 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1277 :
1278 : /* LDV {"action": "POST_CALL_23", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1279 2 : ldv_free(ldv_3_ldv_param_23_1_default);
1280 : /* LDV {"action": "POST_CALL_23", "type": "CONDITION_END"} */
1281 :
1282 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1283 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1284 :
1285 : /* Jump to a subprocess 'call' initial state */
1286 1 : goto ldv_call_3;
1287 : /* Jump to a subprocess 'call' initial state */
1288 : goto ldv_call_3;
1289 : /* Jump to a subprocess 'call' initial state */
1290 : goto ldv_call_3;
1291 : /* Jump to a subprocess 'call' initial state */
1292 : goto ldv_call_3;
1293 : /* Jump to a subprocess 'call' initial state */
1294 : goto ldv_call_3;
1295 : /* Jump to a subprocess 'call' initial state */
1296 : goto ldv_call_3;
1297 : /* Jump to a subprocess 'call' initial state */
1298 : goto ldv_call_3;
1299 : /* Jump to a subprocess 'call' initial state */
1300 : goto ldv_call_3;
1301 : /* Jump to a subprocess 'call' initial state */
1302 : goto ldv_call_3;
1303 : /* Jump to a subprocess 'call' initial state */
1304 : goto ldv_call_3;
1305 : /* Jump to a subprocess 'call' initial state */
1306 : goto ldv_call_3;
1307 : /* Jump to a subprocess 'call' initial state */
1308 : goto ldv_call_3;
1309 : /* Jump to a subprocess 'call' initial state */
1310 : goto ldv_call_3;
1311 : /* Jump to a subprocess 'call' initial state */
1312 : goto ldv_call_3;
1313 : /* Jump to a subprocess 'call' initial state */
1314 : goto ldv_call_3;
1315 1 : break;
1316 : }
1317 3 : case 16: {
1318 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback pmp_detach from ata_port_operations."} */
1319 : /* LDV {"type": "CALLBACK", "call": "((& ahci_pmp_detach))(ldv_3_container_struct_ata_port_ptr);", "comment": "callback"} */
1320 2 : ldv_random_containerless_scenario_callback_3_22(ldv_3_callback_pmp_detach, ldv_3_container_struct_ata_port_ptr);
1321 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1322 :
1323 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1324 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1325 :
1326 : /* Jump to a subprocess 'call' initial state */
1327 1 : goto ldv_call_3;
1328 : /* Jump to a subprocess 'call' initial state */
1329 : goto ldv_call_3;
1330 : /* Jump to a subprocess 'call' initial state */
1331 : goto ldv_call_3;
1332 : /* Jump to a subprocess 'call' initial state */
1333 : goto ldv_call_3;
1334 : /* Jump to a subprocess 'call' initial state */
1335 : goto ldv_call_3;
1336 : /* Jump to a subprocess 'call' initial state */
1337 : goto ldv_call_3;
1338 : /* Jump to a subprocess 'call' initial state */
1339 : goto ldv_call_3;
1340 : /* Jump to a subprocess 'call' initial state */
1341 : goto ldv_call_3;
1342 : /* Jump to a subprocess 'call' initial state */
1343 : goto ldv_call_3;
1344 : /* Jump to a subprocess 'call' initial state */
1345 : goto ldv_call_3;
1346 : /* Jump to a subprocess 'call' initial state */
1347 : goto ldv_call_3;
1348 : /* Jump to a subprocess 'call' initial state */
1349 : goto ldv_call_3;
1350 : /* Jump to a subprocess 'call' initial state */
1351 : goto ldv_call_3;
1352 : /* Jump to a subprocess 'call' initial state */
1353 : goto ldv_call_3;
1354 : /* Jump to a subprocess 'call' initial state */
1355 : goto ldv_call_3;
1356 : /* Jump to a subprocess 'call' initial state */
1357 : goto ldv_call_3;
1358 1 : break;
1359 : }
1360 3 : case 17: {
1361 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback pmp_attach from ata_port_operations."} */
1362 : /* LDV {"type": "CALLBACK", "call": "((& ahci_pmp_attach))(ldv_3_container_struct_ata_port_ptr);", "comment": "callback"} */
1363 2 : ldv_random_containerless_scenario_callback_3_21(ldv_3_callback_pmp_attach, ldv_3_container_struct_ata_port_ptr);
1364 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1365 :
1366 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1367 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1368 :
1369 : /* Jump to a subprocess 'call' initial state */
1370 1 : goto ldv_call_3;
1371 : /* Jump to a subprocess 'call' initial state */
1372 : goto ldv_call_3;
1373 : /* Jump to a subprocess 'call' initial state */
1374 : goto ldv_call_3;
1375 : /* Jump to a subprocess 'call' initial state */
1376 : goto ldv_call_3;
1377 : /* Jump to a subprocess 'call' initial state */
1378 : goto ldv_call_3;
1379 : /* Jump to a subprocess 'call' initial state */
1380 : goto ldv_call_3;
1381 : /* Jump to a subprocess 'call' initial state */
1382 : goto ldv_call_3;
1383 : /* Jump to a subprocess 'call' initial state */
1384 : goto ldv_call_3;
1385 : /* Jump to a subprocess 'call' initial state */
1386 : goto ldv_call_3;
1387 : /* Jump to a subprocess 'call' initial state */
1388 : goto ldv_call_3;
1389 : /* Jump to a subprocess 'call' initial state */
1390 : goto ldv_call_3;
1391 : /* Jump to a subprocess 'call' initial state */
1392 : goto ldv_call_3;
1393 : /* Jump to a subprocess 'call' initial state */
1394 : goto ldv_call_3;
1395 : /* Jump to a subprocess 'call' initial state */
1396 : goto ldv_call_3;
1397 : /* Jump to a subprocess 'call' initial state */
1398 : goto ldv_call_3;
1399 : /* Jump to a subprocess 'call' initial state */
1400 : goto ldv_call_3;
1401 : /* Jump to a subprocess 'call' initial state */
1402 : goto ldv_call_3;
1403 1 : break;
1404 : }
1405 3 : case 18: {
1406 : /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1407 3 : ldv_3_ldv_param_18_1_default = ldv_xmalloc_unknown_size(0);
1408 : /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
1409 :
1410 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback hardreset from ata_port_operations."} */
1411 : /* LDV {"type": "CALLBACK", "call": "((& ahci_p5wdh_hardreset))(ldv_3_container_struct_ata_link_ptr, ldv_3_ldv_param_18_1_default, ldv_3_ldv_param_18_2_default);", "comment": "callback"} */
1412 2 : ldv_random_containerless_scenario_callback_3_18(ldv_3_callback_hardreset, ldv_3_container_struct_ata_link_ptr, ldv_3_ldv_param_18_1_default, ldv_3_ldv_param_18_2_default);
1413 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1414 :
1415 : /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1416 2 : ldv_free(ldv_3_ldv_param_18_1_default);
1417 : /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
1418 :
1419 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1420 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1421 :
1422 : /* Jump to a subprocess 'call' initial state */
1423 1 : goto ldv_call_3;
1424 : /* Jump to a subprocess 'call' initial state */
1425 : goto ldv_call_3;
1426 : /* Jump to a subprocess 'call' initial state */
1427 : goto ldv_call_3;
1428 : /* Jump to a subprocess 'call' initial state */
1429 : goto ldv_call_3;
1430 : /* Jump to a subprocess 'call' initial state */
1431 : goto ldv_call_3;
1432 : /* Jump to a subprocess 'call' initial state */
1433 : goto ldv_call_3;
1434 : /* Jump to a subprocess 'call' initial state */
1435 : goto ldv_call_3;
1436 : /* Jump to a subprocess 'call' initial state */
1437 : goto ldv_call_3;
1438 : /* Jump to a subprocess 'call' initial state */
1439 : goto ldv_call_3;
1440 : /* Jump to a subprocess 'call' initial state */
1441 : goto ldv_call_3;
1442 : /* Jump to a subprocess 'call' initial state */
1443 : goto ldv_call_3;
1444 : /* Jump to a subprocess 'call' initial state */
1445 : goto ldv_call_3;
1446 : /* Jump to a subprocess 'call' initial state */
1447 : goto ldv_call_3;
1448 : /* Jump to a subprocess 'call' initial state */
1449 : goto ldv_call_3;
1450 : /* Jump to a subprocess 'call' initial state */
1451 : goto ldv_call_3;
1452 : /* Jump to a subprocess 'call' initial state */
1453 : goto ldv_call_3;
1454 : /* Jump to a subprocess 'call' initial state */
1455 : goto ldv_call_3;
1456 : /* Jump to a subprocess 'call' initial state */
1457 : goto ldv_call_3;
1458 1 : break;
1459 : }
1460 3 : case 19: {
1461 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback freeze from ata_port_operations."} */
1462 : /* LDV {"type": "CALLBACK", "call": "((& ahci_freeze))(ldv_3_container_struct_ata_port_ptr);", "comment": "callback"} */
1463 2 : ldv_random_containerless_scenario_callback_3_17(ldv_3_callback_freeze, ldv_3_container_struct_ata_port_ptr);
1464 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1465 :
1466 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1467 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1468 :
1469 : /* Jump to a subprocess 'call' initial state */
1470 1 : goto ldv_call_3;
1471 : /* Jump to a subprocess 'call' initial state */
1472 : goto ldv_call_3;
1473 : /* Jump to a subprocess 'call' initial state */
1474 : goto ldv_call_3;
1475 : /* Jump to a subprocess 'call' initial state */
1476 : goto ldv_call_3;
1477 : /* Jump to a subprocess 'call' initial state */
1478 : goto ldv_call_3;
1479 : /* Jump to a subprocess 'call' initial state */
1480 : goto ldv_call_3;
1481 : /* Jump to a subprocess 'call' initial state */
1482 : goto ldv_call_3;
1483 : /* Jump to a subprocess 'call' initial state */
1484 : goto ldv_call_3;
1485 : /* Jump to a subprocess 'call' initial state */
1486 : goto ldv_call_3;
1487 : /* Jump to a subprocess 'call' initial state */
1488 : goto ldv_call_3;
1489 : /* Jump to a subprocess 'call' initial state */
1490 : goto ldv_call_3;
1491 : /* Jump to a subprocess 'call' initial state */
1492 : goto ldv_call_3;
1493 : /* Jump to a subprocess 'call' initial state */
1494 : goto ldv_call_3;
1495 : /* Jump to a subprocess 'call' initial state */
1496 : goto ldv_call_3;
1497 : /* Jump to a subprocess 'call' initial state */
1498 : goto ldv_call_3;
1499 : /* Jump to a subprocess 'call' initial state */
1500 : goto ldv_call_3;
1501 : /* Jump to a subprocess 'call' initial state */
1502 : goto ldv_call_3;
1503 : /* Jump to a subprocess 'call' initial state */
1504 : goto ldv_call_3;
1505 : /* Jump to a subprocess 'call' initial state */
1506 : goto ldv_call_3;
1507 1 : break;
1508 : }
1509 3 : case 20: {
1510 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback error_handler from ata_port_operations."} */
1511 : /* LDV {"type": "CALLBACK", "call": "((& ahci_error_handler))(ldv_3_container_struct_ata_port_ptr);", "comment": "callback"} */
1512 2 : ldv_random_containerless_scenario_callback_3_16(ldv_3_callback_error_handler, ldv_3_container_struct_ata_port_ptr);
1513 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1514 :
1515 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1516 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1517 :
1518 : /* Jump to a subprocess 'call' initial state */
1519 1 : goto ldv_call_3;
1520 : /* Jump to a subprocess 'call' initial state */
1521 : goto ldv_call_3;
1522 : /* Jump to a subprocess 'call' initial state */
1523 : goto ldv_call_3;
1524 : /* Jump to a subprocess 'call' initial state */
1525 : goto ldv_call_3;
1526 : /* Jump to a subprocess 'call' initial state */
1527 : goto ldv_call_3;
1528 : /* Jump to a subprocess 'call' initial state */
1529 : goto ldv_call_3;
1530 : /* Jump to a subprocess 'call' initial state */
1531 : goto ldv_call_3;
1532 : /* Jump to a subprocess 'call' initial state */
1533 : goto ldv_call_3;
1534 : /* Jump to a subprocess 'call' initial state */
1535 : goto ldv_call_3;
1536 : /* Jump to a subprocess 'call' initial state */
1537 : goto ldv_call_3;
1538 : /* Jump to a subprocess 'call' initial state */
1539 : goto ldv_call_3;
1540 : /* Jump to a subprocess 'call' initial state */
1541 : goto ldv_call_3;
1542 : /* Jump to a subprocess 'call' initial state */
1543 : goto ldv_call_3;
1544 : /* Jump to a subprocess 'call' initial state */
1545 : goto ldv_call_3;
1546 : /* Jump to a subprocess 'call' initial state */
1547 : goto ldv_call_3;
1548 : /* Jump to a subprocess 'call' initial state */
1549 : goto ldv_call_3;
1550 : /* Jump to a subprocess 'call' initial state */
1551 : goto ldv_call_3;
1552 : /* Jump to a subprocess 'call' initial state */
1553 : goto ldv_call_3;
1554 : /* Jump to a subprocess 'call' initial state */
1555 : goto ldv_call_3;
1556 : /* Jump to a subprocess 'call' initial state */
1557 : goto ldv_call_3;
1558 1 : break;
1559 : }
1560 3 : case 21: {
1561 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback enable_pm from ata_port_operations."} */
1562 : /* LDV {"type": "CALLBACK", "call": "((& ahci_enable_alpm))(ldv_3_container_struct_ata_port_ptr, ldv_3_container_enum_link_pm);", "comment": "callback"} */
1563 2 : ldv_random_containerless_scenario_callback_3_15(ldv_3_callback_enable_pm, ldv_3_container_struct_ata_port_ptr, ldv_3_container_enum_link_pm);
1564 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1565 :
1566 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1567 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1568 :
1569 : /* Jump to a subprocess 'call' initial state */
1570 1 : goto ldv_call_3;
1571 : /* Jump to a subprocess 'call' initial state */
1572 : goto ldv_call_3;
1573 : /* Jump to a subprocess 'call' initial state */
1574 : goto ldv_call_3;
1575 : /* Jump to a subprocess 'call' initial state */
1576 : goto ldv_call_3;
1577 : /* Jump to a subprocess 'call' initial state */
1578 : goto ldv_call_3;
1579 : /* Jump to a subprocess 'call' initial state */
1580 : goto ldv_call_3;
1581 : /* Jump to a subprocess 'call' initial state */
1582 : goto ldv_call_3;
1583 : /* Jump to a subprocess 'call' initial state */
1584 : goto ldv_call_3;
1585 : /* Jump to a subprocess 'call' initial state */
1586 : goto ldv_call_3;
1587 : /* Jump to a subprocess 'call' initial state */
1588 : goto ldv_call_3;
1589 : /* Jump to a subprocess 'call' initial state */
1590 : goto ldv_call_3;
1591 : /* Jump to a subprocess 'call' initial state */
1592 : goto ldv_call_3;
1593 : /* Jump to a subprocess 'call' initial state */
1594 : goto ldv_call_3;
1595 : /* Jump to a subprocess 'call' initial state */
1596 : goto ldv_call_3;
1597 : /* Jump to a subprocess 'call' initial state */
1598 : goto ldv_call_3;
1599 : /* Jump to a subprocess 'call' initial state */
1600 : goto ldv_call_3;
1601 : /* Jump to a subprocess 'call' initial state */
1602 : goto ldv_call_3;
1603 : /* Jump to a subprocess 'call' initial state */
1604 : goto ldv_call_3;
1605 : /* Jump to a subprocess 'call' initial state */
1606 : goto ldv_call_3;
1607 : /* Jump to a subprocess 'call' initial state */
1608 : goto ldv_call_3;
1609 : /* Jump to a subprocess 'call' initial state */
1610 : goto ldv_call_3;
1611 1 : break;
1612 : }
1613 3 : case 22: {
1614 : /* LDV {"action": "PRE_CALL_12", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1615 3 : ldv_3_ldv_param_12_1_default = ldv_xmalloc_unknown_size(0);
1616 : /* LDV {"action": "PRE_CALL_12", "type": "CONDITION_END"} */
1617 :
1618 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback em_store from ata_port_operations."} */
1619 : /* LDV {"type": "CALLBACK", "call": "((& ahci_led_store))(ldv_3_container_struct_ata_port_ptr, ldv_3_ldv_param_12_1_default, ldv_3_ldv_param_12_2_default);", "comment": "callback"} */
1620 2 : ldv_random_containerless_scenario_callback_3_12(ldv_3_callback_em_store, ldv_3_container_struct_ata_port_ptr, ldv_3_ldv_param_12_1_default, ldv_3_ldv_param_12_2_default);
1621 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1622 :
1623 : /* LDV {"action": "POST_CALL_12", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1624 2 : ldv_free(ldv_3_ldv_param_12_1_default);
1625 : /* LDV {"action": "POST_CALL_12", "type": "CONDITION_END"} */
1626 :
1627 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1628 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1629 :
1630 : /* Jump to a subprocess 'call' initial state */
1631 1 : goto ldv_call_3;
1632 : /* Jump to a subprocess 'call' initial state */
1633 : goto ldv_call_3;
1634 : /* Jump to a subprocess 'call' initial state */
1635 : goto ldv_call_3;
1636 : /* Jump to a subprocess 'call' initial state */
1637 : goto ldv_call_3;
1638 : /* Jump to a subprocess 'call' initial state */
1639 : goto ldv_call_3;
1640 : /* Jump to a subprocess 'call' initial state */
1641 : goto ldv_call_3;
1642 : /* Jump to a subprocess 'call' initial state */
1643 : goto ldv_call_3;
1644 : /* Jump to a subprocess 'call' initial state */
1645 : goto ldv_call_3;
1646 : /* Jump to a subprocess 'call' initial state */
1647 : goto ldv_call_3;
1648 : /* Jump to a subprocess 'call' initial state */
1649 : goto ldv_call_3;
1650 : /* Jump to a subprocess 'call' initial state */
1651 : goto ldv_call_3;
1652 : /* Jump to a subprocess 'call' initial state */
1653 : goto ldv_call_3;
1654 : /* Jump to a subprocess 'call' initial state */
1655 : goto ldv_call_3;
1656 : /* Jump to a subprocess 'call' initial state */
1657 : goto ldv_call_3;
1658 : /* Jump to a subprocess 'call' initial state */
1659 : goto ldv_call_3;
1660 : /* Jump to a subprocess 'call' initial state */
1661 : goto ldv_call_3;
1662 : /* Jump to a subprocess 'call' initial state */
1663 : goto ldv_call_3;
1664 : /* Jump to a subprocess 'call' initial state */
1665 : goto ldv_call_3;
1666 : /* Jump to a subprocess 'call' initial state */
1667 : goto ldv_call_3;
1668 : /* Jump to a subprocess 'call' initial state */
1669 : goto ldv_call_3;
1670 : /* Jump to a subprocess 'call' initial state */
1671 : goto ldv_call_3;
1672 : /* Jump to a subprocess 'call' initial state */
1673 : goto ldv_call_3;
1674 1 : break;
1675 : }
1676 3 : case 23: {
1677 : /* LDV {"action": "PRE_CALL_9", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1678 3 : ldv_3_ldv_param_9_1_default = ldv_xmalloc_unknown_size(0);
1679 : /* LDV {"action": "PRE_CALL_9", "type": "CONDITION_END"} */
1680 :
1681 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback em_show from ata_port_operations."} */
1682 : /* LDV {"type": "CALLBACK", "call": "((& ahci_led_show))(ldv_3_container_struct_ata_port_ptr, ldv_3_ldv_param_9_1_default);", "comment": "callback"} */
1683 2 : ldv_random_containerless_scenario_callback_3_9(ldv_3_callback_em_show, ldv_3_container_struct_ata_port_ptr, ldv_3_ldv_param_9_1_default);
1684 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1685 :
1686 : /* LDV {"action": "POST_CALL_9", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1687 2 : ldv_free(ldv_3_ldv_param_9_1_default);
1688 : /* LDV {"action": "POST_CALL_9", "type": "CONDITION_END"} */
1689 :
1690 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1691 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1692 :
1693 : /* Jump to a subprocess 'call' initial state */
1694 1 : goto ldv_call_3;
1695 : /* Jump to a subprocess 'call' initial state */
1696 : goto ldv_call_3;
1697 : /* Jump to a subprocess 'call' initial state */
1698 : goto ldv_call_3;
1699 : /* Jump to a subprocess 'call' initial state */
1700 : goto ldv_call_3;
1701 : /* Jump to a subprocess 'call' initial state */
1702 : goto ldv_call_3;
1703 : /* Jump to a subprocess 'call' initial state */
1704 : goto ldv_call_3;
1705 : /* Jump to a subprocess 'call' initial state */
1706 : goto ldv_call_3;
1707 : /* Jump to a subprocess 'call' initial state */
1708 : goto ldv_call_3;
1709 : /* Jump to a subprocess 'call' initial state */
1710 : goto ldv_call_3;
1711 : /* Jump to a subprocess 'call' initial state */
1712 : goto ldv_call_3;
1713 : /* Jump to a subprocess 'call' initial state */
1714 : goto ldv_call_3;
1715 : /* Jump to a subprocess 'call' initial state */
1716 : goto ldv_call_3;
1717 : /* Jump to a subprocess 'call' initial state */
1718 : goto ldv_call_3;
1719 : /* Jump to a subprocess 'call' initial state */
1720 : goto ldv_call_3;
1721 : /* Jump to a subprocess 'call' initial state */
1722 : goto ldv_call_3;
1723 : /* Jump to a subprocess 'call' initial state */
1724 : goto ldv_call_3;
1725 : /* Jump to a subprocess 'call' initial state */
1726 : goto ldv_call_3;
1727 : /* Jump to a subprocess 'call' initial state */
1728 : goto ldv_call_3;
1729 : /* Jump to a subprocess 'call' initial state */
1730 : goto ldv_call_3;
1731 : /* Jump to a subprocess 'call' initial state */
1732 : goto ldv_call_3;
1733 : /* Jump to a subprocess 'call' initial state */
1734 : goto ldv_call_3;
1735 : /* Jump to a subprocess 'call' initial state */
1736 : goto ldv_call_3;
1737 : /* Jump to a subprocess 'call' initial state */
1738 : goto ldv_call_3;
1739 1 : break;
1740 : }
1741 3 : case 24: {
1742 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback disable_pm from ata_port_operations."} */
1743 : /* LDV {"type": "CALLBACK", "call": "((& ahci_disable_alpm))(ldv_3_container_struct_ata_port_ptr);", "comment": "callback"} */
1744 2 : ldv_random_containerless_scenario_callback_3_8(ldv_3_callback_disable_pm, ldv_3_container_struct_ata_port_ptr);
1745 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1746 :
1747 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1748 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1749 :
1750 : /* Jump to a subprocess 'call' initial state */
1751 1 : goto ldv_call_3;
1752 : /* Jump to a subprocess 'call' initial state */
1753 : goto ldv_call_3;
1754 : /* Jump to a subprocess 'call' initial state */
1755 : goto ldv_call_3;
1756 : /* Jump to a subprocess 'call' initial state */
1757 : goto ldv_call_3;
1758 : /* Jump to a subprocess 'call' initial state */
1759 : goto ldv_call_3;
1760 : /* Jump to a subprocess 'call' initial state */
1761 : goto ldv_call_3;
1762 : /* Jump to a subprocess 'call' initial state */
1763 : goto ldv_call_3;
1764 : /* Jump to a subprocess 'call' initial state */
1765 : goto ldv_call_3;
1766 : /* Jump to a subprocess 'call' initial state */
1767 : goto ldv_call_3;
1768 : /* Jump to a subprocess 'call' initial state */
1769 : goto ldv_call_3;
1770 : /* Jump to a subprocess 'call' initial state */
1771 : goto ldv_call_3;
1772 : /* Jump to a subprocess 'call' initial state */
1773 : goto ldv_call_3;
1774 : /* Jump to a subprocess 'call' initial state */
1775 : goto ldv_call_3;
1776 : /* Jump to a subprocess 'call' initial state */
1777 : goto ldv_call_3;
1778 : /* Jump to a subprocess 'call' initial state */
1779 : goto ldv_call_3;
1780 : /* Jump to a subprocess 'call' initial state */
1781 : goto ldv_call_3;
1782 : /* Jump to a subprocess 'call' initial state */
1783 : goto ldv_call_3;
1784 : /* Jump to a subprocess 'call' initial state */
1785 : goto ldv_call_3;
1786 : /* Jump to a subprocess 'call' initial state */
1787 : goto ldv_call_3;
1788 : /* Jump to a subprocess 'call' initial state */
1789 : goto ldv_call_3;
1790 : /* Jump to a subprocess 'call' initial state */
1791 : goto ldv_call_3;
1792 : /* Jump to a subprocess 'call' initial state */
1793 : goto ldv_call_3;
1794 : /* Jump to a subprocess 'call' initial state */
1795 : goto ldv_call_3;
1796 : /* Jump to a subprocess 'call' initial state */
1797 : goto ldv_call_3;
1798 1 : break;
1799 : }
1800 3 : case 25: {
1801 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback dev_config from ata_port_operations."} */
1802 : /* LDV {"type": "CALLBACK", "call": "((& ahci_dev_config))(ldv_3_container_struct_ata_device_ptr);", "comment": "callback"} */
1803 2 : ldv_random_containerless_scenario_callback_3_4(ldv_3_callback_dev_config, ldv_3_container_struct_ata_device_ptr);
1804 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1805 :
1806 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1807 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1808 :
1809 : /* Jump to a subprocess 'call' initial state */
1810 1 : goto ldv_call_3;
1811 : /* Jump to a subprocess 'call' initial state */
1812 : goto ldv_call_3;
1813 : /* Jump to a subprocess 'call' initial state */
1814 : goto ldv_call_3;
1815 : /* Jump to a subprocess 'call' initial state */
1816 : goto ldv_call_3;
1817 : /* Jump to a subprocess 'call' initial state */
1818 : goto ldv_call_3;
1819 : /* Jump to a subprocess 'call' initial state */
1820 : goto ldv_call_3;
1821 : /* Jump to a subprocess 'call' initial state */
1822 : goto ldv_call_3;
1823 : /* Jump to a subprocess 'call' initial state */
1824 : goto ldv_call_3;
1825 : /* Jump to a subprocess 'call' initial state */
1826 : goto ldv_call_3;
1827 : /* Jump to a subprocess 'call' initial state */
1828 : goto ldv_call_3;
1829 : /* Jump to a subprocess 'call' initial state */
1830 : goto ldv_call_3;
1831 : /* Jump to a subprocess 'call' initial state */
1832 : goto ldv_call_3;
1833 : /* Jump to a subprocess 'call' initial state */
1834 : goto ldv_call_3;
1835 : /* Jump to a subprocess 'call' initial state */
1836 : goto ldv_call_3;
1837 : /* Jump to a subprocess 'call' initial state */
1838 : goto ldv_call_3;
1839 : /* Jump to a subprocess 'call' initial state */
1840 : goto ldv_call_3;
1841 : /* Jump to a subprocess 'call' initial state */
1842 : goto ldv_call_3;
1843 : /* Jump to a subprocess 'call' initial state */
1844 : goto ldv_call_3;
1845 : /* Jump to a subprocess 'call' initial state */
1846 : goto ldv_call_3;
1847 : /* Jump to a subprocess 'call' initial state */
1848 : goto ldv_call_3;
1849 : /* Jump to a subprocess 'call' initial state */
1850 : goto ldv_call_3;
1851 : /* Jump to a subprocess 'call' initial state */
1852 : goto ldv_call_3;
1853 : /* Jump to a subprocess 'call' initial state */
1854 : goto ldv_call_3;
1855 : /* Jump to a subprocess 'call' initial state */
1856 : goto ldv_call_3;
1857 : /* Jump to a subprocess 'call' initial state */
1858 : goto ldv_call_3;
1859 1 : break;
1860 : }
1861 3 : case 26: {
1862 : /* LDV {"action": "DEFAULT_FREE_6", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
1863 2 : ldv_free(ldv_3_container_struct_ata_device_ptr);
1864 2 : ldv_free(ldv_3_container_struct_ata_link_ptr);
1865 2 : ldv_free(ldv_3_container_struct_ata_port_ptr);
1866 2 : ldv_free(ldv_3_container_struct_ata_queued_cmd_ptr);
1867 : /* LDV {"action": "DEFAULT_FREE_6", "type": "CONDITION_END"} */
1868 :
1869 : /* LDV {"action": "DEFAULT_DEREGISTER_6", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_ATA_PORT_OPERATIONS callbacks invocations scenario."} */
1870 : /* Skip a non-replicative signal receiving */
1871 : /* LDV {"action": "DEFAULT_DEREGISTER_6", "type": "RECEIVE_END"} */
1872 :
1873 : /* Exit function at a terminal state */
1874 1 : return;
1875 1 : break;
1876 : }
1877 2 : default: ldv_stop();
1878 1 : }
1879 0 : /* End of the subprocess 'call' */
1880 0 : return;
1881 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_ata_port_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_3"} */
1882 : }
1883 :
1884 : /* AUX_FUNC ldv_random_containerless_scenario_4 */
1885 : void ldv_random_containerless_scenario_4(void *arg0) {
1886 : /* LDV {"thread": 4, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_ata_port_operations)'", "function": "ldv_random_containerless_scenario_4"} */
1887 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
1888 1 : void (*ldv_4_callback_dev_config)(struct ata_device *);
1889 1 : void (*ldv_4_callback_disable_pm)(struct ata_port *);
1890 1 : ssize_t (*ldv_4_callback_em_show)(struct ata_port *, char *);
1891 1 : ssize_t (*ldv_4_callback_em_store)(struct ata_port *, char *, size_t );
1892 1 : int (*ldv_4_callback_enable_pm)(struct ata_port *, enum link_pm);
1893 1 : void (*ldv_4_callback_error_handler)(struct ata_port *);
1894 1 : void (*ldv_4_callback_freeze)(struct ata_port *);
1895 1 : int (*ldv_4_callback_hardreset)(struct ata_link *, unsigned int *, long unsigned int);
1896 1 : void (*ldv_4_callback_pmp_attach)(struct ata_port *);
1897 1 : void (*ldv_4_callback_pmp_detach)(struct ata_port *);
1898 1 : int (*ldv_4_callback_pmp_softreset)(struct ata_link *, unsigned int *, long unsigned int);
1899 1 : int (*ldv_4_callback_port_start)(struct ata_port *);
1900 1 : void (*ldv_4_callback_port_stop)(struct ata_port *);
1901 1 : void (*ldv_4_callback_post_internal_cmd)(struct ata_queued_cmd *);
1902 1 : void (*ldv_4_callback_postreset)(struct ata_link *, unsigned int *);
1903 1 : int (*ldv_4_callback_qc_defer)(struct ata_queued_cmd *);
1904 1 : bool (*ldv_4_callback_qc_fill_rtf)(struct ata_queued_cmd *);
1905 1 : unsigned int (*ldv_4_callback_qc_issue)(struct ata_queued_cmd *);
1906 1 : void (*ldv_4_callback_qc_prep)(struct ata_queued_cmd *);
1907 1 : int (*ldv_4_callback_scr_read)(struct ata_link *, unsigned int, u32 *);
1908 1 : int (*ldv_4_callback_scr_write)(struct ata_link *, unsigned int, u32 );
1909 1 : int (*ldv_4_callback_softreset)(struct ata_link *, unsigned int *, long unsigned int);
1910 1 : ssize_t (*ldv_4_callback_sw_activity_show)(struct ata_device *, char *);
1911 1 : ssize_t (*ldv_4_callback_sw_activity_store)(struct ata_device *, enum sw_activity);
1912 1 : void (*ldv_4_callback_thaw)(struct ata_port *);
1913 1 : enum link_pm ldv_4_container_enum_link_pm;
1914 1 : enum sw_activity ldv_4_container_enum_sw_activity;
1915 1 : struct ata_device *ldv_4_container_struct_ata_device_ptr;
1916 1 : struct ata_link *ldv_4_container_struct_ata_link_ptr;
1917 1 : struct ata_port *ldv_4_container_struct_ata_port_ptr;
1918 1 : struct ata_queued_cmd *ldv_4_container_struct_ata_queued_cmd_ptr;
1919 1 : char *ldv_4_ldv_param_12_1_default;
1920 1 : long unsigned int ldv_4_ldv_param_12_2_default;
1921 1 : unsigned int *ldv_4_ldv_param_18_1_default;
1922 1 : long unsigned int ldv_4_ldv_param_18_2_default;
1923 1 : unsigned int *ldv_4_ldv_param_23_1_default;
1924 1 : long unsigned int ldv_4_ldv_param_23_2_default;
1925 1 : unsigned int *ldv_4_ldv_param_29_1_default;
1926 1 : unsigned int ldv_4_ldv_param_36_1_default;
1927 1 : unsigned int *ldv_4_ldv_param_36_2_default;
1928 1 : unsigned int ldv_4_ldv_param_39_1_default;
1929 1 : unsigned int ldv_4_ldv_param_39_2_default;
1930 1 : unsigned int *ldv_4_ldv_param_42_1_default;
1931 1 : long unsigned int ldv_4_ldv_param_42_2_default;
1932 1 : char *ldv_4_ldv_param_45_1_default;
1933 1 : char *ldv_4_ldv_param_9_1_default;
1934 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
1935 1 : /* LDV {"action": "DEFAULT_REGISTER_6", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_ATA_PORT_OPERATIONS callbacks invocations scenario."} */
1936 3 : ldv_free(arg0);
1937 1 : /* LDV {"action": "DEFAULT_REGISTER_6", "type": "RECEIVE_END"} */
1938 1 :
1939 1 : /* LDV {"action": "DEFAULT_ALLOC_6", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
1940 4 : ldv_4_container_struct_ata_device_ptr = ldv_xmalloc_unknown_size(0);
1941 4 : ldv_4_container_struct_ata_link_ptr = ldv_xmalloc_unknown_size(0);
1942 4 : ldv_4_container_struct_ata_port_ptr = ldv_xmalloc_unknown_size(0);
1943 4 : ldv_4_container_struct_ata_queued_cmd_ptr = ldv_xmalloc_unknown_size(0);
1944 1 : /* LDV {"action": "DEFAULT_ALLOC_6", "type": "CONDITION_END"} */
1945 1 :
1946 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1947 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1948 :
1949 : /* Jump to a subprocess 'call' initial state */
1950 1 : goto ldv_call_4;
1951 : /* End of the process */
1952 : return;
1953 1 :
1954 : /* Sbprocess call */
1955 : ldv_call_4:
1956 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
1957 :
1958 2 : switch (ldv_undef_int()) {
1959 3 : case 1: {
1960 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback thaw from ata_port_operations."} */
1961 : /* LDV {"type": "CALLBACK", "call": "((& ahci_thaw))(ldv_4_container_struct_ata_port_ptr);", "comment": "callback"} */
1962 2 : ldv_random_containerless_scenario_callback_4_49(ldv_4_callback_thaw, ldv_4_container_struct_ata_port_ptr);
1963 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1964 :
1965 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1966 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1967 :
1968 : /* Jump to a subprocess 'call' initial state */
1969 1 : goto ldv_call_4;
1970 1 : break;
1971 : }
1972 3 : case 2: {
1973 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback sw_activity_store from ata_port_operations."} */
1974 : /* LDV {"type": "CALLBACK", "call": "((& ahci_activity_store))(ldv_4_container_struct_ata_device_ptr, ldv_4_container_enum_sw_activity);", "comment": "callback"} */
1975 2 : ldv_random_containerless_scenario_callback_4_48(ldv_4_callback_sw_activity_store, ldv_4_container_struct_ata_device_ptr, ldv_4_container_enum_sw_activity);
1976 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1977 :
1978 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
1979 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
1980 :
1981 : /* Jump to a subprocess 'call' initial state */
1982 1 : goto ldv_call_4;
1983 : /* Jump to a subprocess 'call' initial state */
1984 : goto ldv_call_4;
1985 1 : break;
1986 : }
1987 3 : case 3: {
1988 : /* LDV {"action": "PRE_CALL_45", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
1989 3 : ldv_4_ldv_param_45_1_default = ldv_xmalloc_unknown_size(0);
1990 : /* LDV {"action": "PRE_CALL_45", "type": "CONDITION_END"} */
1991 :
1992 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback sw_activity_show from ata_port_operations."} */
1993 : /* LDV {"type": "CALLBACK", "call": "((& ahci_activity_show))(ldv_4_container_struct_ata_device_ptr, ldv_4_ldv_param_45_1_default);", "comment": "callback"} */
1994 2 : ldv_random_containerless_scenario_callback_4_45(ldv_4_callback_sw_activity_show, ldv_4_container_struct_ata_device_ptr, ldv_4_ldv_param_45_1_default);
1995 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
1996 :
1997 : /* LDV {"action": "POST_CALL_45", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
1998 2 : ldv_free(ldv_4_ldv_param_45_1_default);
1999 : /* LDV {"action": "POST_CALL_45", "type": "CONDITION_END"} */
2000 :
2001 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2002 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2003 :
2004 : /* Jump to a subprocess 'call' initial state */
2005 1 : goto ldv_call_4;
2006 : /* Jump to a subprocess 'call' initial state */
2007 : goto ldv_call_4;
2008 : /* Jump to a subprocess 'call' initial state */
2009 : goto ldv_call_4;
2010 1 : break;
2011 : }
2012 3 : case 4: {
2013 : /* LDV {"action": "PRE_CALL_42", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2014 3 : ldv_4_ldv_param_42_1_default = ldv_xmalloc_unknown_size(0);
2015 : /* LDV {"action": "PRE_CALL_42", "type": "CONDITION_END"} */
2016 :
2017 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback softreset from ata_port_operations."} */
2018 : /* LDV {"type": "CALLBACK", "call": "((& ahci_softreset))(ldv_4_container_struct_ata_link_ptr, ldv_4_ldv_param_42_1_default, ldv_4_ldv_param_42_2_default);", "comment": "callback"} */
2019 2 : ldv_random_containerless_scenario_callback_4_42(ldv_4_callback_softreset, ldv_4_container_struct_ata_link_ptr, ldv_4_ldv_param_42_1_default, ldv_4_ldv_param_42_2_default);
2020 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2021 :
2022 : /* LDV {"action": "POST_CALL_42", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2023 2 : ldv_free(ldv_4_ldv_param_42_1_default);
2024 : /* LDV {"action": "POST_CALL_42", "type": "CONDITION_END"} */
2025 :
2026 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2027 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2028 :
2029 : /* Jump to a subprocess 'call' initial state */
2030 1 : goto ldv_call_4;
2031 : /* Jump to a subprocess 'call' initial state */
2032 : goto ldv_call_4;
2033 : /* Jump to a subprocess 'call' initial state */
2034 : goto ldv_call_4;
2035 : /* Jump to a subprocess 'call' initial state */
2036 : goto ldv_call_4;
2037 1 : break;
2038 : }
2039 3 : case 5: {
2040 : /* LDV {"action": "PRE_CALL_39", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2041 : /* LDV {"action": "PRE_CALL_39", "type": "CONDITION_END"} */
2042 :
2043 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback scr_write from ata_port_operations."} */
2044 : /* LDV {"type": "CALLBACK", "call": "((& ahci_scr_write))(ldv_4_container_struct_ata_link_ptr, ldv_4_ldv_param_39_1_default, ldv_4_ldv_param_39_2_default);", "comment": "callback"} */
2045 2 : ldv_random_containerless_scenario_callback_4_39(ldv_4_callback_scr_write, ldv_4_container_struct_ata_link_ptr, ldv_4_ldv_param_39_1_default, ldv_4_ldv_param_39_2_default);
2046 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2047 :
2048 : /* LDV {"action": "POST_CALL_39", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2049 : /* LDV {"action": "POST_CALL_39", "type": "CONDITION_END"} */
2050 :
2051 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2052 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2053 :
2054 : /* Jump to a subprocess 'call' initial state */
2055 1 : goto ldv_call_4;
2056 : /* Jump to a subprocess 'call' initial state */
2057 : goto ldv_call_4;
2058 : /* Jump to a subprocess 'call' initial state */
2059 : goto ldv_call_4;
2060 : /* Jump to a subprocess 'call' initial state */
2061 : goto ldv_call_4;
2062 : /* Jump to a subprocess 'call' initial state */
2063 : goto ldv_call_4;
2064 1 : break;
2065 : }
2066 3 : case 6: {
2067 : /* LDV {"action": "PRE_CALL_36", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2068 3 : ldv_4_ldv_param_36_2_default = ldv_xmalloc_unknown_size(0);
2069 : /* LDV {"action": "PRE_CALL_36", "type": "CONDITION_END"} */
2070 :
2071 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback scr_read from ata_port_operations."} */
2072 : /* LDV {"type": "CALLBACK", "call": "((& ahci_scr_read))(ldv_4_container_struct_ata_link_ptr, ldv_4_ldv_param_36_1_default, ldv_4_ldv_param_36_2_default);", "comment": "callback"} */
2073 2 : ldv_random_containerless_scenario_callback_4_36(ldv_4_callback_scr_read, ldv_4_container_struct_ata_link_ptr, ldv_4_ldv_param_36_1_default, ldv_4_ldv_param_36_2_default);
2074 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2075 :
2076 : /* LDV {"action": "POST_CALL_36", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2077 2 : ldv_free(ldv_4_ldv_param_36_2_default);
2078 : /* LDV {"action": "POST_CALL_36", "type": "CONDITION_END"} */
2079 :
2080 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2081 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2082 :
2083 : /* Jump to a subprocess 'call' initial state */
2084 1 : goto ldv_call_4;
2085 : /* Jump to a subprocess 'call' initial state */
2086 : goto ldv_call_4;
2087 : /* Jump to a subprocess 'call' initial state */
2088 : goto ldv_call_4;
2089 : /* Jump to a subprocess 'call' initial state */
2090 : goto ldv_call_4;
2091 : /* Jump to a subprocess 'call' initial state */
2092 : goto ldv_call_4;
2093 : /* Jump to a subprocess 'call' initial state */
2094 : goto ldv_call_4;
2095 1 : break;
2096 : }
2097 3 : case 7: {
2098 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback qc_prep from ata_port_operations."} */
2099 : /* LDV {"type": "CALLBACK", "call": "((& ahci_qc_prep))(ldv_4_container_struct_ata_queued_cmd_ptr);", "comment": "callback"} */
2100 2 : ldv_random_containerless_scenario_callback_4_35(ldv_4_callback_qc_prep, ldv_4_container_struct_ata_queued_cmd_ptr);
2101 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2102 :
2103 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2104 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2105 :
2106 : /* Jump to a subprocess 'call' initial state */
2107 1 : goto ldv_call_4;
2108 : /* Jump to a subprocess 'call' initial state */
2109 : goto ldv_call_4;
2110 : /* Jump to a subprocess 'call' initial state */
2111 : goto ldv_call_4;
2112 : /* Jump to a subprocess 'call' initial state */
2113 : goto ldv_call_4;
2114 : /* Jump to a subprocess 'call' initial state */
2115 : goto ldv_call_4;
2116 : /* Jump to a subprocess 'call' initial state */
2117 : goto ldv_call_4;
2118 : /* Jump to a subprocess 'call' initial state */
2119 : goto ldv_call_4;
2120 1 : break;
2121 : }
2122 3 : case 8: {
2123 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback qc_issue from ata_port_operations."} */
2124 : /* LDV {"type": "CALLBACK", "call": "((& ahci_qc_issue))(ldv_4_container_struct_ata_queued_cmd_ptr);", "comment": "callback"} */
2125 2 : ldv_random_containerless_scenario_callback_4_34(ldv_4_callback_qc_issue, ldv_4_container_struct_ata_queued_cmd_ptr);
2126 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2127 :
2128 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2129 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2130 :
2131 : /* Jump to a subprocess 'call' initial state */
2132 1 : goto ldv_call_4;
2133 : /* Jump to a subprocess 'call' initial state */
2134 : goto ldv_call_4;
2135 : /* Jump to a subprocess 'call' initial state */
2136 : goto ldv_call_4;
2137 : /* Jump to a subprocess 'call' initial state */
2138 : goto ldv_call_4;
2139 : /* Jump to a subprocess 'call' initial state */
2140 : goto ldv_call_4;
2141 : /* Jump to a subprocess 'call' initial state */
2142 : goto ldv_call_4;
2143 : /* Jump to a subprocess 'call' initial state */
2144 : goto ldv_call_4;
2145 : /* Jump to a subprocess 'call' initial state */
2146 : goto ldv_call_4;
2147 1 : break;
2148 : }
2149 3 : case 9: {
2150 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback qc_fill_rtf from ata_port_operations."} */
2151 : /* LDV {"type": "CALLBACK", "call": "((& ahci_qc_fill_rtf))(ldv_4_container_struct_ata_queued_cmd_ptr);", "comment": "callback"} */
2152 2 : ldv_random_containerless_scenario_callback_4_33(ldv_4_callback_qc_fill_rtf, ldv_4_container_struct_ata_queued_cmd_ptr);
2153 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2154 :
2155 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2156 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2157 :
2158 : /* Jump to a subprocess 'call' initial state */
2159 1 : goto ldv_call_4;
2160 : /* Jump to a subprocess 'call' initial state */
2161 : goto ldv_call_4;
2162 : /* Jump to a subprocess 'call' initial state */
2163 : goto ldv_call_4;
2164 : /* Jump to a subprocess 'call' initial state */
2165 : goto ldv_call_4;
2166 : /* Jump to a subprocess 'call' initial state */
2167 : goto ldv_call_4;
2168 : /* Jump to a subprocess 'call' initial state */
2169 : goto ldv_call_4;
2170 : /* Jump to a subprocess 'call' initial state */
2171 : goto ldv_call_4;
2172 : /* Jump to a subprocess 'call' initial state */
2173 : goto ldv_call_4;
2174 : /* Jump to a subprocess 'call' initial state */
2175 : goto ldv_call_4;
2176 1 : break;
2177 : }
2178 3 : case 10: {
2179 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback qc_defer from ata_port_operations."} */
2180 : /* LDV {"type": "CALLBACK", "call": "((& sata_pmp_qc_defer_cmd_switch))(ldv_4_container_struct_ata_queued_cmd_ptr);", "comment": "callback"} */
2181 2 : ldv_random_containerless_scenario_callback_4_32(ldv_4_callback_qc_defer, ldv_4_container_struct_ata_queued_cmd_ptr);
2182 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2183 :
2184 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2185 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2186 :
2187 : /* Jump to a subprocess 'call' initial state */
2188 1 : goto ldv_call_4;
2189 : /* Jump to a subprocess 'call' initial state */
2190 : goto ldv_call_4;
2191 : /* Jump to a subprocess 'call' initial state */
2192 : goto ldv_call_4;
2193 : /* Jump to a subprocess 'call' initial state */
2194 : goto ldv_call_4;
2195 : /* Jump to a subprocess 'call' initial state */
2196 : goto ldv_call_4;
2197 : /* Jump to a subprocess 'call' initial state */
2198 : goto ldv_call_4;
2199 : /* Jump to a subprocess 'call' initial state */
2200 : goto ldv_call_4;
2201 : /* Jump to a subprocess 'call' initial state */
2202 : goto ldv_call_4;
2203 : /* Jump to a subprocess 'call' initial state */
2204 : goto ldv_call_4;
2205 : /* Jump to a subprocess 'call' initial state */
2206 : goto ldv_call_4;
2207 1 : break;
2208 : }
2209 3 : case 11: {
2210 : /* LDV {"action": "PRE_CALL_29", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2211 3 : ldv_4_ldv_param_29_1_default = ldv_xmalloc_unknown_size(0);
2212 : /* LDV {"action": "PRE_CALL_29", "type": "CONDITION_END"} */
2213 :
2214 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback postreset from ata_port_operations."} */
2215 : /* LDV {"type": "CALLBACK", "call": "((& ahci_postreset))(ldv_4_container_struct_ata_link_ptr, ldv_4_ldv_param_29_1_default);", "comment": "callback"} */
2216 2 : ldv_random_containerless_scenario_callback_4_29(ldv_4_callback_postreset, ldv_4_container_struct_ata_link_ptr, ldv_4_ldv_param_29_1_default);
2217 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2218 :
2219 : /* LDV {"action": "POST_CALL_29", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2220 2 : ldv_free(ldv_4_ldv_param_29_1_default);
2221 : /* LDV {"action": "POST_CALL_29", "type": "CONDITION_END"} */
2222 :
2223 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2224 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2225 :
2226 : /* Jump to a subprocess 'call' initial state */
2227 1 : goto ldv_call_4;
2228 : /* Jump to a subprocess 'call' initial state */
2229 : goto ldv_call_4;
2230 : /* Jump to a subprocess 'call' initial state */
2231 : goto ldv_call_4;
2232 : /* Jump to a subprocess 'call' initial state */
2233 : goto ldv_call_4;
2234 : /* Jump to a subprocess 'call' initial state */
2235 : goto ldv_call_4;
2236 : /* Jump to a subprocess 'call' initial state */
2237 : goto ldv_call_4;
2238 : /* Jump to a subprocess 'call' initial state */
2239 : goto ldv_call_4;
2240 : /* Jump to a subprocess 'call' initial state */
2241 : goto ldv_call_4;
2242 : /* Jump to a subprocess 'call' initial state */
2243 : goto ldv_call_4;
2244 : /* Jump to a subprocess 'call' initial state */
2245 : goto ldv_call_4;
2246 : /* Jump to a subprocess 'call' initial state */
2247 : goto ldv_call_4;
2248 1 : break;
2249 : }
2250 3 : case 12: {
2251 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback post_internal_cmd from ata_port_operations."} */
2252 : /* LDV {"type": "CALLBACK", "call": "((& ahci_post_internal_cmd))(ldv_4_container_struct_ata_queued_cmd_ptr);", "comment": "callback"} */
2253 2 : ldv_random_containerless_scenario_callback_4_28(ldv_4_callback_post_internal_cmd, ldv_4_container_struct_ata_queued_cmd_ptr);
2254 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2255 :
2256 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2257 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2258 :
2259 : /* Jump to a subprocess 'call' initial state */
2260 1 : goto ldv_call_4;
2261 : /* Jump to a subprocess 'call' initial state */
2262 : goto ldv_call_4;
2263 : /* Jump to a subprocess 'call' initial state */
2264 : goto ldv_call_4;
2265 : /* Jump to a subprocess 'call' initial state */
2266 : goto ldv_call_4;
2267 : /* Jump to a subprocess 'call' initial state */
2268 : goto ldv_call_4;
2269 : /* Jump to a subprocess 'call' initial state */
2270 : goto ldv_call_4;
2271 : /* Jump to a subprocess 'call' initial state */
2272 : goto ldv_call_4;
2273 : /* Jump to a subprocess 'call' initial state */
2274 : goto ldv_call_4;
2275 : /* Jump to a subprocess 'call' initial state */
2276 : goto ldv_call_4;
2277 : /* Jump to a subprocess 'call' initial state */
2278 : goto ldv_call_4;
2279 : /* Jump to a subprocess 'call' initial state */
2280 : goto ldv_call_4;
2281 : /* Jump to a subprocess 'call' initial state */
2282 : goto ldv_call_4;
2283 1 : break;
2284 : }
2285 3 : case 13: {
2286 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback port_stop from ata_port_operations."} */
2287 : /* LDV {"type": "CALLBACK", "call": "((& ahci_port_stop))(ldv_4_container_struct_ata_port_ptr);", "comment": "callback"} */
2288 2 : ldv_random_containerless_scenario_callback_4_27(ldv_4_callback_port_stop, ldv_4_container_struct_ata_port_ptr);
2289 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2290 :
2291 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2292 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2293 :
2294 : /* Jump to a subprocess 'call' initial state */
2295 1 : goto ldv_call_4;
2296 : /* Jump to a subprocess 'call' initial state */
2297 : goto ldv_call_4;
2298 : /* Jump to a subprocess 'call' initial state */
2299 : goto ldv_call_4;
2300 : /* Jump to a subprocess 'call' initial state */
2301 : goto ldv_call_4;
2302 : /* Jump to a subprocess 'call' initial state */
2303 : goto ldv_call_4;
2304 : /* Jump to a subprocess 'call' initial state */
2305 : goto ldv_call_4;
2306 : /* Jump to a subprocess 'call' initial state */
2307 : goto ldv_call_4;
2308 : /* Jump to a subprocess 'call' initial state */
2309 : goto ldv_call_4;
2310 : /* Jump to a subprocess 'call' initial state */
2311 : goto ldv_call_4;
2312 : /* Jump to a subprocess 'call' initial state */
2313 : goto ldv_call_4;
2314 : /* Jump to a subprocess 'call' initial state */
2315 : goto ldv_call_4;
2316 : /* Jump to a subprocess 'call' initial state */
2317 : goto ldv_call_4;
2318 : /* Jump to a subprocess 'call' initial state */
2319 : goto ldv_call_4;
2320 1 : break;
2321 : }
2322 3 : case 14: {
2323 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback port_start from ata_port_operations."} */
2324 : /* LDV {"type": "CALLBACK", "call": "((& ahci_port_start))(ldv_4_container_struct_ata_port_ptr);", "comment": "callback"} */
2325 2 : ldv_random_containerless_scenario_callback_4_26(ldv_4_callback_port_start, ldv_4_container_struct_ata_port_ptr);
2326 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2327 :
2328 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2329 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2330 :
2331 : /* Jump to a subprocess 'call' initial state */
2332 1 : goto ldv_call_4;
2333 : /* Jump to a subprocess 'call' initial state */
2334 : goto ldv_call_4;
2335 : /* Jump to a subprocess 'call' initial state */
2336 : goto ldv_call_4;
2337 : /* Jump to a subprocess 'call' initial state */
2338 : goto ldv_call_4;
2339 : /* Jump to a subprocess 'call' initial state */
2340 : goto ldv_call_4;
2341 : /* Jump to a subprocess 'call' initial state */
2342 : goto ldv_call_4;
2343 : /* Jump to a subprocess 'call' initial state */
2344 : goto ldv_call_4;
2345 : /* Jump to a subprocess 'call' initial state */
2346 : goto ldv_call_4;
2347 : /* Jump to a subprocess 'call' initial state */
2348 : goto ldv_call_4;
2349 : /* Jump to a subprocess 'call' initial state */
2350 : goto ldv_call_4;
2351 : /* Jump to a subprocess 'call' initial state */
2352 : goto ldv_call_4;
2353 : /* Jump to a subprocess 'call' initial state */
2354 : goto ldv_call_4;
2355 : /* Jump to a subprocess 'call' initial state */
2356 : goto ldv_call_4;
2357 : /* Jump to a subprocess 'call' initial state */
2358 : goto ldv_call_4;
2359 1 : break;
2360 : }
2361 3 : case 15: {
2362 : /* LDV {"action": "PRE_CALL_23", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2363 3 : ldv_4_ldv_param_23_1_default = ldv_xmalloc_unknown_size(0);
2364 : /* LDV {"action": "PRE_CALL_23", "type": "CONDITION_END"} */
2365 :
2366 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback softreset from ata_port_operations."} */
2367 : /* LDV {"type": "CALLBACK", "call": "((& ahci_softreset))(ldv_4_container_struct_ata_link_ptr, ldv_4_ldv_param_23_1_default, ldv_4_ldv_param_23_2_default);", "comment": "callback"} */
2368 2 : ldv_random_containerless_scenario_callback_4_23(ldv_4_callback_pmp_softreset, ldv_4_container_struct_ata_link_ptr, ldv_4_ldv_param_23_1_default, ldv_4_ldv_param_23_2_default);
2369 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2370 :
2371 : /* LDV {"action": "POST_CALL_23", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2372 2 : ldv_free(ldv_4_ldv_param_23_1_default);
2373 : /* LDV {"action": "POST_CALL_23", "type": "CONDITION_END"} */
2374 :
2375 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2376 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2377 :
2378 : /* Jump to a subprocess 'call' initial state */
2379 1 : goto ldv_call_4;
2380 : /* Jump to a subprocess 'call' initial state */
2381 : goto ldv_call_4;
2382 : /* Jump to a subprocess 'call' initial state */
2383 : goto ldv_call_4;
2384 : /* Jump to a subprocess 'call' initial state */
2385 : goto ldv_call_4;
2386 : /* Jump to a subprocess 'call' initial state */
2387 : goto ldv_call_4;
2388 : /* Jump to a subprocess 'call' initial state */
2389 : goto ldv_call_4;
2390 : /* Jump to a subprocess 'call' initial state */
2391 : goto ldv_call_4;
2392 : /* Jump to a subprocess 'call' initial state */
2393 : goto ldv_call_4;
2394 : /* Jump to a subprocess 'call' initial state */
2395 : goto ldv_call_4;
2396 : /* Jump to a subprocess 'call' initial state */
2397 : goto ldv_call_4;
2398 : /* Jump to a subprocess 'call' initial state */
2399 : goto ldv_call_4;
2400 : /* Jump to a subprocess 'call' initial state */
2401 : goto ldv_call_4;
2402 : /* Jump to a subprocess 'call' initial state */
2403 : goto ldv_call_4;
2404 : /* Jump to a subprocess 'call' initial state */
2405 : goto ldv_call_4;
2406 : /* Jump to a subprocess 'call' initial state */
2407 : goto ldv_call_4;
2408 1 : break;
2409 : }
2410 3 : case 16: {
2411 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback pmp_detach from ata_port_operations."} */
2412 : /* LDV {"type": "CALLBACK", "call": "((& ahci_pmp_detach))(ldv_4_container_struct_ata_port_ptr);", "comment": "callback"} */
2413 2 : ldv_random_containerless_scenario_callback_4_22(ldv_4_callback_pmp_detach, ldv_4_container_struct_ata_port_ptr);
2414 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2415 :
2416 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2417 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2418 :
2419 : /* Jump to a subprocess 'call' initial state */
2420 1 : goto ldv_call_4;
2421 : /* Jump to a subprocess 'call' initial state */
2422 : goto ldv_call_4;
2423 : /* Jump to a subprocess 'call' initial state */
2424 : goto ldv_call_4;
2425 : /* Jump to a subprocess 'call' initial state */
2426 : goto ldv_call_4;
2427 : /* Jump to a subprocess 'call' initial state */
2428 : goto ldv_call_4;
2429 : /* Jump to a subprocess 'call' initial state */
2430 : goto ldv_call_4;
2431 : /* Jump to a subprocess 'call' initial state */
2432 : goto ldv_call_4;
2433 : /* Jump to a subprocess 'call' initial state */
2434 : goto ldv_call_4;
2435 : /* Jump to a subprocess 'call' initial state */
2436 : goto ldv_call_4;
2437 : /* Jump to a subprocess 'call' initial state */
2438 : goto ldv_call_4;
2439 : /* Jump to a subprocess 'call' initial state */
2440 : goto ldv_call_4;
2441 : /* Jump to a subprocess 'call' initial state */
2442 : goto ldv_call_4;
2443 : /* Jump to a subprocess 'call' initial state */
2444 : goto ldv_call_4;
2445 : /* Jump to a subprocess 'call' initial state */
2446 : goto ldv_call_4;
2447 : /* Jump to a subprocess 'call' initial state */
2448 : goto ldv_call_4;
2449 : /* Jump to a subprocess 'call' initial state */
2450 : goto ldv_call_4;
2451 1 : break;
2452 : }
2453 3 : case 17: {
2454 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback pmp_attach from ata_port_operations."} */
2455 : /* LDV {"type": "CALLBACK", "call": "((& ahci_pmp_attach))(ldv_4_container_struct_ata_port_ptr);", "comment": "callback"} */
2456 2 : ldv_random_containerless_scenario_callback_4_21(ldv_4_callback_pmp_attach, ldv_4_container_struct_ata_port_ptr);
2457 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2458 :
2459 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2460 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2461 :
2462 : /* Jump to a subprocess 'call' initial state */
2463 1 : goto ldv_call_4;
2464 : /* Jump to a subprocess 'call' initial state */
2465 : goto ldv_call_4;
2466 : /* Jump to a subprocess 'call' initial state */
2467 : goto ldv_call_4;
2468 : /* Jump to a subprocess 'call' initial state */
2469 : goto ldv_call_4;
2470 : /* Jump to a subprocess 'call' initial state */
2471 : goto ldv_call_4;
2472 : /* Jump to a subprocess 'call' initial state */
2473 : goto ldv_call_4;
2474 : /* Jump to a subprocess 'call' initial state */
2475 : goto ldv_call_4;
2476 : /* Jump to a subprocess 'call' initial state */
2477 : goto ldv_call_4;
2478 : /* Jump to a subprocess 'call' initial state */
2479 : goto ldv_call_4;
2480 : /* Jump to a subprocess 'call' initial state */
2481 : goto ldv_call_4;
2482 : /* Jump to a subprocess 'call' initial state */
2483 : goto ldv_call_4;
2484 : /* Jump to a subprocess 'call' initial state */
2485 : goto ldv_call_4;
2486 : /* Jump to a subprocess 'call' initial state */
2487 : goto ldv_call_4;
2488 : /* Jump to a subprocess 'call' initial state */
2489 : goto ldv_call_4;
2490 : /* Jump to a subprocess 'call' initial state */
2491 : goto ldv_call_4;
2492 : /* Jump to a subprocess 'call' initial state */
2493 : goto ldv_call_4;
2494 : /* Jump to a subprocess 'call' initial state */
2495 : goto ldv_call_4;
2496 1 : break;
2497 : }
2498 3 : case 18: {
2499 : /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2500 3 : ldv_4_ldv_param_18_1_default = ldv_xmalloc_unknown_size(0);
2501 : /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
2502 :
2503 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback hardreset from ata_port_operations."} */
2504 : /* LDV {"type": "CALLBACK", "call": "((& ahci_vt8251_hardreset))(ldv_4_container_struct_ata_link_ptr, ldv_4_ldv_param_18_1_default, ldv_4_ldv_param_18_2_default);", "comment": "callback"} */
2505 2 : ldv_random_containerless_scenario_callback_4_18(ldv_4_callback_hardreset, ldv_4_container_struct_ata_link_ptr, ldv_4_ldv_param_18_1_default, ldv_4_ldv_param_18_2_default);
2506 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2507 :
2508 : /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2509 2 : ldv_free(ldv_4_ldv_param_18_1_default);
2510 : /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
2511 :
2512 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2513 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2514 :
2515 : /* Jump to a subprocess 'call' initial state */
2516 1 : goto ldv_call_4;
2517 : /* Jump to a subprocess 'call' initial state */
2518 : goto ldv_call_4;
2519 : /* Jump to a subprocess 'call' initial state */
2520 : goto ldv_call_4;
2521 : /* Jump to a subprocess 'call' initial state */
2522 : goto ldv_call_4;
2523 : /* Jump to a subprocess 'call' initial state */
2524 : goto ldv_call_4;
2525 : /* Jump to a subprocess 'call' initial state */
2526 : goto ldv_call_4;
2527 : /* Jump to a subprocess 'call' initial state */
2528 : goto ldv_call_4;
2529 : /* Jump to a subprocess 'call' initial state */
2530 : goto ldv_call_4;
2531 : /* Jump to a subprocess 'call' initial state */
2532 : goto ldv_call_4;
2533 : /* Jump to a subprocess 'call' initial state */
2534 : goto ldv_call_4;
2535 : /* Jump to a subprocess 'call' initial state */
2536 : goto ldv_call_4;
2537 : /* Jump to a subprocess 'call' initial state */
2538 : goto ldv_call_4;
2539 : /* Jump to a subprocess 'call' initial state */
2540 : goto ldv_call_4;
2541 : /* Jump to a subprocess 'call' initial state */
2542 : goto ldv_call_4;
2543 : /* Jump to a subprocess 'call' initial state */
2544 : goto ldv_call_4;
2545 : /* Jump to a subprocess 'call' initial state */
2546 : goto ldv_call_4;
2547 : /* Jump to a subprocess 'call' initial state */
2548 : goto ldv_call_4;
2549 : /* Jump to a subprocess 'call' initial state */
2550 : goto ldv_call_4;
2551 1 : break;
2552 : }
2553 3 : case 19: {
2554 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback freeze from ata_port_operations."} */
2555 : /* LDV {"type": "CALLBACK", "call": "((& ahci_freeze))(ldv_4_container_struct_ata_port_ptr);", "comment": "callback"} */
2556 2 : ldv_random_containerless_scenario_callback_4_17(ldv_4_callback_freeze, ldv_4_container_struct_ata_port_ptr);
2557 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2558 :
2559 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2560 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2561 :
2562 : /* Jump to a subprocess 'call' initial state */
2563 1 : goto ldv_call_4;
2564 : /* Jump to a subprocess 'call' initial state */
2565 : goto ldv_call_4;
2566 : /* Jump to a subprocess 'call' initial state */
2567 : goto ldv_call_4;
2568 : /* Jump to a subprocess 'call' initial state */
2569 : goto ldv_call_4;
2570 : /* Jump to a subprocess 'call' initial state */
2571 : goto ldv_call_4;
2572 : /* Jump to a subprocess 'call' initial state */
2573 : goto ldv_call_4;
2574 : /* Jump to a subprocess 'call' initial state */
2575 : goto ldv_call_4;
2576 : /* Jump to a subprocess 'call' initial state */
2577 : goto ldv_call_4;
2578 : /* Jump to a subprocess 'call' initial state */
2579 : goto ldv_call_4;
2580 : /* Jump to a subprocess 'call' initial state */
2581 : goto ldv_call_4;
2582 : /* Jump to a subprocess 'call' initial state */
2583 : goto ldv_call_4;
2584 : /* Jump to a subprocess 'call' initial state */
2585 : goto ldv_call_4;
2586 : /* Jump to a subprocess 'call' initial state */
2587 : goto ldv_call_4;
2588 : /* Jump to a subprocess 'call' initial state */
2589 : goto ldv_call_4;
2590 : /* Jump to a subprocess 'call' initial state */
2591 : goto ldv_call_4;
2592 : /* Jump to a subprocess 'call' initial state */
2593 : goto ldv_call_4;
2594 : /* Jump to a subprocess 'call' initial state */
2595 : goto ldv_call_4;
2596 : /* Jump to a subprocess 'call' initial state */
2597 : goto ldv_call_4;
2598 : /* Jump to a subprocess 'call' initial state */
2599 : goto ldv_call_4;
2600 1 : break;
2601 : }
2602 3 : case 20: {
2603 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback error_handler from ata_port_operations."} */
2604 : /* LDV {"type": "CALLBACK", "call": "((& ahci_error_handler))(ldv_4_container_struct_ata_port_ptr);", "comment": "callback"} */
2605 2 : ldv_random_containerless_scenario_callback_4_16(ldv_4_callback_error_handler, ldv_4_container_struct_ata_port_ptr);
2606 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2607 :
2608 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2609 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2610 :
2611 : /* Jump to a subprocess 'call' initial state */
2612 1 : goto ldv_call_4;
2613 : /* Jump to a subprocess 'call' initial state */
2614 : goto ldv_call_4;
2615 : /* Jump to a subprocess 'call' initial state */
2616 : goto ldv_call_4;
2617 : /* Jump to a subprocess 'call' initial state */
2618 : goto ldv_call_4;
2619 : /* Jump to a subprocess 'call' initial state */
2620 : goto ldv_call_4;
2621 : /* Jump to a subprocess 'call' initial state */
2622 : goto ldv_call_4;
2623 : /* Jump to a subprocess 'call' initial state */
2624 : goto ldv_call_4;
2625 : /* Jump to a subprocess 'call' initial state */
2626 : goto ldv_call_4;
2627 : /* Jump to a subprocess 'call' initial state */
2628 : goto ldv_call_4;
2629 : /* Jump to a subprocess 'call' initial state */
2630 : goto ldv_call_4;
2631 : /* Jump to a subprocess 'call' initial state */
2632 : goto ldv_call_4;
2633 : /* Jump to a subprocess 'call' initial state */
2634 : goto ldv_call_4;
2635 : /* Jump to a subprocess 'call' initial state */
2636 : goto ldv_call_4;
2637 : /* Jump to a subprocess 'call' initial state */
2638 : goto ldv_call_4;
2639 : /* Jump to a subprocess 'call' initial state */
2640 : goto ldv_call_4;
2641 : /* Jump to a subprocess 'call' initial state */
2642 : goto ldv_call_4;
2643 : /* Jump to a subprocess 'call' initial state */
2644 : goto ldv_call_4;
2645 : /* Jump to a subprocess 'call' initial state */
2646 : goto ldv_call_4;
2647 : /* Jump to a subprocess 'call' initial state */
2648 : goto ldv_call_4;
2649 : /* Jump to a subprocess 'call' initial state */
2650 : goto ldv_call_4;
2651 1 : break;
2652 : }
2653 3 : case 21: {
2654 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback enable_pm from ata_port_operations."} */
2655 : /* LDV {"type": "CALLBACK", "call": "((& ahci_enable_alpm))(ldv_4_container_struct_ata_port_ptr, ldv_4_container_enum_link_pm);", "comment": "callback"} */
2656 2 : ldv_random_containerless_scenario_callback_4_15(ldv_4_callback_enable_pm, ldv_4_container_struct_ata_port_ptr, ldv_4_container_enum_link_pm);
2657 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2658 :
2659 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2660 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2661 :
2662 : /* Jump to a subprocess 'call' initial state */
2663 1 : goto ldv_call_4;
2664 : /* Jump to a subprocess 'call' initial state */
2665 : goto ldv_call_4;
2666 : /* Jump to a subprocess 'call' initial state */
2667 : goto ldv_call_4;
2668 : /* Jump to a subprocess 'call' initial state */
2669 : goto ldv_call_4;
2670 : /* Jump to a subprocess 'call' initial state */
2671 : goto ldv_call_4;
2672 : /* Jump to a subprocess 'call' initial state */
2673 : goto ldv_call_4;
2674 : /* Jump to a subprocess 'call' initial state */
2675 : goto ldv_call_4;
2676 : /* Jump to a subprocess 'call' initial state */
2677 : goto ldv_call_4;
2678 : /* Jump to a subprocess 'call' initial state */
2679 : goto ldv_call_4;
2680 : /* Jump to a subprocess 'call' initial state */
2681 : goto ldv_call_4;
2682 : /* Jump to a subprocess 'call' initial state */
2683 : goto ldv_call_4;
2684 : /* Jump to a subprocess 'call' initial state */
2685 : goto ldv_call_4;
2686 : /* Jump to a subprocess 'call' initial state */
2687 : goto ldv_call_4;
2688 : /* Jump to a subprocess 'call' initial state */
2689 : goto ldv_call_4;
2690 : /* Jump to a subprocess 'call' initial state */
2691 : goto ldv_call_4;
2692 : /* Jump to a subprocess 'call' initial state */
2693 : goto ldv_call_4;
2694 : /* Jump to a subprocess 'call' initial state */
2695 : goto ldv_call_4;
2696 : /* Jump to a subprocess 'call' initial state */
2697 : goto ldv_call_4;
2698 : /* Jump to a subprocess 'call' initial state */
2699 : goto ldv_call_4;
2700 : /* Jump to a subprocess 'call' initial state */
2701 : goto ldv_call_4;
2702 : /* Jump to a subprocess 'call' initial state */
2703 : goto ldv_call_4;
2704 1 : break;
2705 : }
2706 3 : case 22: {
2707 : /* LDV {"action": "PRE_CALL_12", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2708 3 : ldv_4_ldv_param_12_1_default = ldv_xmalloc_unknown_size(0);
2709 : /* LDV {"action": "PRE_CALL_12", "type": "CONDITION_END"} */
2710 :
2711 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback em_store from ata_port_operations."} */
2712 : /* LDV {"type": "CALLBACK", "call": "((& ahci_led_store))(ldv_4_container_struct_ata_port_ptr, ldv_4_ldv_param_12_1_default, ldv_4_ldv_param_12_2_default);", "comment": "callback"} */
2713 2 : ldv_random_containerless_scenario_callback_4_12(ldv_4_callback_em_store, ldv_4_container_struct_ata_port_ptr, ldv_4_ldv_param_12_1_default, ldv_4_ldv_param_12_2_default);
2714 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2715 :
2716 : /* LDV {"action": "POST_CALL_12", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2717 2 : ldv_free(ldv_4_ldv_param_12_1_default);
2718 : /* LDV {"action": "POST_CALL_12", "type": "CONDITION_END"} */
2719 :
2720 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2721 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2722 :
2723 : /* Jump to a subprocess 'call' initial state */
2724 1 : goto ldv_call_4;
2725 : /* Jump to a subprocess 'call' initial state */
2726 : goto ldv_call_4;
2727 : /* Jump to a subprocess 'call' initial state */
2728 : goto ldv_call_4;
2729 : /* Jump to a subprocess 'call' initial state */
2730 : goto ldv_call_4;
2731 : /* Jump to a subprocess 'call' initial state */
2732 : goto ldv_call_4;
2733 : /* Jump to a subprocess 'call' initial state */
2734 : goto ldv_call_4;
2735 : /* Jump to a subprocess 'call' initial state */
2736 : goto ldv_call_4;
2737 : /* Jump to a subprocess 'call' initial state */
2738 : goto ldv_call_4;
2739 : /* Jump to a subprocess 'call' initial state */
2740 : goto ldv_call_4;
2741 : /* Jump to a subprocess 'call' initial state */
2742 : goto ldv_call_4;
2743 : /* Jump to a subprocess 'call' initial state */
2744 : goto ldv_call_4;
2745 : /* Jump to a subprocess 'call' initial state */
2746 : goto ldv_call_4;
2747 : /* Jump to a subprocess 'call' initial state */
2748 : goto ldv_call_4;
2749 : /* Jump to a subprocess 'call' initial state */
2750 : goto ldv_call_4;
2751 : /* Jump to a subprocess 'call' initial state */
2752 : goto ldv_call_4;
2753 : /* Jump to a subprocess 'call' initial state */
2754 : goto ldv_call_4;
2755 : /* Jump to a subprocess 'call' initial state */
2756 : goto ldv_call_4;
2757 : /* Jump to a subprocess 'call' initial state */
2758 : goto ldv_call_4;
2759 : /* Jump to a subprocess 'call' initial state */
2760 : goto ldv_call_4;
2761 : /* Jump to a subprocess 'call' initial state */
2762 : goto ldv_call_4;
2763 : /* Jump to a subprocess 'call' initial state */
2764 : goto ldv_call_4;
2765 : /* Jump to a subprocess 'call' initial state */
2766 : goto ldv_call_4;
2767 1 : break;
2768 : }
2769 3 : case 23: {
2770 : /* LDV {"action": "PRE_CALL_9", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
2771 3 : ldv_4_ldv_param_9_1_default = ldv_xmalloc_unknown_size(0);
2772 : /* LDV {"action": "PRE_CALL_9", "type": "CONDITION_END"} */
2773 :
2774 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback em_show from ata_port_operations."} */
2775 : /* LDV {"type": "CALLBACK", "call": "((& ahci_led_show))(ldv_4_container_struct_ata_port_ptr, ldv_4_ldv_param_9_1_default);", "comment": "callback"} */
2776 2 : ldv_random_containerless_scenario_callback_4_9(ldv_4_callback_em_show, ldv_4_container_struct_ata_port_ptr, ldv_4_ldv_param_9_1_default);
2777 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2778 :
2779 : /* LDV {"action": "POST_CALL_9", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
2780 2 : ldv_free(ldv_4_ldv_param_9_1_default);
2781 : /* LDV {"action": "POST_CALL_9", "type": "CONDITION_END"} */
2782 :
2783 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2784 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2785 :
2786 : /* Jump to a subprocess 'call' initial state */
2787 1 : goto ldv_call_4;
2788 : /* Jump to a subprocess 'call' initial state */
2789 : goto ldv_call_4;
2790 : /* Jump to a subprocess 'call' initial state */
2791 : goto ldv_call_4;
2792 : /* Jump to a subprocess 'call' initial state */
2793 : goto ldv_call_4;
2794 : /* Jump to a subprocess 'call' initial state */
2795 : goto ldv_call_4;
2796 : /* Jump to a subprocess 'call' initial state */
2797 : goto ldv_call_4;
2798 : /* Jump to a subprocess 'call' initial state */
2799 : goto ldv_call_4;
2800 : /* Jump to a subprocess 'call' initial state */
2801 : goto ldv_call_4;
2802 : /* Jump to a subprocess 'call' initial state */
2803 : goto ldv_call_4;
2804 : /* Jump to a subprocess 'call' initial state */
2805 : goto ldv_call_4;
2806 : /* Jump to a subprocess 'call' initial state */
2807 : goto ldv_call_4;
2808 : /* Jump to a subprocess 'call' initial state */
2809 : goto ldv_call_4;
2810 : /* Jump to a subprocess 'call' initial state */
2811 : goto ldv_call_4;
2812 : /* Jump to a subprocess 'call' initial state */
2813 : goto ldv_call_4;
2814 : /* Jump to a subprocess 'call' initial state */
2815 : goto ldv_call_4;
2816 : /* Jump to a subprocess 'call' initial state */
2817 : goto ldv_call_4;
2818 : /* Jump to a subprocess 'call' initial state */
2819 : goto ldv_call_4;
2820 : /* Jump to a subprocess 'call' initial state */
2821 : goto ldv_call_4;
2822 : /* Jump to a subprocess 'call' initial state */
2823 : goto ldv_call_4;
2824 : /* Jump to a subprocess 'call' initial state */
2825 : goto ldv_call_4;
2826 : /* Jump to a subprocess 'call' initial state */
2827 : goto ldv_call_4;
2828 : /* Jump to a subprocess 'call' initial state */
2829 : goto ldv_call_4;
2830 : /* Jump to a subprocess 'call' initial state */
2831 : goto ldv_call_4;
2832 1 : break;
2833 : }
2834 3 : case 24: {
2835 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback disable_pm from ata_port_operations."} */
2836 : /* LDV {"type": "CALLBACK", "call": "((& ahci_disable_alpm))(ldv_4_container_struct_ata_port_ptr);", "comment": "callback"} */
2837 2 : ldv_random_containerless_scenario_callback_4_8(ldv_4_callback_disable_pm, ldv_4_container_struct_ata_port_ptr);
2838 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2839 :
2840 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2841 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2842 :
2843 : /* Jump to a subprocess 'call' initial state */
2844 1 : goto ldv_call_4;
2845 : /* Jump to a subprocess 'call' initial state */
2846 : goto ldv_call_4;
2847 : /* Jump to a subprocess 'call' initial state */
2848 : goto ldv_call_4;
2849 : /* Jump to a subprocess 'call' initial state */
2850 : goto ldv_call_4;
2851 : /* Jump to a subprocess 'call' initial state */
2852 : goto ldv_call_4;
2853 : /* Jump to a subprocess 'call' initial state */
2854 : goto ldv_call_4;
2855 : /* Jump to a subprocess 'call' initial state */
2856 : goto ldv_call_4;
2857 : /* Jump to a subprocess 'call' initial state */
2858 : goto ldv_call_4;
2859 : /* Jump to a subprocess 'call' initial state */
2860 : goto ldv_call_4;
2861 : /* Jump to a subprocess 'call' initial state */
2862 : goto ldv_call_4;
2863 : /* Jump to a subprocess 'call' initial state */
2864 : goto ldv_call_4;
2865 : /* Jump to a subprocess 'call' initial state */
2866 : goto ldv_call_4;
2867 : /* Jump to a subprocess 'call' initial state */
2868 : goto ldv_call_4;
2869 : /* Jump to a subprocess 'call' initial state */
2870 : goto ldv_call_4;
2871 : /* Jump to a subprocess 'call' initial state */
2872 : goto ldv_call_4;
2873 : /* Jump to a subprocess 'call' initial state */
2874 : goto ldv_call_4;
2875 : /* Jump to a subprocess 'call' initial state */
2876 : goto ldv_call_4;
2877 : /* Jump to a subprocess 'call' initial state */
2878 : goto ldv_call_4;
2879 : /* Jump to a subprocess 'call' initial state */
2880 : goto ldv_call_4;
2881 : /* Jump to a subprocess 'call' initial state */
2882 : goto ldv_call_4;
2883 : /* Jump to a subprocess 'call' initial state */
2884 : goto ldv_call_4;
2885 : /* Jump to a subprocess 'call' initial state */
2886 : goto ldv_call_4;
2887 : /* Jump to a subprocess 'call' initial state */
2888 : goto ldv_call_4;
2889 : /* Jump to a subprocess 'call' initial state */
2890 : goto ldv_call_4;
2891 1 : break;
2892 : }
2893 3 : case 25: {
2894 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback dev_config from ata_port_operations."} */
2895 : /* LDV {"type": "CALLBACK", "call": "((& ahci_dev_config))(ldv_4_container_struct_ata_device_ptr);", "comment": "callback"} */
2896 2 : ldv_random_containerless_scenario_callback_4_4(ldv_4_callback_dev_config, ldv_4_container_struct_ata_device_ptr);
2897 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
2898 :
2899 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2900 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2901 :
2902 : /* Jump to a subprocess 'call' initial state */
2903 1 : goto ldv_call_4;
2904 : /* Jump to a subprocess 'call' initial state */
2905 : goto ldv_call_4;
2906 : /* Jump to a subprocess 'call' initial state */
2907 : goto ldv_call_4;
2908 : /* Jump to a subprocess 'call' initial state */
2909 : goto ldv_call_4;
2910 : /* Jump to a subprocess 'call' initial state */
2911 : goto ldv_call_4;
2912 : /* Jump to a subprocess 'call' initial state */
2913 : goto ldv_call_4;
2914 : /* Jump to a subprocess 'call' initial state */
2915 : goto ldv_call_4;
2916 : /* Jump to a subprocess 'call' initial state */
2917 : goto ldv_call_4;
2918 : /* Jump to a subprocess 'call' initial state */
2919 : goto ldv_call_4;
2920 : /* Jump to a subprocess 'call' initial state */
2921 : goto ldv_call_4;
2922 : /* Jump to a subprocess 'call' initial state */
2923 : goto ldv_call_4;
2924 : /* Jump to a subprocess 'call' initial state */
2925 : goto ldv_call_4;
2926 : /* Jump to a subprocess 'call' initial state */
2927 : goto ldv_call_4;
2928 : /* Jump to a subprocess 'call' initial state */
2929 : goto ldv_call_4;
2930 : /* Jump to a subprocess 'call' initial state */
2931 : goto ldv_call_4;
2932 : /* Jump to a subprocess 'call' initial state */
2933 : goto ldv_call_4;
2934 : /* Jump to a subprocess 'call' initial state */
2935 : goto ldv_call_4;
2936 : /* Jump to a subprocess 'call' initial state */
2937 : goto ldv_call_4;
2938 : /* Jump to a subprocess 'call' initial state */
2939 : goto ldv_call_4;
2940 : /* Jump to a subprocess 'call' initial state */
2941 : goto ldv_call_4;
2942 : /* Jump to a subprocess 'call' initial state */
2943 : goto ldv_call_4;
2944 : /* Jump to a subprocess 'call' initial state */
2945 : goto ldv_call_4;
2946 : /* Jump to a subprocess 'call' initial state */
2947 : goto ldv_call_4;
2948 : /* Jump to a subprocess 'call' initial state */
2949 : goto ldv_call_4;
2950 : /* Jump to a subprocess 'call' initial state */
2951 : goto ldv_call_4;
2952 1 : break;
2953 : }
2954 3 : case 26: {
2955 : /* LDV {"action": "DEFAULT_FREE_6", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
2956 2 : ldv_free(ldv_4_container_struct_ata_device_ptr);
2957 2 : ldv_free(ldv_4_container_struct_ata_link_ptr);
2958 2 : ldv_free(ldv_4_container_struct_ata_port_ptr);
2959 2 : ldv_free(ldv_4_container_struct_ata_queued_cmd_ptr);
2960 : /* LDV {"action": "DEFAULT_FREE_6", "type": "CONDITION_END"} */
2961 :
2962 : /* LDV {"action": "DEFAULT_DEREGISTER_6", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_ATA_PORT_OPERATIONS callbacks invocations scenario."} */
2963 : /* Skip a non-replicative signal receiving */
2964 : /* LDV {"action": "DEFAULT_DEREGISTER_6", "type": "RECEIVE_END"} */
2965 :
2966 : /* Exit function at a terminal state */
2967 1 : return;
2968 1 : break;
2969 : }
2970 2 : default: ldv_stop();
2971 1 : }
2972 0 : /* End of the subprocess 'call' */
2973 0 : return;
2974 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_ata_port_operations)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_4"} */
2975 : }
2976 :
2977 : /* AUX_FUNC ldv_random_containerless_scenario_5 */
2978 : void ldv_random_containerless_scenario_5(void *arg0) {
2979 : /* LDV {"thread": 5, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_device_attribute)'", "function": "ldv_random_containerless_scenario_5"} */
2980 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
2981 1 : ssize_t (*ldv_5_callback_show)(struct device *, struct device_attribute *, char *);
2982 1 : struct device_attribute *ldv_5_container_struct_device_attribute;
2983 1 : struct device *ldv_5_container_struct_device_ptr;
2984 1 : char *ldv_5_ldv_param_4_2_default;
2985 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
2986 1 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_DEVICE_ATTRIBUTE callbacks invocations scenario."} */
2987 3 : ldv_free(arg0);
2988 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "RECEIVE_END"} */
2989 :
2990 : /* LDV {"action": "DEFAULT_ALLOC_7", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
2991 3 : ldv_5_container_struct_device_attribute = ldv_xmalloc_unknown_size(0);
2992 3 : ldv_5_container_struct_device_ptr = ldv_xmalloc_unknown_size(0);
2993 : /* LDV {"action": "DEFAULT_ALLOC_7", "type": "CONDITION_END"} */
2994 :
2995 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
2996 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
2997 :
2998 : /* Jump to a subprocess 'call' initial state */
2999 1 : goto ldv_call_5;
3000 : /* End of the process */
3001 : return;
3002 1 :
3003 : /* Sbprocess call */
3004 : ldv_call_5:
3005 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
3006 :
3007 4 : if (ldv_undef_int()) {
3008 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
3009 3 : ldv_5_ldv_param_4_2_default = ldv_xmalloc_unknown_size(0);
3010 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
3011 :
3012 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback show from device_attribute."} */
3013 : /* LDV {"type": "CALLBACK", "call": "((& ahci_show_host_cap2))(ldv_5_container_struct_device_ptr, ldv_5_container_struct_device_attribute, ldv_5_ldv_param_4_2_default);", "comment": "callback"} */
3014 2 : ldv_random_containerless_scenario_callback_5_4(ldv_5_callback_show, ldv_5_container_struct_device_ptr, ldv_5_container_struct_device_attribute, ldv_5_ldv_param_4_2_default);
3015 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
3016 :
3017 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
3018 2 : ldv_free(ldv_5_ldv_param_4_2_default);
3019 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
3020 :
3021 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
3022 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
3023 :
3024 : /* Jump to a subprocess 'call' initial state */
3025 1 : goto ldv_call_5;
3026 : }
3027 : else {
3028 : /* LDV {"action": "DEFAULT_FREE_7", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
3029 2 : ldv_free(ldv_5_container_struct_device_attribute);
3030 2 : ldv_free(ldv_5_container_struct_device_ptr);
3031 : /* LDV {"action": "DEFAULT_FREE_7", "type": "CONDITION_END"} */
3032 :
3033 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_DEVICE_ATTRIBUTE callbacks invocations scenario."} */
3034 : /* Skip a non-replicative signal receiving */
3035 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "RECEIVE_END"} */
3036 :
3037 : /* Exit function at a terminal state */
3038 1 : return;
3039 : }
3040 : /* End of the subprocess 'call' */
3041 : return;
3042 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_device_attribute)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_5"} */
3043 : }
3044 :
3045 : /* AUX_FUNC ldv_random_containerless_scenario_6 */
3046 : void ldv_random_containerless_scenario_6(void *arg0) {
3047 : /* LDV {"thread": 6, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_device_attribute)'", "function": "ldv_random_containerless_scenario_6"} */
3048 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
3049 1 : ssize_t (*ldv_6_callback_show)(struct device *, struct device_attribute *, char *);
3050 1 : struct device_attribute *ldv_6_container_struct_device_attribute;
3051 1 : struct device *ldv_6_container_struct_device_ptr;
3052 1 : char *ldv_6_ldv_param_4_2_default;
3053 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
3054 1 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_DEVICE_ATTRIBUTE callbacks invocations scenario."} */
3055 3 : ldv_free(arg0);
3056 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "RECEIVE_END"} */
3057 :
3058 : /* LDV {"action": "DEFAULT_ALLOC_7", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
3059 3 : ldv_6_container_struct_device_attribute = ldv_xmalloc_unknown_size(0);
3060 3 : ldv_6_container_struct_device_ptr = ldv_xmalloc_unknown_size(0);
3061 : /* LDV {"action": "DEFAULT_ALLOC_7", "type": "CONDITION_END"} */
3062 :
3063 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
3064 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
3065 :
3066 : /* Jump to a subprocess 'call' initial state */
3067 1 : goto ldv_call_6;
3068 : /* End of the process */
3069 : return;
3070 1 :
3071 : /* Sbprocess call */
3072 : ldv_call_6:
3073 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
3074 :
3075 4 : if (ldv_undef_int()) {
3076 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
3077 3 : ldv_6_ldv_param_4_2_default = ldv_xmalloc_unknown_size(0);
3078 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
3079 :
3080 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback show from device_attribute."} */
3081 : /* LDV {"type": "CALLBACK", "call": "((& ahci_show_host_caps))(ldv_6_container_struct_device_ptr, ldv_6_container_struct_device_attribute, ldv_6_ldv_param_4_2_default);", "comment": "callback"} */
3082 2 : ldv_random_containerless_scenario_callback_6_4(ldv_6_callback_show, ldv_6_container_struct_device_ptr, ldv_6_container_struct_device_attribute, ldv_6_ldv_param_4_2_default);
3083 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
3084 :
3085 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
3086 2 : ldv_free(ldv_6_ldv_param_4_2_default);
3087 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
3088 :
3089 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
3090 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
3091 :
3092 : /* Jump to a subprocess 'call' initial state */
3093 1 : goto ldv_call_6;
3094 : }
3095 : else {
3096 : /* LDV {"action": "DEFAULT_FREE_7", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
3097 2 : ldv_free(ldv_6_container_struct_device_attribute);
3098 2 : ldv_free(ldv_6_container_struct_device_ptr);
3099 : /* LDV {"action": "DEFAULT_FREE_7", "type": "CONDITION_END"} */
3100 :
3101 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_DEVICE_ATTRIBUTE callbacks invocations scenario."} */
3102 : /* Skip a non-replicative signal receiving */
3103 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "RECEIVE_END"} */
3104 :
3105 : /* Exit function at a terminal state */
3106 1 : return;
3107 : }
3108 : /* End of the subprocess 'call' */
3109 : return;
3110 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_device_attribute)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_6"} */
3111 : }
3112 :
3113 : /* AUX_FUNC ldv_random_containerless_scenario_7 */
3114 : void ldv_random_containerless_scenario_7(void *arg0) {
3115 : /* LDV {"thread": 7, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_device_attribute)'", "function": "ldv_random_containerless_scenario_7"} */
3116 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
3117 1 : ssize_t (*ldv_7_callback_show)(struct device *, struct device_attribute *, char *);
3118 1 : struct device_attribute *ldv_7_container_struct_device_attribute;
3119 1 : struct device *ldv_7_container_struct_device_ptr;
3120 1 : char *ldv_7_ldv_param_4_2_default;
3121 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
3122 1 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_DEVICE_ATTRIBUTE callbacks invocations scenario."} */
3123 3 : ldv_free(arg0);
3124 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "RECEIVE_END"} */
3125 :
3126 : /* LDV {"action": "DEFAULT_ALLOC_7", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
3127 3 : ldv_7_container_struct_device_attribute = ldv_xmalloc_unknown_size(0);
3128 3 : ldv_7_container_struct_device_ptr = ldv_xmalloc_unknown_size(0);
3129 : /* LDV {"action": "DEFAULT_ALLOC_7", "type": "CONDITION_END"} */
3130 :
3131 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
3132 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
3133 :
3134 : /* Jump to a subprocess 'call' initial state */
3135 1 : goto ldv_call_7;
3136 : /* End of the process */
3137 : return;
3138 1 :
3139 : /* Sbprocess call */
3140 : ldv_call_7:
3141 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
3142 :
3143 4 : if (ldv_undef_int()) {
3144 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
3145 3 : ldv_7_ldv_param_4_2_default = ldv_xmalloc_unknown_size(0);
3146 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
3147 :
3148 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback show from device_attribute."} */
3149 : /* LDV {"type": "CALLBACK", "call": "((& ahci_show_host_version))(ldv_7_container_struct_device_ptr, ldv_7_container_struct_device_attribute, ldv_7_ldv_param_4_2_default);", "comment": "callback"} */
3150 2 : ldv_random_containerless_scenario_callback_7_4(ldv_7_callback_show, ldv_7_container_struct_device_ptr, ldv_7_container_struct_device_attribute, ldv_7_ldv_param_4_2_default);
3151 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
3152 :
3153 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
3154 2 : ldv_free(ldv_7_ldv_param_4_2_default);
3155 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
3156 :
3157 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
3158 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
3159 :
3160 : /* Jump to a subprocess 'call' initial state */
3161 1 : goto ldv_call_7;
3162 : }
3163 : else {
3164 : /* LDV {"action": "DEFAULT_FREE_7", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
3165 2 : ldv_free(ldv_7_container_struct_device_attribute);
3166 2 : ldv_free(ldv_7_container_struct_device_ptr);
3167 : /* LDV {"action": "DEFAULT_FREE_7", "type": "CONDITION_END"} */
3168 :
3169 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_DEVICE_ATTRIBUTE callbacks invocations scenario."} */
3170 : /* Skip a non-replicative signal receiving */
3171 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "RECEIVE_END"} */
3172 :
3173 : /* Exit function at a terminal state */
3174 1 : return;
3175 : }
3176 : /* End of the subprocess 'call' */
3177 : return;
3178 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_device_attribute)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_7"} */
3179 : }
3180 :
3181 : /* AUX_FUNC ldv_random_containerless_scenario_8 */
3182 : void ldv_random_containerless_scenario_8(void *arg0) {
3183 : /* LDV {"thread": 8, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_device_attribute)'", "function": "ldv_random_containerless_scenario_8"} */
3184 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
3185 1 : ssize_t (*ldv_8_callback_show)(struct device *, struct device_attribute *, char *);
3186 1 : struct device_attribute *ldv_8_container_struct_device_attribute;
3187 1 : struct device *ldv_8_container_struct_device_ptr;
3188 1 : char *ldv_8_ldv_param_4_2_default;
3189 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
3190 1 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_DEVICE_ATTRIBUTE callbacks invocations scenario."} */
3191 3 : ldv_free(arg0);
3192 : /* LDV {"action": "DEFAULT_REGISTER_7", "type": "RECEIVE_END"} */
3193 :
3194 : /* LDV {"action": "DEFAULT_ALLOC_7", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
3195 3 : ldv_8_container_struct_device_attribute = ldv_xmalloc_unknown_size(0);
3196 3 : ldv_8_container_struct_device_ptr = ldv_xmalloc_unknown_size(0);
3197 : /* LDV {"action": "DEFAULT_ALLOC_7", "type": "CONDITION_END"} */
3198 :
3199 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
3200 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
3201 :
3202 : /* Jump to a subprocess 'call' initial state */
3203 1 : goto ldv_call_8;
3204 : /* End of the process */
3205 : return;
3206 1 :
3207 : /* Sbprocess call */
3208 : ldv_call_8:
3209 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
3210 :
3211 4 : if (ldv_undef_int()) {
3212 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
3213 3 : ldv_8_ldv_param_4_2_default = ldv_xmalloc_unknown_size(0);
3214 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
3215 :
3216 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback show from device_attribute."} */
3217 : /* LDV {"type": "CALLBACK", "call": "((& ahci_show_port_cmd))(ldv_8_container_struct_device_ptr, ldv_8_container_struct_device_attribute, ldv_8_ldv_param_4_2_default);", "comment": "callback"} */
3218 2 : ldv_random_containerless_scenario_callback_8_4(ldv_8_callback_show, ldv_8_container_struct_device_ptr, ldv_8_container_struct_device_attribute, ldv_8_ldv_param_4_2_default);
3219 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
3220 :
3221 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
3222 2 : ldv_free(ldv_8_ldv_param_4_2_default);
3223 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
3224 :
3225 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
3226 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
3227 :
3228 : /* Jump to a subprocess 'call' initial state */
3229 1 : goto ldv_call_8;
3230 : }
3231 : else {
3232 : /* LDV {"action": "DEFAULT_FREE_7", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
3233 2 : ldv_free(ldv_8_container_struct_device_attribute);
3234 2 : ldv_free(ldv_8_container_struct_device_ptr);
3235 : /* LDV {"action": "DEFAULT_FREE_7", "type": "CONDITION_END"} */
3236 :
3237 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_DEVICE_ATTRIBUTE callbacks invocations scenario."} */
3238 : /* Skip a non-replicative signal receiving */
3239 : /* LDV {"action": "DEFAULT_DEREGISTER_7", "type": "RECEIVE_END"} */
3240 :
3241 : /* Exit function at a terminal state */
3242 1 : return;
3243 : }
3244 : /* End of the subprocess 'call' */
3245 : return;
3246 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_device_attribute)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_8"} */
3247 : }
3248 :
3249 : /* AUX_FUNC ldv_random_containerless_scenario_9 */
3250 : void ldv_random_containerless_scenario_9(void *arg0) {
3251 : /* LDV {"thread": 9, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'random_containerless_scenario(struct_kernel_param)'", "function": "ldv_random_containerless_scenario_9"} */
3252 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
3253 1 : int (*ldv_9_callback_get)(char *, struct kernel_param *);
3254 1 : int (*ldv_9_callback_set)(char *, struct kernel_param *);
3255 1 : struct kernel_param *ldv_9_container_struct_kernel_param;
3256 1 : char *ldv_9_ldv_param_10_0_default;
3257 1 : char *ldv_9_ldv_param_4_0_default;
3258 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
3259 1 : /* LDV {"action": "DEFAULT_REGISTER_8", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_KERNEL_PARAM callbacks invocations scenario."} */
3260 3 : ldv_free(arg0);
3261 1 : /* LDV {"action": "DEFAULT_REGISTER_8", "type": "RECEIVE_END"} */
3262 :
3263 : /* LDV {"action": "DEFAULT_ALLOC_8", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
3264 3 : ldv_9_container_struct_kernel_param = ldv_xmalloc_unknown_size(0);
3265 : /* LDV {"action": "DEFAULT_ALLOC_8", "type": "CONDITION_END"} */
3266 :
3267 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
3268 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
3269 :
3270 : /* Jump to a subprocess 'call' initial state */
3271 1 : goto ldv_call_9;
3272 : /* End of the process */
3273 : return;
3274 1 :
3275 : /* Sbprocess call */
3276 : ldv_call_9:
3277 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
3278 :
3279 4 : if (ldv_undef_int()) {
3280 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
3281 3 : ldv_9_ldv_param_4_0_default = ldv_xmalloc_unknown_size(0);
3282 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
3283 :
3284 4 : if (ldv_undef_int()) {
3285 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
3286 3 : ldv_9_ldv_param_10_0_default = ldv_xmalloc_unknown_size(0);
3287 : /* LDV {"action": "PRE_CALL_10", "type": "CONDITION_END"} */
3288 :
3289 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback set from kernel_param."} */
3290 : /* LDV {"type": "CALLBACK", "call": "((& param_set_int))(ldv_9_ldv_param_10_0_default, ldv_9_container_struct_kernel_param);", "comment": "callback"} */
3291 2 : ldv_random_containerless_scenario_callback_9_10(ldv_9_callback_set, ldv_9_ldv_param_10_0_default, ldv_9_container_struct_kernel_param);
3292 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
3293 :
3294 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
3295 2 : ldv_free(ldv_9_ldv_param_10_0_default);
3296 : /* LDV {"action": "POST_CALL_10", "type": "CONDITION_END"} */
3297 :
3298 : }
3299 : else {
3300 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback get from kernel_param."} */
3301 : /* LDV {"type": "CALLBACK", "call": "((& param_get_int))(ldv_9_ldv_param_4_0_default, ldv_9_container_struct_kernel_param);", "comment": "callback"} */
3302 2 : ldv_random_containerless_scenario_callback_9_4(ldv_9_callback_get, ldv_9_ldv_param_4_0_default, ldv_9_container_struct_kernel_param);
3303 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
3304 :
3305 : }
3306 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
3307 4 : ldv_free(ldv_9_ldv_param_4_0_default);
3308 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
3309 :
3310 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Prepare to call a random callback or deregister the callbacks."} */
3311 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
3312 :
3313 : /* Jump to a subprocess 'call' initial state */
3314 1 : goto ldv_call_9;
3315 : }
3316 : else {
3317 : /* LDV {"action": "DEFAULT_FREE_8", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
3318 2 : ldv_free(ldv_9_container_struct_kernel_param);
3319 : /* LDV {"action": "DEFAULT_FREE_8", "type": "CONDITION_END"} */
3320 :
3321 : /* LDV {"action": "DEFAULT_DEREGISTER_8", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_KERNEL_PARAM callbacks invocations scenario."} */
3322 : /* Skip a non-replicative signal receiving */
3323 : /* LDV {"action": "DEFAULT_DEREGISTER_8", "type": "RECEIVE_END"} */
3324 :
3325 : /* Exit function at a terminal state */
3326 1 : return;
3327 : }
3328 : /* End of the subprocess 'call' */
3329 : return;
3330 : /* LDV {"comment": "End of control function based on process 'random_containerless_scenario(struct_kernel_param)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_random_containerless_scenario_9"} */
3331 : }
3332 :
3333 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_12 */
3334 : void ldv_random_containerless_scenario_callback_3_12(ssize_t (*arg0)(struct ata_port *, char *, size_t ), struct ata_port *arg1, char *arg2, long unsigned int arg3) {
3335 3 : ((& ahci_led_store))(arg1, arg2, arg3);
3336 1 : }
3337 :
3338 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_15 */
3339 : void ldv_random_containerless_scenario_callback_3_15(int (*arg0)(struct ata_port *, enum link_pm), struct ata_port *arg1, enum link_pm arg2) {
3340 4 : ((& ahci_enable_alpm))(arg1, arg2);
3341 1 : }
3342 :
3343 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_16 */
3344 : void ldv_random_containerless_scenario_callback_3_16(void (*arg0)(struct ata_port *), struct ata_port *arg1) {
3345 3 : ((& ahci_error_handler))(arg1);
3346 1 : }
3347 :
3348 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_17 */
3349 : void ldv_random_containerless_scenario_callback_3_17(void (*arg0)(struct ata_port *), struct ata_port *arg1) {
3350 2 : ((& ahci_freeze))(arg1);
3351 1 : }
3352 :
3353 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_18 */
3354 : void ldv_random_containerless_scenario_callback_3_18(int (*arg0)(struct ata_link *, unsigned int *, long unsigned int), struct ata_link *arg1, unsigned int *arg2, long unsigned int arg3) {
3355 3 : ((& ahci_p5wdh_hardreset))(arg1, arg2, arg3);
3356 1 : }
3357 :
3358 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_21 */
3359 : void ldv_random_containerless_scenario_callback_3_21(void (*arg0)(struct ata_port *), struct ata_port *arg1) {
3360 2 : ((& ahci_pmp_attach))(arg1);
3361 1 : }
3362 :
3363 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_22 */
3364 : void ldv_random_containerless_scenario_callback_3_22(void (*arg0)(struct ata_port *), struct ata_port *arg1) {
3365 2 : ((& ahci_pmp_detach))(arg1);
3366 1 : }
3367 :
3368 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_23 */
3369 : void ldv_random_containerless_scenario_callback_3_23(int (*arg0)(struct ata_link *, unsigned int *, long unsigned int), struct ata_link *arg1, unsigned int *arg2, long unsigned int arg3) {
3370 2 : ((& ahci_softreset))(arg1, arg2, arg3);
3371 1 : }
3372 :
3373 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_26 */
3374 : void ldv_random_containerless_scenario_callback_3_26(int (*arg0)(struct ata_port *), struct ata_port *arg1) {
3375 3 : ((& ahci_port_start))(arg1);
3376 1 : }
3377 :
3378 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_27 */
3379 : void ldv_random_containerless_scenario_callback_3_27(void (*arg0)(struct ata_port *), struct ata_port *arg1) {
3380 2 : ((& ahci_port_stop))(arg1);
3381 1 : }
3382 :
3383 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_28 */
3384 : void ldv_random_containerless_scenario_callback_3_28(void (*arg0)(struct ata_queued_cmd *), struct ata_queued_cmd *arg1) {
3385 3 : ((& ahci_post_internal_cmd))(arg1);
3386 1 : }
3387 :
3388 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_29 */
3389 : void ldv_random_containerless_scenario_callback_3_29(void (*arg0)(struct ata_link *, unsigned int *), struct ata_link *arg1, unsigned int *arg2) {
3390 3 : ((& ahci_postreset))(arg1, arg2);
3391 1 : }
3392 :
3393 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_32 */
3394 : void ldv_random_containerless_scenario_callback_3_32(int (*arg0)(struct ata_queued_cmd *), struct ata_queued_cmd *arg1) {
3395 1 : ((& sata_pmp_qc_defer_cmd_switch))(arg1);
3396 1 : }
3397 :
3398 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_33 */
3399 : void ldv_random_containerless_scenario_callback_3_33(bool (*arg0)(struct ata_queued_cmd *), struct ata_queued_cmd *arg1) {
3400 2 : ((& ahci_qc_fill_rtf))(arg1);
3401 1 : }
3402 :
3403 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_34 */
3404 : void ldv_random_containerless_scenario_callback_3_34(unsigned int (*arg0)(struct ata_queued_cmd *), struct ata_queued_cmd *arg1) {
3405 2 : ((& ahci_qc_issue))(arg1);
3406 1 : }
3407 :
3408 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_35 */
3409 : void ldv_random_containerless_scenario_callback_3_35(void (*arg0)(struct ata_queued_cmd *), struct ata_queued_cmd *arg1) {
3410 2 : ((& ahci_qc_prep))(arg1);
3411 1 : }
3412 :
3413 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_36 */
3414 : void ldv_random_containerless_scenario_callback_3_36(int (*arg0)(struct ata_link *, unsigned int, u32 *), struct ata_link *arg1, unsigned int arg2, unsigned int *arg3) {
3415 3 : ((& ahci_scr_read))(arg1, arg2, arg3);
3416 1 : }
3417 :
3418 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_39 */
3419 : void ldv_random_containerless_scenario_callback_3_39(int (*arg0)(struct ata_link *, unsigned int, u32 ), struct ata_link *arg1, unsigned int arg2, unsigned int arg3) {
3420 3 : ((& ahci_scr_write))(arg1, arg2, arg3);
3421 1 : }
3422 :
3423 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_4 */
3424 : void ldv_random_containerless_scenario_callback_3_4(void (*arg0)(struct ata_device *), struct ata_device *arg1) {
3425 2 : ((& ahci_dev_config))(arg1);
3426 1 : }
3427 :
3428 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_42 */
3429 : void ldv_random_containerless_scenario_callback_3_42(int (*arg0)(struct ata_link *, unsigned int *, long unsigned int), struct ata_link *arg1, unsigned int *arg2, long unsigned int arg3) {
3430 2 : ((& ahci_softreset))(arg1, arg2, arg3);
3431 1 : }
3432 :
3433 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_45 */
3434 : void ldv_random_containerless_scenario_callback_3_45(ssize_t (*arg0)(struct ata_device *, char *), struct ata_device *arg1, char *arg2) {
3435 2 : ((& ahci_activity_show))(arg1, arg2);
3436 1 : }
3437 :
3438 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_48 */
3439 : void ldv_random_containerless_scenario_callback_3_48(ssize_t (*arg0)(struct ata_device *, enum sw_activity), struct ata_device *arg1, enum sw_activity arg2) {
3440 4 : ((& ahci_activity_store))(arg1, arg2);
3441 1 : }
3442 :
3443 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_49 */
3444 : void ldv_random_containerless_scenario_callback_3_49(void (*arg0)(struct ata_port *), struct ata_port *arg1) {
3445 2 : ((& ahci_thaw))(arg1);
3446 1 : }
3447 :
3448 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_8 */
3449 : void ldv_random_containerless_scenario_callback_3_8(void (*arg0)(struct ata_port *), struct ata_port *arg1) {
3450 2 : ((& ahci_disable_alpm))(arg1);
3451 1 : }
3452 :
3453 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_3_9 */
3454 : void ldv_random_containerless_scenario_callback_3_9(ssize_t (*arg0)(struct ata_port *, char *), struct ata_port *arg1, char *arg2) {
3455 2 : ((& ahci_led_show))(arg1, arg2);
3456 1 : }
3457 :
3458 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_12 */
3459 : void ldv_random_containerless_scenario_callback_4_12(ssize_t (*arg0)(struct ata_port *, char *, size_t ), struct ata_port *arg1, char *arg2, long unsigned int arg3) {
3460 3 : ((& ahci_led_store))(arg1, arg2, arg3);
3461 1 : }
3462 :
3463 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_15 */
3464 : void ldv_random_containerless_scenario_callback_4_15(int (*arg0)(struct ata_port *, enum link_pm), struct ata_port *arg1, enum link_pm arg2) {
3465 4 : ((& ahci_enable_alpm))(arg1, arg2);
3466 1 : }
3467 :
3468 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_16 */
3469 : void ldv_random_containerless_scenario_callback_4_16(void (*arg0)(struct ata_port *), struct ata_port *arg1) {
3470 3 : ((& ahci_error_handler))(arg1);
3471 1 : }
3472 :
3473 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_17 */
3474 : void ldv_random_containerless_scenario_callback_4_17(void (*arg0)(struct ata_port *), struct ata_port *arg1) {
3475 2 : ((& ahci_freeze))(arg1);
3476 1 : }
3477 :
3478 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_18 */
3479 : void ldv_random_containerless_scenario_callback_4_18(int (*arg0)(struct ata_link *, unsigned int *, long unsigned int), struct ata_link *arg1, unsigned int *arg2, long unsigned int arg3) {
3480 2 : ((& ahci_vt8251_hardreset))(arg1, arg2, arg3);
3481 1 : }
3482 :
3483 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_21 */
3484 : void ldv_random_containerless_scenario_callback_4_21(void (*arg0)(struct ata_port *), struct ata_port *arg1) {
3485 2 : ((& ahci_pmp_attach))(arg1);
3486 1 : }
3487 :
3488 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_22 */
3489 : void ldv_random_containerless_scenario_callback_4_22(void (*arg0)(struct ata_port *), struct ata_port *arg1) {
3490 2 : ((& ahci_pmp_detach))(arg1);
3491 1 : }
3492 :
3493 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_23 */
3494 : void ldv_random_containerless_scenario_callback_4_23(int (*arg0)(struct ata_link *, unsigned int *, long unsigned int), struct ata_link *arg1, unsigned int *arg2, long unsigned int arg3) {
3495 2 : ((& ahci_softreset))(arg1, arg2, arg3);
3496 1 : }
3497 :
3498 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_26 */
3499 : void ldv_random_containerless_scenario_callback_4_26(int (*arg0)(struct ata_port *), struct ata_port *arg1) {
3500 3 : ((& ahci_port_start))(arg1);
3501 1 : }
3502 :
3503 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_27 */
3504 : void ldv_random_containerless_scenario_callback_4_27(void (*arg0)(struct ata_port *), struct ata_port *arg1) {
3505 2 : ((& ahci_port_stop))(arg1);
3506 1 : }
3507 :
3508 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_28 */
3509 : void ldv_random_containerless_scenario_callback_4_28(void (*arg0)(struct ata_queued_cmd *), struct ata_queued_cmd *arg1) {
3510 3 : ((& ahci_post_internal_cmd))(arg1);
3511 1 : }
3512 :
3513 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_29 */
3514 : void ldv_random_containerless_scenario_callback_4_29(void (*arg0)(struct ata_link *, unsigned int *), struct ata_link *arg1, unsigned int *arg2) {
3515 3 : ((& ahci_postreset))(arg1, arg2);
3516 1 : }
3517 :
3518 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_32 */
3519 : void ldv_random_containerless_scenario_callback_4_32(int (*arg0)(struct ata_queued_cmd *), struct ata_queued_cmd *arg1) {
3520 1 : ((& sata_pmp_qc_defer_cmd_switch))(arg1);
3521 1 : }
3522 :
3523 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_33 */
3524 : void ldv_random_containerless_scenario_callback_4_33(bool (*arg0)(struct ata_queued_cmd *), struct ata_queued_cmd *arg1) {
3525 2 : ((& ahci_qc_fill_rtf))(arg1);
3526 1 : }
3527 :
3528 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_34 */
3529 : void ldv_random_containerless_scenario_callback_4_34(unsigned int (*arg0)(struct ata_queued_cmd *), struct ata_queued_cmd *arg1) {
3530 2 : ((& ahci_qc_issue))(arg1);
3531 1 : }
3532 :
3533 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_35 */
3534 : void ldv_random_containerless_scenario_callback_4_35(void (*arg0)(struct ata_queued_cmd *), struct ata_queued_cmd *arg1) {
3535 2 : ((& ahci_qc_prep))(arg1);
3536 1 : }
3537 :
3538 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_36 */
3539 : void ldv_random_containerless_scenario_callback_4_36(int (*arg0)(struct ata_link *, unsigned int, u32 *), struct ata_link *arg1, unsigned int arg2, unsigned int *arg3) {
3540 3 : ((& ahci_scr_read))(arg1, arg2, arg3);
3541 1 : }
3542 :
3543 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_39 */
3544 : void ldv_random_containerless_scenario_callback_4_39(int (*arg0)(struct ata_link *, unsigned int, u32 ), struct ata_link *arg1, unsigned int arg2, unsigned int arg3) {
3545 3 : ((& ahci_scr_write))(arg1, arg2, arg3);
3546 1 : }
3547 :
3548 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_4 */
3549 : void ldv_random_containerless_scenario_callback_4_4(void (*arg0)(struct ata_device *), struct ata_device *arg1) {
3550 2 : ((& ahci_dev_config))(arg1);
3551 1 : }
3552 :
3553 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_42 */
3554 : void ldv_random_containerless_scenario_callback_4_42(int (*arg0)(struct ata_link *, unsigned int *, long unsigned int), struct ata_link *arg1, unsigned int *arg2, long unsigned int arg3) {
3555 2 : ((& ahci_softreset))(arg1, arg2, arg3);
3556 1 : }
3557 :
3558 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_45 */
3559 : void ldv_random_containerless_scenario_callback_4_45(ssize_t (*arg0)(struct ata_device *, char *), struct ata_device *arg1, char *arg2) {
3560 2 : ((& ahci_activity_show))(arg1, arg2);
3561 1 : }
3562 :
3563 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_48 */
3564 : void ldv_random_containerless_scenario_callback_4_48(ssize_t (*arg0)(struct ata_device *, enum sw_activity), struct ata_device *arg1, enum sw_activity arg2) {
3565 4 : ((& ahci_activity_store))(arg1, arg2);
3566 1 : }
3567 :
3568 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_49 */
3569 : void ldv_random_containerless_scenario_callback_4_49(void (*arg0)(struct ata_port *), struct ata_port *arg1) {
3570 2 : ((& ahci_thaw))(arg1);
3571 1 : }
3572 :
3573 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_8 */
3574 : void ldv_random_containerless_scenario_callback_4_8(void (*arg0)(struct ata_port *), struct ata_port *arg1) {
3575 2 : ((& ahci_disable_alpm))(arg1);
3576 1 : }
3577 :
3578 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_4_9 */
3579 : void ldv_random_containerless_scenario_callback_4_9(ssize_t (*arg0)(struct ata_port *, char *), struct ata_port *arg1, char *arg2) {
3580 2 : ((& ahci_led_show))(arg1, arg2);
3581 1 : }
3582 :
3583 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_5_4 */
3584 : void ldv_random_containerless_scenario_callback_5_4(ssize_t (*arg0)(struct device *, struct device_attribute *, char *), struct device *arg1, struct device_attribute *arg2, char *arg3) {
3585 2 : ((& ahci_show_host_cap2))(arg1, arg2, arg3);
3586 1 : }
3587 :
3588 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_6_4 */
3589 : void ldv_random_containerless_scenario_callback_6_4(ssize_t (*arg0)(struct device *, struct device_attribute *, char *), struct device *arg1, struct device_attribute *arg2, char *arg3) {
3590 2 : ((& ahci_show_host_caps))(arg1, arg2, arg3);
3591 1 : }
3592 :
3593 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_7_4 */
3594 : void ldv_random_containerless_scenario_callback_7_4(ssize_t (*arg0)(struct device *, struct device_attribute *, char *), struct device *arg1, struct device_attribute *arg2, char *arg3) {
3595 2 : ((& ahci_show_host_version))(arg1, arg2, arg3);
3596 1 : }
3597 :
3598 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_8_4 */
3599 : void ldv_random_containerless_scenario_callback_8_4(ssize_t (*arg0)(struct device *, struct device_attribute *, char *), struct device *arg1, struct device_attribute *arg2, char *arg3) {
3600 2 : ((& ahci_show_port_cmd))(arg1, arg2, arg3);
3601 1 : }
3602 :
3603 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_9_10 */
3604 : void ldv_random_containerless_scenario_callback_9_10(int (*arg0)(char *, struct kernel_param *), char *arg1, struct kernel_param *arg2) {
3605 1 : ((& param_set_int))(arg1, arg2);
3606 1 : }
3607 :
3608 : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_9_4 */
3609 : void ldv_random_containerless_scenario_callback_9_4(int (*arg0)(char *, struct kernel_param *), char *arg1, struct kernel_param *arg2) {
3610 1 : ((& param_get_int))(arg1, arg2);
3611 1 : }
3612 :
3613 : /* AUX_FUNC ldv_scsi_LLDd_scenario_2 */
3614 : void ldv_scsi_LLDd_scenario_2(void *arg0) {
3615 : /* LDV {"thread": 2, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'scsi_LLDd_scenario(scsi_host_template)'", "function": "ldv_scsi_LLDd_scenario_2"} */
3616 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
3617 : int (*ldv_2_callback_bios_param)(struct scsi_device *, struct block_device *, long unsigned int, int *);
3618 1 : int (*ldv_2_callback_change_queue_depth)(struct scsi_device *, int, int);
3619 1 : int (*ldv_2_callback_ioctl)(struct scsi_device *, int, void *);
3620 1 : int (*ldv_2_callback_queuecommand)(struct scsi_cmnd *, void (*)(struct scsi_cmnd *));
3621 1 : int (*ldv_2_callback_slave_configure)(struct scsi_device *);
3622 1 : void (*ldv_2_callback_slave_destroy)(struct scsi_device *);
3623 1 : struct Scsi_Host *ldv_2_host_host;
3624 1 : struct scsi_device *ldv_2_host_struct_scsi_device_ptr;
3625 1 : int ldv_2_ldv_param_17_1_default;
3626 1 : int ldv_2_ldv_param_17_2_default;
3627 1 : int ldv_2_ldv_param_20_1_default;
3628 1 : void *ldv_2_ldv_param_20_2_default;
3629 1 : struct scsi_cmnd *ldv_2_ldv_param_23_0_default;
3630 1 : void (*ldv_2_ldv_param_23_1_default)(struct scsi_cmnd *);
3631 1 : struct block_device *ldv_2_ldv_param_4_1_default;
3632 1 : long unsigned int ldv_2_ldv_param_4_2_default;
3633 1 : int *ldv_2_ldv_param_4_3_default;
3634 1 : int ldv_2_ret_default;
3635 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
3636 1 : /* Initialize automaton variables */
3637 2 : ldv_2_ret_default = 1;
3638 1 : /* LDV {"action": "DEFAULT_REGISTER_5", "type": "RECEIVE_BEGIN", "comment": "Begin SCSI_HOST_TEMPLATE callbacks invocations scenario."} */
3639 3 : ldv_free(arg0);
3640 1 : /* LDV {"action": "DEFAULT_REGISTER_5", "type": "RECEIVE_END"} */
3641 1 :
3642 1 : /* LDV {"action": "DEFAULT_ALLOC_5", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
3643 4 : ldv_2_host_host = ldv_xmalloc_unknown_size(0);
3644 4 : ldv_2_host_struct_scsi_device_ptr = ldv_xmalloc_unknown_size(0);
3645 : /* LDV {"action": "DEFAULT_ALLOC_5", "type": "CONDITION_END"} */
3646 :
3647 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Old style SCSI drivers initialization."} */
3648 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
3649 :
3650 : /* Jump to a subprocess 'main' initial state */
3651 1 : goto ldv_main_2;
3652 : /* End of the process */
3653 : return;
3654 1 :
3655 : /* Sbprocess main */
3656 : ldv_main_2:
3657 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
3658 :
3659 4 : if (ldv_undef_int()) {
3660 : /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Initialize the SCSI driver. Invoke callback probe from SCSI_HOST_TEMPLATE."} */
3661 : /* Callback pre-call */
3662 1 : ldv_pre_probe();
3663 3 : if (ldv_2_host_host->hostt->detect) {
3664 : /* LDV {"type": "CALLBACK", "call": "ldv_2_ret_default = (ldv_2_host_host->hostt->detect)(ldv_2_host_host);", "comment": "probe"} */
3665 3 : ldv_2_ret_default = ldv_scsi_LLDd_scenario_probe_2_11(ldv_2_host_host->hostt->detect, ldv_2_host_host);
3666 : }
3667 : /* Callback post-call */
3668 4 : ldv_2_ret_default = ldv_post_probe(ldv_2_ret_default);
3669 : /* LDV {"action": "PROBE", "type": "CALL_END"} */
3670 :
3671 4 : if (ldv_undef_int()) {
3672 : /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "Successfully initialized SCSI driver."} */
3673 2 : ldv_assume(ldv_2_ret_default == 0);
3674 : /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
3675 :
3676 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Call mid-layer callbacks"} */
3677 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
3678 :
3679 : /* Jump to a subprocess 'call' initial state */
3680 1 : goto ldv_call_2;
3681 : }
3682 : else {
3683 : /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Initialization of the SCSI driver has failed."} */
3684 2 : ldv_assume(ldv_2_ret_default != 0);
3685 : /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
3686 :
3687 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Old style SCSI drivers initialization."} */
3688 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
3689 :
3690 : /* Jump to a subprocess 'main' initial state */
3691 1 : goto ldv_main_2;
3692 : }
3693 : }
3694 : else {
3695 : /* LDV {"action": "DEFAULT_FREE_5", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
3696 2 : ldv_free(ldv_2_host_host);
3697 2 : ldv_free(ldv_2_host_struct_scsi_device_ptr);
3698 : /* LDV {"action": "DEFAULT_FREE_5", "type": "CONDITION_END"} */
3699 :
3700 : /* LDV {"action": "DEFAULT_DEREGISTER_5", "type": "RECEIVE_BEGIN", "comment": "Finish SCSI_HOST_TEMPLATE callbacks invocations scenario."} */
3701 : /* Skip a non-replicative signal receiving */
3702 : /* LDV {"action": "DEFAULT_DEREGISTER_5", "type": "RECEIVE_END"} */
3703 :
3704 : /* Exit function at a terminal state */
3705 1 : return;
3706 : }
3707 : /* End of the subprocess 'main' */
3708 : return;
3709 1 :
3710 : /* Sbprocess call */
3711 : ldv_call_2:
3712 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
3713 :
3714 4 : if (ldv_undef_int()) {
3715 : /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Detach the SCSI driver. Invoke callback release from SCSI_HOST_TEMPLATE."} */
3716 3 : if (ldv_2_host_host->hostt->release) {
3717 : /* LDV {"type": "CALLBACK", "call": "(ldv_2_host_host->hostt->release)(ldv_2_host_host);", "comment": "release"} */
3718 2 : ldv_scsi_LLDd_scenario_release_2_2(ldv_2_host_host->hostt->release, ldv_2_host_host);
3719 : }
3720 : /* LDV {"action": "RELEASE", "type": "CALL_END"} */
3721 :
3722 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Old style SCSI drivers initialization."} */
3723 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
3724 :
3725 : /* Jump to a subprocess 'main' initial state */
3726 2 : goto ldv_main_2;
3727 : }
3728 : else {
3729 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
3730 3 : ldv_2_ldv_param_4_1_default = ldv_xmalloc_unknown_size(0);
3731 3 : ldv_2_ldv_param_4_3_default = ldv_xmalloc_unknown_size(0);
3732 : /* LDV {"action": "PRE_CALL_4", "type": "CONDITION_END"} */
3733 :
3734 2 : switch (ldv_undef_int()) {
3735 3 : case 1: {
3736 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random mid layer SCSI callback. Invoke callback slave_destroy from scsi_host_template."} */
3737 : /* LDV {"type": "CALLBACK", "call": "((& ata_scsi_slave_destroy))(ldv_2_host_struct_scsi_device_ptr);", "comment": "callback"} */
3738 2 : ldv_scsi_LLDd_scenario_callback_2_27(ldv_2_callback_slave_destroy, ldv_2_host_struct_scsi_device_ptr);
3739 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
3740 :
3741 1 : break;
3742 1 : }
3743 3 : case 2: {
3744 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random mid layer SCSI callback. Invoke callback slave_configure from scsi_host_template."} */
3745 : /* LDV {"type": "CALLBACK", "call": "((& ata_scsi_slave_config))(ldv_2_host_struct_scsi_device_ptr);", "comment": "callback"} */
3746 2 : ldv_scsi_LLDd_scenario_callback_2_26(ldv_2_callback_slave_configure, ldv_2_host_struct_scsi_device_ptr);
3747 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
3748 :
3749 1 : break;
3750 1 : }
3751 3 : case 3: {
3752 : /* LDV {"action": "PRE_CALL_23", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
3753 3 : ldv_2_ldv_param_23_0_default = ldv_xmalloc_unknown_size(0);
3754 3 : ldv_2_ldv_param_23_1_default = ldv_xmalloc_unknown_size(0);
3755 : /* LDV {"action": "PRE_CALL_23", "type": "CONDITION_END"} */
3756 :
3757 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random mid layer SCSI callback. Invoke callback queuecommand from scsi_host_template."} */
3758 : /* LDV {"type": "CALLBACK", "call": "((& ata_scsi_queuecmd))(ldv_2_ldv_param_23_0_default, ldv_2_ldv_param_23_1_default);", "comment": "callback"} */
3759 2 : ldv_scsi_LLDd_scenario_callback_2_23(ldv_2_callback_queuecommand, ldv_2_ldv_param_23_0_default, ldv_2_ldv_param_23_1_default);
3760 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
3761 :
3762 : /* LDV {"action": "POST_CALL_23", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
3763 2 : ldv_free(ldv_2_ldv_param_23_0_default);
3764 2 : ldv_free(ldv_2_ldv_param_23_1_default);
3765 : /* LDV {"action": "POST_CALL_23", "type": "CONDITION_END"} */
3766 :
3767 1 : break;
3768 1 : }
3769 3 : case 4: {
3770 : /* LDV {"action": "PRE_CALL_20", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
3771 2 : ldv_2_ldv_param_20_2_default = ldv_xmalloc_unknown_size(0);
3772 : /* LDV {"action": "PRE_CALL_20", "type": "CONDITION_END"} */
3773 :
3774 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random mid layer SCSI callback. Invoke callback ioctl from scsi_host_template."} */
3775 : /* LDV {"type": "CALLBACK", "call": "((& ata_scsi_ioctl))(ldv_2_host_struct_scsi_device_ptr, ldv_2_ldv_param_20_1_default, ldv_2_ldv_param_20_2_default);", "comment": "callback"} */
3776 2 : ldv_scsi_LLDd_scenario_callback_2_20(ldv_2_callback_ioctl, ldv_2_host_struct_scsi_device_ptr, ldv_2_ldv_param_20_1_default, ldv_2_ldv_param_20_2_default);
3777 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
3778 :
3779 : /* LDV {"action": "POST_CALL_20", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
3780 2 : ldv_free(ldv_2_ldv_param_20_2_default);
3781 : /* LDV {"action": "POST_CALL_20", "type": "CONDITION_END"} */
3782 :
3783 1 : break;
3784 1 : }
3785 3 : case 5: {
3786 : /* LDV {"action": "PRE_CALL_17", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
3787 : /* LDV {"action": "PRE_CALL_17", "type": "CONDITION_END"} */
3788 :
3789 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random mid layer SCSI callback. Invoke callback change_queue_depth from scsi_host_template."} */
3790 : /* LDV {"type": "CALLBACK", "call": "((& ata_scsi_change_queue_depth))(ldv_2_host_struct_scsi_device_ptr, ldv_2_ldv_param_17_1_default, ldv_2_ldv_param_17_2_default);", "comment": "callback"} */
3791 2 : ldv_scsi_LLDd_scenario_callback_2_17(ldv_2_callback_change_queue_depth, ldv_2_host_struct_scsi_device_ptr, ldv_2_ldv_param_17_1_default, ldv_2_ldv_param_17_2_default);
3792 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
3793 :
3794 : /* LDV {"action": "POST_CALL_17", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
3795 : /* LDV {"action": "POST_CALL_17", "type": "CONDITION_END"} */
3796 :
3797 1 : break;
3798 1 : }
3799 3 : case 6: {
3800 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random mid layer SCSI callback. Invoke callback bios_param from scsi_host_template."} */
3801 : /* LDV {"type": "CALLBACK", "call": "((& ata_std_bios_param))(ldv_2_host_struct_scsi_device_ptr, ldv_2_ldv_param_4_1_default, ldv_2_ldv_param_4_2_default, ldv_2_ldv_param_4_3_default);", "comment": "callback"} */
3802 2 : ldv_scsi_LLDd_scenario_callback_2_4(ldv_2_callback_bios_param, ldv_2_host_struct_scsi_device_ptr, ldv_2_ldv_param_4_1_default, ldv_2_ldv_param_4_2_default, ldv_2_ldv_param_4_3_default);
3803 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
3804 :
3805 1 : break;
3806 1 : }
3807 2 : default: ldv_stop();
3808 1 : }
3809 0 : }
3810 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
3811 12 : ldv_free(ldv_2_ldv_param_4_1_default);
3812 2 : ldv_free(ldv_2_ldv_param_4_3_default);
3813 : /* LDV {"action": "POST_CALL_4", "type": "CONDITION_END"} */
3814 :
3815 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Call mid-layer callbacks"} */
3816 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
3817 :
3818 : /* Jump to a subprocess 'call' initial state */
3819 1 : goto ldv_call_2;
3820 : /* End of the subprocess 'call' */
3821 : return;
3822 : /* LDV {"comment": "End of control function based on process 'scsi_LLDd_scenario(scsi_host_template)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_scsi_LLDd_scenario_2"} */
3823 : }
3824 :
3825 : /* AUX_FUNC_CALLBACK ldv_scsi_LLDd_scenario_callback_2_17 */
3826 : void ldv_scsi_LLDd_scenario_callback_2_17(int (*arg0)(struct scsi_device *, int, int), struct scsi_device *arg1, int arg2, int arg3) {
3827 1 : ((& ata_scsi_change_queue_depth))(arg1, arg2, arg3);
3828 1 : }
3829 :
3830 : /* AUX_FUNC_CALLBACK ldv_scsi_LLDd_scenario_callback_2_20 */
3831 : void ldv_scsi_LLDd_scenario_callback_2_20(int (*arg0)(struct scsi_device *, int, void *), struct scsi_device *arg1, int arg2, void *arg3) {
3832 1 : ((& ata_scsi_ioctl))(arg1, arg2, arg3);
3833 1 : }
3834 :
3835 : /* AUX_FUNC_CALLBACK ldv_scsi_LLDd_scenario_callback_2_23 */
3836 : void ldv_scsi_LLDd_scenario_callback_2_23(int (*arg0)(struct scsi_cmnd *, void (*)(struct scsi_cmnd *)), struct scsi_cmnd *arg1, void (*arg2)(struct scsi_cmnd *)) {
3837 1 : ((& ata_scsi_queuecmd))(arg1, arg2);
3838 1 : }
3839 :
3840 : /* AUX_FUNC_CALLBACK ldv_scsi_LLDd_scenario_callback_2_26 */
3841 : void ldv_scsi_LLDd_scenario_callback_2_26(int (*arg0)(struct scsi_device *), struct scsi_device *arg1) {
3842 1 : ((& ata_scsi_slave_config))(arg1);
3843 1 : }
3844 :
3845 : /* AUX_FUNC_CALLBACK ldv_scsi_LLDd_scenario_callback_2_27 */
3846 : void ldv_scsi_LLDd_scenario_callback_2_27(void (*arg0)(struct scsi_device *), struct scsi_device *arg1) {
3847 1 : ((& ata_scsi_slave_destroy))(arg1);
3848 1 : }
3849 :
3850 : /* AUX_FUNC_CALLBACK ldv_scsi_LLDd_scenario_callback_2_4 */
3851 : void ldv_scsi_LLDd_scenario_callback_2_4(int (*arg0)(struct scsi_device *, struct block_device *, long unsigned int, int *), struct scsi_device *arg1, struct block_device *arg2, long unsigned int arg3, int *arg4) {
3852 1 : ((& ata_std_bios_param))(arg1, arg2, arg3, arg4);
3853 1 : }
3854 :
3855 : /* AUX_FUNC_CALLBACK ldv_scsi_LLDd_scenario_probe_2_11 */
3856 : int ldv_scsi_LLDd_scenario_probe_2_11(int (*arg0)(struct Scsi_Host *), struct Scsi_Host *arg1) {
3857 2 : return (*arg0)(arg1);
3858 1 : }
3859 :
3860 : /* AUX_FUNC_CALLBACK ldv_scsi_LLDd_scenario_release_2_2 */
3861 : void ldv_scsi_LLDd_scenario_release_2_2(int (*arg0)(struct Scsi_Host *), struct Scsi_Host *arg1) {
3862 1 : (*arg0)(arg1);
3863 1 : }
3864 :
3865 : /* AUX_FUNC ldv_timer_scenario_10 */
3866 : void ldv_timer_scenario_10(void *arg0) {
3867 : /* LDV {"thread": 10, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'timer_scenario(timer)'", "function": "ldv_timer_scenario_10"} */
3868 2 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
3869 2 : struct timer_list *ldv_10_container_timer_list;
3870 : /* Received labels */
3871 2 : struct ldv_struct_timer_scenario_10 *data = (struct ldv_struct_timer_scenario_10*) arg0;
3872 :
3873 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
3874 : /* LDV {"action": "INSTANCE_REGISTER", "type": "RECEIVE_BEGIN", "comment": "Begin TIMER callbacks invocations scenario."} */
3875 : /* Assign recieved labels */
3876 4 : if (data) {
3877 2 : ldv_10_container_timer_list = data->arg0;
3878 4 : ldv_free(data);
3879 : }
3880 : /* LDV {"action": "INSTANCE_REGISTER", "type": "RECEIVE_END"} */
3881 :
3882 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Time has come: call the timer callback. Invoke callback callback from TIMER."} */
3883 : /* Callback pre-call */
3884 4 : ldv_switch_to_interrupt_context();
3885 12 : if (ldv_10_container_timer_list->function) {
3886 : /* LDV {"type": "CALLBACK", "call": "(ldv_10_container_timer_list->function)(ldv_10_container_timer_list->data);", "comment": "callback"} */
3887 8 : ldv_timer_scenario_callback_10_2(ldv_10_container_timer_list->function, ldv_10_container_timer_list->data);
3888 : }
3889 : /* Callback post-call */
3890 6 : ldv_switch_to_process_context();
3891 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
3892 :
3893 : /* LDV {"action": "INSTANCE_DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Finish TIMER callbacks invocations scenario."} */
3894 : /* Skip a non-replicative signal receiving */
3895 : /* LDV {"action": "INSTANCE_DEREGISTER", "type": "RECEIVE_END"} */
3896 :
3897 : /* Exit function at a terminal state */
3898 6 : return;
3899 : /* End of the process */
3900 : return;
3901 : /* LDV {"comment": "End of control function based on process 'timer_scenario(timer)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_timer_scenario_10"} */
3902 : }
3903 :
3904 : /* AUX_FUNC_CALLBACK ldv_timer_scenario_callback_10_2 */
3905 : void ldv_timer_scenario_callback_10_2(void (*arg0)(unsigned long), unsigned long arg1) {
3906 8 : (*arg0)(arg1);
3907 4 : }
3908 :
3909 : /* AUX_FUNC main */
3910 : int main() {
3911 1 : ldv_main_16(0);
3912 0 : return 0;
3913 : }
3914 :
3915 :
3916 : /* AUX_FUNC ERR_PTR */
3917 : static inline void *ERR_PTR (long int error)
3918 : {
3919 :
3920 : return ldv_err_ptr(error);
3921 : }
3922 :
3923 : /* AUX_FUNC PTR_ERR */
3924 : static inline long int PTR_ERR (void const *ptr)
3925 : {
3926 :
3927 : return ldv_ptr_err(ptr);
3928 : }
3929 :
3930 : /* AUX_FUNC IS_ERR */
3931 : static inline long int IS_ERR (void const *ptr)
3932 : {
3933 :
3934 : return ldv_is_err(ptr);
3935 : }
3936 :
3937 : /* AUX_FUNC IS_ERR_OR_NULL */
3938 : static inline long int IS_ERR_OR_NULL (void const *ptr)
3939 : {
3940 :
3941 : return ldv_is_err_or_null(ptr);
3942 : }
3943 :
3944 : /* AUX_FUNC kzalloc */
3945 : static inline void *kzalloc (size_t size, gfp_t flags)
3946 : {
3947 :
3948 : return ldv_kzalloc(size, flags);
3949 : }
3950 :
3951 : /* AUX_FUNC ldv_dev_get_drvdata_6 */
3952 : void *ldv_dev_get_drvdata_6 (struct device const *dev)
3953 : {
3954 :
3955 : return ldv_dev_get_drvdata(dev);
3956 : }
3957 :
3958 : /* AUX_FUNC ldv_mod_timer_7 */
3959 : int ldv_mod_timer_7 (struct timer_list *ldv_func_arg1, long unsigned int ldv_func_arg2)
3960 : {
3961 2 :
3962 : /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'mod_timer'"} */
3963 8 : return ldv_emg_mod_timer(ldv_func_arg1, ldv_func_arg2);
3964 : }
3965 :
3966 : /* AUX_FUNC ldv_mod_timer_8 */
3967 : int ldv_mod_timer_8 (struct timer_list *ldv_func_arg1, long unsigned int ldv_func_arg2)
3968 : {
3969 0 :
3970 : /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'mod_timer'"} */
3971 0 : return ldv_emg_mod_timer(ldv_func_arg1, ldv_func_arg2);
3972 : }
3973 :
3974 : /* AUX_FUNC ldv___pci_register_driver_9 */
3975 : int ldv___pci_register_driver_9 (struct pci_driver *ldv_func_arg1, struct module *ldv_func_arg2, char const *ldv_func_arg3)
3976 : {
3977 :
3978 1 : /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function '__pci_register_driver'"} */
3979 4 : return ldv_emg___pci_register_driver(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3);
3980 : }
3981 :
3982 : /* AUX_FUNC ldv_pci_unregister_driver_10 */
3983 : void ldv_pci_unregister_driver_10 (struct pci_driver *ldv_func_arg1)
3984 : {
3985 :
3986 : /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'pci_unregister_driver'"} */
3987 4 : ldv_emg_pci_unregister_driver(ldv_func_arg1);
3988 2 : }
|