1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 20 "include/asm-generic/int-ll64.h"
7typedef unsigned char __u8;
8#line 22 "include/asm-generic/int-ll64.h"
9typedef short __s16;
10#line 23 "include/asm-generic/int-ll64.h"
11typedef unsigned short __u16;
12#line 25 "include/asm-generic/int-ll64.h"
13typedef int __s32;
14#line 26 "include/asm-generic/int-ll64.h"
15typedef unsigned int __u32;
16#line 29 "include/asm-generic/int-ll64.h"
17typedef long long __s64;
18#line 30 "include/asm-generic/int-ll64.h"
19typedef unsigned long long __u64;
20#line 43 "include/asm-generic/int-ll64.h"
21typedef unsigned char u8;
22#line 45 "include/asm-generic/int-ll64.h"
23typedef short s16;
24#line 46 "include/asm-generic/int-ll64.h"
25typedef unsigned short u16;
26#line 48 "include/asm-generic/int-ll64.h"
27typedef int s32;
28#line 49 "include/asm-generic/int-ll64.h"
29typedef unsigned int u32;
30#line 51 "include/asm-generic/int-ll64.h"
31typedef long long s64;
32#line 52 "include/asm-generic/int-ll64.h"
33typedef unsigned long long u64;
34#line 14 "include/asm-generic/posix_types.h"
35typedef long __kernel_long_t;
36#line 15 "include/asm-generic/posix_types.h"
37typedef unsigned long __kernel_ulong_t;
38#line 31 "include/asm-generic/posix_types.h"
39typedef int __kernel_pid_t;
40#line 52 "include/asm-generic/posix_types.h"
41typedef unsigned int __kernel_uid32_t;
42#line 53 "include/asm-generic/posix_types.h"
43typedef unsigned int __kernel_gid32_t;
44#line 75 "include/asm-generic/posix_types.h"
45typedef __kernel_ulong_t __kernel_size_t;
46#line 76 "include/asm-generic/posix_types.h"
47typedef __kernel_long_t __kernel_ssize_t;
48#line 91 "include/asm-generic/posix_types.h"
49typedef long long __kernel_loff_t;
50#line 92 "include/asm-generic/posix_types.h"
51typedef __kernel_long_t __kernel_time_t;
52#line 93 "include/asm-generic/posix_types.h"
53typedef __kernel_long_t __kernel_clock_t;
54#line 94 "include/asm-generic/posix_types.h"
55typedef int __kernel_timer_t;
56#line 95 "include/asm-generic/posix_types.h"
57typedef int __kernel_clockid_t;
58#line 21 "include/linux/types.h"
59typedef __u32 __kernel_dev_t;
60#line 24 "include/linux/types.h"
61typedef __kernel_dev_t dev_t;
62#line 27 "include/linux/types.h"
63typedef unsigned short umode_t;
64#line 30 "include/linux/types.h"
65typedef __kernel_pid_t pid_t;
66#line 35 "include/linux/types.h"
67typedef __kernel_clockid_t clockid_t;
68#line 38 "include/linux/types.h"
69typedef _Bool bool;
70#line 40 "include/linux/types.h"
71typedef __kernel_uid32_t uid_t;
72#line 41 "include/linux/types.h"
73typedef __kernel_gid32_t gid_t;
74#line 54 "include/linux/types.h"
75typedef __kernel_loff_t loff_t;
76#line 63 "include/linux/types.h"
77typedef __kernel_size_t size_t;
78#line 68 "include/linux/types.h"
79typedef __kernel_ssize_t ssize_t;
80#line 78 "include/linux/types.h"
81typedef __kernel_time_t time_t;
82#line 111 "include/linux/types.h"
83typedef __s32 int32_t;
84#line 117 "include/linux/types.h"
85typedef __u32 uint32_t;
86#line 142 "include/linux/types.h"
87typedef unsigned long sector_t;
88#line 143 "include/linux/types.h"
89typedef unsigned long blkcnt_t;
90#line 155 "include/linux/types.h"
91typedef u64 dma_addr_t;
92#line 178 "include/linux/types.h"
93typedef __u16 __le16;
94#line 180 "include/linux/types.h"
95typedef __u32 __le32;
96#line 202 "include/linux/types.h"
97typedef unsigned int gfp_t;
98#line 203 "include/linux/types.h"
99typedef unsigned int fmode_t;
100#line 219 "include/linux/types.h"
101struct __anonstruct_atomic_t_7 {
102 int counter ;
103};
104#line 219 "include/linux/types.h"
105typedef struct __anonstruct_atomic_t_7 atomic_t;
106#line 224 "include/linux/types.h"
107struct __anonstruct_atomic64_t_8 {
108 long counter ;
109};
110#line 224 "include/linux/types.h"
111typedef struct __anonstruct_atomic64_t_8 atomic64_t;
112#line 229 "include/linux/types.h"
113struct list_head {
114 struct list_head *next ;
115 struct list_head *prev ;
116};
117#line 233
118struct hlist_node;
119#line 233 "include/linux/types.h"
120struct hlist_head {
121 struct hlist_node *first ;
122};
123#line 237 "include/linux/types.h"
124struct hlist_node {
125 struct hlist_node *next ;
126 struct hlist_node **pprev ;
127};
128#line 253 "include/linux/types.h"
129struct rcu_head {
130 struct rcu_head *next ;
131 void (*func)(struct rcu_head *head ) ;
132};
133#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
134struct module;
135#line 56
136struct module;
137#line 146 "include/linux/init.h"
138typedef void (*ctor_fn_t)(void);
139#line 47 "include/linux/dynamic_debug.h"
140struct device;
141#line 47
142struct device;
143#line 135 "include/linux/kernel.h"
144struct completion;
145#line 135
146struct completion;
147#line 136
148struct pt_regs;
149#line 136
150struct pt_regs;
151#line 349
152struct pid;
153#line 349
154struct pid;
155#line 12 "include/linux/thread_info.h"
156struct timespec;
157#line 12
158struct timespec;
159#line 13
160struct compat_timespec;
161#line 13
162struct compat_timespec;
163#line 18 "include/linux/thread_info.h"
164struct __anonstruct_futex_11 {
165 u32 *uaddr ;
166 u32 val ;
167 u32 flags ;
168 u32 bitset ;
169 u64 time ;
170 u32 *uaddr2 ;
171};
172#line 18 "include/linux/thread_info.h"
173struct __anonstruct_nanosleep_12 {
174 clockid_t clockid ;
175 struct timespec *rmtp ;
176 struct compat_timespec *compat_rmtp ;
177 u64 expires ;
178};
179#line 18
180struct pollfd;
181#line 18 "include/linux/thread_info.h"
182struct __anonstruct_poll_13 {
183 struct pollfd *ufds ;
184 int nfds ;
185 int has_timeout ;
186 unsigned long tv_sec ;
187 unsigned long tv_nsec ;
188};
189#line 18 "include/linux/thread_info.h"
190union __anonunion____missing_field_name_10 {
191 struct __anonstruct_futex_11 futex ;
192 struct __anonstruct_nanosleep_12 nanosleep ;
193 struct __anonstruct_poll_13 poll ;
194};
195#line 18 "include/linux/thread_info.h"
196struct restart_block {
197 long (*fn)(struct restart_block * ) ;
198 union __anonunion____missing_field_name_10 __annonCompField4 ;
199};
200#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
201struct page;
202#line 18
203struct page;
204#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
205struct task_struct;
206#line 20
207struct task_struct;
208#line 21
209struct exec_domain;
210#line 21
211struct exec_domain;
212#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
213struct task_struct;
214#line 8
215struct mm_struct;
216#line 8
217struct mm_struct;
218#line 99 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
219struct pt_regs {
220 unsigned long r15 ;
221 unsigned long r14 ;
222 unsigned long r13 ;
223 unsigned long r12 ;
224 unsigned long bp ;
225 unsigned long bx ;
226 unsigned long r11 ;
227 unsigned long r10 ;
228 unsigned long r9 ;
229 unsigned long r8 ;
230 unsigned long ax ;
231 unsigned long cx ;
232 unsigned long dx ;
233 unsigned long si ;
234 unsigned long di ;
235 unsigned long orig_ax ;
236 unsigned long ip ;
237 unsigned long cs ;
238 unsigned long flags ;
239 unsigned long sp ;
240 unsigned long ss ;
241};
242#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
243struct __anonstruct____missing_field_name_15 {
244 unsigned int a ;
245 unsigned int b ;
246};
247#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
248struct __anonstruct____missing_field_name_16 {
249 u16 limit0 ;
250 u16 base0 ;
251 unsigned int base1 : 8 ;
252 unsigned int type : 4 ;
253 unsigned int s : 1 ;
254 unsigned int dpl : 2 ;
255 unsigned int p : 1 ;
256 unsigned int limit : 4 ;
257 unsigned int avl : 1 ;
258 unsigned int l : 1 ;
259 unsigned int d : 1 ;
260 unsigned int g : 1 ;
261 unsigned int base2 : 8 ;
262};
263#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
264union __anonunion____missing_field_name_14 {
265 struct __anonstruct____missing_field_name_15 __annonCompField5 ;
266 struct __anonstruct____missing_field_name_16 __annonCompField6 ;
267};
268#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
269struct desc_struct {
270 union __anonunion____missing_field_name_14 __annonCompField7 ;
271} __attribute__((__packed__)) ;
272#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
273typedef unsigned long pgdval_t;
274#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
275typedef unsigned long pgprotval_t;
276#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
277struct pgprot {
278 pgprotval_t pgprot ;
279};
280#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
281typedef struct pgprot pgprot_t;
282#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
283struct __anonstruct_pgd_t_20 {
284 pgdval_t pgd ;
285};
286#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
287typedef struct __anonstruct_pgd_t_20 pgd_t;
288#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
289typedef struct page *pgtable_t;
290#line 295
291struct file;
292#line 295
293struct file;
294#line 313
295struct seq_file;
296#line 313
297struct seq_file;
298#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
299struct page;
300#line 47
301struct thread_struct;
302#line 47
303struct thread_struct;
304#line 50
305struct mm_struct;
306#line 51
307struct desc_struct;
308#line 52
309struct task_struct;
310#line 53
311struct cpumask;
312#line 53
313struct cpumask;
314#line 329
315struct arch_spinlock;
316#line 329
317struct arch_spinlock;
318#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
319struct task_struct;
320#line 141 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
321struct kernel_vm86_regs {
322 struct pt_regs pt ;
323 unsigned short es ;
324 unsigned short __esh ;
325 unsigned short ds ;
326 unsigned short __dsh ;
327 unsigned short fs ;
328 unsigned short __fsh ;
329 unsigned short gs ;
330 unsigned short __gsh ;
331};
332#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
333union __anonunion____missing_field_name_24 {
334 struct pt_regs *regs ;
335 struct kernel_vm86_regs *vm86 ;
336};
337#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
338struct math_emu_info {
339 long ___orig_eip ;
340 union __anonunion____missing_field_name_24 __annonCompField8 ;
341};
342#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
343struct task_struct;
344#line 10 "include/asm-generic/bug.h"
345struct bug_entry {
346 int bug_addr_disp ;
347 int file_disp ;
348 unsigned short line ;
349 unsigned short flags ;
350};
351#line 12 "include/linux/bug.h"
352struct pt_regs;
353#line 14 "include/linux/cpumask.h"
354struct cpumask {
355 unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
356};
357#line 14 "include/linux/cpumask.h"
358typedef struct cpumask cpumask_t;
359#line 637 "include/linux/cpumask.h"
360typedef struct cpumask *cpumask_var_t;
361#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
362struct static_key;
363#line 234
364struct static_key;
365#line 10 "include/linux/personality.h"
366struct exec_domain;
367#line 11
368struct pt_regs;
369#line 92
370struct map_segment;
371#line 92 "include/linux/personality.h"
372struct exec_domain {
373 char const *name ;
374 void (*handler)(int , struct pt_regs * ) ;
375 unsigned char pers_low ;
376 unsigned char pers_high ;
377 unsigned long *signal_map ;
378 unsigned long *signal_invmap ;
379 struct map_segment *err_map ;
380 struct map_segment *socktype_map ;
381 struct map_segment *sockopt_map ;
382 struct map_segment *af_map ;
383 struct module *module ;
384 struct exec_domain *next ;
385};
386#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
387struct i387_fsave_struct {
388 u32 cwd ;
389 u32 swd ;
390 u32 twd ;
391 u32 fip ;
392 u32 fcs ;
393 u32 foo ;
394 u32 fos ;
395 u32 st_space[20] ;
396 u32 status ;
397};
398#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
399struct __anonstruct____missing_field_name_31 {
400 u64 rip ;
401 u64 rdp ;
402};
403#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
404struct __anonstruct____missing_field_name_32 {
405 u32 fip ;
406 u32 fcs ;
407 u32 foo ;
408 u32 fos ;
409};
410#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
411union __anonunion____missing_field_name_30 {
412 struct __anonstruct____missing_field_name_31 __annonCompField12 ;
413 struct __anonstruct____missing_field_name_32 __annonCompField13 ;
414};
415#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
416union __anonunion____missing_field_name_33 {
417 u32 padding1[12] ;
418 u32 sw_reserved[12] ;
419};
420#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
421struct i387_fxsave_struct {
422 u16 cwd ;
423 u16 swd ;
424 u16 twd ;
425 u16 fop ;
426 union __anonunion____missing_field_name_30 __annonCompField14 ;
427 u32 mxcsr ;
428 u32 mxcsr_mask ;
429 u32 st_space[32] ;
430 u32 xmm_space[64] ;
431 u32 padding[12] ;
432 union __anonunion____missing_field_name_33 __annonCompField15 ;
433} __attribute__((__aligned__(16))) ;
434#line 341 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
435struct i387_soft_struct {
436 u32 cwd ;
437 u32 swd ;
438 u32 twd ;
439 u32 fip ;
440 u32 fcs ;
441 u32 foo ;
442 u32 fos ;
443 u32 st_space[20] ;
444 u8 ftop ;
445 u8 changed ;
446 u8 lookahead ;
447 u8 no_update ;
448 u8 rm ;
449 u8 alimit ;
450 struct math_emu_info *info ;
451 u32 entry_eip ;
452};
453#line 361 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
454struct ymmh_struct {
455 u32 ymmh_space[64] ;
456};
457#line 366 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
458struct xsave_hdr_struct {
459 u64 xstate_bv ;
460 u64 reserved1[2] ;
461 u64 reserved2[5] ;
462} __attribute__((__packed__)) ;
463#line 372 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
464struct xsave_struct {
465 struct i387_fxsave_struct i387 ;
466 struct xsave_hdr_struct xsave_hdr ;
467 struct ymmh_struct ymmh ;
468} __attribute__((__packed__, __aligned__(64))) ;
469#line 379 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
470union thread_xstate {
471 struct i387_fsave_struct fsave ;
472 struct i387_fxsave_struct fxsave ;
473 struct i387_soft_struct soft ;
474 struct xsave_struct xsave ;
475};
476#line 386 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
477struct fpu {
478 unsigned int last_cpu ;
479 unsigned int has_fpu ;
480 union thread_xstate *state ;
481};
482#line 433
483struct kmem_cache;
484#line 435
485struct perf_event;
486#line 435
487struct perf_event;
488#line 437 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
489struct thread_struct {
490 struct desc_struct tls_array[3] ;
491 unsigned long sp0 ;
492 unsigned long sp ;
493 unsigned long usersp ;
494 unsigned short es ;
495 unsigned short ds ;
496 unsigned short fsindex ;
497 unsigned short gsindex ;
498 unsigned long fs ;
499 unsigned long gs ;
500 struct perf_event *ptrace_bps[4] ;
501 unsigned long debugreg6 ;
502 unsigned long ptrace_dr7 ;
503 unsigned long cr2 ;
504 unsigned long trap_nr ;
505 unsigned long error_code ;
506 struct fpu fpu ;
507 unsigned long *io_bitmap_ptr ;
508 unsigned long iopl ;
509 unsigned int io_bitmap_max ;
510};
511#line 569 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
512struct __anonstruct_mm_segment_t_35 {
513 unsigned long seg ;
514};
515#line 569 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
516typedef struct __anonstruct_mm_segment_t_35 mm_segment_t;
517#line 23 "include/asm-generic/atomic-long.h"
518typedef atomic64_t atomic_long_t;
519#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
520struct thread_info {
521 struct task_struct *task ;
522 struct exec_domain *exec_domain ;
523 __u32 flags ;
524 __u32 status ;
525 __u32 cpu ;
526 int preempt_count ;
527 mm_segment_t addr_limit ;
528 struct restart_block restart_block ;
529 void *sysenter_return ;
530 unsigned int sig_on_uaccess_error : 1 ;
531 unsigned int uaccess_err : 1 ;
532};
533#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
534typedef u16 __ticket_t;
535#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
536typedef u32 __ticketpair_t;
537#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
538struct __raw_tickets {
539 __ticket_t head ;
540 __ticket_t tail ;
541};
542#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
543union __anonunion____missing_field_name_36 {
544 __ticketpair_t head_tail ;
545 struct __raw_tickets tickets ;
546};
547#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
548struct arch_spinlock {
549 union __anonunion____missing_field_name_36 __annonCompField17 ;
550};
551#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
552typedef struct arch_spinlock arch_spinlock_t;
553#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
554struct __anonstruct____missing_field_name_38 {
555 u32 read ;
556 s32 write ;
557};
558#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
559union __anonunion_arch_rwlock_t_37 {
560 s64 lock ;
561 struct __anonstruct____missing_field_name_38 __annonCompField18 ;
562};
563#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
564typedef union __anonunion_arch_rwlock_t_37 arch_rwlock_t;
565#line 12 "include/linux/lockdep.h"
566struct task_struct;
567#line 391 "include/linux/lockdep.h"
568struct lock_class_key {
569
570};
571#line 20 "include/linux/spinlock_types.h"
572struct raw_spinlock {
573 arch_spinlock_t raw_lock ;
574 unsigned int magic ;
575 unsigned int owner_cpu ;
576 void *owner ;
577};
578#line 20 "include/linux/spinlock_types.h"
579typedef struct raw_spinlock raw_spinlock_t;
580#line 64 "include/linux/spinlock_types.h"
581union __anonunion____missing_field_name_39 {
582 struct raw_spinlock rlock ;
583};
584#line 64 "include/linux/spinlock_types.h"
585struct spinlock {
586 union __anonunion____missing_field_name_39 __annonCompField19 ;
587};
588#line 64 "include/linux/spinlock_types.h"
589typedef struct spinlock spinlock_t;
590#line 11 "include/linux/rwlock_types.h"
591struct __anonstruct_rwlock_t_40 {
592 arch_rwlock_t raw_lock ;
593 unsigned int magic ;
594 unsigned int owner_cpu ;
595 void *owner ;
596};
597#line 11 "include/linux/rwlock_types.h"
598typedef struct __anonstruct_rwlock_t_40 rwlock_t;
599#line 27 "include/linux/wait.h"
600struct __wait_queue;
601#line 27 "include/linux/wait.h"
602typedef struct __wait_queue wait_queue_t;
603#line 31 "include/linux/wait.h"
604struct __wait_queue {
605 unsigned int flags ;
606 void *private ;
607 int (*func)(wait_queue_t *wait , unsigned int mode , int flags , void *key ) ;
608 struct list_head task_list ;
609};
610#line 49 "include/linux/wait.h"
611struct __wait_queue_head {
612 spinlock_t lock ;
613 struct list_head task_list ;
614};
615#line 53 "include/linux/wait.h"
616typedef struct __wait_queue_head wait_queue_head_t;
617#line 55
618struct task_struct;
619#line 119 "include/linux/seqlock.h"
620struct seqcount {
621 unsigned int sequence ;
622};
623#line 119 "include/linux/seqlock.h"
624typedef struct seqcount seqcount_t;
625#line 98 "include/linux/nodemask.h"
626struct __anonstruct_nodemask_t_42 {
627 unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
628};
629#line 98 "include/linux/nodemask.h"
630typedef struct __anonstruct_nodemask_t_42 nodemask_t;
631#line 60 "include/linux/pageblock-flags.h"
632struct page;
633#line 48 "include/linux/mutex.h"
634struct mutex {
635 atomic_t count ;
636 spinlock_t wait_lock ;
637 struct list_head wait_list ;
638 struct task_struct *owner ;
639 char const *name ;
640 void *magic ;
641};
642#line 69 "include/linux/mutex.h"
643struct mutex_waiter {
644 struct list_head list ;
645 struct task_struct *task ;
646 void *magic ;
647};
648#line 19 "include/linux/rwsem.h"
649struct rw_semaphore;
650#line 19
651struct rw_semaphore;
652#line 25 "include/linux/rwsem.h"
653struct rw_semaphore {
654 long count ;
655 raw_spinlock_t wait_lock ;
656 struct list_head wait_list ;
657};
658#line 25 "include/linux/completion.h"
659struct completion {
660 unsigned int done ;
661 wait_queue_head_t wait ;
662};
663#line 9 "include/linux/memory_hotplug.h"
664struct page;
665#line 202 "include/linux/ioport.h"
666struct device;
667#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
668struct device;
669#line 14 "include/linux/time.h"
670struct timespec {
671 __kernel_time_t tv_sec ;
672 long tv_nsec ;
673};
674#line 46 "include/linux/ktime.h"
675union ktime {
676 s64 tv64 ;
677};
678#line 59 "include/linux/ktime.h"
679typedef union ktime ktime_t;
680#line 10 "include/linux/timer.h"
681struct tvec_base;
682#line 10
683struct tvec_base;
684#line 12 "include/linux/timer.h"
685struct timer_list {
686 struct list_head entry ;
687 unsigned long expires ;
688 struct tvec_base *base ;
689 void (*function)(unsigned long ) ;
690 unsigned long data ;
691 int slack ;
692 int start_pid ;
693 void *start_site ;
694 char start_comm[16] ;
695};
696#line 289
697struct hrtimer;
698#line 289
699struct hrtimer;
700#line 290
701enum hrtimer_restart;
702#line 17 "include/linux/workqueue.h"
703struct work_struct;
704#line 17
705struct work_struct;
706#line 79 "include/linux/workqueue.h"
707struct work_struct {
708 atomic_long_t data ;
709 struct list_head entry ;
710 void (*func)(struct work_struct *work ) ;
711};
712#line 92 "include/linux/workqueue.h"
713struct delayed_work {
714 struct work_struct work ;
715 struct timer_list timer ;
716};
717#line 42 "include/linux/pm.h"
718struct device;
719#line 50 "include/linux/pm.h"
720struct pm_message {
721 int event ;
722};
723#line 50 "include/linux/pm.h"
724typedef struct pm_message pm_message_t;
725#line 264 "include/linux/pm.h"
726struct dev_pm_ops {
727 int (*prepare)(struct device *dev ) ;
728 void (*complete)(struct device *dev ) ;
729 int (*suspend)(struct device *dev ) ;
730 int (*resume)(struct device *dev ) ;
731 int (*freeze)(struct device *dev ) ;
732 int (*thaw)(struct device *dev ) ;
733 int (*poweroff)(struct device *dev ) ;
734 int (*restore)(struct device *dev ) ;
735 int (*suspend_late)(struct device *dev ) ;
736 int (*resume_early)(struct device *dev ) ;
737 int (*freeze_late)(struct device *dev ) ;
738 int (*thaw_early)(struct device *dev ) ;
739 int (*poweroff_late)(struct device *dev ) ;
740 int (*restore_early)(struct device *dev ) ;
741 int (*suspend_noirq)(struct device *dev ) ;
742 int (*resume_noirq)(struct device *dev ) ;
743 int (*freeze_noirq)(struct device *dev ) ;
744 int (*thaw_noirq)(struct device *dev ) ;
745 int (*poweroff_noirq)(struct device *dev ) ;
746 int (*restore_noirq)(struct device *dev ) ;
747 int (*runtime_suspend)(struct device *dev ) ;
748 int (*runtime_resume)(struct device *dev ) ;
749 int (*runtime_idle)(struct device *dev ) ;
750};
751#line 458
752enum rpm_status {
753 RPM_ACTIVE = 0,
754 RPM_RESUMING = 1,
755 RPM_SUSPENDED = 2,
756 RPM_SUSPENDING = 3
757} ;
758#line 480
759enum rpm_request {
760 RPM_REQ_NONE = 0,
761 RPM_REQ_IDLE = 1,
762 RPM_REQ_SUSPEND = 2,
763 RPM_REQ_AUTOSUSPEND = 3,
764 RPM_REQ_RESUME = 4
765} ;
766#line 488
767struct wakeup_source;
768#line 488
769struct wakeup_source;
770#line 495 "include/linux/pm.h"
771struct pm_subsys_data {
772 spinlock_t lock ;
773 unsigned int refcount ;
774};
775#line 506
776struct dev_pm_qos_request;
777#line 506
778struct pm_qos_constraints;
779#line 506 "include/linux/pm.h"
780struct dev_pm_info {
781 pm_message_t power_state ;
782 unsigned int can_wakeup : 1 ;
783 unsigned int async_suspend : 1 ;
784 bool is_prepared : 1 ;
785 bool is_suspended : 1 ;
786 bool ignore_children : 1 ;
787 spinlock_t lock ;
788 struct list_head entry ;
789 struct completion completion ;
790 struct wakeup_source *wakeup ;
791 bool wakeup_path : 1 ;
792 struct timer_list suspend_timer ;
793 unsigned long timer_expires ;
794 struct work_struct work ;
795 wait_queue_head_t wait_queue ;
796 atomic_t usage_count ;
797 atomic_t child_count ;
798 unsigned int disable_depth : 3 ;
799 unsigned int idle_notification : 1 ;
800 unsigned int request_pending : 1 ;
801 unsigned int deferred_resume : 1 ;
802 unsigned int run_wake : 1 ;
803 unsigned int runtime_auto : 1 ;
804 unsigned int no_callbacks : 1 ;
805 unsigned int irq_safe : 1 ;
806 unsigned int use_autosuspend : 1 ;
807 unsigned int timer_autosuspends : 1 ;
808 enum rpm_request request ;
809 enum rpm_status runtime_status ;
810 int runtime_error ;
811 int autosuspend_delay ;
812 unsigned long last_busy ;
813 unsigned long active_jiffies ;
814 unsigned long suspended_jiffies ;
815 unsigned long accounting_timestamp ;
816 ktime_t suspend_time ;
817 s64 max_time_suspended_ns ;
818 struct dev_pm_qos_request *pq_req ;
819 struct pm_subsys_data *subsys_data ;
820 struct pm_qos_constraints *constraints ;
821};
822#line 564 "include/linux/pm.h"
823struct dev_pm_domain {
824 struct dev_pm_ops ops ;
825};
826#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
827struct __anonstruct_mm_context_t_112 {
828 void *ldt ;
829 int size ;
830 unsigned short ia32_compat ;
831 struct mutex lock ;
832 void *vdso ;
833};
834#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
835typedef struct __anonstruct_mm_context_t_112 mm_context_t;
836#line 8 "include/linux/vmalloc.h"
837struct vm_area_struct;
838#line 8
839struct vm_area_struct;
840#line 994 "include/linux/mmzone.h"
841struct page;
842#line 10 "include/linux/gfp.h"
843struct vm_area_struct;
844#line 20 "include/linux/kobject_ns.h"
845struct sock;
846#line 20
847struct sock;
848#line 21
849struct kobject;
850#line 21
851struct kobject;
852#line 27
853enum kobj_ns_type {
854 KOBJ_NS_TYPE_NONE = 0,
855 KOBJ_NS_TYPE_NET = 1,
856 KOBJ_NS_TYPES = 2
857} ;
858#line 40 "include/linux/kobject_ns.h"
859struct kobj_ns_type_operations {
860 enum kobj_ns_type type ;
861 void *(*grab_current_ns)(void) ;
862 void const *(*netlink_ns)(struct sock *sk ) ;
863 void const *(*initial_ns)(void) ;
864 void (*drop_ns)(void * ) ;
865};
866#line 22 "include/linux/sysfs.h"
867struct kobject;
868#line 23
869struct module;
870#line 24
871enum kobj_ns_type;
872#line 26 "include/linux/sysfs.h"
873struct attribute {
874 char const *name ;
875 umode_t mode ;
876};
877#line 56 "include/linux/sysfs.h"
878struct attribute_group {
879 char const *name ;
880 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
881 struct attribute **attrs ;
882};
883#line 85
884struct file;
885#line 86
886struct vm_area_struct;
887#line 88 "include/linux/sysfs.h"
888struct bin_attribute {
889 struct attribute attr ;
890 size_t size ;
891 void *private ;
892 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
893 loff_t , size_t ) ;
894 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
895 loff_t , size_t ) ;
896 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
897};
898#line 112 "include/linux/sysfs.h"
899struct sysfs_ops {
900 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
901 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
902 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
903};
904#line 118
905struct sysfs_dirent;
906#line 118
907struct sysfs_dirent;
908#line 22 "include/linux/kref.h"
909struct kref {
910 atomic_t refcount ;
911};
912#line 60 "include/linux/kobject.h"
913struct kset;
914#line 60
915struct kobj_type;
916#line 60 "include/linux/kobject.h"
917struct kobject {
918 char const *name ;
919 struct list_head entry ;
920 struct kobject *parent ;
921 struct kset *kset ;
922 struct kobj_type *ktype ;
923 struct sysfs_dirent *sd ;
924 struct kref kref ;
925 unsigned int state_initialized : 1 ;
926 unsigned int state_in_sysfs : 1 ;
927 unsigned int state_add_uevent_sent : 1 ;
928 unsigned int state_remove_uevent_sent : 1 ;
929 unsigned int uevent_suppress : 1 ;
930};
931#line 108 "include/linux/kobject.h"
932struct kobj_type {
933 void (*release)(struct kobject *kobj ) ;
934 struct sysfs_ops const *sysfs_ops ;
935 struct attribute **default_attrs ;
936 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
937 void const *(*namespace)(struct kobject *kobj ) ;
938};
939#line 116 "include/linux/kobject.h"
940struct kobj_uevent_env {
941 char *envp[32] ;
942 int envp_idx ;
943 char buf[2048] ;
944 int buflen ;
945};
946#line 123 "include/linux/kobject.h"
947struct kset_uevent_ops {
948 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
949 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
950 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
951};
952#line 140
953struct sock;
954#line 159 "include/linux/kobject.h"
955struct kset {
956 struct list_head list ;
957 spinlock_t list_lock ;
958 struct kobject kobj ;
959 struct kset_uevent_ops const *uevent_ops ;
960};
961#line 46 "include/linux/slub_def.h"
962struct kmem_cache_cpu {
963 void **freelist ;
964 unsigned long tid ;
965 struct page *page ;
966 struct page *partial ;
967 int node ;
968 unsigned int stat[26] ;
969};
970#line 57 "include/linux/slub_def.h"
971struct kmem_cache_node {
972 spinlock_t list_lock ;
973 unsigned long nr_partial ;
974 struct list_head partial ;
975 atomic_long_t nr_slabs ;
976 atomic_long_t total_objects ;
977 struct list_head full ;
978};
979#line 73 "include/linux/slub_def.h"
980struct kmem_cache_order_objects {
981 unsigned long x ;
982};
983#line 80 "include/linux/slub_def.h"
984struct kmem_cache {
985 struct kmem_cache_cpu *cpu_slab ;
986 unsigned long flags ;
987 unsigned long min_partial ;
988 int size ;
989 int objsize ;
990 int offset ;
991 int cpu_partial ;
992 struct kmem_cache_order_objects oo ;
993 struct kmem_cache_order_objects max ;
994 struct kmem_cache_order_objects min ;
995 gfp_t allocflags ;
996 int refcount ;
997 void (*ctor)(void * ) ;
998 int inuse ;
999 int align ;
1000 int reserved ;
1001 char const *name ;
1002 struct list_head list ;
1003 struct kobject kobj ;
1004 int remote_node_defrag_ratio ;
1005 struct kmem_cache_node *node[1 << 10] ;
1006};
1007#line 15 "include/linux/blk_types.h"
1008struct page;
1009#line 16
1010struct block_device;
1011#line 16
1012struct block_device;
1013#line 33 "include/linux/list_bl.h"
1014struct hlist_bl_node;
1015#line 33 "include/linux/list_bl.h"
1016struct hlist_bl_head {
1017 struct hlist_bl_node *first ;
1018};
1019#line 37 "include/linux/list_bl.h"
1020struct hlist_bl_node {
1021 struct hlist_bl_node *next ;
1022 struct hlist_bl_node **pprev ;
1023};
1024#line 13 "include/linux/dcache.h"
1025struct nameidata;
1026#line 13
1027struct nameidata;
1028#line 14
1029struct path;
1030#line 14
1031struct path;
1032#line 15
1033struct vfsmount;
1034#line 15
1035struct vfsmount;
1036#line 35 "include/linux/dcache.h"
1037struct qstr {
1038 unsigned int hash ;
1039 unsigned int len ;
1040 unsigned char const *name ;
1041};
1042#line 88
1043struct inode;
1044#line 88
1045struct dentry_operations;
1046#line 88
1047struct super_block;
1048#line 88 "include/linux/dcache.h"
1049union __anonunion_d_u_139 {
1050 struct list_head d_child ;
1051 struct rcu_head d_rcu ;
1052};
1053#line 88 "include/linux/dcache.h"
1054struct dentry {
1055 unsigned int d_flags ;
1056 seqcount_t d_seq ;
1057 struct hlist_bl_node d_hash ;
1058 struct dentry *d_parent ;
1059 struct qstr d_name ;
1060 struct inode *d_inode ;
1061 unsigned char d_iname[32] ;
1062 unsigned int d_count ;
1063 spinlock_t d_lock ;
1064 struct dentry_operations const *d_op ;
1065 struct super_block *d_sb ;
1066 unsigned long d_time ;
1067 void *d_fsdata ;
1068 struct list_head d_lru ;
1069 union __anonunion_d_u_139 d_u ;
1070 struct list_head d_subdirs ;
1071 struct list_head d_alias ;
1072};
1073#line 131 "include/linux/dcache.h"
1074struct dentry_operations {
1075 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1076 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
1077 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
1078 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
1079 int (*d_delete)(struct dentry const * ) ;
1080 void (*d_release)(struct dentry * ) ;
1081 void (*d_prune)(struct dentry * ) ;
1082 void (*d_iput)(struct dentry * , struct inode * ) ;
1083 char *(*d_dname)(struct dentry * , char * , int ) ;
1084 struct vfsmount *(*d_automount)(struct path * ) ;
1085 int (*d_manage)(struct dentry * , bool ) ;
1086} __attribute__((__aligned__((1) << (6) ))) ;
1087#line 4 "include/linux/path.h"
1088struct dentry;
1089#line 5
1090struct vfsmount;
1091#line 7 "include/linux/path.h"
1092struct path {
1093 struct vfsmount *mnt ;
1094 struct dentry *dentry ;
1095};
1096#line 62 "include/linux/stat.h"
1097struct kstat {
1098 u64 ino ;
1099 dev_t dev ;
1100 umode_t mode ;
1101 unsigned int nlink ;
1102 uid_t uid ;
1103 gid_t gid ;
1104 dev_t rdev ;
1105 loff_t size ;
1106 struct timespec atime ;
1107 struct timespec mtime ;
1108 struct timespec ctime ;
1109 unsigned long blksize ;
1110 unsigned long long blocks ;
1111};
1112#line 64 "include/linux/radix-tree.h"
1113struct radix_tree_node;
1114#line 64 "include/linux/radix-tree.h"
1115struct radix_tree_root {
1116 unsigned int height ;
1117 gfp_t gfp_mask ;
1118 struct radix_tree_node *rnode ;
1119};
1120#line 14 "include/linux/prio_tree.h"
1121struct prio_tree_node;
1122#line 14 "include/linux/prio_tree.h"
1123struct raw_prio_tree_node {
1124 struct prio_tree_node *left ;
1125 struct prio_tree_node *right ;
1126 struct prio_tree_node *parent ;
1127};
1128#line 20 "include/linux/prio_tree.h"
1129struct prio_tree_node {
1130 struct prio_tree_node *left ;
1131 struct prio_tree_node *right ;
1132 struct prio_tree_node *parent ;
1133 unsigned long start ;
1134 unsigned long last ;
1135};
1136#line 28 "include/linux/prio_tree.h"
1137struct prio_tree_root {
1138 struct prio_tree_node *prio_tree_node ;
1139 unsigned short index_bits ;
1140 unsigned short raw ;
1141};
1142#line 6 "include/linux/pid.h"
1143enum pid_type {
1144 PIDTYPE_PID = 0,
1145 PIDTYPE_PGID = 1,
1146 PIDTYPE_SID = 2,
1147 PIDTYPE_MAX = 3
1148} ;
1149#line 50
1150struct pid_namespace;
1151#line 50 "include/linux/pid.h"
1152struct upid {
1153 int nr ;
1154 struct pid_namespace *ns ;
1155 struct hlist_node pid_chain ;
1156};
1157#line 57 "include/linux/pid.h"
1158struct pid {
1159 atomic_t count ;
1160 unsigned int level ;
1161 struct hlist_head tasks[3] ;
1162 struct rcu_head rcu ;
1163 struct upid numbers[1] ;
1164};
1165#line 69 "include/linux/pid.h"
1166struct pid_link {
1167 struct hlist_node node ;
1168 struct pid *pid ;
1169};
1170#line 100
1171struct pid_namespace;
1172#line 18 "include/linux/capability.h"
1173struct task_struct;
1174#line 94 "include/linux/capability.h"
1175struct kernel_cap_struct {
1176 __u32 cap[2] ;
1177};
1178#line 94 "include/linux/capability.h"
1179typedef struct kernel_cap_struct kernel_cap_t;
1180#line 377
1181struct dentry;
1182#line 378
1183struct user_namespace;
1184#line 378
1185struct user_namespace;
1186#line 16 "include/linux/fiemap.h"
1187struct fiemap_extent {
1188 __u64 fe_logical ;
1189 __u64 fe_physical ;
1190 __u64 fe_length ;
1191 __u64 fe_reserved64[2] ;
1192 __u32 fe_flags ;
1193 __u32 fe_reserved[3] ;
1194};
1195#line 8 "include/linux/shrinker.h"
1196struct shrink_control {
1197 gfp_t gfp_mask ;
1198 unsigned long nr_to_scan ;
1199};
1200#line 31 "include/linux/shrinker.h"
1201struct shrinker {
1202 int (*shrink)(struct shrinker * , struct shrink_control *sc ) ;
1203 int seeks ;
1204 long batch ;
1205 struct list_head list ;
1206 atomic_long_t nr_in_batch ;
1207};
1208#line 10 "include/linux/migrate_mode.h"
1209enum migrate_mode {
1210 MIGRATE_ASYNC = 0,
1211 MIGRATE_SYNC_LIGHT = 1,
1212 MIGRATE_SYNC = 2
1213} ;
1214#line 408 "include/linux/fs.h"
1215struct export_operations;
1216#line 408
1217struct export_operations;
1218#line 410
1219struct iovec;
1220#line 410
1221struct iovec;
1222#line 411
1223struct nameidata;
1224#line 412
1225struct kiocb;
1226#line 412
1227struct kiocb;
1228#line 413
1229struct kobject;
1230#line 414
1231struct pipe_inode_info;
1232#line 414
1233struct pipe_inode_info;
1234#line 415
1235struct poll_table_struct;
1236#line 415
1237struct poll_table_struct;
1238#line 416
1239struct kstatfs;
1240#line 416
1241struct kstatfs;
1242#line 417
1243struct vm_area_struct;
1244#line 418
1245struct vfsmount;
1246#line 419
1247struct cred;
1248#line 419
1249struct cred;
1250#line 469 "include/linux/fs.h"
1251struct iattr {
1252 unsigned int ia_valid ;
1253 umode_t ia_mode ;
1254 uid_t ia_uid ;
1255 gid_t ia_gid ;
1256 loff_t ia_size ;
1257 struct timespec ia_atime ;
1258 struct timespec ia_mtime ;
1259 struct timespec ia_ctime ;
1260 struct file *ia_file ;
1261};
1262#line 129 "include/linux/quota.h"
1263struct if_dqinfo {
1264 __u64 dqi_bgrace ;
1265 __u64 dqi_igrace ;
1266 __u32 dqi_flags ;
1267 __u32 dqi_valid ;
1268};
1269#line 50 "include/linux/dqblk_xfs.h"
1270struct fs_disk_quota {
1271 __s8 d_version ;
1272 __s8 d_flags ;
1273 __u16 d_fieldmask ;
1274 __u32 d_id ;
1275 __u64 d_blk_hardlimit ;
1276 __u64 d_blk_softlimit ;
1277 __u64 d_ino_hardlimit ;
1278 __u64 d_ino_softlimit ;
1279 __u64 d_bcount ;
1280 __u64 d_icount ;
1281 __s32 d_itimer ;
1282 __s32 d_btimer ;
1283 __u16 d_iwarns ;
1284 __u16 d_bwarns ;
1285 __s32 d_padding2 ;
1286 __u64 d_rtb_hardlimit ;
1287 __u64 d_rtb_softlimit ;
1288 __u64 d_rtbcount ;
1289 __s32 d_rtbtimer ;
1290 __u16 d_rtbwarns ;
1291 __s16 d_padding3 ;
1292 char d_padding4[8] ;
1293};
1294#line 146 "include/linux/dqblk_xfs.h"
1295struct fs_qfilestat {
1296 __u64 qfs_ino ;
1297 __u64 qfs_nblks ;
1298 __u32 qfs_nextents ;
1299};
1300#line 146 "include/linux/dqblk_xfs.h"
1301typedef struct fs_qfilestat fs_qfilestat_t;
1302#line 152 "include/linux/dqblk_xfs.h"
1303struct fs_quota_stat {
1304 __s8 qs_version ;
1305 __u16 qs_flags ;
1306 __s8 qs_pad ;
1307 fs_qfilestat_t qs_uquota ;
1308 fs_qfilestat_t qs_gquota ;
1309 __u32 qs_incoredqs ;
1310 __s32 qs_btimelimit ;
1311 __s32 qs_itimelimit ;
1312 __s32 qs_rtbtimelimit ;
1313 __u16 qs_bwarnlimit ;
1314 __u16 qs_iwarnlimit ;
1315};
1316#line 17 "include/linux/dqblk_qtree.h"
1317struct dquot;
1318#line 17
1319struct dquot;
1320#line 185 "include/linux/quota.h"
1321typedef __kernel_uid32_t qid_t;
1322#line 186 "include/linux/quota.h"
1323typedef long long qsize_t;
1324#line 200 "include/linux/quota.h"
1325struct mem_dqblk {
1326 qsize_t dqb_bhardlimit ;
1327 qsize_t dqb_bsoftlimit ;
1328 qsize_t dqb_curspace ;
1329 qsize_t dqb_rsvspace ;
1330 qsize_t dqb_ihardlimit ;
1331 qsize_t dqb_isoftlimit ;
1332 qsize_t dqb_curinodes ;
1333 time_t dqb_btime ;
1334 time_t dqb_itime ;
1335};
1336#line 215
1337struct quota_format_type;
1338#line 215
1339struct quota_format_type;
1340#line 217 "include/linux/quota.h"
1341struct mem_dqinfo {
1342 struct quota_format_type *dqi_format ;
1343 int dqi_fmt_id ;
1344 struct list_head dqi_dirty_list ;
1345 unsigned long dqi_flags ;
1346 unsigned int dqi_bgrace ;
1347 unsigned int dqi_igrace ;
1348 qsize_t dqi_maxblimit ;
1349 qsize_t dqi_maxilimit ;
1350 void *dqi_priv ;
1351};
1352#line 230
1353struct super_block;
1354#line 288 "include/linux/quota.h"
1355struct dquot {
1356 struct hlist_node dq_hash ;
1357 struct list_head dq_inuse ;
1358 struct list_head dq_free ;
1359 struct list_head dq_dirty ;
1360 struct mutex dq_lock ;
1361 atomic_t dq_count ;
1362 wait_queue_head_t dq_wait_unused ;
1363 struct super_block *dq_sb ;
1364 unsigned int dq_id ;
1365 loff_t dq_off ;
1366 unsigned long dq_flags ;
1367 short dq_type ;
1368 struct mem_dqblk dq_dqb ;
1369};
1370#line 305 "include/linux/quota.h"
1371struct quota_format_ops {
1372 int (*check_quota_file)(struct super_block *sb , int type ) ;
1373 int (*read_file_info)(struct super_block *sb , int type ) ;
1374 int (*write_file_info)(struct super_block *sb , int type ) ;
1375 int (*free_file_info)(struct super_block *sb , int type ) ;
1376 int (*read_dqblk)(struct dquot *dquot ) ;
1377 int (*commit_dqblk)(struct dquot *dquot ) ;
1378 int (*release_dqblk)(struct dquot *dquot ) ;
1379};
1380#line 316 "include/linux/quota.h"
1381struct dquot_operations {
1382 int (*write_dquot)(struct dquot * ) ;
1383 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
1384 void (*destroy_dquot)(struct dquot * ) ;
1385 int (*acquire_dquot)(struct dquot * ) ;
1386 int (*release_dquot)(struct dquot * ) ;
1387 int (*mark_dirty)(struct dquot * ) ;
1388 int (*write_info)(struct super_block * , int ) ;
1389 qsize_t *(*get_reserved_space)(struct inode * ) ;
1390};
1391#line 329
1392struct path;
1393#line 332 "include/linux/quota.h"
1394struct quotactl_ops {
1395 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
1396 int (*quota_on_meta)(struct super_block * , int , int ) ;
1397 int (*quota_off)(struct super_block * , int ) ;
1398 int (*quota_sync)(struct super_block * , int , int ) ;
1399 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
1400 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
1401 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1402 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1403 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1404 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
1405};
1406#line 345 "include/linux/quota.h"
1407struct quota_format_type {
1408 int qf_fmt_id ;
1409 struct quota_format_ops const *qf_ops ;
1410 struct module *qf_owner ;
1411 struct quota_format_type *qf_next ;
1412};
1413#line 399 "include/linux/quota.h"
1414struct quota_info {
1415 unsigned int flags ;
1416 struct mutex dqio_mutex ;
1417 struct mutex dqonoff_mutex ;
1418 struct rw_semaphore dqptr_sem ;
1419 struct inode *files[2] ;
1420 struct mem_dqinfo info[2] ;
1421 struct quota_format_ops const *ops[2] ;
1422};
1423#line 532 "include/linux/fs.h"
1424struct page;
1425#line 533
1426struct address_space;
1427#line 533
1428struct address_space;
1429#line 534
1430struct writeback_control;
1431#line 534
1432struct writeback_control;
1433#line 577 "include/linux/fs.h"
1434union __anonunion_arg_147 {
1435 char *buf ;
1436 void *data ;
1437};
1438#line 577 "include/linux/fs.h"
1439struct __anonstruct_read_descriptor_t_146 {
1440 size_t written ;
1441 size_t count ;
1442 union __anonunion_arg_147 arg ;
1443 int error ;
1444};
1445#line 577 "include/linux/fs.h"
1446typedef struct __anonstruct_read_descriptor_t_146 read_descriptor_t;
1447#line 590 "include/linux/fs.h"
1448struct address_space_operations {
1449 int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
1450 int (*readpage)(struct file * , struct page * ) ;
1451 int (*writepages)(struct address_space * , struct writeback_control * ) ;
1452 int (*set_page_dirty)(struct page *page ) ;
1453 int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
1454 unsigned int nr_pages ) ;
1455 int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
1456 unsigned int len , unsigned int flags , struct page **pagep ,
1457 void **fsdata ) ;
1458 int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
1459 unsigned int copied , struct page *page , void *fsdata ) ;
1460 sector_t (*bmap)(struct address_space * , sector_t ) ;
1461 void (*invalidatepage)(struct page * , unsigned long ) ;
1462 int (*releasepage)(struct page * , gfp_t ) ;
1463 void (*freepage)(struct page * ) ;
1464 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
1465 unsigned long nr_segs ) ;
1466 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
1467 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
1468 int (*launder_page)(struct page * ) ;
1469 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
1470 int (*error_remove_page)(struct address_space * , struct page * ) ;
1471};
1472#line 645
1473struct backing_dev_info;
1474#line 645
1475struct backing_dev_info;
1476#line 646 "include/linux/fs.h"
1477struct address_space {
1478 struct inode *host ;
1479 struct radix_tree_root page_tree ;
1480 spinlock_t tree_lock ;
1481 unsigned int i_mmap_writable ;
1482 struct prio_tree_root i_mmap ;
1483 struct list_head i_mmap_nonlinear ;
1484 struct mutex i_mmap_mutex ;
1485 unsigned long nrpages ;
1486 unsigned long writeback_index ;
1487 struct address_space_operations const *a_ops ;
1488 unsigned long flags ;
1489 struct backing_dev_info *backing_dev_info ;
1490 spinlock_t private_lock ;
1491 struct list_head private_list ;
1492 struct address_space *assoc_mapping ;
1493} __attribute__((__aligned__(sizeof(long )))) ;
1494#line 669
1495struct request_queue;
1496#line 669
1497struct request_queue;
1498#line 671
1499struct hd_struct;
1500#line 671
1501struct gendisk;
1502#line 671 "include/linux/fs.h"
1503struct block_device {
1504 dev_t bd_dev ;
1505 int bd_openers ;
1506 struct inode *bd_inode ;
1507 struct super_block *bd_super ;
1508 struct mutex bd_mutex ;
1509 struct list_head bd_inodes ;
1510 void *bd_claiming ;
1511 void *bd_holder ;
1512 int bd_holders ;
1513 bool bd_write_holder ;
1514 struct list_head bd_holder_disks ;
1515 struct block_device *bd_contains ;
1516 unsigned int bd_block_size ;
1517 struct hd_struct *bd_part ;
1518 unsigned int bd_part_count ;
1519 int bd_invalidated ;
1520 struct gendisk *bd_disk ;
1521 struct request_queue *bd_queue ;
1522 struct list_head bd_list ;
1523 unsigned long bd_private ;
1524 int bd_fsfreeze_count ;
1525 struct mutex bd_fsfreeze_mutex ;
1526};
1527#line 749
1528struct posix_acl;
1529#line 749
1530struct posix_acl;
1531#line 761
1532struct inode_operations;
1533#line 761 "include/linux/fs.h"
1534union __anonunion____missing_field_name_148 {
1535 unsigned int const i_nlink ;
1536 unsigned int __i_nlink ;
1537};
1538#line 761 "include/linux/fs.h"
1539union __anonunion____missing_field_name_149 {
1540 struct list_head i_dentry ;
1541 struct rcu_head i_rcu ;
1542};
1543#line 761
1544struct file_operations;
1545#line 761
1546struct file_lock;
1547#line 761
1548struct cdev;
1549#line 761 "include/linux/fs.h"
1550union __anonunion____missing_field_name_150 {
1551 struct pipe_inode_info *i_pipe ;
1552 struct block_device *i_bdev ;
1553 struct cdev *i_cdev ;
1554};
1555#line 761 "include/linux/fs.h"
1556struct inode {
1557 umode_t i_mode ;
1558 unsigned short i_opflags ;
1559 uid_t i_uid ;
1560 gid_t i_gid ;
1561 unsigned int i_flags ;
1562 struct posix_acl *i_acl ;
1563 struct posix_acl *i_default_acl ;
1564 struct inode_operations const *i_op ;
1565 struct super_block *i_sb ;
1566 struct address_space *i_mapping ;
1567 void *i_security ;
1568 unsigned long i_ino ;
1569 union __anonunion____missing_field_name_148 __annonCompField30 ;
1570 dev_t i_rdev ;
1571 struct timespec i_atime ;
1572 struct timespec i_mtime ;
1573 struct timespec i_ctime ;
1574 spinlock_t i_lock ;
1575 unsigned short i_bytes ;
1576 blkcnt_t i_blocks ;
1577 loff_t i_size ;
1578 unsigned long i_state ;
1579 struct mutex i_mutex ;
1580 unsigned long dirtied_when ;
1581 struct hlist_node i_hash ;
1582 struct list_head i_wb_list ;
1583 struct list_head i_lru ;
1584 struct list_head i_sb_list ;
1585 union __anonunion____missing_field_name_149 __annonCompField31 ;
1586 atomic_t i_count ;
1587 unsigned int i_blkbits ;
1588 u64 i_version ;
1589 atomic_t i_dio_count ;
1590 atomic_t i_writecount ;
1591 struct file_operations const *i_fop ;
1592 struct file_lock *i_flock ;
1593 struct address_space i_data ;
1594 struct dquot *i_dquot[2] ;
1595 struct list_head i_devices ;
1596 union __anonunion____missing_field_name_150 __annonCompField32 ;
1597 __u32 i_generation ;
1598 __u32 i_fsnotify_mask ;
1599 struct hlist_head i_fsnotify_marks ;
1600 atomic_t i_readcount ;
1601 void *i_private ;
1602};
1603#line 942 "include/linux/fs.h"
1604struct fown_struct {
1605 rwlock_t lock ;
1606 struct pid *pid ;
1607 enum pid_type pid_type ;
1608 uid_t uid ;
1609 uid_t euid ;
1610 int signum ;
1611};
1612#line 953 "include/linux/fs.h"
1613struct file_ra_state {
1614 unsigned long start ;
1615 unsigned int size ;
1616 unsigned int async_size ;
1617 unsigned int ra_pages ;
1618 unsigned int mmap_miss ;
1619 loff_t prev_pos ;
1620};
1621#line 976 "include/linux/fs.h"
1622union __anonunion_f_u_151 {
1623 struct list_head fu_list ;
1624 struct rcu_head fu_rcuhead ;
1625};
1626#line 976 "include/linux/fs.h"
1627struct file {
1628 union __anonunion_f_u_151 f_u ;
1629 struct path f_path ;
1630 struct file_operations const *f_op ;
1631 spinlock_t f_lock ;
1632 int f_sb_list_cpu ;
1633 atomic_long_t f_count ;
1634 unsigned int f_flags ;
1635 fmode_t f_mode ;
1636 loff_t f_pos ;
1637 struct fown_struct f_owner ;
1638 struct cred const *f_cred ;
1639 struct file_ra_state f_ra ;
1640 u64 f_version ;
1641 void *f_security ;
1642 void *private_data ;
1643 struct list_head f_ep_links ;
1644 struct list_head f_tfile_llink ;
1645 struct address_space *f_mapping ;
1646 unsigned long f_mnt_write_state ;
1647};
1648#line 1111
1649struct files_struct;
1650#line 1111 "include/linux/fs.h"
1651typedef struct files_struct *fl_owner_t;
1652#line 1113 "include/linux/fs.h"
1653struct file_lock_operations {
1654 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1655 void (*fl_release_private)(struct file_lock * ) ;
1656};
1657#line 1118 "include/linux/fs.h"
1658struct lock_manager_operations {
1659 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1660 void (*lm_notify)(struct file_lock * ) ;
1661 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
1662 void (*lm_release_private)(struct file_lock * ) ;
1663 void (*lm_break)(struct file_lock * ) ;
1664 int (*lm_change)(struct file_lock ** , int ) ;
1665};
1666#line 4 "include/linux/nfs_fs_i.h"
1667struct nlm_lockowner;
1668#line 4
1669struct nlm_lockowner;
1670#line 9 "include/linux/nfs_fs_i.h"
1671struct nfs_lock_info {
1672 u32 state ;
1673 struct nlm_lockowner *owner ;
1674 struct list_head list ;
1675};
1676#line 15
1677struct nfs4_lock_state;
1678#line 15
1679struct nfs4_lock_state;
1680#line 16 "include/linux/nfs_fs_i.h"
1681struct nfs4_lock_info {
1682 struct nfs4_lock_state *owner ;
1683};
1684#line 1138 "include/linux/fs.h"
1685struct fasync_struct;
1686#line 1138 "include/linux/fs.h"
1687struct __anonstruct_afs_153 {
1688 struct list_head link ;
1689 int state ;
1690};
1691#line 1138 "include/linux/fs.h"
1692union __anonunion_fl_u_152 {
1693 struct nfs_lock_info nfs_fl ;
1694 struct nfs4_lock_info nfs4_fl ;
1695 struct __anonstruct_afs_153 afs ;
1696};
1697#line 1138 "include/linux/fs.h"
1698struct file_lock {
1699 struct file_lock *fl_next ;
1700 struct list_head fl_link ;
1701 struct list_head fl_block ;
1702 fl_owner_t fl_owner ;
1703 unsigned int fl_flags ;
1704 unsigned char fl_type ;
1705 unsigned int fl_pid ;
1706 struct pid *fl_nspid ;
1707 wait_queue_head_t fl_wait ;
1708 struct file *fl_file ;
1709 loff_t fl_start ;
1710 loff_t fl_end ;
1711 struct fasync_struct *fl_fasync ;
1712 unsigned long fl_break_time ;
1713 unsigned long fl_downgrade_time ;
1714 struct file_lock_operations const *fl_ops ;
1715 struct lock_manager_operations const *fl_lmops ;
1716 union __anonunion_fl_u_152 fl_u ;
1717};
1718#line 1378 "include/linux/fs.h"
1719struct fasync_struct {
1720 spinlock_t fa_lock ;
1721 int magic ;
1722 int fa_fd ;
1723 struct fasync_struct *fa_next ;
1724 struct file *fa_file ;
1725 struct rcu_head fa_rcu ;
1726};
1727#line 1418
1728struct file_system_type;
1729#line 1418
1730struct super_operations;
1731#line 1418
1732struct xattr_handler;
1733#line 1418
1734struct mtd_info;
1735#line 1418 "include/linux/fs.h"
1736struct super_block {
1737 struct list_head s_list ;
1738 dev_t s_dev ;
1739 unsigned char s_dirt ;
1740 unsigned char s_blocksize_bits ;
1741 unsigned long s_blocksize ;
1742 loff_t s_maxbytes ;
1743 struct file_system_type *s_type ;
1744 struct super_operations const *s_op ;
1745 struct dquot_operations const *dq_op ;
1746 struct quotactl_ops const *s_qcop ;
1747 struct export_operations const *s_export_op ;
1748 unsigned long s_flags ;
1749 unsigned long s_magic ;
1750 struct dentry *s_root ;
1751 struct rw_semaphore s_umount ;
1752 struct mutex s_lock ;
1753 int s_count ;
1754 atomic_t s_active ;
1755 void *s_security ;
1756 struct xattr_handler const **s_xattr ;
1757 struct list_head s_inodes ;
1758 struct hlist_bl_head s_anon ;
1759 struct list_head *s_files ;
1760 struct list_head s_mounts ;
1761 struct list_head s_dentry_lru ;
1762 int s_nr_dentry_unused ;
1763 spinlock_t s_inode_lru_lock __attribute__((__aligned__((1) << (6) ))) ;
1764 struct list_head s_inode_lru ;
1765 int s_nr_inodes_unused ;
1766 struct block_device *s_bdev ;
1767 struct backing_dev_info *s_bdi ;
1768 struct mtd_info *s_mtd ;
1769 struct hlist_node s_instances ;
1770 struct quota_info s_dquot ;
1771 int s_frozen ;
1772 wait_queue_head_t s_wait_unfrozen ;
1773 char s_id[32] ;
1774 u8 s_uuid[16] ;
1775 void *s_fs_info ;
1776 unsigned int s_max_links ;
1777 fmode_t s_mode ;
1778 u32 s_time_gran ;
1779 struct mutex s_vfs_rename_mutex ;
1780 char *s_subtype ;
1781 char *s_options ;
1782 struct dentry_operations const *s_d_op ;
1783 int cleancache_poolid ;
1784 struct shrinker s_shrink ;
1785 atomic_long_t s_remove_count ;
1786 int s_readonly_remount ;
1787};
1788#line 1567 "include/linux/fs.h"
1789struct fiemap_extent_info {
1790 unsigned int fi_flags ;
1791 unsigned int fi_extents_mapped ;
1792 unsigned int fi_extents_max ;
1793 struct fiemap_extent *fi_extents_start ;
1794};
1795#line 1609 "include/linux/fs.h"
1796struct file_operations {
1797 struct module *owner ;
1798 loff_t (*llseek)(struct file * , loff_t , int ) ;
1799 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
1800 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
1801 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
1802 loff_t ) ;
1803 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
1804 loff_t ) ;
1805 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
1806 loff_t , u64 , unsigned int ) ) ;
1807 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1808 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
1809 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
1810 int (*mmap)(struct file * , struct vm_area_struct * ) ;
1811 int (*open)(struct inode * , struct file * ) ;
1812 int (*flush)(struct file * , fl_owner_t id ) ;
1813 int (*release)(struct inode * , struct file * ) ;
1814 int (*fsync)(struct file * , loff_t , loff_t , int datasync ) ;
1815 int (*aio_fsync)(struct kiocb * , int datasync ) ;
1816 int (*fasync)(int , struct file * , int ) ;
1817 int (*lock)(struct file * , int , struct file_lock * ) ;
1818 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
1819 int ) ;
1820 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1821 unsigned long , unsigned long ) ;
1822 int (*check_flags)(int ) ;
1823 int (*flock)(struct file * , int , struct file_lock * ) ;
1824 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
1825 unsigned int ) ;
1826 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
1827 unsigned int ) ;
1828 int (*setlease)(struct file * , long , struct file_lock ** ) ;
1829 long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
1830};
1831#line 1639 "include/linux/fs.h"
1832struct inode_operations {
1833 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1834 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1835 int (*permission)(struct inode * , int ) ;
1836 struct posix_acl *(*get_acl)(struct inode * , int ) ;
1837 int (*readlink)(struct dentry * , char * , int ) ;
1838 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1839 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
1840 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1841 int (*unlink)(struct inode * , struct dentry * ) ;
1842 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
1843 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
1844 int (*rmdir)(struct inode * , struct dentry * ) ;
1845 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
1846 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1847 void (*truncate)(struct inode * ) ;
1848 int (*setattr)(struct dentry * , struct iattr * ) ;
1849 int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
1850 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
1851 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
1852 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
1853 int (*removexattr)(struct dentry * , char const * ) ;
1854 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
1855 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
1856} __attribute__((__aligned__((1) << (6) ))) ;
1857#line 1669
1858struct seq_file;
1859#line 1684 "include/linux/fs.h"
1860struct super_operations {
1861 struct inode *(*alloc_inode)(struct super_block *sb ) ;
1862 void (*destroy_inode)(struct inode * ) ;
1863 void (*dirty_inode)(struct inode * , int flags ) ;
1864 int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
1865 int (*drop_inode)(struct inode * ) ;
1866 void (*evict_inode)(struct inode * ) ;
1867 void (*put_super)(struct super_block * ) ;
1868 void (*write_super)(struct super_block * ) ;
1869 int (*sync_fs)(struct super_block *sb , int wait ) ;
1870 int (*freeze_fs)(struct super_block * ) ;
1871 int (*unfreeze_fs)(struct super_block * ) ;
1872 int (*statfs)(struct dentry * , struct kstatfs * ) ;
1873 int (*remount_fs)(struct super_block * , int * , char * ) ;
1874 void (*umount_begin)(struct super_block * ) ;
1875 int (*show_options)(struct seq_file * , struct dentry * ) ;
1876 int (*show_devname)(struct seq_file * , struct dentry * ) ;
1877 int (*show_path)(struct seq_file * , struct dentry * ) ;
1878 int (*show_stats)(struct seq_file * , struct dentry * ) ;
1879 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
1880 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
1881 loff_t ) ;
1882 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
1883 int (*nr_cached_objects)(struct super_block * ) ;
1884 void (*free_cached_objects)(struct super_block * , int ) ;
1885};
1886#line 1835 "include/linux/fs.h"
1887struct file_system_type {
1888 char const *name ;
1889 int fs_flags ;
1890 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
1891 void (*kill_sb)(struct super_block * ) ;
1892 struct module *owner ;
1893 struct file_system_type *next ;
1894 struct hlist_head fs_supers ;
1895 struct lock_class_key s_lock_key ;
1896 struct lock_class_key s_umount_key ;
1897 struct lock_class_key s_vfs_rename_key ;
1898 struct lock_class_key i_lock_key ;
1899 struct lock_class_key i_mutex_key ;
1900 struct lock_class_key i_mutex_dir_key ;
1901};
1902#line 6 "include/asm-generic/termbits.h"
1903typedef unsigned char cc_t;
1904#line 7 "include/asm-generic/termbits.h"
1905typedef unsigned int speed_t;
1906#line 8 "include/asm-generic/termbits.h"
1907typedef unsigned int tcflag_t;
1908#line 31 "include/asm-generic/termbits.h"
1909struct ktermios {
1910 tcflag_t c_iflag ;
1911 tcflag_t c_oflag ;
1912 tcflag_t c_cflag ;
1913 tcflag_t c_lflag ;
1914 cc_t c_line ;
1915 cc_t c_cc[19] ;
1916 speed_t c_ispeed ;
1917 speed_t c_ospeed ;
1918};
1919#line 14 "include/asm-generic/termios.h"
1920struct winsize {
1921 unsigned short ws_row ;
1922 unsigned short ws_col ;
1923 unsigned short ws_xpixel ;
1924 unsigned short ws_ypixel ;
1925};
1926#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
1927struct exception_table_entry {
1928 unsigned long insn ;
1929 unsigned long fixup ;
1930};
1931#line 9 "include/linux/termios.h"
1932struct termiox {
1933 __u16 x_hflag ;
1934 __u16 x_cflag ;
1935 __u16 x_rflag[5] ;
1936 __u16 x_sflag ;
1937};
1938#line 19 "include/linux/export.h"
1939struct kernel_symbol {
1940 unsigned long value ;
1941 char const *name ;
1942};
1943#line 8 "include/linux/cdev.h"
1944struct file_operations;
1945#line 9
1946struct inode;
1947#line 10
1948struct module;
1949#line 12 "include/linux/cdev.h"
1950struct cdev {
1951 struct kobject kobj ;
1952 struct module *owner ;
1953 struct file_operations const *ops ;
1954 struct list_head list ;
1955 dev_t dev ;
1956 unsigned int count ;
1957};
1958#line 245 "include/linux/tty_driver.h"
1959struct tty_struct;
1960#line 245
1961struct tty_struct;
1962#line 246
1963struct tty_driver;
1964#line 246
1965struct tty_driver;
1966#line 247
1967struct serial_icounter_struct;
1968#line 247
1969struct serial_icounter_struct;
1970#line 249 "include/linux/tty_driver.h"
1971struct tty_operations {
1972 struct tty_struct *(*lookup)(struct tty_driver *driver , struct inode *inode ,
1973 int idx ) ;
1974 int (*install)(struct tty_driver *driver , struct tty_struct *tty ) ;
1975 void (*remove)(struct tty_driver *driver , struct tty_struct *tty ) ;
1976 int (*open)(struct tty_struct *tty , struct file *filp ) ;
1977 void (*close)(struct tty_struct *tty , struct file *filp ) ;
1978 void (*shutdown)(struct tty_struct *tty ) ;
1979 void (*cleanup)(struct tty_struct *tty ) ;
1980 int (*write)(struct tty_struct *tty , unsigned char const *buf , int count ) ;
1981 int (*put_char)(struct tty_struct *tty , unsigned char ch ) ;
1982 void (*flush_chars)(struct tty_struct *tty ) ;
1983 int (*write_room)(struct tty_struct *tty ) ;
1984 int (*chars_in_buffer)(struct tty_struct *tty ) ;
1985 int (*ioctl)(struct tty_struct *tty , unsigned int cmd , unsigned long arg ) ;
1986 long (*compat_ioctl)(struct tty_struct *tty , unsigned int cmd , unsigned long arg ) ;
1987 void (*set_termios)(struct tty_struct *tty , struct ktermios *old ) ;
1988 void (*throttle)(struct tty_struct *tty ) ;
1989 void (*unthrottle)(struct tty_struct *tty ) ;
1990 void (*stop)(struct tty_struct *tty ) ;
1991 void (*start)(struct tty_struct *tty ) ;
1992 void (*hangup)(struct tty_struct *tty ) ;
1993 int (*break_ctl)(struct tty_struct *tty , int state ) ;
1994 void (*flush_buffer)(struct tty_struct *tty ) ;
1995 void (*set_ldisc)(struct tty_struct *tty ) ;
1996 void (*wait_until_sent)(struct tty_struct *tty , int timeout ) ;
1997 void (*send_xchar)(struct tty_struct *tty , char ch ) ;
1998 int (*tiocmget)(struct tty_struct *tty ) ;
1999 int (*tiocmset)(struct tty_struct *tty , unsigned int set , unsigned int clear ) ;
2000 int (*resize)(struct tty_struct *tty , struct winsize *ws ) ;
2001 int (*set_termiox)(struct tty_struct *tty , struct termiox *tnew ) ;
2002 int (*get_icount)(struct tty_struct *tty , struct serial_icounter_struct *icount ) ;
2003 int (*poll_init)(struct tty_driver *driver , int line , char *options ) ;
2004 int (*poll_get_char)(struct tty_driver *driver , int line ) ;
2005 void (*poll_put_char)(struct tty_driver *driver , int line , char ch ) ;
2006 struct file_operations const *proc_fops ;
2007};
2008#line 294
2009struct proc_dir_entry;
2010#line 294 "include/linux/tty_driver.h"
2011struct tty_driver {
2012 int magic ;
2013 struct kref kref ;
2014 struct cdev cdev ;
2015 struct module *owner ;
2016 char const *driver_name ;
2017 char const *name ;
2018 int name_base ;
2019 int major ;
2020 int minor_start ;
2021 int num ;
2022 short type ;
2023 short subtype ;
2024 struct ktermios init_termios ;
2025 int flags ;
2026 struct proc_dir_entry *proc_entry ;
2027 struct tty_driver *other ;
2028 struct tty_struct **ttys ;
2029 struct ktermios **termios ;
2030 void *driver_state ;
2031 struct tty_operations const *ops ;
2032 struct list_head tty_drivers ;
2033};
2034#line 19 "include/linux/klist.h"
2035struct klist_node;
2036#line 19
2037struct klist_node;
2038#line 39 "include/linux/klist.h"
2039struct klist_node {
2040 void *n_klist ;
2041 struct list_head n_node ;
2042 struct kref n_ref ;
2043};
2044#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
2045struct dma_map_ops;
2046#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
2047struct dev_archdata {
2048 void *acpi_handle ;
2049 struct dma_map_ops *dma_ops ;
2050 void *iommu ;
2051};
2052#line 28 "include/linux/device.h"
2053struct device;
2054#line 29
2055struct device_private;
2056#line 29
2057struct device_private;
2058#line 30
2059struct device_driver;
2060#line 30
2061struct device_driver;
2062#line 31
2063struct driver_private;
2064#line 31
2065struct driver_private;
2066#line 32
2067struct module;
2068#line 33
2069struct class;
2070#line 33
2071struct class;
2072#line 34
2073struct subsys_private;
2074#line 34
2075struct subsys_private;
2076#line 35
2077struct bus_type;
2078#line 35
2079struct bus_type;
2080#line 36
2081struct device_node;
2082#line 36
2083struct device_node;
2084#line 37
2085struct iommu_ops;
2086#line 37
2087struct iommu_ops;
2088#line 39 "include/linux/device.h"
2089struct bus_attribute {
2090 struct attribute attr ;
2091 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
2092 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
2093};
2094#line 89
2095struct device_attribute;
2096#line 89
2097struct driver_attribute;
2098#line 89 "include/linux/device.h"
2099struct bus_type {
2100 char const *name ;
2101 char const *dev_name ;
2102 struct device *dev_root ;
2103 struct bus_attribute *bus_attrs ;
2104 struct device_attribute *dev_attrs ;
2105 struct driver_attribute *drv_attrs ;
2106 int (*match)(struct device *dev , struct device_driver *drv ) ;
2107 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2108 int (*probe)(struct device *dev ) ;
2109 int (*remove)(struct device *dev ) ;
2110 void (*shutdown)(struct device *dev ) ;
2111 int (*suspend)(struct device *dev , pm_message_t state ) ;
2112 int (*resume)(struct device *dev ) ;
2113 struct dev_pm_ops const *pm ;
2114 struct iommu_ops *iommu_ops ;
2115 struct subsys_private *p ;
2116};
2117#line 127
2118struct device_type;
2119#line 214
2120struct of_device_id;
2121#line 214 "include/linux/device.h"
2122struct device_driver {
2123 char const *name ;
2124 struct bus_type *bus ;
2125 struct module *owner ;
2126 char const *mod_name ;
2127 bool suppress_bind_attrs ;
2128 struct of_device_id const *of_match_table ;
2129 int (*probe)(struct device *dev ) ;
2130 int (*remove)(struct device *dev ) ;
2131 void (*shutdown)(struct device *dev ) ;
2132 int (*suspend)(struct device *dev , pm_message_t state ) ;
2133 int (*resume)(struct device *dev ) ;
2134 struct attribute_group const **groups ;
2135 struct dev_pm_ops const *pm ;
2136 struct driver_private *p ;
2137};
2138#line 249 "include/linux/device.h"
2139struct driver_attribute {
2140 struct attribute attr ;
2141 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
2142 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
2143};
2144#line 330
2145struct class_attribute;
2146#line 330 "include/linux/device.h"
2147struct class {
2148 char const *name ;
2149 struct module *owner ;
2150 struct class_attribute *class_attrs ;
2151 struct device_attribute *dev_attrs ;
2152 struct bin_attribute *dev_bin_attrs ;
2153 struct kobject *dev_kobj ;
2154 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2155 char *(*devnode)(struct device *dev , umode_t *mode ) ;
2156 void (*class_release)(struct class *class ) ;
2157 void (*dev_release)(struct device *dev ) ;
2158 int (*suspend)(struct device *dev , pm_message_t state ) ;
2159 int (*resume)(struct device *dev ) ;
2160 struct kobj_ns_type_operations const *ns_type ;
2161 void const *(*namespace)(struct device *dev ) ;
2162 struct dev_pm_ops const *pm ;
2163 struct subsys_private *p ;
2164};
2165#line 397 "include/linux/device.h"
2166struct class_attribute {
2167 struct attribute attr ;
2168 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
2169 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
2170 size_t count ) ;
2171 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
2172};
2173#line 465 "include/linux/device.h"
2174struct device_type {
2175 char const *name ;
2176 struct attribute_group const **groups ;
2177 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2178 char *(*devnode)(struct device *dev , umode_t *mode ) ;
2179 void (*release)(struct device *dev ) ;
2180 struct dev_pm_ops const *pm ;
2181};
2182#line 476 "include/linux/device.h"
2183struct device_attribute {
2184 struct attribute attr ;
2185 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
2186 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
2187 size_t count ) ;
2188};
2189#line 559 "include/linux/device.h"
2190struct device_dma_parameters {
2191 unsigned int max_segment_size ;
2192 unsigned long segment_boundary_mask ;
2193};
2194#line 627
2195struct dma_coherent_mem;
2196#line 627 "include/linux/device.h"
2197struct device {
2198 struct device *parent ;
2199 struct device_private *p ;
2200 struct kobject kobj ;
2201 char const *init_name ;
2202 struct device_type const *type ;
2203 struct mutex mutex ;
2204 struct bus_type *bus ;
2205 struct device_driver *driver ;
2206 void *platform_data ;
2207 struct dev_pm_info power ;
2208 struct dev_pm_domain *pm_domain ;
2209 int numa_node ;
2210 u64 *dma_mask ;
2211 u64 coherent_dma_mask ;
2212 struct device_dma_parameters *dma_parms ;
2213 struct list_head dma_pools ;
2214 struct dma_coherent_mem *dma_mem ;
2215 struct dev_archdata archdata ;
2216 struct device_node *of_node ;
2217 dev_t devt ;
2218 u32 id ;
2219 spinlock_t devres_lock ;
2220 struct list_head devres_head ;
2221 struct klist_node knode_class ;
2222 struct class *class ;
2223 struct attribute_group const **groups ;
2224 void (*release)(struct device *dev ) ;
2225};
2226#line 43 "include/linux/pm_wakeup.h"
2227struct wakeup_source {
2228 char const *name ;
2229 struct list_head entry ;
2230 spinlock_t lock ;
2231 struct timer_list timer ;
2232 unsigned long timer_expires ;
2233 ktime_t total_time ;
2234 ktime_t max_time ;
2235 ktime_t last_time ;
2236 unsigned long event_count ;
2237 unsigned long active_count ;
2238 unsigned long relax_count ;
2239 unsigned long hit_count ;
2240 unsigned int active : 1 ;
2241};
2242#line 49 "include/linux/pps_kernel.h"
2243struct pps_event_time {
2244 struct timespec ts_real ;
2245};
2246#line 114 "include/linux/tty_ldisc.h"
2247struct tty_ldisc_ops {
2248 int magic ;
2249 char *name ;
2250 int num ;
2251 int flags ;
2252 int (*open)(struct tty_struct * ) ;
2253 void (*close)(struct tty_struct * ) ;
2254 void (*flush_buffer)(struct tty_struct *tty ) ;
2255 ssize_t (*chars_in_buffer)(struct tty_struct *tty ) ;
2256 ssize_t (*read)(struct tty_struct *tty , struct file *file , unsigned char *buf ,
2257 size_t nr ) ;
2258 ssize_t (*write)(struct tty_struct *tty , struct file *file , unsigned char const *buf ,
2259 size_t nr ) ;
2260 int (*ioctl)(struct tty_struct *tty , struct file *file , unsigned int cmd , unsigned long arg ) ;
2261 long (*compat_ioctl)(struct tty_struct *tty , struct file *file , unsigned int cmd ,
2262 unsigned long arg ) ;
2263 void (*set_termios)(struct tty_struct *tty , struct ktermios *old ) ;
2264 unsigned int (*poll)(struct tty_struct * , struct file * , struct poll_table_struct * ) ;
2265 int (*hangup)(struct tty_struct *tty ) ;
2266 void (*receive_buf)(struct tty_struct * , unsigned char const *cp , char *fp ,
2267 int count ) ;
2268 void (*write_wakeup)(struct tty_struct * ) ;
2269 void (*dcd_change)(struct tty_struct * , unsigned int , struct pps_event_time * ) ;
2270 struct module *owner ;
2271 int refcount ;
2272};
2273#line 154 "include/linux/tty_ldisc.h"
2274struct tty_ldisc {
2275 struct tty_ldisc_ops *ops ;
2276 atomic_t users ;
2277};
2278#line 64 "include/linux/tty.h"
2279struct tty_buffer {
2280 struct tty_buffer *next ;
2281 char *char_buf_ptr ;
2282 unsigned char *flag_buf_ptr ;
2283 int used ;
2284 int size ;
2285 int commit ;
2286 int read ;
2287 unsigned long data[0] ;
2288};
2289#line 87 "include/linux/tty.h"
2290struct tty_bufhead {
2291 struct work_struct work ;
2292 spinlock_t lock ;
2293 struct tty_buffer *head ;
2294 struct tty_buffer *tail ;
2295 struct tty_buffer *free ;
2296 int memory_used ;
2297};
2298#line 188
2299struct device;
2300#line 189
2301struct signal_struct;
2302#line 189
2303struct signal_struct;
2304#line 202
2305struct tty_port;
2306#line 202
2307struct tty_port;
2308#line 204 "include/linux/tty.h"
2309struct tty_port_operations {
2310 int (*carrier_raised)(struct tty_port *port ) ;
2311 void (*dtr_rts)(struct tty_port *port , int raise ) ;
2312 void (*shutdown)(struct tty_port *port ) ;
2313 void (*drop)(struct tty_port *port ) ;
2314 int (*activate)(struct tty_port *port , struct tty_struct *tty ) ;
2315 void (*destruct)(struct tty_port *port ) ;
2316};
2317#line 223 "include/linux/tty.h"
2318struct tty_port {
2319 struct tty_struct *tty ;
2320 struct tty_port_operations const *ops ;
2321 spinlock_t lock ;
2322 int blocked_open ;
2323 int count ;
2324 wait_queue_head_t open_wait ;
2325 wait_queue_head_t close_wait ;
2326 wait_queue_head_t delta_msr_wait ;
2327 unsigned long flags ;
2328 unsigned char console : 1 ;
2329 struct mutex mutex ;
2330 struct mutex buf_mutex ;
2331 unsigned char *xmit_buf ;
2332 unsigned int close_delay ;
2333 unsigned int closing_wait ;
2334 int drain_delay ;
2335 struct kref kref ;
2336};
2337#line 257
2338struct tty_operations;
2339#line 259 "include/linux/tty.h"
2340struct tty_struct {
2341 int magic ;
2342 struct kref kref ;
2343 struct device *dev ;
2344 struct tty_driver *driver ;
2345 struct tty_operations const *ops ;
2346 int index ;
2347 struct mutex ldisc_mutex ;
2348 struct tty_ldisc *ldisc ;
2349 struct mutex termios_mutex ;
2350 spinlock_t ctrl_lock ;
2351 struct ktermios *termios ;
2352 struct ktermios *termios_locked ;
2353 struct termiox *termiox ;
2354 char name[64] ;
2355 struct pid *pgrp ;
2356 struct pid *session ;
2357 unsigned long flags ;
2358 int count ;
2359 struct winsize winsize ;
2360 unsigned char stopped : 1 ;
2361 unsigned char hw_stopped : 1 ;
2362 unsigned char flow_stopped : 1 ;
2363 unsigned char packet : 1 ;
2364 unsigned char low_latency : 1 ;
2365 unsigned char warned : 1 ;
2366 unsigned char ctrl_status ;
2367 unsigned int receive_room ;
2368 struct tty_struct *link ;
2369 struct fasync_struct *fasync ;
2370 struct tty_bufhead buf ;
2371 int alt_speed ;
2372 wait_queue_head_t write_wait ;
2373 wait_queue_head_t read_wait ;
2374 struct work_struct hangup_work ;
2375 void *disc_data ;
2376 void *driver_data ;
2377 struct list_head tty_files ;
2378 unsigned int column ;
2379 unsigned char lnext : 1 ;
2380 unsigned char erasing : 1 ;
2381 unsigned char raw : 1 ;
2382 unsigned char real_raw : 1 ;
2383 unsigned char icanon : 1 ;
2384 unsigned char closing : 1 ;
2385 unsigned char echo_overrun : 1 ;
2386 unsigned short minimum_to_wake ;
2387 unsigned long overrun_time ;
2388 int num_overrun ;
2389 unsigned long process_char_map[256UL / (8UL * sizeof(unsigned long ))] ;
2390 char *read_buf ;
2391 int read_head ;
2392 int read_tail ;
2393 int read_cnt ;
2394 unsigned long read_flags[4096UL / (8UL * sizeof(unsigned long ))] ;
2395 unsigned char *echo_buf ;
2396 unsigned int echo_pos ;
2397 unsigned int echo_cnt ;
2398 int canon_data ;
2399 unsigned long canon_head ;
2400 unsigned int canon_column ;
2401 struct mutex atomic_read_lock ;
2402 struct mutex atomic_write_lock ;
2403 struct mutex output_lock ;
2404 struct mutex echo_lock ;
2405 unsigned char *write_buf ;
2406 int write_cnt ;
2407 spinlock_t read_lock ;
2408 struct work_struct SAK_work ;
2409 struct tty_port *port ;
2410};
2411#line 29 "include/linux/sysctl.h"
2412struct completion;
2413#line 100 "include/linux/rbtree.h"
2414struct rb_node {
2415 unsigned long rb_parent_color ;
2416 struct rb_node *rb_right ;
2417 struct rb_node *rb_left ;
2418} __attribute__((__aligned__(sizeof(long )))) ;
2419#line 110 "include/linux/rbtree.h"
2420struct rb_root {
2421 struct rb_node *rb_node ;
2422};
2423#line 939 "include/linux/sysctl.h"
2424struct nsproxy;
2425#line 939
2426struct nsproxy;
2427#line 48 "include/linux/kmod.h"
2428struct cred;
2429#line 49
2430struct file;
2431#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
2432struct task_struct;
2433#line 18 "include/linux/elf.h"
2434typedef __u64 Elf64_Addr;
2435#line 19 "include/linux/elf.h"
2436typedef __u16 Elf64_Half;
2437#line 23 "include/linux/elf.h"
2438typedef __u32 Elf64_Word;
2439#line 24 "include/linux/elf.h"
2440typedef __u64 Elf64_Xword;
2441#line 194 "include/linux/elf.h"
2442struct elf64_sym {
2443 Elf64_Word st_name ;
2444 unsigned char st_info ;
2445 unsigned char st_other ;
2446 Elf64_Half st_shndx ;
2447 Elf64_Addr st_value ;
2448 Elf64_Xword st_size ;
2449};
2450#line 194 "include/linux/elf.h"
2451typedef struct elf64_sym Elf64_Sym;
2452#line 438
2453struct file;
2454#line 39 "include/linux/moduleparam.h"
2455struct kernel_param;
2456#line 39
2457struct kernel_param;
2458#line 41 "include/linux/moduleparam.h"
2459struct kernel_param_ops {
2460 int (*set)(char const *val , struct kernel_param const *kp ) ;
2461 int (*get)(char *buffer , struct kernel_param const *kp ) ;
2462 void (*free)(void *arg ) ;
2463};
2464#line 50
2465struct kparam_string;
2466#line 50
2467struct kparam_array;
2468#line 50 "include/linux/moduleparam.h"
2469union __anonunion____missing_field_name_216 {
2470 void *arg ;
2471 struct kparam_string const *str ;
2472 struct kparam_array const *arr ;
2473};
2474#line 50 "include/linux/moduleparam.h"
2475struct kernel_param {
2476 char const *name ;
2477 struct kernel_param_ops const *ops ;
2478 u16 perm ;
2479 s16 level ;
2480 union __anonunion____missing_field_name_216 __annonCompField35 ;
2481};
2482#line 63 "include/linux/moduleparam.h"
2483struct kparam_string {
2484 unsigned int maxlen ;
2485 char *string ;
2486};
2487#line 69 "include/linux/moduleparam.h"
2488struct kparam_array {
2489 unsigned int max ;
2490 unsigned int elemsize ;
2491 unsigned int *num ;
2492 struct kernel_param_ops const *ops ;
2493 void *elem ;
2494};
2495#line 445
2496struct module;
2497#line 80 "include/linux/jump_label.h"
2498struct module;
2499#line 143 "include/linux/jump_label.h"
2500struct static_key {
2501 atomic_t enabled ;
2502};
2503#line 22 "include/linux/tracepoint.h"
2504struct module;
2505#line 23
2506struct tracepoint;
2507#line 23
2508struct tracepoint;
2509#line 25 "include/linux/tracepoint.h"
2510struct tracepoint_func {
2511 void *func ;
2512 void *data ;
2513};
2514#line 30 "include/linux/tracepoint.h"
2515struct tracepoint {
2516 char const *name ;
2517 struct static_key key ;
2518 void (*regfunc)(void) ;
2519 void (*unregfunc)(void) ;
2520 struct tracepoint_func *funcs ;
2521};
2522#line 8 "include/asm-generic/module.h"
2523struct mod_arch_specific {
2524
2525};
2526#line 35 "include/linux/module.h"
2527struct module;
2528#line 37
2529struct module_param_attrs;
2530#line 37 "include/linux/module.h"
2531struct module_kobject {
2532 struct kobject kobj ;
2533 struct module *mod ;
2534 struct kobject *drivers_dir ;
2535 struct module_param_attrs *mp ;
2536};
2537#line 44 "include/linux/module.h"
2538struct module_attribute {
2539 struct attribute attr ;
2540 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
2541 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
2542 size_t count ) ;
2543 void (*setup)(struct module * , char const * ) ;
2544 int (*test)(struct module * ) ;
2545 void (*free)(struct module * ) ;
2546};
2547#line 71
2548struct exception_table_entry;
2549#line 199
2550enum module_state {
2551 MODULE_STATE_LIVE = 0,
2552 MODULE_STATE_COMING = 1,
2553 MODULE_STATE_GOING = 2
2554} ;
2555#line 215 "include/linux/module.h"
2556struct module_ref {
2557 unsigned long incs ;
2558 unsigned long decs ;
2559} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
2560#line 220
2561struct module_sect_attrs;
2562#line 220
2563struct module_notes_attrs;
2564#line 220
2565struct ftrace_event_call;
2566#line 220 "include/linux/module.h"
2567struct module {
2568 enum module_state state ;
2569 struct list_head list ;
2570 char name[64UL - sizeof(unsigned long )] ;
2571 struct module_kobject mkobj ;
2572 struct module_attribute *modinfo_attrs ;
2573 char const *version ;
2574 char const *srcversion ;
2575 struct kobject *holders_dir ;
2576 struct kernel_symbol const *syms ;
2577 unsigned long const *crcs ;
2578 unsigned int num_syms ;
2579 struct kernel_param *kp ;
2580 unsigned int num_kp ;
2581 unsigned int num_gpl_syms ;
2582 struct kernel_symbol const *gpl_syms ;
2583 unsigned long const *gpl_crcs ;
2584 struct kernel_symbol const *unused_syms ;
2585 unsigned long const *unused_crcs ;
2586 unsigned int num_unused_syms ;
2587 unsigned int num_unused_gpl_syms ;
2588 struct kernel_symbol const *unused_gpl_syms ;
2589 unsigned long const *unused_gpl_crcs ;
2590 struct kernel_symbol const *gpl_future_syms ;
2591 unsigned long const *gpl_future_crcs ;
2592 unsigned int num_gpl_future_syms ;
2593 unsigned int num_exentries ;
2594 struct exception_table_entry *extable ;
2595 int (*init)(void) ;
2596 void *module_init ;
2597 void *module_core ;
2598 unsigned int init_size ;
2599 unsigned int core_size ;
2600 unsigned int init_text_size ;
2601 unsigned int core_text_size ;
2602 unsigned int init_ro_size ;
2603 unsigned int core_ro_size ;
2604 struct mod_arch_specific arch ;
2605 unsigned int taints ;
2606 unsigned int num_bugs ;
2607 struct list_head bug_list ;
2608 struct bug_entry *bug_table ;
2609 Elf64_Sym *symtab ;
2610 Elf64_Sym *core_symtab ;
2611 unsigned int num_symtab ;
2612 unsigned int core_num_syms ;
2613 char *strtab ;
2614 char *core_strtab ;
2615 struct module_sect_attrs *sect_attrs ;
2616 struct module_notes_attrs *notes_attrs ;
2617 char *args ;
2618 void *percpu ;
2619 unsigned int percpu_size ;
2620 unsigned int num_tracepoints ;
2621 struct tracepoint * const *tracepoints_ptrs ;
2622 unsigned int num_trace_bprintk_fmt ;
2623 char const **trace_bprintk_fmt_start ;
2624 struct ftrace_event_call **trace_events ;
2625 unsigned int num_trace_events ;
2626 struct list_head source_list ;
2627 struct list_head target_list ;
2628 struct task_struct *waiter ;
2629 void (*exit)(void) ;
2630 struct module_ref *refptr ;
2631 ctor_fn_t *ctors ;
2632 unsigned int num_ctors ;
2633};
2634#line 22 "include/linux/serial.h"
2635struct async_icount {
2636 __u32 cts ;
2637 __u32 dsr ;
2638 __u32 rng ;
2639 __u32 dcd ;
2640 __u32 tx ;
2641 __u32 rx ;
2642 __u32 frame ;
2643 __u32 parity ;
2644 __u32 overrun ;
2645 __u32 brk ;
2646 __u32 buf_overrun ;
2647};
2648#line 35 "include/linux/serial.h"
2649struct serial_struct {
2650 int type ;
2651 int line ;
2652 unsigned int port ;
2653 int irq ;
2654 int flags ;
2655 int xmit_fifo_size ;
2656 int custom_divisor ;
2657 int baud_base ;
2658 unsigned short close_delay ;
2659 char io_type ;
2660 char reserved_char[1] ;
2661 int hub6 ;
2662 unsigned short closing_wait ;
2663 unsigned short closing_wait2 ;
2664 unsigned char *iomem_base ;
2665 unsigned short iomem_reg_shift ;
2666 unsigned int port_high ;
2667 unsigned long iomap_base ;
2668};
2669#line 193 "include/linux/serial.h"
2670struct serial_icounter_struct {
2671 int cts ;
2672 int dsr ;
2673 int rng ;
2674 int dcd ;
2675 int rx ;
2676 int tx ;
2677 int frame ;
2678 int overrun ;
2679 int parity ;
2680 int brk ;
2681 int buf_overrun ;
2682 int reserved[9] ;
2683};
2684#line 12 "include/linux/mod_devicetable.h"
2685typedef unsigned long kernel_ulong_t;
2686#line 98 "include/linux/mod_devicetable.h"
2687struct usb_device_id {
2688 __u16 match_flags ;
2689 __u16 idVendor ;
2690 __u16 idProduct ;
2691 __u16 bcdDevice_lo ;
2692 __u16 bcdDevice_hi ;
2693 __u8 bDeviceClass ;
2694 __u8 bDeviceSubClass ;
2695 __u8 bDeviceProtocol ;
2696 __u8 bInterfaceClass ;
2697 __u8 bInterfaceSubClass ;
2698 __u8 bInterfaceProtocol ;
2699 kernel_ulong_t driver_info ;
2700};
2701#line 219 "include/linux/mod_devicetable.h"
2702struct of_device_id {
2703 char name[32] ;
2704 char type[32] ;
2705 char compatible[128] ;
2706 void *data ;
2707};
2708#line 177 "include/linux/usb/ch9.h"
2709struct usb_ctrlrequest {
2710 __u8 bRequestType ;
2711 __u8 bRequest ;
2712 __le16 wValue ;
2713 __le16 wIndex ;
2714 __le16 wLength ;
2715} __attribute__((__packed__)) ;
2716#line 250 "include/linux/usb/ch9.h"
2717struct usb_device_descriptor {
2718 __u8 bLength ;
2719 __u8 bDescriptorType ;
2720 __le16 bcdUSB ;
2721 __u8 bDeviceClass ;
2722 __u8 bDeviceSubClass ;
2723 __u8 bDeviceProtocol ;
2724 __u8 bMaxPacketSize0 ;
2725 __le16 idVendor ;
2726 __le16 idProduct ;
2727 __le16 bcdDevice ;
2728 __u8 iManufacturer ;
2729 __u8 iProduct ;
2730 __u8 iSerialNumber ;
2731 __u8 bNumConfigurations ;
2732} __attribute__((__packed__)) ;
2733#line 306 "include/linux/usb/ch9.h"
2734struct usb_config_descriptor {
2735 __u8 bLength ;
2736 __u8 bDescriptorType ;
2737 __le16 wTotalLength ;
2738 __u8 bNumInterfaces ;
2739 __u8 bConfigurationValue ;
2740 __u8 iConfiguration ;
2741 __u8 bmAttributes ;
2742 __u8 bMaxPower ;
2743} __attribute__((__packed__)) ;
2744#line 343 "include/linux/usb/ch9.h"
2745struct usb_interface_descriptor {
2746 __u8 bLength ;
2747 __u8 bDescriptorType ;
2748 __u8 bInterfaceNumber ;
2749 __u8 bAlternateSetting ;
2750 __u8 bNumEndpoints ;
2751 __u8 bInterfaceClass ;
2752 __u8 bInterfaceSubClass ;
2753 __u8 bInterfaceProtocol ;
2754 __u8 iInterface ;
2755} __attribute__((__packed__)) ;
2756#line 361 "include/linux/usb/ch9.h"
2757struct usb_endpoint_descriptor {
2758 __u8 bLength ;
2759 __u8 bDescriptorType ;
2760 __u8 bEndpointAddress ;
2761 __u8 bmAttributes ;
2762 __le16 wMaxPacketSize ;
2763 __u8 bInterval ;
2764 __u8 bRefresh ;
2765 __u8 bSynchAddress ;
2766} __attribute__((__packed__)) ;
2767#line 598 "include/linux/usb/ch9.h"
2768struct usb_ss_ep_comp_descriptor {
2769 __u8 bLength ;
2770 __u8 bDescriptorType ;
2771 __u8 bMaxBurst ;
2772 __u8 bmAttributes ;
2773 __le16 wBytesPerInterval ;
2774} __attribute__((__packed__)) ;
2775#line 677 "include/linux/usb/ch9.h"
2776struct usb_interface_assoc_descriptor {
2777 __u8 bLength ;
2778 __u8 bDescriptorType ;
2779 __u8 bFirstInterface ;
2780 __u8 bInterfaceCount ;
2781 __u8 bFunctionClass ;
2782 __u8 bFunctionSubClass ;
2783 __u8 bFunctionProtocol ;
2784 __u8 iFunction ;
2785} __attribute__((__packed__)) ;
2786#line 737 "include/linux/usb/ch9.h"
2787struct usb_bos_descriptor {
2788 __u8 bLength ;
2789 __u8 bDescriptorType ;
2790 __le16 wTotalLength ;
2791 __u8 bNumDeviceCaps ;
2792} __attribute__((__packed__)) ;
2793#line 786 "include/linux/usb/ch9.h"
2794struct usb_ext_cap_descriptor {
2795 __u8 bLength ;
2796 __u8 bDescriptorType ;
2797 __u8 bDevCapabilityType ;
2798 __le32 bmAttributes ;
2799} __attribute__((__packed__)) ;
2800#line 806 "include/linux/usb/ch9.h"
2801struct usb_ss_cap_descriptor {
2802 __u8 bLength ;
2803 __u8 bDescriptorType ;
2804 __u8 bDevCapabilityType ;
2805 __u8 bmAttributes ;
2806 __le16 wSpeedSupported ;
2807 __u8 bFunctionalitySupport ;
2808 __u8 bU1devExitLat ;
2809 __le16 bU2DevExitLat ;
2810} __attribute__((__packed__)) ;
2811#line 829 "include/linux/usb/ch9.h"
2812struct usb_ss_container_id_descriptor {
2813 __u8 bLength ;
2814 __u8 bDescriptorType ;
2815 __u8 bDevCapabilityType ;
2816 __u8 bReserved ;
2817 __u8 ContainerID[16] ;
2818} __attribute__((__packed__)) ;
2819#line 891
2820enum usb_device_speed {
2821 USB_SPEED_UNKNOWN = 0,
2822 USB_SPEED_LOW = 1,
2823 USB_SPEED_FULL = 2,
2824 USB_SPEED_HIGH = 3,
2825 USB_SPEED_WIRELESS = 4,
2826 USB_SPEED_SUPER = 5
2827} ;
2828#line 911
2829enum usb_device_state {
2830 USB_STATE_NOTATTACHED = 0,
2831 USB_STATE_ATTACHED = 1,
2832 USB_STATE_POWERED = 2,
2833 USB_STATE_RECONNECTING = 3,
2834 USB_STATE_UNAUTHENTICATED = 4,
2835 USB_STATE_DEFAULT = 5,
2836 USB_STATE_ADDRESS = 6,
2837 USB_STATE_CONFIGURED = 7,
2838 USB_STATE_SUSPENDED = 8
2839} ;
2840#line 31 "include/linux/irq.h"
2841struct seq_file;
2842#line 32
2843struct module;
2844#line 12 "include/linux/irqdesc.h"
2845struct proc_dir_entry;
2846#line 14
2847struct module;
2848#line 16 "include/linux/profile.h"
2849struct proc_dir_entry;
2850#line 17
2851struct pt_regs;
2852#line 65
2853struct task_struct;
2854#line 66
2855struct mm_struct;
2856#line 88
2857struct pt_regs;
2858#line 132 "include/linux/hardirq.h"
2859struct task_struct;
2860#line 8 "include/linux/timerqueue.h"
2861struct timerqueue_node {
2862 struct rb_node node ;
2863 ktime_t expires ;
2864};
2865#line 13 "include/linux/timerqueue.h"
2866struct timerqueue_head {
2867 struct rb_root head ;
2868 struct timerqueue_node *next ;
2869};
2870#line 27 "include/linux/hrtimer.h"
2871struct hrtimer_clock_base;
2872#line 27
2873struct hrtimer_clock_base;
2874#line 28
2875struct hrtimer_cpu_base;
2876#line 28
2877struct hrtimer_cpu_base;
2878#line 44
2879enum hrtimer_restart {
2880 HRTIMER_NORESTART = 0,
2881 HRTIMER_RESTART = 1
2882} ;
2883#line 108 "include/linux/hrtimer.h"
2884struct hrtimer {
2885 struct timerqueue_node node ;
2886 ktime_t _softexpires ;
2887 enum hrtimer_restart (*function)(struct hrtimer * ) ;
2888 struct hrtimer_clock_base *base ;
2889 unsigned long state ;
2890 int start_pid ;
2891 void *start_site ;
2892 char start_comm[16] ;
2893};
2894#line 145 "include/linux/hrtimer.h"
2895struct hrtimer_clock_base {
2896 struct hrtimer_cpu_base *cpu_base ;
2897 int index ;
2898 clockid_t clockid ;
2899 struct timerqueue_head active ;
2900 ktime_t resolution ;
2901 ktime_t (*get_time)(void) ;
2902 ktime_t softirq_time ;
2903 ktime_t offset ;
2904};
2905#line 178 "include/linux/hrtimer.h"
2906struct hrtimer_cpu_base {
2907 raw_spinlock_t lock ;
2908 unsigned long active_bases ;
2909 ktime_t expires_next ;
2910 int hres_active ;
2911 int hang_detected ;
2912 unsigned long nr_events ;
2913 unsigned long nr_retries ;
2914 unsigned long nr_hangs ;
2915 ktime_t max_hang_time ;
2916 struct hrtimer_clock_base clock_base[3] ;
2917};
2918#line 187 "include/linux/interrupt.h"
2919struct device;
2920#line 695
2921struct seq_file;
2922#line 23 "include/linux/mm_types.h"
2923struct address_space;
2924#line 40 "include/linux/mm_types.h"
2925union __anonunion____missing_field_name_228 {
2926 unsigned long index ;
2927 void *freelist ;
2928};
2929#line 40 "include/linux/mm_types.h"
2930struct __anonstruct____missing_field_name_232 {
2931 unsigned int inuse : 16 ;
2932 unsigned int objects : 15 ;
2933 unsigned int frozen : 1 ;
2934};
2935#line 40 "include/linux/mm_types.h"
2936union __anonunion____missing_field_name_231 {
2937 atomic_t _mapcount ;
2938 struct __anonstruct____missing_field_name_232 __annonCompField37 ;
2939};
2940#line 40 "include/linux/mm_types.h"
2941struct __anonstruct____missing_field_name_230 {
2942 union __anonunion____missing_field_name_231 __annonCompField38 ;
2943 atomic_t _count ;
2944};
2945#line 40 "include/linux/mm_types.h"
2946union __anonunion____missing_field_name_229 {
2947 unsigned long counters ;
2948 struct __anonstruct____missing_field_name_230 __annonCompField39 ;
2949};
2950#line 40 "include/linux/mm_types.h"
2951struct __anonstruct____missing_field_name_227 {
2952 union __anonunion____missing_field_name_228 __annonCompField36 ;
2953 union __anonunion____missing_field_name_229 __annonCompField40 ;
2954};
2955#line 40 "include/linux/mm_types.h"
2956struct __anonstruct____missing_field_name_234 {
2957 struct page *next ;
2958 int pages ;
2959 int pobjects ;
2960};
2961#line 40 "include/linux/mm_types.h"
2962union __anonunion____missing_field_name_233 {
2963 struct list_head lru ;
2964 struct __anonstruct____missing_field_name_234 __annonCompField42 ;
2965};
2966#line 40 "include/linux/mm_types.h"
2967union __anonunion____missing_field_name_235 {
2968 unsigned long private ;
2969 struct kmem_cache *slab ;
2970 struct page *first_page ;
2971};
2972#line 40 "include/linux/mm_types.h"
2973struct page {
2974 unsigned long flags ;
2975 struct address_space *mapping ;
2976 struct __anonstruct____missing_field_name_227 __annonCompField41 ;
2977 union __anonunion____missing_field_name_233 __annonCompField43 ;
2978 union __anonunion____missing_field_name_235 __annonCompField44 ;
2979 unsigned long debug_flags ;
2980} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
2981#line 200 "include/linux/mm_types.h"
2982struct __anonstruct_vm_set_237 {
2983 struct list_head list ;
2984 void *parent ;
2985 struct vm_area_struct *head ;
2986};
2987#line 200 "include/linux/mm_types.h"
2988union __anonunion_shared_236 {
2989 struct __anonstruct_vm_set_237 vm_set ;
2990 struct raw_prio_tree_node prio_tree_node ;
2991};
2992#line 200
2993struct anon_vma;
2994#line 200
2995struct vm_operations_struct;
2996#line 200
2997struct mempolicy;
2998#line 200 "include/linux/mm_types.h"
2999struct vm_area_struct {
3000 struct mm_struct *vm_mm ;
3001 unsigned long vm_start ;
3002 unsigned long vm_end ;
3003 struct vm_area_struct *vm_next ;
3004 struct vm_area_struct *vm_prev ;
3005 pgprot_t vm_page_prot ;
3006 unsigned long vm_flags ;
3007 struct rb_node vm_rb ;
3008 union __anonunion_shared_236 shared ;
3009 struct list_head anon_vma_chain ;
3010 struct anon_vma *anon_vma ;
3011 struct vm_operations_struct const *vm_ops ;
3012 unsigned long vm_pgoff ;
3013 struct file *vm_file ;
3014 void *vm_private_data ;
3015 struct mempolicy *vm_policy ;
3016};
3017#line 257 "include/linux/mm_types.h"
3018struct core_thread {
3019 struct task_struct *task ;
3020 struct core_thread *next ;
3021};
3022#line 262 "include/linux/mm_types.h"
3023struct core_state {
3024 atomic_t nr_threads ;
3025 struct core_thread dumper ;
3026 struct completion startup ;
3027};
3028#line 284 "include/linux/mm_types.h"
3029struct mm_rss_stat {
3030 atomic_long_t count[3] ;
3031};
3032#line 288
3033struct linux_binfmt;
3034#line 288
3035struct mmu_notifier_mm;
3036#line 288 "include/linux/mm_types.h"
3037struct mm_struct {
3038 struct vm_area_struct *mmap ;
3039 struct rb_root mm_rb ;
3040 struct vm_area_struct *mmap_cache ;
3041 unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
3042 unsigned long pgoff , unsigned long flags ) ;
3043 void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
3044 unsigned long mmap_base ;
3045 unsigned long task_size ;
3046 unsigned long cached_hole_size ;
3047 unsigned long free_area_cache ;
3048 pgd_t *pgd ;
3049 atomic_t mm_users ;
3050 atomic_t mm_count ;
3051 int map_count ;
3052 spinlock_t page_table_lock ;
3053 struct rw_semaphore mmap_sem ;
3054 struct list_head mmlist ;
3055 unsigned long hiwater_rss ;
3056 unsigned long hiwater_vm ;
3057 unsigned long total_vm ;
3058 unsigned long locked_vm ;
3059 unsigned long pinned_vm ;
3060 unsigned long shared_vm ;
3061 unsigned long exec_vm ;
3062 unsigned long stack_vm ;
3063 unsigned long reserved_vm ;
3064 unsigned long def_flags ;
3065 unsigned long nr_ptes ;
3066 unsigned long start_code ;
3067 unsigned long end_code ;
3068 unsigned long start_data ;
3069 unsigned long end_data ;
3070 unsigned long start_brk ;
3071 unsigned long brk ;
3072 unsigned long start_stack ;
3073 unsigned long arg_start ;
3074 unsigned long arg_end ;
3075 unsigned long env_start ;
3076 unsigned long env_end ;
3077 unsigned long saved_auxv[44] ;
3078 struct mm_rss_stat rss_stat ;
3079 struct linux_binfmt *binfmt ;
3080 cpumask_var_t cpu_vm_mask_var ;
3081 mm_context_t context ;
3082 unsigned int faultstamp ;
3083 unsigned int token_priority ;
3084 unsigned int last_interval ;
3085 unsigned long flags ;
3086 struct core_state *core_state ;
3087 spinlock_t ioctx_lock ;
3088 struct hlist_head ioctx_list ;
3089 struct task_struct *owner ;
3090 struct file *exe_file ;
3091 unsigned long num_exe_file_vmas ;
3092 struct mmu_notifier_mm *mmu_notifier_mm ;
3093 pgtable_t pmd_huge_pte ;
3094 struct cpumask cpumask_allocation ;
3095};
3096#line 7 "include/asm-generic/cputime.h"
3097typedef unsigned long cputime_t;
3098#line 84 "include/linux/sem.h"
3099struct task_struct;
3100#line 101
3101struct sem_undo_list;
3102#line 101 "include/linux/sem.h"
3103struct sysv_sem {
3104 struct sem_undo_list *undo_list ;
3105};
3106#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
3107struct siginfo;
3108#line 10
3109struct siginfo;
3110#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
3111struct __anonstruct_sigset_t_239 {
3112 unsigned long sig[1] ;
3113};
3114#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
3115typedef struct __anonstruct_sigset_t_239 sigset_t;
3116#line 17 "include/asm-generic/signal-defs.h"
3117typedef void __signalfn_t(int );
3118#line 18 "include/asm-generic/signal-defs.h"
3119typedef __signalfn_t *__sighandler_t;
3120#line 20 "include/asm-generic/signal-defs.h"
3121typedef void __restorefn_t(void);
3122#line 21 "include/asm-generic/signal-defs.h"
3123typedef __restorefn_t *__sigrestore_t;
3124#line 167 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
3125struct sigaction {
3126 __sighandler_t sa_handler ;
3127 unsigned long sa_flags ;
3128 __sigrestore_t sa_restorer ;
3129 sigset_t sa_mask ;
3130};
3131#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
3132struct k_sigaction {
3133 struct sigaction sa ;
3134};
3135#line 7 "include/asm-generic/siginfo.h"
3136union sigval {
3137 int sival_int ;
3138 void *sival_ptr ;
3139};
3140#line 7 "include/asm-generic/siginfo.h"
3141typedef union sigval sigval_t;
3142#line 48 "include/asm-generic/siginfo.h"
3143struct __anonstruct__kill_241 {
3144 __kernel_pid_t _pid ;
3145 __kernel_uid32_t _uid ;
3146};
3147#line 48 "include/asm-generic/siginfo.h"
3148struct __anonstruct__timer_242 {
3149 __kernel_timer_t _tid ;
3150 int _overrun ;
3151 char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
3152 sigval_t _sigval ;
3153 int _sys_private ;
3154};
3155#line 48 "include/asm-generic/siginfo.h"
3156struct __anonstruct__rt_243 {
3157 __kernel_pid_t _pid ;
3158 __kernel_uid32_t _uid ;
3159 sigval_t _sigval ;
3160};
3161#line 48 "include/asm-generic/siginfo.h"
3162struct __anonstruct__sigchld_244 {
3163 __kernel_pid_t _pid ;
3164 __kernel_uid32_t _uid ;
3165 int _status ;
3166 __kernel_clock_t _utime ;
3167 __kernel_clock_t _stime ;
3168};
3169#line 48 "include/asm-generic/siginfo.h"
3170struct __anonstruct__sigfault_245 {
3171 void *_addr ;
3172 short _addr_lsb ;
3173};
3174#line 48 "include/asm-generic/siginfo.h"
3175struct __anonstruct__sigpoll_246 {
3176 long _band ;
3177 int _fd ;
3178};
3179#line 48 "include/asm-generic/siginfo.h"
3180union __anonunion__sifields_240 {
3181 int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
3182 struct __anonstruct__kill_241 _kill ;
3183 struct __anonstruct__timer_242 _timer ;
3184 struct __anonstruct__rt_243 _rt ;
3185 struct __anonstruct__sigchld_244 _sigchld ;
3186 struct __anonstruct__sigfault_245 _sigfault ;
3187 struct __anonstruct__sigpoll_246 _sigpoll ;
3188};
3189#line 48 "include/asm-generic/siginfo.h"
3190struct siginfo {
3191 int si_signo ;
3192 int si_errno ;
3193 int si_code ;
3194 union __anonunion__sifields_240 _sifields ;
3195};
3196#line 48 "include/asm-generic/siginfo.h"
3197typedef struct siginfo siginfo_t;
3198#line 288
3199struct siginfo;
3200#line 10 "include/linux/signal.h"
3201struct task_struct;
3202#line 18
3203struct user_struct;
3204#line 28 "include/linux/signal.h"
3205struct sigpending {
3206 struct list_head list ;
3207 sigset_t signal ;
3208};
3209#line 239
3210struct timespec;
3211#line 240
3212struct pt_regs;
3213#line 10 "include/linux/seccomp.h"
3214struct __anonstruct_seccomp_t_249 {
3215 int mode ;
3216};
3217#line 10 "include/linux/seccomp.h"
3218typedef struct __anonstruct_seccomp_t_249 seccomp_t;
3219#line 81 "include/linux/plist.h"
3220struct plist_head {
3221 struct list_head node_list ;
3222};
3223#line 85 "include/linux/plist.h"
3224struct plist_node {
3225 int prio ;
3226 struct list_head prio_list ;
3227 struct list_head node_list ;
3228};
3229#line 40 "include/linux/rtmutex.h"
3230struct rt_mutex_waiter;
3231#line 40
3232struct rt_mutex_waiter;
3233#line 42 "include/linux/resource.h"
3234struct rlimit {
3235 unsigned long rlim_cur ;
3236 unsigned long rlim_max ;
3237};
3238#line 81
3239struct task_struct;
3240#line 11 "include/linux/task_io_accounting.h"
3241struct task_io_accounting {
3242 u64 rchar ;
3243 u64 wchar ;
3244 u64 syscr ;
3245 u64 syscw ;
3246 u64 read_bytes ;
3247 u64 write_bytes ;
3248 u64 cancelled_write_bytes ;
3249};
3250#line 13 "include/linux/latencytop.h"
3251struct task_struct;
3252#line 20 "include/linux/latencytop.h"
3253struct latency_record {
3254 unsigned long backtrace[12] ;
3255 unsigned int count ;
3256 unsigned long time ;
3257 unsigned long max ;
3258};
3259#line 29 "include/linux/key.h"
3260typedef int32_t key_serial_t;
3261#line 32 "include/linux/key.h"
3262typedef uint32_t key_perm_t;
3263#line 34
3264struct key;
3265#line 34
3266struct key;
3267#line 74
3268struct seq_file;
3269#line 75
3270struct user_struct;
3271#line 76
3272struct signal_struct;
3273#line 77
3274struct cred;
3275#line 79
3276struct key_type;
3277#line 79
3278struct key_type;
3279#line 81
3280struct keyring_list;
3281#line 81
3282struct keyring_list;
3283#line 124
3284struct key_user;
3285#line 124 "include/linux/key.h"
3286union __anonunion____missing_field_name_250 {
3287 time_t expiry ;
3288 time_t revoked_at ;
3289};
3290#line 124 "include/linux/key.h"
3291union __anonunion_type_data_251 {
3292 struct list_head link ;
3293 unsigned long x[2] ;
3294 void *p[2] ;
3295 int reject_error ;
3296};
3297#line 124 "include/linux/key.h"
3298union __anonunion_payload_252 {
3299 unsigned long value ;
3300 void *rcudata ;
3301 void *data ;
3302 struct keyring_list *subscriptions ;
3303};
3304#line 124 "include/linux/key.h"
3305struct key {
3306 atomic_t usage ;
3307 key_serial_t serial ;
3308 struct rb_node serial_node ;
3309 struct key_type *type ;
3310 struct rw_semaphore sem ;
3311 struct key_user *user ;
3312 void *security ;
3313 union __anonunion____missing_field_name_250 __annonCompField45 ;
3314 uid_t uid ;
3315 gid_t gid ;
3316 key_perm_t perm ;
3317 unsigned short quotalen ;
3318 unsigned short datalen ;
3319 unsigned long flags ;
3320 char *description ;
3321 union __anonunion_type_data_251 type_data ;
3322 union __anonunion_payload_252 payload ;
3323};
3324#line 18 "include/linux/selinux.h"
3325struct audit_context;
3326#line 18
3327struct audit_context;
3328#line 21 "include/linux/cred.h"
3329struct user_struct;
3330#line 22
3331struct cred;
3332#line 23
3333struct inode;
3334#line 31 "include/linux/cred.h"
3335struct group_info {
3336 atomic_t usage ;
3337 int ngroups ;
3338 int nblocks ;
3339 gid_t small_block[32] ;
3340 gid_t *blocks[0] ;
3341};
3342#line 83 "include/linux/cred.h"
3343struct thread_group_cred {
3344 atomic_t usage ;
3345 pid_t tgid ;
3346 spinlock_t lock ;
3347 struct key *session_keyring ;
3348 struct key *process_keyring ;
3349 struct rcu_head rcu ;
3350};
3351#line 116 "include/linux/cred.h"
3352struct cred {
3353 atomic_t usage ;
3354 atomic_t subscribers ;
3355 void *put_addr ;
3356 unsigned int magic ;
3357 uid_t uid ;
3358 gid_t gid ;
3359 uid_t suid ;
3360 gid_t sgid ;
3361 uid_t euid ;
3362 gid_t egid ;
3363 uid_t fsuid ;
3364 gid_t fsgid ;
3365 unsigned int securebits ;
3366 kernel_cap_t cap_inheritable ;
3367 kernel_cap_t cap_permitted ;
3368 kernel_cap_t cap_effective ;
3369 kernel_cap_t cap_bset ;
3370 unsigned char jit_keyring ;
3371 struct key *thread_keyring ;
3372 struct key *request_key_auth ;
3373 struct thread_group_cred *tgcred ;
3374 void *security ;
3375 struct user_struct *user ;
3376 struct user_namespace *user_ns ;
3377 struct group_info *group_info ;
3378 struct rcu_head rcu ;
3379};
3380#line 61 "include/linux/llist.h"
3381struct llist_node;
3382#line 65 "include/linux/llist.h"
3383struct llist_node {
3384 struct llist_node *next ;
3385};
3386#line 96 "include/linux/sched.h"
3387struct exec_domain;
3388#line 97
3389struct futex_pi_state;
3390#line 97
3391struct futex_pi_state;
3392#line 98
3393struct robust_list_head;
3394#line 98
3395struct robust_list_head;
3396#line 99
3397struct bio_list;
3398#line 99
3399struct bio_list;
3400#line 100
3401struct fs_struct;
3402#line 100
3403struct fs_struct;
3404#line 101
3405struct perf_event_context;
3406#line 101
3407struct perf_event_context;
3408#line 102
3409struct blk_plug;
3410#line 102
3411struct blk_plug;
3412#line 150
3413struct seq_file;
3414#line 151
3415struct cfs_rq;
3416#line 151
3417struct cfs_rq;
3418#line 259
3419struct task_struct;
3420#line 366
3421struct nsproxy;
3422#line 367
3423struct user_namespace;
3424#line 58 "include/linux/aio_abi.h"
3425struct io_event {
3426 __u64 data ;
3427 __u64 obj ;
3428 __s64 res ;
3429 __s64 res2 ;
3430};
3431#line 16 "include/linux/uio.h"
3432struct iovec {
3433 void *iov_base ;
3434 __kernel_size_t iov_len ;
3435};
3436#line 15 "include/linux/aio.h"
3437struct kioctx;
3438#line 15
3439struct kioctx;
3440#line 87 "include/linux/aio.h"
3441union __anonunion_ki_obj_254 {
3442 void *user ;
3443 struct task_struct *tsk ;
3444};
3445#line 87
3446struct eventfd_ctx;
3447#line 87 "include/linux/aio.h"
3448struct kiocb {
3449 struct list_head ki_run_list ;
3450 unsigned long ki_flags ;
3451 int ki_users ;
3452 unsigned int ki_key ;
3453 struct file *ki_filp ;
3454 struct kioctx *ki_ctx ;
3455 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
3456 ssize_t (*ki_retry)(struct kiocb * ) ;
3457 void (*ki_dtor)(struct kiocb * ) ;
3458 union __anonunion_ki_obj_254 ki_obj ;
3459 __u64 ki_user_data ;
3460 loff_t ki_pos ;
3461 void *private ;
3462 unsigned short ki_opcode ;
3463 size_t ki_nbytes ;
3464 char *ki_buf ;
3465 size_t ki_left ;
3466 struct iovec ki_inline_vec ;
3467 struct iovec *ki_iovec ;
3468 unsigned long ki_nr_segs ;
3469 unsigned long ki_cur_seg ;
3470 struct list_head ki_list ;
3471 struct list_head ki_batch ;
3472 struct eventfd_ctx *ki_eventfd ;
3473};
3474#line 166 "include/linux/aio.h"
3475struct aio_ring_info {
3476 unsigned long mmap_base ;
3477 unsigned long mmap_size ;
3478 struct page **ring_pages ;
3479 spinlock_t ring_lock ;
3480 long nr_pages ;
3481 unsigned int nr ;
3482 unsigned int tail ;
3483 struct page *internal_pages[8] ;
3484};
3485#line 179 "include/linux/aio.h"
3486struct kioctx {
3487 atomic_t users ;
3488 int dead ;
3489 struct mm_struct *mm ;
3490 unsigned long user_id ;
3491 struct hlist_node list ;
3492 wait_queue_head_t wait ;
3493 spinlock_t ctx_lock ;
3494 int reqs_active ;
3495 struct list_head active_reqs ;
3496 struct list_head run_list ;
3497 unsigned int max_reqs ;
3498 struct aio_ring_info ring_info ;
3499 struct delayed_work wq ;
3500 struct rcu_head rcu_head ;
3501};
3502#line 214
3503struct mm_struct;
3504#line 443 "include/linux/sched.h"
3505struct sighand_struct {
3506 atomic_t count ;
3507 struct k_sigaction action[64] ;
3508 spinlock_t siglock ;
3509 wait_queue_head_t signalfd_wqh ;
3510};
3511#line 450 "include/linux/sched.h"
3512struct pacct_struct {
3513 int ac_flag ;
3514 long ac_exitcode ;
3515 unsigned long ac_mem ;
3516 cputime_t ac_utime ;
3517 cputime_t ac_stime ;
3518 unsigned long ac_minflt ;
3519 unsigned long ac_majflt ;
3520};
3521#line 458 "include/linux/sched.h"
3522struct cpu_itimer {
3523 cputime_t expires ;
3524 cputime_t incr ;
3525 u32 error ;
3526 u32 incr_error ;
3527};
3528#line 476 "include/linux/sched.h"
3529struct task_cputime {
3530 cputime_t utime ;
3531 cputime_t stime ;
3532 unsigned long long sum_exec_runtime ;
3533};
3534#line 512 "include/linux/sched.h"
3535struct thread_group_cputimer {
3536 struct task_cputime cputime ;
3537 int running ;
3538 raw_spinlock_t lock ;
3539};
3540#line 519
3541struct autogroup;
3542#line 519
3543struct autogroup;
3544#line 528
3545struct taskstats;
3546#line 528
3547struct tty_audit_buf;
3548#line 528 "include/linux/sched.h"
3549struct signal_struct {
3550 atomic_t sigcnt ;
3551 atomic_t live ;
3552 int nr_threads ;
3553 wait_queue_head_t wait_chldexit ;
3554 struct task_struct *curr_target ;
3555 struct sigpending shared_pending ;
3556 int group_exit_code ;
3557 int notify_count ;
3558 struct task_struct *group_exit_task ;
3559 int group_stop_count ;
3560 unsigned int flags ;
3561 unsigned int is_child_subreaper : 1 ;
3562 unsigned int has_child_subreaper : 1 ;
3563 struct list_head posix_timers ;
3564 struct hrtimer real_timer ;
3565 struct pid *leader_pid ;
3566 ktime_t it_real_incr ;
3567 struct cpu_itimer it[2] ;
3568 struct thread_group_cputimer cputimer ;
3569 struct task_cputime cputime_expires ;
3570 struct list_head cpu_timers[3] ;
3571 struct pid *tty_old_pgrp ;
3572 int leader ;
3573 struct tty_struct *tty ;
3574 struct autogroup *autogroup ;
3575 cputime_t utime ;
3576 cputime_t stime ;
3577 cputime_t cutime ;
3578 cputime_t cstime ;
3579 cputime_t gtime ;
3580 cputime_t cgtime ;
3581 cputime_t prev_utime ;
3582 cputime_t prev_stime ;
3583 unsigned long nvcsw ;
3584 unsigned long nivcsw ;
3585 unsigned long cnvcsw ;
3586 unsigned long cnivcsw ;
3587 unsigned long min_flt ;
3588 unsigned long maj_flt ;
3589 unsigned long cmin_flt ;
3590 unsigned long cmaj_flt ;
3591 unsigned long inblock ;
3592 unsigned long oublock ;
3593 unsigned long cinblock ;
3594 unsigned long coublock ;
3595 unsigned long maxrss ;
3596 unsigned long cmaxrss ;
3597 struct task_io_accounting ioac ;
3598 unsigned long long sum_sched_runtime ;
3599 struct rlimit rlim[16] ;
3600 struct pacct_struct pacct ;
3601 struct taskstats *stats ;
3602 unsigned int audit_tty ;
3603 struct tty_audit_buf *tty_audit_buf ;
3604 struct rw_semaphore group_rwsem ;
3605 int oom_adj ;
3606 int oom_score_adj ;
3607 int oom_score_adj_min ;
3608 struct mutex cred_guard_mutex ;
3609};
3610#line 703 "include/linux/sched.h"
3611struct user_struct {
3612 atomic_t __count ;
3613 atomic_t processes ;
3614 atomic_t files ;
3615 atomic_t sigpending ;
3616 atomic_t inotify_watches ;
3617 atomic_t inotify_devs ;
3618 atomic_t fanotify_listeners ;
3619 atomic_long_t epoll_watches ;
3620 unsigned long mq_bytes ;
3621 unsigned long locked_shm ;
3622 struct key *uid_keyring ;
3623 struct key *session_keyring ;
3624 struct hlist_node uidhash_node ;
3625 uid_t uid ;
3626 struct user_namespace *user_ns ;
3627 atomic_long_t locked_vm ;
3628};
3629#line 747
3630struct backing_dev_info;
3631#line 748
3632struct reclaim_state;
3633#line 748
3634struct reclaim_state;
3635#line 751 "include/linux/sched.h"
3636struct sched_info {
3637 unsigned long pcount ;
3638 unsigned long long run_delay ;
3639 unsigned long long last_arrival ;
3640 unsigned long long last_queued ;
3641};
3642#line 763 "include/linux/sched.h"
3643struct task_delay_info {
3644 spinlock_t lock ;
3645 unsigned int flags ;
3646 struct timespec blkio_start ;
3647 struct timespec blkio_end ;
3648 u64 blkio_delay ;
3649 u64 swapin_delay ;
3650 u32 blkio_count ;
3651 u32 swapin_count ;
3652 struct timespec freepages_start ;
3653 struct timespec freepages_end ;
3654 u64 freepages_delay ;
3655 u32 freepages_count ;
3656};
3657#line 1088
3658struct io_context;
3659#line 1088
3660struct io_context;
3661#line 1097
3662struct audit_context;
3663#line 1098
3664struct mempolicy;
3665#line 1099
3666struct pipe_inode_info;
3667#line 1102
3668struct rq;
3669#line 1102
3670struct rq;
3671#line 1122 "include/linux/sched.h"
3672struct sched_class {
3673 struct sched_class const *next ;
3674 void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
3675 void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
3676 void (*yield_task)(struct rq *rq ) ;
3677 bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
3678 void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
3679 struct task_struct *(*pick_next_task)(struct rq *rq ) ;
3680 void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
3681 int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
3682 void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
3683 void (*post_schedule)(struct rq *this_rq ) ;
3684 void (*task_waking)(struct task_struct *task ) ;
3685 void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
3686 void (*set_cpus_allowed)(struct task_struct *p , struct cpumask const *newmask ) ;
3687 void (*rq_online)(struct rq *rq ) ;
3688 void (*rq_offline)(struct rq *rq ) ;
3689 void (*set_curr_task)(struct rq *rq ) ;
3690 void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
3691 void (*task_fork)(struct task_struct *p ) ;
3692 void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
3693 void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
3694 void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
3695 unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
3696 void (*task_move_group)(struct task_struct *p , int on_rq ) ;
3697};
3698#line 1167 "include/linux/sched.h"
3699struct load_weight {
3700 unsigned long weight ;
3701 unsigned long inv_weight ;
3702};
3703#line 1172 "include/linux/sched.h"
3704struct sched_statistics {
3705 u64 wait_start ;
3706 u64 wait_max ;
3707 u64 wait_count ;
3708 u64 wait_sum ;
3709 u64 iowait_count ;
3710 u64 iowait_sum ;
3711 u64 sleep_start ;
3712 u64 sleep_max ;
3713 s64 sum_sleep_runtime ;
3714 u64 block_start ;
3715 u64 block_max ;
3716 u64 exec_max ;
3717 u64 slice_max ;
3718 u64 nr_migrations_cold ;
3719 u64 nr_failed_migrations_affine ;
3720 u64 nr_failed_migrations_running ;
3721 u64 nr_failed_migrations_hot ;
3722 u64 nr_forced_migrations ;
3723 u64 nr_wakeups ;
3724 u64 nr_wakeups_sync ;
3725 u64 nr_wakeups_migrate ;
3726 u64 nr_wakeups_local ;
3727 u64 nr_wakeups_remote ;
3728 u64 nr_wakeups_affine ;
3729 u64 nr_wakeups_affine_attempts ;
3730 u64 nr_wakeups_passive ;
3731 u64 nr_wakeups_idle ;
3732};
3733#line 1207 "include/linux/sched.h"
3734struct sched_entity {
3735 struct load_weight load ;
3736 struct rb_node run_node ;
3737 struct list_head group_node ;
3738 unsigned int on_rq ;
3739 u64 exec_start ;
3740 u64 sum_exec_runtime ;
3741 u64 vruntime ;
3742 u64 prev_sum_exec_runtime ;
3743 u64 nr_migrations ;
3744 struct sched_statistics statistics ;
3745 struct sched_entity *parent ;
3746 struct cfs_rq *cfs_rq ;
3747 struct cfs_rq *my_q ;
3748};
3749#line 1233
3750struct rt_rq;
3751#line 1233 "include/linux/sched.h"
3752struct sched_rt_entity {
3753 struct list_head run_list ;
3754 unsigned long timeout ;
3755 unsigned int time_slice ;
3756 int nr_cpus_allowed ;
3757 struct sched_rt_entity *back ;
3758 struct sched_rt_entity *parent ;
3759 struct rt_rq *rt_rq ;
3760 struct rt_rq *my_q ;
3761};
3762#line 1264
3763struct css_set;
3764#line 1264
3765struct compat_robust_list_head;
3766#line 1264
3767struct mem_cgroup;
3768#line 1264 "include/linux/sched.h"
3769struct memcg_batch_info {
3770 int do_batch ;
3771 struct mem_cgroup *memcg ;
3772 unsigned long nr_pages ;
3773 unsigned long memsw_nr_pages ;
3774};
3775#line 1264 "include/linux/sched.h"
3776struct task_struct {
3777 long volatile state ;
3778 void *stack ;
3779 atomic_t usage ;
3780 unsigned int flags ;
3781 unsigned int ptrace ;
3782 struct llist_node wake_entry ;
3783 int on_cpu ;
3784 int on_rq ;
3785 int prio ;
3786 int static_prio ;
3787 int normal_prio ;
3788 unsigned int rt_priority ;
3789 struct sched_class const *sched_class ;
3790 struct sched_entity se ;
3791 struct sched_rt_entity rt ;
3792 struct hlist_head preempt_notifiers ;
3793 unsigned char fpu_counter ;
3794 unsigned int policy ;
3795 cpumask_t cpus_allowed ;
3796 struct sched_info sched_info ;
3797 struct list_head tasks ;
3798 struct plist_node pushable_tasks ;
3799 struct mm_struct *mm ;
3800 struct mm_struct *active_mm ;
3801 unsigned int brk_randomized : 1 ;
3802 int exit_state ;
3803 int exit_code ;
3804 int exit_signal ;
3805 int pdeath_signal ;
3806 unsigned int jobctl ;
3807 unsigned int personality ;
3808 unsigned int did_exec : 1 ;
3809 unsigned int in_execve : 1 ;
3810 unsigned int in_iowait : 1 ;
3811 unsigned int sched_reset_on_fork : 1 ;
3812 unsigned int sched_contributes_to_load : 1 ;
3813 unsigned int irq_thread : 1 ;
3814 pid_t pid ;
3815 pid_t tgid ;
3816 unsigned long stack_canary ;
3817 struct task_struct *real_parent ;
3818 struct task_struct *parent ;
3819 struct list_head children ;
3820 struct list_head sibling ;
3821 struct task_struct *group_leader ;
3822 struct list_head ptraced ;
3823 struct list_head ptrace_entry ;
3824 struct pid_link pids[3] ;
3825 struct list_head thread_group ;
3826 struct completion *vfork_done ;
3827 int *set_child_tid ;
3828 int *clear_child_tid ;
3829 cputime_t utime ;
3830 cputime_t stime ;
3831 cputime_t utimescaled ;
3832 cputime_t stimescaled ;
3833 cputime_t gtime ;
3834 cputime_t prev_utime ;
3835 cputime_t prev_stime ;
3836 unsigned long nvcsw ;
3837 unsigned long nivcsw ;
3838 struct timespec start_time ;
3839 struct timespec real_start_time ;
3840 unsigned long min_flt ;
3841 unsigned long maj_flt ;
3842 struct task_cputime cputime_expires ;
3843 struct list_head cpu_timers[3] ;
3844 struct cred const *real_cred ;
3845 struct cred const *cred ;
3846 struct cred *replacement_session_keyring ;
3847 char comm[16] ;
3848 int link_count ;
3849 int total_link_count ;
3850 struct sysv_sem sysvsem ;
3851 unsigned long last_switch_count ;
3852 struct thread_struct thread ;
3853 struct fs_struct *fs ;
3854 struct files_struct *files ;
3855 struct nsproxy *nsproxy ;
3856 struct signal_struct *signal ;
3857 struct sighand_struct *sighand ;
3858 sigset_t blocked ;
3859 sigset_t real_blocked ;
3860 sigset_t saved_sigmask ;
3861 struct sigpending pending ;
3862 unsigned long sas_ss_sp ;
3863 size_t sas_ss_size ;
3864 int (*notifier)(void *priv ) ;
3865 void *notifier_data ;
3866 sigset_t *notifier_mask ;
3867 struct audit_context *audit_context ;
3868 uid_t loginuid ;
3869 unsigned int sessionid ;
3870 seccomp_t seccomp ;
3871 u32 parent_exec_id ;
3872 u32 self_exec_id ;
3873 spinlock_t alloc_lock ;
3874 raw_spinlock_t pi_lock ;
3875 struct plist_head pi_waiters ;
3876 struct rt_mutex_waiter *pi_blocked_on ;
3877 struct mutex_waiter *blocked_on ;
3878 unsigned int irq_events ;
3879 unsigned long hardirq_enable_ip ;
3880 unsigned long hardirq_disable_ip ;
3881 unsigned int hardirq_enable_event ;
3882 unsigned int hardirq_disable_event ;
3883 int hardirqs_enabled ;
3884 int hardirq_context ;
3885 unsigned long softirq_disable_ip ;
3886 unsigned long softirq_enable_ip ;
3887 unsigned int softirq_disable_event ;
3888 unsigned int softirq_enable_event ;
3889 int softirqs_enabled ;
3890 int softirq_context ;
3891 void *journal_info ;
3892 struct bio_list *bio_list ;
3893 struct blk_plug *plug ;
3894 struct reclaim_state *reclaim_state ;
3895 struct backing_dev_info *backing_dev_info ;
3896 struct io_context *io_context ;
3897 unsigned long ptrace_message ;
3898 siginfo_t *last_siginfo ;
3899 struct task_io_accounting ioac ;
3900 u64 acct_rss_mem1 ;
3901 u64 acct_vm_mem1 ;
3902 cputime_t acct_timexpd ;
3903 nodemask_t mems_allowed ;
3904 seqcount_t mems_allowed_seq ;
3905 int cpuset_mem_spread_rotor ;
3906 int cpuset_slab_spread_rotor ;
3907 struct css_set *cgroups ;
3908 struct list_head cg_list ;
3909 struct robust_list_head *robust_list ;
3910 struct compat_robust_list_head *compat_robust_list ;
3911 struct list_head pi_state_list ;
3912 struct futex_pi_state *pi_state_cache ;
3913 struct perf_event_context *perf_event_ctxp[2] ;
3914 struct mutex perf_event_mutex ;
3915 struct list_head perf_event_list ;
3916 struct mempolicy *mempolicy ;
3917 short il_next ;
3918 short pref_node_fork ;
3919 struct rcu_head rcu ;
3920 struct pipe_inode_info *splice_pipe ;
3921 struct task_delay_info *delays ;
3922 int make_it_fail ;
3923 int nr_dirtied ;
3924 int nr_dirtied_pause ;
3925 unsigned long dirty_paused_when ;
3926 int latency_record_count ;
3927 struct latency_record latency_record[32] ;
3928 unsigned long timer_slack_ns ;
3929 unsigned long default_timer_slack_ns ;
3930 struct list_head *scm_work_list ;
3931 unsigned long trace ;
3932 unsigned long trace_recursion ;
3933 struct memcg_batch_info memcg_batch ;
3934 atomic_t ptrace_bp_refcnt ;
3935};
3936#line 1681
3937struct pid_namespace;
3938#line 25 "include/linux/usb.h"
3939struct usb_device;
3940#line 25
3941struct usb_device;
3942#line 26
3943struct usb_driver;
3944#line 26
3945struct usb_driver;
3946#line 27
3947struct wusb_dev;
3948#line 27
3949struct wusb_dev;
3950#line 47
3951struct ep_device;
3952#line 47
3953struct ep_device;
3954#line 64 "include/linux/usb.h"
3955struct usb_host_endpoint {
3956 struct usb_endpoint_descriptor desc ;
3957 struct usb_ss_ep_comp_descriptor ss_ep_comp ;
3958 struct list_head urb_list ;
3959 void *hcpriv ;
3960 struct ep_device *ep_dev ;
3961 unsigned char *extra ;
3962 int extralen ;
3963 int enabled ;
3964};
3965#line 77 "include/linux/usb.h"
3966struct usb_host_interface {
3967 struct usb_interface_descriptor desc ;
3968 struct usb_host_endpoint *endpoint ;
3969 char *string ;
3970 unsigned char *extra ;
3971 int extralen ;
3972};
3973#line 90
3974enum usb_interface_condition {
3975 USB_INTERFACE_UNBOUND = 0,
3976 USB_INTERFACE_BINDING = 1,
3977 USB_INTERFACE_BOUND = 2,
3978 USB_INTERFACE_UNBINDING = 3
3979} ;
3980#line 159 "include/linux/usb.h"
3981struct usb_interface {
3982 struct usb_host_interface *altsetting ;
3983 struct usb_host_interface *cur_altsetting ;
3984 unsigned int num_altsetting ;
3985 struct usb_interface_assoc_descriptor *intf_assoc ;
3986 int minor ;
3987 enum usb_interface_condition condition ;
3988 unsigned int sysfs_files_created : 1 ;
3989 unsigned int ep_devs_created : 1 ;
3990 unsigned int unregistering : 1 ;
3991 unsigned int needs_remote_wakeup : 1 ;
3992 unsigned int needs_altsetting0 : 1 ;
3993 unsigned int needs_binding : 1 ;
3994 unsigned int reset_running : 1 ;
3995 unsigned int resetting_device : 1 ;
3996 struct device dev ;
3997 struct device *usb_dev ;
3998 atomic_t pm_usage_cnt ;
3999 struct work_struct reset_ws ;
4000};
4001#line 222 "include/linux/usb.h"
4002struct usb_interface_cache {
4003 unsigned int num_altsetting ;
4004 struct kref ref ;
4005 struct usb_host_interface altsetting[0] ;
4006};
4007#line 274 "include/linux/usb.h"
4008struct usb_host_config {
4009 struct usb_config_descriptor desc ;
4010 char *string ;
4011 struct usb_interface_assoc_descriptor *intf_assoc[16] ;
4012 struct usb_interface *interface[32] ;
4013 struct usb_interface_cache *intf_cache[32] ;
4014 unsigned char *extra ;
4015 int extralen ;
4016};
4017#line 296 "include/linux/usb.h"
4018struct usb_host_bos {
4019 struct usb_bos_descriptor *desc ;
4020 struct usb_ext_cap_descriptor *ext_cap ;
4021 struct usb_ss_cap_descriptor *ss_cap ;
4022 struct usb_ss_container_id_descriptor *ss_id ;
4023};
4024#line 315 "include/linux/usb.h"
4025struct usb_devmap {
4026 unsigned long devicemap[128UL / (8UL * sizeof(unsigned long ))] ;
4027};
4028#line 322
4029struct mon_bus;
4030#line 322 "include/linux/usb.h"
4031struct usb_bus {
4032 struct device *controller ;
4033 int busnum ;
4034 char const *bus_name ;
4035 u8 uses_dma ;
4036 u8 uses_pio_for_control ;
4037 u8 otg_port ;
4038 unsigned int is_b_host : 1 ;
4039 unsigned int b_hnp_enable : 1 ;
4040 unsigned int sg_tablesize ;
4041 int devnum_next ;
4042 struct usb_devmap devmap ;
4043 struct usb_device *root_hub ;
4044 struct usb_bus *hs_companion ;
4045 struct list_head bus_list ;
4046 int bandwidth_allocated ;
4047 int bandwidth_int_reqs ;
4048 int bandwidth_isoc_reqs ;
4049 struct dentry *usbfs_dentry ;
4050 struct mon_bus *mon_bus ;
4051 int monitored ;
4052};
4053#line 377
4054struct usb_tt;
4055#line 377
4056struct usb_tt;
4057#line 379
4058enum usb_device_removable {
4059 USB_DEVICE_REMOVABLE_UNKNOWN = 0,
4060 USB_DEVICE_REMOVABLE = 1,
4061 USB_DEVICE_FIXED = 2
4062} ;
4063#line 447 "include/linux/usb.h"
4064struct usb_device {
4065 int devnum ;
4066 char devpath[16] ;
4067 u32 route ;
4068 enum usb_device_state state ;
4069 enum usb_device_speed speed ;
4070 struct usb_tt *tt ;
4071 int ttport ;
4072 unsigned int toggle[2] ;
4073 struct usb_device *parent ;
4074 struct usb_bus *bus ;
4075 struct usb_host_endpoint ep0 ;
4076 struct device dev ;
4077 struct usb_device_descriptor descriptor ;
4078 struct usb_host_bos *bos ;
4079 struct usb_host_config *config ;
4080 struct usb_host_config *actconfig ;
4081 struct usb_host_endpoint *ep_in[16] ;
4082 struct usb_host_endpoint *ep_out[16] ;
4083 char **rawdescriptors ;
4084 unsigned short bus_mA ;
4085 u8 portnum ;
4086 u8 level ;
4087 unsigned int can_submit : 1 ;
4088 unsigned int persist_enabled : 1 ;
4089 unsigned int have_langid : 1 ;
4090 unsigned int authorized : 1 ;
4091 unsigned int authenticated : 1 ;
4092 unsigned int wusb : 1 ;
4093 unsigned int lpm_capable : 1 ;
4094 unsigned int usb2_hw_lpm_capable : 1 ;
4095 unsigned int usb2_hw_lpm_enabled : 1 ;
4096 int string_langid ;
4097 char *product ;
4098 char *manufacturer ;
4099 char *serial ;
4100 struct list_head filelist ;
4101 struct device *usb_classdev ;
4102 struct dentry *usbfs_dentry ;
4103 int maxchild ;
4104 struct usb_device **children ;
4105 u32 quirks ;
4106 atomic_t urbnum ;
4107 unsigned long active_duration ;
4108 unsigned long connect_time ;
4109 unsigned int do_remote_wakeup : 1 ;
4110 unsigned int reset_resume : 1 ;
4111 struct wusb_dev *wusb_dev ;
4112 int slot_id ;
4113 enum usb_device_removable removable ;
4114};
4115#line 789 "include/linux/usb.h"
4116struct usb_dynids {
4117 spinlock_t lock ;
4118 struct list_head list ;
4119};
4120#line 808 "include/linux/usb.h"
4121struct usbdrv_wrap {
4122 struct device_driver driver ;
4123 int for_devices ;
4124};
4125#line 869 "include/linux/usb.h"
4126struct usb_driver {
4127 char const *name ;
4128 int (*probe)(struct usb_interface *intf , struct usb_device_id const *id ) ;
4129 void (*disconnect)(struct usb_interface *intf ) ;
4130 int (*unlocked_ioctl)(struct usb_interface *intf , unsigned int code , void *buf ) ;
4131 int (*suspend)(struct usb_interface *intf , pm_message_t message ) ;
4132 int (*resume)(struct usb_interface *intf ) ;
4133 int (*reset_resume)(struct usb_interface *intf ) ;
4134 int (*pre_reset)(struct usb_interface *intf ) ;
4135 int (*post_reset)(struct usb_interface *intf ) ;
4136 struct usb_device_id const *id_table ;
4137 struct usb_dynids dynids ;
4138 struct usbdrv_wrap drvwrap ;
4139 unsigned int no_dynamic_id : 1 ;
4140 unsigned int supports_autosuspend : 1 ;
4141 unsigned int soft_unbind : 1 ;
4142};
4143#line 1022 "include/linux/usb.h"
4144struct usb_iso_packet_descriptor {
4145 unsigned int offset ;
4146 unsigned int length ;
4147 unsigned int actual_length ;
4148 int status ;
4149};
4150#line 1029
4151struct urb;
4152#line 1029
4153struct urb;
4154#line 1031 "include/linux/usb.h"
4155struct usb_anchor {
4156 struct list_head urb_list ;
4157 wait_queue_head_t wait ;
4158 spinlock_t lock ;
4159 unsigned int poisoned : 1 ;
4160};
4161#line 1223
4162struct scatterlist;
4163#line 1223 "include/linux/usb.h"
4164struct urb {
4165 struct kref kref ;
4166 void *hcpriv ;
4167 atomic_t use_count ;
4168 atomic_t reject ;
4169 int unlinked ;
4170 struct list_head urb_list ;
4171 struct list_head anchor_list ;
4172 struct usb_anchor *anchor ;
4173 struct usb_device *dev ;
4174 struct usb_host_endpoint *ep ;
4175 unsigned int pipe ;
4176 unsigned int stream_id ;
4177 int status ;
4178 unsigned int transfer_flags ;
4179 void *transfer_buffer ;
4180 dma_addr_t transfer_dma ;
4181 struct scatterlist *sg ;
4182 int num_mapped_sgs ;
4183 int num_sgs ;
4184 u32 transfer_buffer_length ;
4185 u32 actual_length ;
4186 unsigned char *setup_packet ;
4187 dma_addr_t setup_dma ;
4188 int start_frame ;
4189 int number_of_packets ;
4190 int interval ;
4191 int error_count ;
4192 void *context ;
4193 void (*complete)(struct urb * ) ;
4194 struct usb_iso_packet_descriptor iso_frame_desc[0] ;
4195};
4196#line 1429
4197struct scatterlist;
4198#line 8 "include/linux/debug_locks.h"
4199struct task_struct;
4200#line 48
4201struct task_struct;
4202#line 22 "include/linux/mm.h"
4203struct mempolicy;
4204#line 23
4205struct anon_vma;
4206#line 24
4207struct file_ra_state;
4208#line 25
4209struct user_struct;
4210#line 26
4211struct writeback_control;
4212#line 41 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64.h"
4213struct mm_struct;
4214#line 656 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable.h"
4215struct vm_area_struct;
4216#line 188 "include/linux/mm.h"
4217struct vm_fault {
4218 unsigned int flags ;
4219 unsigned long pgoff ;
4220 void *virtual_address ;
4221 struct page *page ;
4222};
4223#line 205 "include/linux/mm.h"
4224struct vm_operations_struct {
4225 void (*open)(struct vm_area_struct *area ) ;
4226 void (*close)(struct vm_area_struct *area ) ;
4227 int (*fault)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
4228 int (*page_mkwrite)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
4229 int (*access)(struct vm_area_struct *vma , unsigned long addr , void *buf , int len ,
4230 int write ) ;
4231 int (*set_policy)(struct vm_area_struct *vma , struct mempolicy *new ) ;
4232 struct mempolicy *(*get_policy)(struct vm_area_struct *vma , unsigned long addr ) ;
4233 int (*migrate)(struct vm_area_struct *vma , nodemask_t const *from , nodemask_t const *to ,
4234 unsigned long flags ) ;
4235};
4236#line 247
4237struct inode;
4238#line 195 "include/linux/page-flags.h"
4239struct page;
4240#line 6 "include/asm-generic/scatterlist.h"
4241struct scatterlist {
4242 unsigned long sg_magic ;
4243 unsigned long page_link ;
4244 unsigned int offset ;
4245 unsigned int length ;
4246 dma_addr_t dma_address ;
4247 unsigned int dma_length ;
4248};
4249#line 58 "include/linux/kfifo.h"
4250struct __kfifo {
4251 unsigned int in ;
4252 unsigned int out ;
4253 unsigned int mask ;
4254 unsigned int esize ;
4255 void *data ;
4256};
4257#line 96 "include/linux/kfifo.h"
4258union __anonunion____missing_field_name_256 {
4259 struct __kfifo kfifo ;
4260 unsigned char *type ;
4261 char (*rectype)[0] ;
4262 void *ptr ;
4263 void const *ptr_const ;
4264};
4265#line 96 "include/linux/kfifo.h"
4266struct kfifo {
4267 union __anonunion____missing_field_name_256 __annonCompField47 ;
4268 unsigned char buf[0] ;
4269};
4270#line 77 "include/linux/usb/serial.h"
4271struct usb_serial;
4272#line 77 "include/linux/usb/serial.h"
4273struct usb_serial_port {
4274 struct usb_serial *serial ;
4275 struct tty_port port ;
4276 spinlock_t lock ;
4277 unsigned char number ;
4278 unsigned char *interrupt_in_buffer ;
4279 struct urb *interrupt_in_urb ;
4280 __u8 interrupt_in_endpointAddress ;
4281 unsigned char *interrupt_out_buffer ;
4282 int interrupt_out_size ;
4283 struct urb *interrupt_out_urb ;
4284 __u8 interrupt_out_endpointAddress ;
4285 unsigned char *bulk_in_buffer ;
4286 int bulk_in_size ;
4287 struct urb *read_urb ;
4288 __u8 bulk_in_endpointAddress ;
4289 unsigned char *bulk_in_buffers[2] ;
4290 struct urb *read_urbs[2] ;
4291 unsigned long read_urbs_free ;
4292 unsigned char *bulk_out_buffer ;
4293 int bulk_out_size ;
4294 struct urb *write_urb ;
4295 struct kfifo write_fifo ;
4296 unsigned char *bulk_out_buffers[2] ;
4297 struct urb *write_urbs[2] ;
4298 unsigned long write_urbs_free ;
4299 __u8 bulk_out_endpointAddress ;
4300 int tx_bytes ;
4301 unsigned long flags ;
4302 wait_queue_head_t write_wait ;
4303 struct work_struct work ;
4304 char throttled ;
4305 char throttle_req ;
4306 unsigned long sysrq ;
4307 struct device dev ;
4308};
4309#line 152
4310struct usb_serial_driver;
4311#line 152 "include/linux/usb/serial.h"
4312struct usb_serial {
4313 struct usb_device *dev ;
4314 struct usb_serial_driver *type ;
4315 struct usb_interface *interface ;
4316 unsigned char disconnected : 1 ;
4317 unsigned char suspending : 1 ;
4318 unsigned char attached : 1 ;
4319 unsigned char minor ;
4320 unsigned char num_ports ;
4321 unsigned char num_port_pointers ;
4322 char num_interrupt_in ;
4323 char num_interrupt_out ;
4324 char num_bulk_in ;
4325 char num_bulk_out ;
4326 struct usb_serial_port *port[8] ;
4327 struct kref kref ;
4328 struct mutex disc_mutex ;
4329 void *private ;
4330};
4331#line 227 "include/linux/usb/serial.h"
4332struct usb_serial_driver {
4333 char const *description ;
4334 struct usb_device_id const *id_table ;
4335 char num_ports ;
4336 struct list_head driver_list ;
4337 struct device_driver driver ;
4338 struct usb_driver *usb_driver ;
4339 struct usb_dynids dynids ;
4340 size_t bulk_in_size ;
4341 size_t bulk_out_size ;
4342 int (*probe)(struct usb_serial *serial , struct usb_device_id const *id ) ;
4343 int (*attach)(struct usb_serial *serial ) ;
4344 int (*calc_num_ports)(struct usb_serial *serial ) ;
4345 void (*disconnect)(struct usb_serial *serial ) ;
4346 void (*release)(struct usb_serial *serial ) ;
4347 int (*port_probe)(struct usb_serial_port *port ) ;
4348 int (*port_remove)(struct usb_serial_port *port ) ;
4349 int (*suspend)(struct usb_serial *serial , pm_message_t message ) ;
4350 int (*resume)(struct usb_serial *serial ) ;
4351 int (*open)(struct tty_struct *tty , struct usb_serial_port *port ) ;
4352 void (*close)(struct usb_serial_port *port ) ;
4353 int (*write)(struct tty_struct *tty , struct usb_serial_port *port , unsigned char const *buf ,
4354 int count ) ;
4355 int (*write_room)(struct tty_struct *tty ) ;
4356 int (*ioctl)(struct tty_struct *tty , unsigned int cmd , unsigned long arg ) ;
4357 void (*set_termios)(struct tty_struct *tty , struct usb_serial_port *port , struct ktermios *old ) ;
4358 void (*break_ctl)(struct tty_struct *tty , int break_state ) ;
4359 int (*chars_in_buffer)(struct tty_struct *tty ) ;
4360 void (*throttle)(struct tty_struct *tty ) ;
4361 void (*unthrottle)(struct tty_struct *tty ) ;
4362 int (*tiocmget)(struct tty_struct *tty ) ;
4363 int (*tiocmset)(struct tty_struct *tty , unsigned int set , unsigned int clear ) ;
4364 int (*get_icount)(struct tty_struct *tty , struct serial_icounter_struct *icount ) ;
4365 void (*dtr_rts)(struct usb_serial_port *port , int on ) ;
4366 int (*carrier_raised)(struct usb_serial_port *port ) ;
4367 void (*init_termios)(struct tty_struct *tty ) ;
4368 void (*read_int_callback)(struct urb *urb ) ;
4369 void (*write_int_callback)(struct urb *urb ) ;
4370 void (*read_bulk_callback)(struct urb *urb ) ;
4371 void (*write_bulk_callback)(struct urb *urb ) ;
4372 void (*process_read_urb)(struct urb *urb ) ;
4373 int (*prepare_write_buffer)(struct usb_serial_port *port , void *dest , size_t size ) ;
4374};
4375#line 235 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
4376struct moschip_port {
4377 int port_num ;
4378 struct urb *write_urb ;
4379 struct urb *read_urb ;
4380 struct urb *int_urb ;
4381 __u8 shadowLCR ;
4382 __u8 shadowMCR ;
4383 char open ;
4384 char open_ports ;
4385 char zombie ;
4386 wait_queue_head_t wait_chase ;
4387 wait_queue_head_t delta_msr_wait ;
4388 int delta_msr_cond ;
4389 struct async_icount icount ;
4390 struct usb_serial_port *port ;
4391 __u8 SpRegOffset ;
4392 __u8 ControlRegOffset ;
4393 __u8 DcrRegOffset ;
4394 struct urb *control_urb ;
4395 struct usb_ctrlrequest *dr ;
4396 char *ctrl_buf ;
4397 int MsrLsr ;
4398 spinlock_t pool_lock ;
4399 struct urb *write_urb_pool[16] ;
4400 char busy[16] ;
4401 bool read_urb_busy ;
4402};
4403#line 1 "<compiler builtins>"
4404
4405#line 1
4406long __builtin_expect(long val , long res ) ;
4407#line 315 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
4408__inline static int variable_test_bit(int nr , unsigned long const volatile *addr ) __attribute__((__no_instrument_function__)) ;
4409#line 315 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
4410__inline static int variable_test_bit(int nr , unsigned long const volatile *addr )
4411{ int oldbit ;
4412 unsigned long *__cil_tmp4 ;
4413
4414 {
4415#line 319
4416 __cil_tmp4 = (unsigned long *)addr;
4417#line 319
4418 __asm__ volatile ("bt %2,%1\n\t"
4419 "sbb %0,%0": "=r" (oldbit): "m" (*__cil_tmp4), "Ir" (nr));
4420#line 324
4421 return (oldbit);
4422}
4423}
4424#line 100 "include/linux/printk.h"
4425extern int ( printk)(char const *fmt , ...) ;
4426#line 147 "include/linux/kernel.h"
4427extern void __might_sleep(char const *file , int line , int preempt_offset ) ;
4428#line 194
4429__inline static void might_fault(void) __attribute__((__no_instrument_function__)) ;
4430#line 194 "include/linux/kernel.h"
4431__inline static void might_fault(void)
4432{
4433
4434 {
4435 {
4436#line 196
4437 while (1) {
4438 while_continue: ;
4439 {
4440#line 196
4441 __might_sleep("include/linux/kernel.h", 196, 0);
4442 }
4443 {
4444#line 196
4445 while (1) {
4446 while_continue___0: ;
4447#line 196
4448 goto while_break___0;
4449 }
4450 while_break___0: ;
4451 }
4452#line 196
4453 goto while_break;
4454 }
4455 while_break: ;
4456 }
4457#line 197
4458 return;
4459}
4460}
4461#line 88 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/percpu.h"
4462extern void __bad_percpu_size(void) ;
4463#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
4464extern struct task_struct *current_task __attribute__((__section__(".data..percpu"))) ;
4465#line 12
4466__inline static struct task_struct *( __attribute__((__always_inline__)) get_current)(void) __attribute__((__no_instrument_function__)) ;
4467#line 12 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
4468__inline static struct task_struct *( __attribute__((__always_inline__)) get_current)(void)
4469{ struct task_struct *pfo_ret__ ;
4470
4471 {
4472#line 14
4473 if ((int )8UL == 1) {
4474#line 14
4475 goto case_1;
4476 } else
4477#line 14
4478 if ((int )8UL == 2) {
4479#line 14
4480 goto case_2;
4481 } else
4482#line 14
4483 if ((int )8UL == 4) {
4484#line 14
4485 goto case_4;
4486 } else
4487#line 14
4488 if ((int )8UL == 8) {
4489#line 14
4490 goto case_8;
4491 } else {
4492 {
4493#line 14
4494 goto switch_default;
4495#line 14
4496 if (0) {
4497 case_1:
4498#line 14
4499 __asm__ ("mov"
4500 "b "
4501 "%%"
4502 "gs"
4503 ":"
4504 "%P"
4505 "1"
4506 ",%0": "=q" (pfo_ret__): "p" (& current_task));
4507#line 14
4508 goto switch_break;
4509 case_2:
4510#line 14
4511 __asm__ ("mov"
4512 "w "
4513 "%%"
4514 "gs"
4515 ":"
4516 "%P"
4517 "1"
4518 ",%0": "=r" (pfo_ret__): "p" (& current_task));
4519#line 14
4520 goto switch_break;
4521 case_4:
4522#line 14
4523 __asm__ ("mov"
4524 "l "
4525 "%%"
4526 "gs"
4527 ":"
4528 "%P"
4529 "1"
4530 ",%0": "=r" (pfo_ret__): "p" (& current_task));
4531#line 14
4532 goto switch_break;
4533 case_8:
4534#line 14
4535 __asm__ ("mov"
4536 "q "
4537 "%%"
4538 "gs"
4539 ":"
4540 "%P"
4541 "1"
4542 ",%0": "=r" (pfo_ret__): "p" (& current_task));
4543#line 14
4544 goto switch_break;
4545 switch_default:
4546 {
4547#line 14
4548 __bad_percpu_size();
4549 }
4550 } else {
4551 switch_break: ;
4552 }
4553 }
4554 }
4555#line 14
4556 return (pfo_ret__);
4557}
4558}
4559#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
4560extern void *memset(void *s , int c , size_t n ) ;
4561#line 82 "include/linux/thread_info.h"
4562__inline static int test_ti_thread_flag(struct thread_info *ti , int flag ) __attribute__((__no_instrument_function__)) ;
4563#line 82 "include/linux/thread_info.h"
4564__inline static int test_ti_thread_flag(struct thread_info *ti , int flag )
4565{ int tmp___0 ;
4566 unsigned long __cil_tmp5 ;
4567 unsigned long __cil_tmp6 ;
4568 __u32 *__cil_tmp7 ;
4569 unsigned long *__cil_tmp8 ;
4570 unsigned long const volatile *__cil_tmp9 ;
4571
4572 {
4573 {
4574#line 84
4575 __cil_tmp5 = (unsigned long )ti;
4576#line 84
4577 __cil_tmp6 = __cil_tmp5 + 16;
4578#line 84
4579 __cil_tmp7 = (__u32 *)__cil_tmp6;
4580#line 84
4581 __cil_tmp8 = (unsigned long *)__cil_tmp7;
4582#line 84
4583 __cil_tmp9 = (unsigned long const volatile *)__cil_tmp8;
4584#line 84
4585 tmp___0 = variable_test_bit(flag, __cil_tmp9);
4586 }
4587#line 84
4588 return (tmp___0);
4589}
4590}
4591#line 93 "include/linux/spinlock.h"
4592extern void __raw_spin_lock_init(raw_spinlock_t *lock , char const *name , struct lock_class_key *key ) ;
4593#line 22 "include/linux/spinlock_api_smp.h"
4594extern void _raw_spin_lock(raw_spinlock_t *lock ) __attribute__((__section__(".spinlock.text"))) ;
4595#line 32
4596extern unsigned long _raw_spin_lock_irqsave(raw_spinlock_t *lock ) __attribute__((__section__(".spinlock.text"))) ;
4597#line 39
4598extern void _raw_spin_unlock(raw_spinlock_t *lock ) __attribute__((__section__(".spinlock.text"))) ;
4599#line 42
4600extern void _raw_spin_unlock_irqrestore(raw_spinlock_t *lock , unsigned long flags ) __attribute__((__section__(".spinlock.text"))) ;
4601#line 272 "include/linux/spinlock.h"
4602__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock ) __attribute__((__no_instrument_function__)) ;
4603#line 272 "include/linux/spinlock.h"
4604__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock )
4605{
4606
4607 {
4608#line 274
4609 return ((struct raw_spinlock *)lock);
4610}
4611}
4612#line 283
4613__inline static void spin_lock(spinlock_t *lock ) __attribute__((__no_instrument_function__)) ;
4614#line 283 "include/linux/spinlock.h"
4615__inline static void spin_lock(spinlock_t *lock )
4616{ struct raw_spinlock *__cil_tmp2 ;
4617
4618 {
4619 {
4620#line 285
4621 __cil_tmp2 = (struct raw_spinlock *)lock;
4622#line 285
4623 _raw_spin_lock(__cil_tmp2);
4624 }
4625#line 286
4626 return;
4627}
4628}
4629#line 323
4630__inline static void spin_unlock(spinlock_t *lock ) __attribute__((__no_instrument_function__)) ;
4631#line 323 "include/linux/spinlock.h"
4632__inline static void spin_unlock(spinlock_t *lock )
4633{ struct raw_spinlock *__cil_tmp2 ;
4634
4635 {
4636 {
4637#line 325
4638 __cil_tmp2 = (struct raw_spinlock *)lock;
4639#line 325
4640 _raw_spin_unlock(__cil_tmp2);
4641 }
4642#line 326
4643 return;
4644}
4645}
4646#line 338
4647__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) __attribute__((__no_instrument_function__)) ;
4648#line 338 "include/linux/spinlock.h"
4649__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags )
4650{ struct raw_spinlock *__cil_tmp5 ;
4651
4652 {
4653 {
4654#line 340
4655 while (1) {
4656 while_continue: ;
4657 {
4658#line 340
4659 __cil_tmp5 = (struct raw_spinlock *)lock;
4660#line 340
4661 _raw_spin_unlock_irqrestore(__cil_tmp5, flags);
4662 }
4663#line 340
4664 goto while_break;
4665 }
4666 while_break: ;
4667 }
4668#line 341
4669 return;
4670}
4671}
4672#line 79 "include/linux/wait.h"
4673extern void __init_waitqueue_head(wait_queue_head_t *q , char const *name , struct lock_class_key * ) ;
4674#line 155
4675extern void __wake_up(wait_queue_head_t *q , unsigned int mode , int nr , void *key ) ;
4676#line 578
4677extern long interruptible_sleep_on_timeout(wait_queue_head_t *q , long timeout ) ;
4678#line 584
4679extern void prepare_to_wait(wait_queue_head_t *q , wait_queue_t *wait , int state ) ;
4680#line 586
4681extern void finish_wait(wait_queue_head_t *q , wait_queue_t *wait ) ;
4682#line 589
4683extern int autoremove_wake_function(wait_queue_t *wait , unsigned int mode , int sync ,
4684 void *key ) ;
4685#line 152 "include/linux/mutex.h"
4686void mutex_lock(struct mutex *lock ) ;
4687#line 153
4688int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
4689#line 154
4690int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
4691#line 168
4692int mutex_trylock(struct mutex *lock ) ;
4693#line 169
4694void mutex_unlock(struct mutex *lock ) ;
4695#line 170
4696int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
4697#line 161 "include/linux/slab.h"
4698extern void kfree(void const * ) ;
4699#line 221 "include/linux/slub_def.h"
4700extern void *__kmalloc(size_t size , gfp_t flags ) ;
4701#line 268
4702__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
4703 gfp_t flags ) __attribute__((__no_instrument_function__)) ;
4704#line 268 "include/linux/slub_def.h"
4705__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
4706 gfp_t flags )
4707{ void *tmp___2 ;
4708
4709 {
4710 {
4711#line 283
4712 tmp___2 = __kmalloc(size, flags);
4713 }
4714#line 283
4715 return (tmp___2);
4716}
4717}
4718#line 349 "include/linux/slab.h"
4719__inline static void *kzalloc(size_t size , gfp_t flags ) __attribute__((__no_instrument_function__)) ;
4720#line 349 "include/linux/slab.h"
4721__inline static void *kzalloc(size_t size , gfp_t flags )
4722{ void *tmp ;
4723 unsigned int __cil_tmp4 ;
4724
4725 {
4726 {
4727#line 351
4728 __cil_tmp4 = flags | 32768U;
4729#line 351
4730 tmp = kmalloc(size, __cil_tmp4);
4731 }
4732#line 351
4733 return (tmp);
4734}
4735}
4736#line 39 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
4737extern unsigned long __attribute__((__warn_unused_result__)) _copy_to_user(void *to ,
4738 void const *from ,
4739 unsigned int len ) ;
4740#line 62
4741__inline static int __attribute__((__warn_unused_result__)) ( __attribute__((__always_inline__)) copy_to_user)(void *dst ,
4742 void const *src ,
4743 unsigned int size ) __attribute__((__no_instrument_function__)) ;
4744#line 62 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
4745__inline static int __attribute__((__warn_unused_result__)) ( __attribute__((__always_inline__)) copy_to_user)(void *dst ,
4746 void const *src ,
4747 unsigned int size )
4748{ unsigned long tmp ;
4749
4750 {
4751 {
4752#line 65
4753 might_fault();
4754#line 67
4755 tmp = (unsigned long )_copy_to_user(dst, src, size);
4756 }
4757#line 67
4758 return ((int )tmp);
4759}
4760}
4761#line 26 "include/linux/export.h"
4762extern struct module __this_module ;
4763#line 792 "include/linux/device.h"
4764extern void *dev_get_drvdata(struct device const *dev ) ;
4765#line 793
4766extern int dev_set_drvdata(struct device *dev , void *data ) ;
4767#line 891
4768extern int ( dev_err)(struct device const *dev , char const *fmt
4769 , ...) ;
4770#line 400 "include/linux/tty.h"
4771extern void tty_kref_put(struct tty_struct *tty ) ;
4772#line 442
4773extern void tty_flip_buffer_push(struct tty_struct *tty ) ;
4774#line 447
4775extern speed_t tty_get_baud_rate(struct tty_struct *tty ) ;
4776#line 464
4777extern void tty_wakeup(struct tty_struct *tty ) ;
4778#line 511
4779extern struct tty_struct *tty_port_tty_get(struct tty_port *port ) ;
4780#line 6 "include/linux/tty_flip.h"
4781extern int tty_insert_flip_string_fixed_flag(struct tty_struct *tty , unsigned char const *chars ,
4782 char flag , size_t size ) ;
4783#line 23
4784__inline static int tty_insert_flip_string(struct tty_struct *tty , unsigned char const *chars ,
4785 size_t size ) __attribute__((__no_instrument_function__)) ;
4786#line 23 "include/linux/tty_flip.h"
4787__inline static int tty_insert_flip_string(struct tty_struct *tty , unsigned char const *chars ,
4788 size_t size )
4789{ int tmp ;
4790
4791 {
4792 {
4793#line 25
4794 tmp = tty_insert_flip_string_fixed_flag(tty, chars, (char)0, size);
4795 }
4796#line 25
4797 return (tmp);
4798}
4799}
4800#line 382 "include/linux/moduleparam.h"
4801extern struct kernel_param_ops param_ops_bool ;
4802#line 67 "include/linux/module.h"
4803int init_module(void) ;
4804#line 68
4805void cleanup_module(void) ;
4806#line 362 "include/linux/sched.h"
4807extern void schedule(void) ;
4808#line 2563
4809__inline static int test_tsk_thread_flag(struct task_struct *tsk , int flag ) __attribute__((__no_instrument_function__)) ;
4810#line 2563 "include/linux/sched.h"
4811__inline static int test_tsk_thread_flag(struct task_struct *tsk , int flag )
4812{ int tmp___7 ;
4813 unsigned long __cil_tmp4 ;
4814 unsigned long __cil_tmp5 ;
4815 void *__cil_tmp6 ;
4816 struct thread_info *__cil_tmp7 ;
4817
4818 {
4819 {
4820#line 2565
4821 __cil_tmp4 = (unsigned long )tsk;
4822#line 2565
4823 __cil_tmp5 = __cil_tmp4 + 8;
4824#line 2565
4825 __cil_tmp6 = *((void **)__cil_tmp5);
4826#line 2565
4827 __cil_tmp7 = (struct thread_info *)__cil_tmp6;
4828#line 2565
4829 tmp___7 = test_ti_thread_flag(__cil_tmp7, flag);
4830 }
4831#line 2565
4832 return (tmp___7);
4833}
4834}
4835#line 2589
4836__inline static int signal_pending(struct task_struct *p ) __attribute__((__no_instrument_function__)) ;
4837#line 2589 "include/linux/sched.h"
4838__inline static int signal_pending(struct task_struct *p )
4839{ int tmp___7 ;
4840 int tmp___8 ;
4841 long tmp___9 ;
4842 long __cil_tmp5 ;
4843
4844 {
4845 {
4846#line 2591
4847 tmp___7 = test_tsk_thread_flag(p, 2);
4848 }
4849#line 2591
4850 if (tmp___7) {
4851#line 2591
4852 tmp___8 = 1;
4853 } else {
4854#line 2591
4855 tmp___8 = 0;
4856 }
4857 {
4858#line 2591
4859 __cil_tmp5 = (long )tmp___8;
4860#line 2591
4861 tmp___9 = __builtin_expect(__cil_tmp5, 0L);
4862 }
4863#line 2591
4864 return ((int )tmp___9);
4865}
4866}
4867#line 1278 "include/linux/usb.h"
4868__inline static void usb_fill_control_urb(struct urb *urb , struct usb_device *dev ,
4869 unsigned int pipe , unsigned char *setup_packet ,
4870 void *transfer_buffer , int buffer_length ,
4871 void (*complete_fn)(struct urb * ) , void *context ) __attribute__((__no_instrument_function__)) ;
4872#line 1278 "include/linux/usb.h"
4873__inline static void usb_fill_control_urb(struct urb *urb , struct usb_device *dev ,
4874 unsigned int pipe , unsigned char *setup_packet ,
4875 void *transfer_buffer , int buffer_length ,
4876 void (*complete_fn)(struct urb * ) , void *context )
4877{ unsigned long __cil_tmp9 ;
4878 unsigned long __cil_tmp10 ;
4879 unsigned long __cil_tmp11 ;
4880 unsigned long __cil_tmp12 ;
4881 unsigned long __cil_tmp13 ;
4882 unsigned long __cil_tmp14 ;
4883 unsigned long __cil_tmp15 ;
4884 unsigned long __cil_tmp16 ;
4885 unsigned long __cil_tmp17 ;
4886 unsigned long __cil_tmp18 ;
4887 unsigned long __cil_tmp19 ;
4888 unsigned long __cil_tmp20 ;
4889 unsigned long __cil_tmp21 ;
4890 unsigned long __cil_tmp22 ;
4891
4892 {
4893#line 1287
4894 __cil_tmp9 = (unsigned long )urb;
4895#line 1287
4896 __cil_tmp10 = __cil_tmp9 + 72;
4897#line 1287
4898 *((struct usb_device **)__cil_tmp10) = dev;
4899#line 1288
4900 __cil_tmp11 = (unsigned long )urb;
4901#line 1288
4902 __cil_tmp12 = __cil_tmp11 + 88;
4903#line 1288
4904 *((unsigned int *)__cil_tmp12) = pipe;
4905#line 1289
4906 __cil_tmp13 = (unsigned long )urb;
4907#line 1289
4908 __cil_tmp14 = __cil_tmp13 + 144;
4909#line 1289
4910 *((unsigned char **)__cil_tmp14) = setup_packet;
4911#line 1290
4912 __cil_tmp15 = (unsigned long )urb;
4913#line 1290
4914 __cil_tmp16 = __cil_tmp15 + 104;
4915#line 1290
4916 *((void **)__cil_tmp16) = transfer_buffer;
4917#line 1291
4918 __cil_tmp17 = (unsigned long )urb;
4919#line 1291
4920 __cil_tmp18 = __cil_tmp17 + 136;
4921#line 1291
4922 *((u32 *)__cil_tmp18) = (u32 )buffer_length;
4923#line 1292
4924 __cil_tmp19 = (unsigned long )urb;
4925#line 1292
4926 __cil_tmp20 = __cil_tmp19 + 184;
4927#line 1292
4928 *((void (**)(struct urb * ))__cil_tmp20) = complete_fn;
4929#line 1293
4930 __cil_tmp21 = (unsigned long )urb;
4931#line 1293
4932 __cil_tmp22 = __cil_tmp21 + 176;
4933#line 1293
4934 *((void **)__cil_tmp22) = context;
4935#line 1294
4936 return;
4937}
4938}
4939#line 1309
4940__inline static void usb_fill_bulk_urb(struct urb *urb , struct usb_device *dev ,
4941 unsigned int pipe , void *transfer_buffer ,
4942 int buffer_length , void (*complete_fn)(struct urb * ) ,
4943 void *context ) __attribute__((__no_instrument_function__)) ;
4944#line 1309 "include/linux/usb.h"
4945__inline static void usb_fill_bulk_urb(struct urb *urb , struct usb_device *dev ,
4946 unsigned int pipe , void *transfer_buffer ,
4947 int buffer_length , void (*complete_fn)(struct urb * ) ,
4948 void *context )
4949{ unsigned long __cil_tmp8 ;
4950 unsigned long __cil_tmp9 ;
4951 unsigned long __cil_tmp10 ;
4952 unsigned long __cil_tmp11 ;
4953 unsigned long __cil_tmp12 ;
4954 unsigned long __cil_tmp13 ;
4955 unsigned long __cil_tmp14 ;
4956 unsigned long __cil_tmp15 ;
4957 unsigned long __cil_tmp16 ;
4958 unsigned long __cil_tmp17 ;
4959 unsigned long __cil_tmp18 ;
4960 unsigned long __cil_tmp19 ;
4961
4962 {
4963#line 1317
4964 __cil_tmp8 = (unsigned long )urb;
4965#line 1317
4966 __cil_tmp9 = __cil_tmp8 + 72;
4967#line 1317
4968 *((struct usb_device **)__cil_tmp9) = dev;
4969#line 1318
4970 __cil_tmp10 = (unsigned long )urb;
4971#line 1318
4972 __cil_tmp11 = __cil_tmp10 + 88;
4973#line 1318
4974 *((unsigned int *)__cil_tmp11) = pipe;
4975#line 1319
4976 __cil_tmp12 = (unsigned long )urb;
4977#line 1319
4978 __cil_tmp13 = __cil_tmp12 + 104;
4979#line 1319
4980 *((void **)__cil_tmp13) = transfer_buffer;
4981#line 1320
4982 __cil_tmp14 = (unsigned long )urb;
4983#line 1320
4984 __cil_tmp15 = __cil_tmp14 + 136;
4985#line 1320
4986 *((u32 *)__cil_tmp15) = (u32 )buffer_length;
4987#line 1321
4988 __cil_tmp16 = (unsigned long )urb;
4989#line 1321
4990 __cil_tmp17 = __cil_tmp16 + 184;
4991#line 1321
4992 *((void (**)(struct urb * ))__cil_tmp17) = complete_fn;
4993#line 1322
4994 __cil_tmp18 = (unsigned long )urb;
4995#line 1322
4996 __cil_tmp19 = __cil_tmp18 + 176;
4997#line 1322
4998 *((void **)__cil_tmp19) = context;
4999#line 1323
5000 return;
5001}
5002}
5003#line 1350
5004__inline static void usb_fill_int_urb(struct urb *urb , struct usb_device *dev , unsigned int pipe ,
5005 void *transfer_buffer , int buffer_length ,
5006 void (*complete_fn)(struct urb * ) , void *context ,
5007 int interval ) __attribute__((__no_instrument_function__)) ;
5008#line 1350 "include/linux/usb.h"
5009__inline static void usb_fill_int_urb(struct urb *urb , struct usb_device *dev , unsigned int pipe ,
5010 void *transfer_buffer , int buffer_length ,
5011 void (*complete_fn)(struct urb * ) , void *context ,
5012 int interval )
5013{ unsigned long __cil_tmp9 ;
5014 unsigned long __cil_tmp10 ;
5015 unsigned long __cil_tmp11 ;
5016 unsigned long __cil_tmp12 ;
5017 unsigned long __cil_tmp13 ;
5018 unsigned long __cil_tmp14 ;
5019 unsigned long __cil_tmp15 ;
5020 unsigned long __cil_tmp16 ;
5021 unsigned long __cil_tmp17 ;
5022 unsigned long __cil_tmp18 ;
5023 unsigned long __cil_tmp19 ;
5024 unsigned long __cil_tmp20 ;
5025 unsigned long __cil_tmp21 ;
5026 unsigned long __cil_tmp22 ;
5027 enum usb_device_speed __cil_tmp23 ;
5028 unsigned int __cil_tmp24 ;
5029 unsigned long __cil_tmp25 ;
5030 unsigned long __cil_tmp26 ;
5031 int __cil_tmp27 ;
5032 unsigned long __cil_tmp28 ;
5033 unsigned long __cil_tmp29 ;
5034 enum usb_device_speed __cil_tmp30 ;
5035 unsigned int __cil_tmp31 ;
5036 unsigned long __cil_tmp32 ;
5037 unsigned long __cil_tmp33 ;
5038 int __cil_tmp34 ;
5039 unsigned long __cil_tmp35 ;
5040 unsigned long __cil_tmp36 ;
5041 unsigned long __cil_tmp37 ;
5042 unsigned long __cil_tmp38 ;
5043
5044 {
5045#line 1359
5046 __cil_tmp9 = (unsigned long )urb;
5047#line 1359
5048 __cil_tmp10 = __cil_tmp9 + 72;
5049#line 1359
5050 *((struct usb_device **)__cil_tmp10) = dev;
5051#line 1360
5052 __cil_tmp11 = (unsigned long )urb;
5053#line 1360
5054 __cil_tmp12 = __cil_tmp11 + 88;
5055#line 1360
5056 *((unsigned int *)__cil_tmp12) = pipe;
5057#line 1361
5058 __cil_tmp13 = (unsigned long )urb;
5059#line 1361
5060 __cil_tmp14 = __cil_tmp13 + 104;
5061#line 1361
5062 *((void **)__cil_tmp14) = transfer_buffer;
5063#line 1362
5064 __cil_tmp15 = (unsigned long )urb;
5065#line 1362
5066 __cil_tmp16 = __cil_tmp15 + 136;
5067#line 1362
5068 *((u32 *)__cil_tmp16) = (u32 )buffer_length;
5069#line 1363
5070 __cil_tmp17 = (unsigned long )urb;
5071#line 1363
5072 __cil_tmp18 = __cil_tmp17 + 184;
5073#line 1363
5074 *((void (**)(struct urb * ))__cil_tmp18) = complete_fn;
5075#line 1364
5076 __cil_tmp19 = (unsigned long )urb;
5077#line 1364
5078 __cil_tmp20 = __cil_tmp19 + 176;
5079#line 1364
5080 *((void **)__cil_tmp20) = context;
5081 {
5082#line 1365
5083 __cil_tmp21 = (unsigned long )dev;
5084#line 1365
5085 __cil_tmp22 = __cil_tmp21 + 28;
5086#line 1365
5087 __cil_tmp23 = *((enum usb_device_speed *)__cil_tmp22);
5088#line 1365
5089 __cil_tmp24 = (unsigned int )__cil_tmp23;
5090#line 1365
5091 if (__cil_tmp24 == 3U) {
5092#line 1366
5093 __cil_tmp25 = (unsigned long )urb;
5094#line 1366
5095 __cil_tmp26 = __cil_tmp25 + 168;
5096#line 1366
5097 __cil_tmp27 = interval - 1;
5098#line 1366
5099 *((int *)__cil_tmp26) = 1 << __cil_tmp27;
5100 } else {
5101 {
5102#line 1365
5103 __cil_tmp28 = (unsigned long )dev;
5104#line 1365
5105 __cil_tmp29 = __cil_tmp28 + 28;
5106#line 1365
5107 __cil_tmp30 = *((enum usb_device_speed *)__cil_tmp29);
5108#line 1365
5109 __cil_tmp31 = (unsigned int )__cil_tmp30;
5110#line 1365
5111 if (__cil_tmp31 == 5U) {
5112#line 1366
5113 __cil_tmp32 = (unsigned long )urb;
5114#line 1366
5115 __cil_tmp33 = __cil_tmp32 + 168;
5116#line 1366
5117 __cil_tmp34 = interval - 1;
5118#line 1366
5119 *((int *)__cil_tmp33) = 1 << __cil_tmp34;
5120 } else {
5121#line 1368
5122 __cil_tmp35 = (unsigned long )urb;
5123#line 1368
5124 __cil_tmp36 = __cil_tmp35 + 168;
5125#line 1368
5126 *((int *)__cil_tmp36) = interval;
5127 }
5128 }
5129 }
5130 }
5131#line 1369
5132 __cil_tmp37 = (unsigned long )urb;
5133#line 1369
5134 __cil_tmp38 = __cil_tmp37 + 160;
5135#line 1369
5136 *((int *)__cil_tmp38) = -1;
5137#line 1370
5138 return;
5139}
5140}
5141#line 1373
5142extern struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags ) ;
5143#line 1374
5144extern void usb_free_urb(struct urb *urb ) ;
5145#line 1377
5146extern int usb_submit_urb(struct urb *urb , gfp_t mem_flags ) ;
5147#line 1379
5148extern void usb_kill_urb(struct urb *urb ) ;
5149#line 1443
5150extern int usb_control_msg(struct usb_device *dev , unsigned int pipe , __u8 request ,
5151 __u8 requesttype , __u16 value , __u16 index , void *data ,
5152 __u16 size , int timeout ) ;
5153#line 1461
5154extern int usb_clear_halt(struct usb_device *dev , int pipe ) ;
5155#line 1567
5156__inline static unsigned int __create_pipe(struct usb_device *dev , unsigned int endpoint ) __attribute__((__no_instrument_function__)) ;
5157#line 1567 "include/linux/usb.h"
5158__inline static unsigned int __create_pipe(struct usb_device *dev , unsigned int endpoint )
5159{ unsigned int __cil_tmp3 ;
5160 int __cil_tmp4 ;
5161 int __cil_tmp5 ;
5162 unsigned int __cil_tmp6 ;
5163
5164 {
5165 {
5166#line 1570
5167 __cil_tmp3 = endpoint << 15;
5168#line 1570
5169 __cil_tmp4 = *((int *)dev);
5170#line 1570
5171 __cil_tmp5 = __cil_tmp4 << 8;
5172#line 1570
5173 __cil_tmp6 = (unsigned int )__cil_tmp5;
5174#line 1570
5175 return (__cil_tmp6 | __cil_tmp3);
5176 }
5177}
5178}
5179#line 124 "include/linux/usb/serial.h"
5180__inline static void *usb_get_serial_port_data(struct usb_serial_port *port ) __attribute__((__no_instrument_function__)) ;
5181#line 124 "include/linux/usb/serial.h"
5182__inline static void *usb_get_serial_port_data(struct usb_serial_port *port )
5183{ void *tmp___7 ;
5184 unsigned long __cil_tmp3 ;
5185 unsigned long __cil_tmp4 ;
5186 struct device *__cil_tmp5 ;
5187 struct device const *__cil_tmp6 ;
5188
5189 {
5190 {
5191#line 126
5192 __cil_tmp3 = (unsigned long )port;
5193#line 126
5194 __cil_tmp4 = __cil_tmp3 + 712;
5195#line 126
5196 __cil_tmp5 = (struct device *)__cil_tmp4;
5197#line 126
5198 __cil_tmp6 = (struct device const *)__cil_tmp5;
5199#line 126
5200 tmp___7 = dev_get_drvdata(__cil_tmp6);
5201 }
5202#line 126
5203 return (tmp___7);
5204}
5205}
5206#line 129
5207__inline static void usb_set_serial_port_data(struct usb_serial_port *port , void *data ) __attribute__((__no_instrument_function__)) ;
5208#line 129 "include/linux/usb/serial.h"
5209__inline static void usb_set_serial_port_data(struct usb_serial_port *port , void *data )
5210{ unsigned long __cil_tmp3 ;
5211 unsigned long __cil_tmp4 ;
5212 struct device *__cil_tmp5 ;
5213
5214 {
5215 {
5216#line 132
5217 __cil_tmp3 = (unsigned long )port;
5218#line 132
5219 __cil_tmp4 = __cil_tmp3 + 712;
5220#line 132
5221 __cil_tmp5 = (struct device *)__cil_tmp4;
5222#line 132
5223 dev_set_drvdata(__cil_tmp5, data);
5224 }
5225#line 133
5226 return;
5227}
5228}
5229#line 295
5230extern int usb_serial_register_drivers(struct usb_driver *udriver , struct usb_serial_driver * const *serial_drivers ) ;
5231#line 297
5232extern void usb_serial_deregister_drivers(struct usb_driver *udriver , struct usb_serial_driver * const *serial_drivers ) ;
5233#line 301
5234extern int usb_serial_probe(struct usb_interface *iface , struct usb_device_id const *id ) ;
5235#line 303
5236extern void usb_serial_disconnect(struct usb_interface *iface ) ;
5237#line 189 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
5238static struct usb_device_id const moschip_port_id_table[17] =
5239#line 189 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
5240 { {(__u16 )3, (__u16 )38672, (__u16 )30784, (unsigned short)0, (unsigned short)0,
5241 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5242 (unsigned char)0, 0UL},
5243 {(__u16 )3, (__u16 )38672, (__u16 )30752, (unsigned short)0, (unsigned short)0,
5244 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5245 (unsigned char)0, 0UL},
5246 {(__u16 )3, (__u16 )2134, (__u16 )44066, (unsigned short)0, (unsigned short)0,
5247 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5248 (unsigned char)0, 0UL},
5249 {(__u16 )3, (__u16 )2134, (__u16 )48128, (unsigned short)0, (unsigned short)0,
5250 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5251 (unsigned char)0, 0UL},
5252 {(__u16 )3, (__u16 )2134, (__u16 )44068, (unsigned short)0, (unsigned short)0,
5253 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5254 (unsigned char)0, 0UL},
5255 {(__u16 )3, (__u16 )2134, (__u16 )48129, (unsigned short)0, (unsigned short)0,
5256 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5257 (unsigned char)0, 0UL},
5258 {(__u16 )3, (__u16 )2134, (__u16 )44073, (unsigned short)0, (unsigned short)0,
5259 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5260 (unsigned char)0, 0UL},
5261 {(__u16 )3, (__u16 )2134, (__u16 )44080, (unsigned short)0, (unsigned short)0,
5262 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5263 (unsigned char)0, 0UL},
5264 {(__u16 )3, (__u16 )2134, (__u16 )44081, (unsigned short)0, (unsigned short)0,
5265 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5266 (unsigned char)0, 0UL},
5267 {(__u16 )3, (__u16 )2134, (__u16 )44082, (unsigned short)0, (unsigned short)0,
5268 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5269 (unsigned char)0, 0UL},
5270 {(__u16 )3, (__u16 )2134, (__u16 )44098, (unsigned short)0, (unsigned short)0,
5271 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5272 (unsigned char)0, 0UL},
5273 {(__u16 )3, (__u16 )2134, (__u16 )48130, (unsigned short)0, (unsigned short)0,
5274 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5275 (unsigned char)0, 0UL},
5276 {(__u16 )3, (__u16 )2134, (__u16 )44100, (unsigned short)0, (unsigned short)0,
5277 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5278 (unsigned char)0, 0UL},
5279 {(__u16 )3, (__u16 )2134, (__u16 )48131, (unsigned short)0, (unsigned short)0,
5280 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5281 (unsigned char)0, 0UL},
5282 {(__u16 )3, (__u16 )2134, (__u16 )44068, (unsigned short)0, (unsigned short)0,
5283 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5284 (unsigned char)0, 0UL},
5285 {(__u16 )3, (__u16 )1367, (__u16 )8209, (unsigned short)0, (unsigned short)0,
5286 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5287 (unsigned char)0, 0UL},
5288 {(__u16 )3, (__u16 )1367, (__u16 )30752, (unsigned short)0, (unsigned short)0,
5289 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5290 (unsigned char)0, 0UL}};
5291#line 210 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
5292static struct usb_device_id const moschip_id_table_combined[17] __attribute__((__section__(".devinit.rodata"))) =
5293#line 210
5294 { {(__u16 )3, (__u16 )38672, (__u16 )30784, (unsigned short)0, (unsigned short)0,
5295 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5296 (unsigned char)0, 0UL},
5297 {(__u16 )3, (__u16 )38672, (__u16 )30752, (unsigned short)0, (unsigned short)0,
5298 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5299 (unsigned char)0, 0UL},
5300 {(__u16 )3, (__u16 )2134, (__u16 )44066, (unsigned short)0, (unsigned short)0,
5301 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5302 (unsigned char)0, 0UL},
5303 {(__u16 )3, (__u16 )2134, (__u16 )48128, (unsigned short)0, (unsigned short)0,
5304 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5305 (unsigned char)0, 0UL},
5306 {(__u16 )3, (__u16 )2134, (__u16 )44068, (unsigned short)0, (unsigned short)0,
5307 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5308 (unsigned char)0, 0UL},
5309 {(__u16 )3, (__u16 )2134, (__u16 )48129, (unsigned short)0, (unsigned short)0,
5310 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5311 (unsigned char)0, 0UL},
5312 {(__u16 )3, (__u16 )2134, (__u16 )44073, (unsigned short)0, (unsigned short)0,
5313 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5314 (unsigned char)0, 0UL},
5315 {(__u16 )3, (__u16 )2134, (__u16 )44080, (unsigned short)0, (unsigned short)0,
5316 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5317 (unsigned char)0, 0UL},
5318 {(__u16 )3, (__u16 )2134, (__u16 )44081, (unsigned short)0, (unsigned short)0,
5319 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5320 (unsigned char)0, 0UL},
5321 {(__u16 )3, (__u16 )2134, (__u16 )44082, (unsigned short)0, (unsigned short)0,
5322 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5323 (unsigned char)0, 0UL},
5324 {(__u16 )3, (__u16 )2134, (__u16 )44098, (unsigned short)0, (unsigned short)0,
5325 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5326 (unsigned char)0, 0UL},
5327 {(__u16 )3, (__u16 )2134, (__u16 )48130, (unsigned short)0, (unsigned short)0,
5328 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5329 (unsigned char)0, 0UL},
5330 {(__u16 )3, (__u16 )2134, (__u16 )44100, (unsigned short)0, (unsigned short)0,
5331 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5332 (unsigned char)0, 0UL},
5333 {(__u16 )3, (__u16 )2134, (__u16 )48131, (unsigned short)0, (unsigned short)0,
5334 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5335 (unsigned char)0, 0UL},
5336 {(__u16 )3, (__u16 )2134, (__u16 )44068, (unsigned short)0, (unsigned short)0,
5337 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5338 (unsigned char)0, 0UL},
5339 {(__u16 )3, (__u16 )1367, (__u16 )8209, (unsigned short)0, (unsigned short)0,
5340 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5341 (unsigned char)0, 0UL},
5342 {(__u16 )3, (__u16 )1367, (__u16 )30752, (unsigned short)0, (unsigned short)0,
5343 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5344 (unsigned char)0, 0UL}};
5345#line 231
5346extern struct usb_device_id const __mod_usb_device_table __attribute__((__unused__,
5347__alias__("moschip_id_table_combined"))) ;
5348#line 268 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
5349static bool debug ;
5350#line 276 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
5351static int mos7840_set_reg_sync(struct usb_serial_port *port , __u16 reg , __u16 val )
5352{ struct usb_device *dev ;
5353 unsigned int tmp___7 ;
5354 int tmp___8 ;
5355 struct usb_serial *__cil_tmp7 ;
5356 int __cil_tmp8 ;
5357 int __cil_tmp9 ;
5358 bool *__cil_tmp10 ;
5359 int __cil_tmp11 ;
5360 int __cil_tmp12 ;
5361 int __cil_tmp13 ;
5362 unsigned int __cil_tmp14 ;
5363 unsigned int __cil_tmp15 ;
5364 __u8 __cil_tmp16 ;
5365 __u8 __cil_tmp17 ;
5366 void *__cil_tmp18 ;
5367 __u16 __cil_tmp19 ;
5368
5369 {
5370#line 279
5371 __cil_tmp7 = *((struct usb_serial **)port);
5372#line 279
5373 dev = *((struct usb_device **)__cil_tmp7);
5374#line 280
5375 __cil_tmp8 = (int )val;
5376#line 280
5377 __cil_tmp9 = __cil_tmp8 & 255;
5378#line 280
5379 val = (__u16 )__cil_tmp9;
5380 {
5381#line 281
5382 while (1) {
5383 while_continue: ;
5384 {
5385#line 281
5386 __cil_tmp10 = & debug;
5387#line 281
5388 if (*__cil_tmp10) {
5389 {
5390#line 281
5391 __cil_tmp11 = (int )reg;
5392#line 281
5393 __cil_tmp12 = (int )val;
5394#line 281
5395 printk("<7>%s: mos7840_set_reg_sync offset is %x, value %x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
5396 __cil_tmp11, __cil_tmp12);
5397 }
5398 } else {
5399
5400 }
5401 }
5402#line 281
5403 goto while_break;
5404 }
5405 while_break: ;
5406 }
5407 {
5408#line 283
5409 tmp___7 = __create_pipe(dev, 0U);
5410#line 283
5411 __cil_tmp13 = 2 << 30;
5412#line 283
5413 __cil_tmp14 = (unsigned int )__cil_tmp13;
5414#line 283
5415 __cil_tmp15 = __cil_tmp14 | tmp___7;
5416#line 283
5417 __cil_tmp16 = (__u8 )14;
5418#line 283
5419 __cil_tmp17 = (__u8 )64;
5420#line 283
5421 __cil_tmp18 = (void *)0;
5422#line 283
5423 __cil_tmp19 = (__u16 )0;
5424#line 283
5425 tmp___8 = usb_control_msg(dev, __cil_tmp15, __cil_tmp16, __cil_tmp17, val, reg,
5426 __cil_tmp18, __cil_tmp19, 1250);
5427 }
5428#line 283
5429 return (tmp___8);
5430}
5431}
5432#line 294 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
5433static int mos7840_get_reg_sync(struct usb_serial_port *port , __u16 reg , __u16 *val )
5434{ struct usb_device *dev ;
5435 int ret ;
5436 u8 *buf ;
5437 void *tmp___7 ;
5438 unsigned int tmp___8 ;
5439 struct usb_serial *__cil_tmp9 ;
5440 size_t __cil_tmp10 ;
5441 int __cil_tmp11 ;
5442 unsigned int __cil_tmp12 ;
5443 unsigned int __cil_tmp13 ;
5444 unsigned int __cil_tmp14 ;
5445 __u8 __cil_tmp15 ;
5446 __u8 __cil_tmp16 ;
5447 __u16 __cil_tmp17 ;
5448 void *__cil_tmp18 ;
5449 __u16 __cil_tmp19 ;
5450 u8 *__cil_tmp20 ;
5451 u8 __cil_tmp21 ;
5452 bool *__cil_tmp22 ;
5453 int __cil_tmp23 ;
5454 __u16 __cil_tmp24 ;
5455 int __cil_tmp25 ;
5456 void const *__cil_tmp26 ;
5457
5458 {
5459 {
5460#line 297
5461 __cil_tmp9 = *((struct usb_serial **)port);
5462#line 297
5463 dev = *((struct usb_device **)__cil_tmp9);
5464#line 298
5465 ret = 0;
5466#line 301
5467 __cil_tmp10 = (size_t )1;
5468#line 301
5469 tmp___7 = kmalloc(__cil_tmp10, 208U);
5470#line 301
5471 buf = (u8 *)tmp___7;
5472 }
5473#line 302
5474 if (! buf) {
5475#line 303
5476 return (-12);
5477 } else {
5478
5479 }
5480 {
5481#line 305
5482 tmp___8 = __create_pipe(dev, 0U);
5483#line 305
5484 __cil_tmp11 = 2 << 30;
5485#line 305
5486 __cil_tmp12 = (unsigned int )__cil_tmp11;
5487#line 305
5488 __cil_tmp13 = __cil_tmp12 | tmp___8;
5489#line 305
5490 __cil_tmp14 = __cil_tmp13 | 128U;
5491#line 305
5492 __cil_tmp15 = (__u8 )13;
5493#line 305
5494 __cil_tmp16 = (__u8 )192;
5495#line 305
5496 __cil_tmp17 = (__u16 )0;
5497#line 305
5498 __cil_tmp18 = (void *)buf;
5499#line 305
5500 __cil_tmp19 = (__u16 )1;
5501#line 305
5502 ret = usb_control_msg(dev, __cil_tmp14, __cil_tmp15, __cil_tmp16, __cil_tmp17, reg,
5503 __cil_tmp18, __cil_tmp19, 1250);
5504#line 308
5505 __cil_tmp20 = buf + 0;
5506#line 308
5507 __cil_tmp21 = *__cil_tmp20;
5508#line 308
5509 *val = (__u16 )__cil_tmp21;
5510 }
5511 {
5512#line 309
5513 while (1) {
5514 while_continue: ;
5515 {
5516#line 309
5517 __cil_tmp22 = & debug;
5518#line 309
5519 if (*__cil_tmp22) {
5520 {
5521#line 309
5522 __cil_tmp23 = (int )reg;
5523#line 309
5524 __cil_tmp24 = *val;
5525#line 309
5526 __cil_tmp25 = (int )__cil_tmp24;
5527#line 309
5528 printk("<7>%s: mos7840_get_reg_sync offset is %x, return val %x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
5529 __cil_tmp23, __cil_tmp25);
5530 }
5531 } else {
5532
5533 }
5534 }
5535#line 309
5536 goto while_break;
5537 }
5538 while_break: ;
5539 }
5540 {
5541#line 311
5542 __cil_tmp26 = (void const *)buf;
5543#line 311
5544 kfree(__cil_tmp26);
5545 }
5546#line 312
5547 return (ret);
5548}
5549}
5550#line 321 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
5551static int mos7840_set_uart_reg(struct usb_serial_port *port , __u16 reg , __u16 val )
5552{ struct usb_device *dev ;
5553 unsigned int tmp___7 ;
5554 int tmp___8 ;
5555 struct usb_serial *__cil_tmp7 ;
5556 int __cil_tmp8 ;
5557 int __cil_tmp9 ;
5558 struct usb_serial *__cil_tmp10 ;
5559 unsigned long __cil_tmp11 ;
5560 unsigned long __cil_tmp12 ;
5561 unsigned char __cil_tmp13 ;
5562 int __cil_tmp14 ;
5563 struct usb_serial *__cil_tmp15 ;
5564 unsigned long __cil_tmp16 ;
5565 unsigned long __cil_tmp17 ;
5566 unsigned char __cil_tmp18 ;
5567 __u16 __cil_tmp19 ;
5568 int __cil_tmp20 ;
5569 unsigned long __cil_tmp21 ;
5570 unsigned long __cil_tmp22 ;
5571 unsigned char __cil_tmp23 ;
5572 __u16 __cil_tmp24 ;
5573 int __cil_tmp25 ;
5574 int __cil_tmp26 ;
5575 int __cil_tmp27 ;
5576 int __cil_tmp28 ;
5577 int __cil_tmp29 ;
5578 int __cil_tmp30 ;
5579 bool *__cil_tmp31 ;
5580 int __cil_tmp32 ;
5581 struct usb_serial *__cil_tmp33 ;
5582 unsigned long __cil_tmp34 ;
5583 unsigned long __cil_tmp35 ;
5584 unsigned char __cil_tmp36 ;
5585 __u16 __cil_tmp37 ;
5586 int __cil_tmp38 ;
5587 unsigned long __cil_tmp39 ;
5588 unsigned long __cil_tmp40 ;
5589 unsigned char __cil_tmp41 ;
5590 __u16 __cil_tmp42 ;
5591 int __cil_tmp43 ;
5592 int __cil_tmp44 ;
5593 struct usb_serial *__cil_tmp45 ;
5594 unsigned long __cil_tmp46 ;
5595 unsigned long __cil_tmp47 ;
5596 unsigned char __cil_tmp48 ;
5597 __u16 __cil_tmp49 ;
5598 int __cil_tmp50 ;
5599 unsigned long __cil_tmp51 ;
5600 unsigned long __cil_tmp52 ;
5601 unsigned char __cil_tmp53 ;
5602 __u16 __cil_tmp54 ;
5603 int __cil_tmp55 ;
5604 int __cil_tmp56 ;
5605 int __cil_tmp57 ;
5606 int __cil_tmp58 ;
5607 int __cil_tmp59 ;
5608 int __cil_tmp60 ;
5609 bool *__cil_tmp61 ;
5610 int __cil_tmp62 ;
5611 struct usb_serial *__cil_tmp63 ;
5612 unsigned long __cil_tmp64 ;
5613 unsigned long __cil_tmp65 ;
5614 unsigned char __cil_tmp66 ;
5615 __u16 __cil_tmp67 ;
5616 int __cil_tmp68 ;
5617 unsigned long __cil_tmp69 ;
5618 unsigned long __cil_tmp70 ;
5619 unsigned char __cil_tmp71 ;
5620 __u16 __cil_tmp72 ;
5621 int __cil_tmp73 ;
5622 int __cil_tmp74 ;
5623 int __cil_tmp75 ;
5624 int __cil_tmp76 ;
5625 int __cil_tmp77 ;
5626 int __cil_tmp78 ;
5627 bool *__cil_tmp79 ;
5628 int __cil_tmp80 ;
5629 int __cil_tmp81 ;
5630 unsigned int __cil_tmp82 ;
5631 unsigned int __cil_tmp83 ;
5632 __u8 __cil_tmp84 ;
5633 __u8 __cil_tmp85 ;
5634 void *__cil_tmp86 ;
5635 __u16 __cil_tmp87 ;
5636
5637 {
5638#line 325
5639 __cil_tmp7 = *((struct usb_serial **)port);
5640#line 325
5641 dev = *((struct usb_device **)__cil_tmp7);
5642#line 326
5643 __cil_tmp8 = (int )val;
5644#line 326
5645 __cil_tmp9 = __cil_tmp8 & 255;
5646#line 326
5647 val = (__u16 )__cil_tmp9;
5648 {
5649#line 329
5650 __cil_tmp10 = *((struct usb_serial **)port);
5651#line 329
5652 __cil_tmp11 = (unsigned long )__cil_tmp10;
5653#line 329
5654 __cil_tmp12 = __cil_tmp11 + 26;
5655#line 329
5656 __cil_tmp13 = *((unsigned char *)__cil_tmp12);
5657#line 329
5658 __cil_tmp14 = (int )__cil_tmp13;
5659#line 329
5660 if (__cil_tmp14 == 4) {
5661#line 330
5662 __cil_tmp15 = *((struct usb_serial **)port);
5663#line 330
5664 __cil_tmp16 = (unsigned long )__cil_tmp15;
5665#line 330
5666 __cil_tmp17 = __cil_tmp16 + 25;
5667#line 330
5668 __cil_tmp18 = *((unsigned char *)__cil_tmp17);
5669#line 330
5670 __cil_tmp19 = (__u16 )__cil_tmp18;
5671#line 330
5672 __cil_tmp20 = (int )__cil_tmp19;
5673#line 330
5674 __cil_tmp21 = (unsigned long )port;
5675#line 330
5676 __cil_tmp22 = __cil_tmp21 + 384;
5677#line 330
5678 __cil_tmp23 = *((unsigned char *)__cil_tmp22);
5679#line 330
5680 __cil_tmp24 = (__u16 )__cil_tmp23;
5681#line 330
5682 __cil_tmp25 = (int )__cil_tmp24;
5683#line 330
5684 __cil_tmp26 = __cil_tmp25 - __cil_tmp20;
5685#line 330
5686 __cil_tmp27 = __cil_tmp26 + 1;
5687#line 330
5688 __cil_tmp28 = __cil_tmp27 << 8;
5689#line 330
5690 __cil_tmp29 = (int )val;
5691#line 330
5692 __cil_tmp30 = __cil_tmp29 | __cil_tmp28;
5693#line 330
5694 val = (__u16 )__cil_tmp30;
5695 {
5696#line 332
5697 while (1) {
5698 while_continue: ;
5699 {
5700#line 332
5701 __cil_tmp31 = & debug;
5702#line 332
5703 if (*__cil_tmp31) {
5704 {
5705#line 332
5706 __cil_tmp32 = (int )val;
5707#line 332
5708 printk("<7>%s: mos7840_set_uart_reg application number is %x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
5709 __cil_tmp32);
5710 }
5711 } else {
5712
5713 }
5714 }
5715#line 332
5716 goto while_break;
5717 }
5718 while_break: ;
5719 }
5720 } else {
5721 {
5722#line 334
5723 __cil_tmp33 = *((struct usb_serial **)port);
5724#line 334
5725 __cil_tmp34 = (unsigned long )__cil_tmp33;
5726#line 334
5727 __cil_tmp35 = __cil_tmp34 + 25;
5728#line 334
5729 __cil_tmp36 = *((unsigned char *)__cil_tmp35);
5730#line 334
5731 __cil_tmp37 = (__u16 )__cil_tmp36;
5732#line 334
5733 __cil_tmp38 = (int )__cil_tmp37;
5734#line 334
5735 __cil_tmp39 = (unsigned long )port;
5736#line 334
5737 __cil_tmp40 = __cil_tmp39 + 384;
5738#line 334
5739 __cil_tmp41 = *((unsigned char *)__cil_tmp40);
5740#line 334
5741 __cil_tmp42 = (__u16 )__cil_tmp41;
5742#line 334
5743 __cil_tmp43 = (int )__cil_tmp42;
5744#line 334
5745 __cil_tmp44 = __cil_tmp43 - __cil_tmp38;
5746#line 334
5747 if (__cil_tmp44 == 0) {
5748#line 335
5749 __cil_tmp45 = *((struct usb_serial **)port);
5750#line 335
5751 __cil_tmp46 = (unsigned long )__cil_tmp45;
5752#line 335
5753 __cil_tmp47 = __cil_tmp46 + 25;
5754#line 335
5755 __cil_tmp48 = *((unsigned char *)__cil_tmp47);
5756#line 335
5757 __cil_tmp49 = (__u16 )__cil_tmp48;
5758#line 335
5759 __cil_tmp50 = (int )__cil_tmp49;
5760#line 335
5761 __cil_tmp51 = (unsigned long )port;
5762#line 335
5763 __cil_tmp52 = __cil_tmp51 + 384;
5764#line 335
5765 __cil_tmp53 = *((unsigned char *)__cil_tmp52);
5766#line 335
5767 __cil_tmp54 = (__u16 )__cil_tmp53;
5768#line 335
5769 __cil_tmp55 = (int )__cil_tmp54;
5770#line 335
5771 __cil_tmp56 = __cil_tmp55 - __cil_tmp50;
5772#line 335
5773 __cil_tmp57 = __cil_tmp56 + 1;
5774#line 335
5775 __cil_tmp58 = __cil_tmp57 << 8;
5776#line 335
5777 __cil_tmp59 = (int )val;
5778#line 335
5779 __cil_tmp60 = __cil_tmp59 | __cil_tmp58;
5780#line 335
5781 val = (__u16 )__cil_tmp60;
5782 {
5783#line 337
5784 while (1) {
5785 while_continue___0: ;
5786 {
5787#line 337
5788 __cil_tmp61 = & debug;
5789#line 337
5790 if (*__cil_tmp61) {
5791 {
5792#line 337
5793 __cil_tmp62 = (int )val;
5794#line 337
5795 printk("<7>%s: mos7840_set_uart_reg application number is %x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
5796 __cil_tmp62);
5797 }
5798 } else {
5799
5800 }
5801 }
5802#line 337
5803 goto while_break___0;
5804 }
5805 while_break___0: ;
5806 }
5807 } else {
5808#line 340
5809 __cil_tmp63 = *((struct usb_serial **)port);
5810#line 340
5811 __cil_tmp64 = (unsigned long )__cil_tmp63;
5812#line 340
5813 __cil_tmp65 = __cil_tmp64 + 25;
5814#line 340
5815 __cil_tmp66 = *((unsigned char *)__cil_tmp65);
5816#line 340
5817 __cil_tmp67 = (__u16 )__cil_tmp66;
5818#line 340
5819 __cil_tmp68 = (int )__cil_tmp67;
5820#line 340
5821 __cil_tmp69 = (unsigned long )port;
5822#line 340
5823 __cil_tmp70 = __cil_tmp69 + 384;
5824#line 340
5825 __cil_tmp71 = *((unsigned char *)__cil_tmp70);
5826#line 340
5827 __cil_tmp72 = (__u16 )__cil_tmp71;
5828#line 340
5829 __cil_tmp73 = (int )__cil_tmp72;
5830#line 340
5831 __cil_tmp74 = __cil_tmp73 - __cil_tmp68;
5832#line 340
5833 __cil_tmp75 = __cil_tmp74 + 2;
5834#line 340
5835 __cil_tmp76 = __cil_tmp75 << 8;
5836#line 340
5837 __cil_tmp77 = (int )val;
5838#line 340
5839 __cil_tmp78 = __cil_tmp77 | __cil_tmp76;
5840#line 340
5841 val = (__u16 )__cil_tmp78;
5842 {
5843#line 343
5844 while (1) {
5845 while_continue___1: ;
5846 {
5847#line 343
5848 __cil_tmp79 = & debug;
5849#line 343
5850 if (*__cil_tmp79) {
5851 {
5852#line 343
5853 __cil_tmp80 = (int )val;
5854#line 343
5855 printk("<7>%s: mos7840_set_uart_reg application number is %x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
5856 __cil_tmp80);
5857 }
5858 } else {
5859
5860 }
5861 }
5862#line 343
5863 goto while_break___1;
5864 }
5865 while_break___1: ;
5866 }
5867 }
5868 }
5869 }
5870 }
5871 {
5872#line 347
5873 tmp___7 = __create_pipe(dev, 0U);
5874#line 347
5875 __cil_tmp81 = 2 << 30;
5876#line 347
5877 __cil_tmp82 = (unsigned int )__cil_tmp81;
5878#line 347
5879 __cil_tmp83 = __cil_tmp82 | tmp___7;
5880#line 347
5881 __cil_tmp84 = (__u8 )14;
5882#line 347
5883 __cil_tmp85 = (__u8 )64;
5884#line 347
5885 __cil_tmp86 = (void *)0;
5886#line 347
5887 __cil_tmp87 = (__u16 )0;
5888#line 347
5889 tmp___8 = usb_control_msg(dev, __cil_tmp83, __cil_tmp84, __cil_tmp85, val, reg,
5890 __cil_tmp86, __cil_tmp87, 1250);
5891 }
5892#line 347
5893 return (tmp___8);
5894}
5895}
5896#line 358 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
5897static int mos7840_get_uart_reg(struct usb_serial_port *port , __u16 reg , __u16 *val )
5898{ struct usb_device *dev ;
5899 int ret ;
5900 __u16 Wval ;
5901 u8 *buf ;
5902 void *tmp___7 ;
5903 unsigned int tmp___8 ;
5904 struct usb_serial *__cil_tmp10 ;
5905 size_t __cil_tmp11 ;
5906 struct usb_serial *__cil_tmp12 ;
5907 unsigned long __cil_tmp13 ;
5908 unsigned long __cil_tmp14 ;
5909 unsigned char __cil_tmp15 ;
5910 int __cil_tmp16 ;
5911 struct usb_serial *__cil_tmp17 ;
5912 unsigned long __cil_tmp18 ;
5913 unsigned long __cil_tmp19 ;
5914 unsigned char __cil_tmp20 ;
5915 __u16 __cil_tmp21 ;
5916 int __cil_tmp22 ;
5917 unsigned long __cil_tmp23 ;
5918 unsigned long __cil_tmp24 ;
5919 unsigned char __cil_tmp25 ;
5920 __u16 __cil_tmp26 ;
5921 int __cil_tmp27 ;
5922 int __cil_tmp28 ;
5923 int __cil_tmp29 ;
5924 int __cil_tmp30 ;
5925 bool *__cil_tmp31 ;
5926 int __cil_tmp32 ;
5927 struct usb_serial *__cil_tmp33 ;
5928 unsigned long __cil_tmp34 ;
5929 unsigned long __cil_tmp35 ;
5930 unsigned char __cil_tmp36 ;
5931 __u16 __cil_tmp37 ;
5932 int __cil_tmp38 ;
5933 unsigned long __cil_tmp39 ;
5934 unsigned long __cil_tmp40 ;
5935 unsigned char __cil_tmp41 ;
5936 __u16 __cil_tmp42 ;
5937 int __cil_tmp43 ;
5938 int __cil_tmp44 ;
5939 struct usb_serial *__cil_tmp45 ;
5940 unsigned long __cil_tmp46 ;
5941 unsigned long __cil_tmp47 ;
5942 unsigned char __cil_tmp48 ;
5943 __u16 __cil_tmp49 ;
5944 int __cil_tmp50 ;
5945 unsigned long __cil_tmp51 ;
5946 unsigned long __cil_tmp52 ;
5947 unsigned char __cil_tmp53 ;
5948 __u16 __cil_tmp54 ;
5949 int __cil_tmp55 ;
5950 int __cil_tmp56 ;
5951 int __cil_tmp57 ;
5952 int __cil_tmp58 ;
5953 bool *__cil_tmp59 ;
5954 int __cil_tmp60 ;
5955 struct usb_serial *__cil_tmp61 ;
5956 unsigned long __cil_tmp62 ;
5957 unsigned long __cil_tmp63 ;
5958 unsigned char __cil_tmp64 ;
5959 __u16 __cil_tmp65 ;
5960 int __cil_tmp66 ;
5961 unsigned long __cil_tmp67 ;
5962 unsigned long __cil_tmp68 ;
5963 unsigned char __cil_tmp69 ;
5964 __u16 __cil_tmp70 ;
5965 int __cil_tmp71 ;
5966 int __cil_tmp72 ;
5967 int __cil_tmp73 ;
5968 int __cil_tmp74 ;
5969 bool *__cil_tmp75 ;
5970 int __cil_tmp76 ;
5971 int __cil_tmp77 ;
5972 unsigned int __cil_tmp78 ;
5973 unsigned int __cil_tmp79 ;
5974 unsigned int __cil_tmp80 ;
5975 __u8 __cil_tmp81 ;
5976 __u8 __cil_tmp82 ;
5977 void *__cil_tmp83 ;
5978 __u16 __cil_tmp84 ;
5979 u8 *__cil_tmp85 ;
5980 u8 __cil_tmp86 ;
5981 void const *__cil_tmp87 ;
5982
5983 {
5984 {
5985#line 361
5986 __cil_tmp10 = *((struct usb_serial **)port);
5987#line 361
5988 dev = *((struct usb_device **)__cil_tmp10);
5989#line 362
5990 ret = 0;
5991#line 366
5992 __cil_tmp11 = (size_t )1;
5993#line 366
5994 tmp___7 = kmalloc(__cil_tmp11, 208U);
5995#line 366
5996 buf = (u8 *)tmp___7;
5997 }
5998#line 367
5999 if (! buf) {
6000#line 368
6001 return (-12);
6002 } else {
6003
6004 }
6005 {
6006#line 373
6007 __cil_tmp12 = *((struct usb_serial **)port);
6008#line 373
6009 __cil_tmp13 = (unsigned long )__cil_tmp12;
6010#line 373
6011 __cil_tmp14 = __cil_tmp13 + 26;
6012#line 373
6013 __cil_tmp15 = *((unsigned char *)__cil_tmp14);
6014#line 373
6015 __cil_tmp16 = (int )__cil_tmp15;
6016#line 373
6017 if (__cil_tmp16 == 4) {
6018#line 374
6019 __cil_tmp17 = *((struct usb_serial **)port);
6020#line 374
6021 __cil_tmp18 = (unsigned long )__cil_tmp17;
6022#line 374
6023 __cil_tmp19 = __cil_tmp18 + 25;
6024#line 374
6025 __cil_tmp20 = *((unsigned char *)__cil_tmp19);
6026#line 374
6027 __cil_tmp21 = (__u16 )__cil_tmp20;
6028#line 374
6029 __cil_tmp22 = (int )__cil_tmp21;
6030#line 374
6031 __cil_tmp23 = (unsigned long )port;
6032#line 374
6033 __cil_tmp24 = __cil_tmp23 + 384;
6034#line 374
6035 __cil_tmp25 = *((unsigned char *)__cil_tmp24);
6036#line 374
6037 __cil_tmp26 = (__u16 )__cil_tmp25;
6038#line 374
6039 __cil_tmp27 = (int )__cil_tmp26;
6040#line 374
6041 __cil_tmp28 = __cil_tmp27 - __cil_tmp22;
6042#line 374
6043 __cil_tmp29 = __cil_tmp28 + 1;
6044#line 374
6045 __cil_tmp30 = __cil_tmp29 << 8;
6046#line 374
6047 Wval = (__u16 )__cil_tmp30;
6048 {
6049#line 377
6050 while (1) {
6051 while_continue: ;
6052 {
6053#line 377
6054 __cil_tmp31 = & debug;
6055#line 377
6056 if (*__cil_tmp31) {
6057 {
6058#line 377
6059 __cil_tmp32 = (int )Wval;
6060#line 377
6061 printk("<7>%s: mos7840_get_uart_reg application number is %x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
6062 __cil_tmp32);
6063 }
6064 } else {
6065
6066 }
6067 }
6068#line 377
6069 goto while_break;
6070 }
6071 while_break: ;
6072 }
6073 } else {
6074 {
6075#line 379
6076 __cil_tmp33 = *((struct usb_serial **)port);
6077#line 379
6078 __cil_tmp34 = (unsigned long )__cil_tmp33;
6079#line 379
6080 __cil_tmp35 = __cil_tmp34 + 25;
6081#line 379
6082 __cil_tmp36 = *((unsigned char *)__cil_tmp35);
6083#line 379
6084 __cil_tmp37 = (__u16 )__cil_tmp36;
6085#line 379
6086 __cil_tmp38 = (int )__cil_tmp37;
6087#line 379
6088 __cil_tmp39 = (unsigned long )port;
6089#line 379
6090 __cil_tmp40 = __cil_tmp39 + 384;
6091#line 379
6092 __cil_tmp41 = *((unsigned char *)__cil_tmp40);
6093#line 379
6094 __cil_tmp42 = (__u16 )__cil_tmp41;
6095#line 379
6096 __cil_tmp43 = (int )__cil_tmp42;
6097#line 379
6098 __cil_tmp44 = __cil_tmp43 - __cil_tmp38;
6099#line 379
6100 if (__cil_tmp44 == 0) {
6101#line 380
6102 __cil_tmp45 = *((struct usb_serial **)port);
6103#line 380
6104 __cil_tmp46 = (unsigned long )__cil_tmp45;
6105#line 380
6106 __cil_tmp47 = __cil_tmp46 + 25;
6107#line 380
6108 __cil_tmp48 = *((unsigned char *)__cil_tmp47);
6109#line 380
6110 __cil_tmp49 = (__u16 )__cil_tmp48;
6111#line 380
6112 __cil_tmp50 = (int )__cil_tmp49;
6113#line 380
6114 __cil_tmp51 = (unsigned long )port;
6115#line 380
6116 __cil_tmp52 = __cil_tmp51 + 384;
6117#line 380
6118 __cil_tmp53 = *((unsigned char *)__cil_tmp52);
6119#line 380
6120 __cil_tmp54 = (__u16 )__cil_tmp53;
6121#line 380
6122 __cil_tmp55 = (int )__cil_tmp54;
6123#line 380
6124 __cil_tmp56 = __cil_tmp55 - __cil_tmp50;
6125#line 380
6126 __cil_tmp57 = __cil_tmp56 + 1;
6127#line 380
6128 __cil_tmp58 = __cil_tmp57 << 8;
6129#line 380
6130 Wval = (__u16 )__cil_tmp58;
6131 {
6132#line 382
6133 while (1) {
6134 while_continue___0: ;
6135 {
6136#line 382
6137 __cil_tmp59 = & debug;
6138#line 382
6139 if (*__cil_tmp59) {
6140 {
6141#line 382
6142 __cil_tmp60 = (int )Wval;
6143#line 382
6144 printk("<7>%s: mos7840_get_uart_reg application number is %x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
6145 __cil_tmp60);
6146 }
6147 } else {
6148
6149 }
6150 }
6151#line 382
6152 goto while_break___0;
6153 }
6154 while_break___0: ;
6155 }
6156 } else {
6157#line 385
6158 __cil_tmp61 = *((struct usb_serial **)port);
6159#line 385
6160 __cil_tmp62 = (unsigned long )__cil_tmp61;
6161#line 385
6162 __cil_tmp63 = __cil_tmp62 + 25;
6163#line 385
6164 __cil_tmp64 = *((unsigned char *)__cil_tmp63);
6165#line 385
6166 __cil_tmp65 = (__u16 )__cil_tmp64;
6167#line 385
6168 __cil_tmp66 = (int )__cil_tmp65;
6169#line 385
6170 __cil_tmp67 = (unsigned long )port;
6171#line 385
6172 __cil_tmp68 = __cil_tmp67 + 384;
6173#line 385
6174 __cil_tmp69 = *((unsigned char *)__cil_tmp68);
6175#line 385
6176 __cil_tmp70 = (__u16 )__cil_tmp69;
6177#line 385
6178 __cil_tmp71 = (int )__cil_tmp70;
6179#line 385
6180 __cil_tmp72 = __cil_tmp71 - __cil_tmp66;
6181#line 385
6182 __cil_tmp73 = __cil_tmp72 + 2;
6183#line 385
6184 __cil_tmp74 = __cil_tmp73 << 8;
6185#line 385
6186 Wval = (__u16 )__cil_tmp74;
6187 {
6188#line 387
6189 while (1) {
6190 while_continue___1: ;
6191 {
6192#line 387
6193 __cil_tmp75 = & debug;
6194#line 387
6195 if (*__cil_tmp75) {
6196 {
6197#line 387
6198 __cil_tmp76 = (int )Wval;
6199#line 387
6200 printk("<7>%s: mos7840_get_uart_reg application number is %x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
6201 __cil_tmp76);
6202 }
6203 } else {
6204
6205 }
6206 }
6207#line 387
6208 goto while_break___1;
6209 }
6210 while_break___1: ;
6211 }
6212 }
6213 }
6214 }
6215 }
6216 {
6217#line 391
6218 tmp___8 = __create_pipe(dev, 0U);
6219#line 391
6220 __cil_tmp77 = 2 << 30;
6221#line 391
6222 __cil_tmp78 = (unsigned int )__cil_tmp77;
6223#line 391
6224 __cil_tmp79 = __cil_tmp78 | tmp___8;
6225#line 391
6226 __cil_tmp80 = __cil_tmp79 | 128U;
6227#line 391
6228 __cil_tmp81 = (__u8 )13;
6229#line 391
6230 __cil_tmp82 = (__u8 )192;
6231#line 391
6232 __cil_tmp83 = (void *)buf;
6233#line 391
6234 __cil_tmp84 = (__u16 )1;
6235#line 391
6236 ret = usb_control_msg(dev, __cil_tmp80, __cil_tmp81, __cil_tmp82, Wval, reg, __cil_tmp83,
6237 __cil_tmp84, 1250);
6238#line 394
6239 __cil_tmp85 = buf + 0;
6240#line 394
6241 __cil_tmp86 = *__cil_tmp85;
6242#line 394
6243 *val = (__u16 )__cil_tmp86;
6244#line 396
6245 __cil_tmp87 = (void const *)buf;
6246#line 396
6247 kfree(__cil_tmp87);
6248 }
6249#line 397
6250 return (ret);
6251}
6252}
6253#line 400 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
6254static void mos7840_dump_serial_port(struct moschip_port *mos7840_port )
6255{ bool *__cil_tmp2 ;
6256 bool *__cil_tmp3 ;
6257 unsigned long __cil_tmp4 ;
6258 unsigned long __cil_tmp5 ;
6259 __u8 __cil_tmp6 ;
6260 int __cil_tmp7 ;
6261 bool *__cil_tmp8 ;
6262 unsigned long __cil_tmp9 ;
6263 unsigned long __cil_tmp10 ;
6264 __u8 __cil_tmp11 ;
6265 int __cil_tmp12 ;
6266 bool *__cil_tmp13 ;
6267 unsigned long __cil_tmp14 ;
6268 unsigned long __cil_tmp15 ;
6269 __u8 __cil_tmp16 ;
6270 int __cil_tmp17 ;
6271 bool *__cil_tmp18 ;
6272
6273 {
6274 {
6275#line 403
6276 while (1) {
6277 while_continue: ;
6278 {
6279#line 403
6280 __cil_tmp2 = & debug;
6281#line 403
6282 if (*__cil_tmp2) {
6283 {
6284#line 403
6285 printk("<7>%s: ***************************************\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c");
6286 }
6287 } else {
6288
6289 }
6290 }
6291#line 403
6292 goto while_break;
6293 }
6294 while_break: ;
6295 }
6296 {
6297#line 404
6298 while (1) {
6299 while_continue___0: ;
6300 {
6301#line 404
6302 __cil_tmp3 = & debug;
6303#line 404
6304 if (*__cil_tmp3) {
6305 {
6306#line 404
6307 __cil_tmp4 = (unsigned long )mos7840_port;
6308#line 404
6309 __cil_tmp5 = __cil_tmp4 + 176;
6310#line 404
6311 __cil_tmp6 = *((__u8 *)__cil_tmp5);
6312#line 404
6313 __cil_tmp7 = (int )__cil_tmp6;
6314#line 404
6315 printk("<7>%s: SpRegOffset is %2x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
6316 __cil_tmp7);
6317 }
6318 } else {
6319
6320 }
6321 }
6322#line 404
6323 goto while_break___0;
6324 }
6325 while_break___0: ;
6326 }
6327 {
6328#line 405
6329 while (1) {
6330 while_continue___1: ;
6331 {
6332#line 405
6333 __cil_tmp8 = & debug;
6334#line 405
6335 if (*__cil_tmp8) {
6336 {
6337#line 405
6338 __cil_tmp9 = (unsigned long )mos7840_port;
6339#line 405
6340 __cil_tmp10 = __cil_tmp9 + 177;
6341#line 405
6342 __cil_tmp11 = *((__u8 *)__cil_tmp10);
6343#line 405
6344 __cil_tmp12 = (int )__cil_tmp11;
6345#line 405
6346 printk("<7>%s: ControlRegOffset is %2x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
6347 __cil_tmp12);
6348 }
6349 } else {
6350
6351 }
6352 }
6353#line 405
6354 goto while_break___1;
6355 }
6356 while_break___1: ;
6357 }
6358 {
6359#line 406
6360 while (1) {
6361 while_continue___2: ;
6362 {
6363#line 406
6364 __cil_tmp13 = & debug;
6365#line 406
6366 if (*__cil_tmp13) {
6367 {
6368#line 406
6369 __cil_tmp14 = (unsigned long )mos7840_port;
6370#line 406
6371 __cil_tmp15 = __cil_tmp14 + 178;
6372#line 406
6373 __cil_tmp16 = *((__u8 *)__cil_tmp15);
6374#line 406
6375 __cil_tmp17 = (int )__cil_tmp16;
6376#line 406
6377 printk("<7>%s: DCRRegOffset is %2x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
6378 __cil_tmp17);
6379 }
6380 } else {
6381
6382 }
6383 }
6384#line 406
6385 goto while_break___2;
6386 }
6387 while_break___2: ;
6388 }
6389 {
6390#line 407
6391 while (1) {
6392 while_continue___3: ;
6393 {
6394#line 407
6395 __cil_tmp18 = & debug;
6396#line 407
6397 if (*__cil_tmp18) {
6398 {
6399#line 407
6400 printk("<7>%s: ***************************************\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c");
6401 }
6402 } else {
6403
6404 }
6405 }
6406#line 407
6407 goto while_break___3;
6408 }
6409 while_break___3: ;
6410 }
6411#line 409
6412 return;
6413}
6414}
6415#line 418
6416__inline static void mos7840_set_port_private(struct usb_serial_port *port , struct moschip_port *data ) __attribute__((__no_instrument_function__)) ;
6417#line 418 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
6418__inline static void mos7840_set_port_private(struct usb_serial_port *port , struct moschip_port *data )
6419{ void *__cil_tmp3 ;
6420
6421 {
6422 {
6423#line 421
6424 __cil_tmp3 = (void *)data;
6425#line 421
6426 usb_set_serial_port_data(port, __cil_tmp3);
6427 }
6428#line 422
6429 return;
6430}
6431}
6432#line 424
6433__inline static struct moschip_port *mos7840_get_port_private(struct usb_serial_port *port ) __attribute__((__no_instrument_function__)) ;
6434#line 424 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
6435__inline static struct moschip_port *mos7840_get_port_private(struct usb_serial_port *port )
6436{ void *tmp___7 ;
6437
6438 {
6439 {
6440#line 428
6441 tmp___7 = usb_get_serial_port_data(port);
6442 }
6443#line 428
6444 return ((struct moschip_port *)tmp___7);
6445}
6446}
6447#line 431 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
6448static void mos7840_handle_new_msr(struct moschip_port *port , __u8 new_msr )
6449{ struct moschip_port *mos7840_port ;
6450 struct async_icount *icount ;
6451 unsigned long __cil_tmp5 ;
6452 unsigned long __cil_tmp6 ;
6453 int __cil_tmp7 ;
6454 unsigned long __cil_tmp8 ;
6455 unsigned long __cil_tmp9 ;
6456 int __cil_tmp10 ;
6457 __u32 __cil_tmp11 ;
6458 int __cil_tmp12 ;
6459 unsigned long __cil_tmp13 ;
6460 unsigned long __cil_tmp14 ;
6461 unsigned long __cil_tmp15 ;
6462 unsigned long __cil_tmp16 ;
6463 __u32 __cil_tmp17 ;
6464 int __cil_tmp18 ;
6465 unsigned long __cil_tmp19 ;
6466 unsigned long __cil_tmp20 ;
6467 unsigned long __cil_tmp21 ;
6468 unsigned long __cil_tmp22 ;
6469 __u32 __cil_tmp23 ;
6470 int __cil_tmp24 ;
6471 unsigned long __cil_tmp25 ;
6472 unsigned long __cil_tmp26 ;
6473 unsigned long __cil_tmp27 ;
6474 unsigned long __cil_tmp28 ;
6475 __u32 __cil_tmp29 ;
6476
6477 {
6478#line 435
6479 mos7840_port = port;
6480#line 436
6481 __cil_tmp5 = (unsigned long )mos7840_port;
6482#line 436
6483 __cil_tmp6 = __cil_tmp5 + 124;
6484#line 436
6485 icount = (struct async_icount *)__cil_tmp6;
6486 {
6487#line 437
6488 __cil_tmp7 = (int )new_msr;
6489#line 437
6490 if (__cil_tmp7 & 240) {
6491#line 440
6492 __cil_tmp8 = (unsigned long )mos7840_port;
6493#line 440
6494 __cil_tmp9 = __cil_tmp8 + 124;
6495#line 440
6496 icount = (struct async_icount *)__cil_tmp9;
6497 {
6498#line 443
6499 __cil_tmp10 = (int )new_msr;
6500#line 443
6501 if (__cil_tmp10 & 16) {
6502#line 444
6503 __cil_tmp11 = *((__u32 *)icount);
6504#line 444
6505 *((__u32 *)icount) = __cil_tmp11 + 1U;
6506#line 445
6507 __asm__ volatile ("": : : "memory");
6508 } else {
6509
6510 }
6511 }
6512 {
6513#line 447
6514 __cil_tmp12 = (int )new_msr;
6515#line 447
6516 if (__cil_tmp12 & 32) {
6517#line 448
6518 __cil_tmp13 = (unsigned long )icount;
6519#line 448
6520 __cil_tmp14 = __cil_tmp13 + 4;
6521#line 448
6522 __cil_tmp15 = (unsigned long )icount;
6523#line 448
6524 __cil_tmp16 = __cil_tmp15 + 4;
6525#line 448
6526 __cil_tmp17 = *((__u32 *)__cil_tmp16);
6527#line 448
6528 *((__u32 *)__cil_tmp14) = __cil_tmp17 + 1U;
6529#line 449
6530 __asm__ volatile ("": : : "memory");
6531 } else {
6532
6533 }
6534 }
6535 {
6536#line 451
6537 __cil_tmp18 = (int )new_msr;
6538#line 451
6539 if (__cil_tmp18 & 128) {
6540#line 452
6541 __cil_tmp19 = (unsigned long )icount;
6542#line 452
6543 __cil_tmp20 = __cil_tmp19 + 12;
6544#line 452
6545 __cil_tmp21 = (unsigned long )icount;
6546#line 452
6547 __cil_tmp22 = __cil_tmp21 + 12;
6548#line 452
6549 __cil_tmp23 = *((__u32 *)__cil_tmp22);
6550#line 452
6551 *((__u32 *)__cil_tmp20) = __cil_tmp23 + 1U;
6552#line 453
6553 __asm__ volatile ("": : : "memory");
6554 } else {
6555
6556 }
6557 }
6558 {
6559#line 455
6560 __cil_tmp24 = (int )new_msr;
6561#line 455
6562 if (__cil_tmp24 & 64) {
6563#line 456
6564 __cil_tmp25 = (unsigned long )icount;
6565#line 456
6566 __cil_tmp26 = __cil_tmp25 + 8;
6567#line 456
6568 __cil_tmp27 = (unsigned long )icount;
6569#line 456
6570 __cil_tmp28 = __cil_tmp27 + 8;
6571#line 456
6572 __cil_tmp29 = *((__u32 *)__cil_tmp28);
6573#line 456
6574 *((__u32 *)__cil_tmp26) = __cil_tmp29 + 1U;
6575#line 457
6576 __asm__ volatile ("": : : "memory");
6577 } else {
6578
6579 }
6580 }
6581 } else {
6582
6583 }
6584 }
6585#line 460
6586 return;
6587}
6588}
6589#line 462 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
6590static void mos7840_handle_new_lsr(struct moschip_port *port , __u8 new_lsr )
6591{ struct async_icount *icount ;
6592 bool *__cil_tmp4 ;
6593 int __cil_tmp5 ;
6594 int __cil_tmp6 ;
6595 int __cil_tmp7 ;
6596 int __cil_tmp8 ;
6597 unsigned long __cil_tmp9 ;
6598 unsigned long __cil_tmp10 ;
6599 int __cil_tmp11 ;
6600 unsigned long __cil_tmp12 ;
6601 unsigned long __cil_tmp13 ;
6602 unsigned long __cil_tmp14 ;
6603 unsigned long __cil_tmp15 ;
6604 __u32 __cil_tmp16 ;
6605 int __cil_tmp17 ;
6606 unsigned long __cil_tmp18 ;
6607 unsigned long __cil_tmp19 ;
6608 unsigned long __cil_tmp20 ;
6609 unsigned long __cil_tmp21 ;
6610 __u32 __cil_tmp22 ;
6611 int __cil_tmp23 ;
6612 unsigned long __cil_tmp24 ;
6613 unsigned long __cil_tmp25 ;
6614 unsigned long __cil_tmp26 ;
6615 unsigned long __cil_tmp27 ;
6616 __u32 __cil_tmp28 ;
6617 int __cil_tmp29 ;
6618 unsigned long __cil_tmp30 ;
6619 unsigned long __cil_tmp31 ;
6620 unsigned long __cil_tmp32 ;
6621 unsigned long __cil_tmp33 ;
6622 __u32 __cil_tmp34 ;
6623
6624 {
6625 {
6626#line 466
6627 while (1) {
6628 while_continue: ;
6629 {
6630#line 466
6631 __cil_tmp4 = & debug;
6632#line 466
6633 if (*__cil_tmp4) {
6634 {
6635#line 466
6636 __cil_tmp5 = (int )new_lsr;
6637#line 466
6638 printk("<7>%s: %s - %02x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
6639 "mos7840_handle_new_lsr", __cil_tmp5);
6640 }
6641 } else {
6642
6643 }
6644 }
6645#line 466
6646 goto while_break;
6647 }
6648 while_break: ;
6649 }
6650 {
6651#line 468
6652 __cil_tmp6 = (int )new_lsr;
6653#line 468
6654 if (__cil_tmp6 & 16) {
6655#line 474
6656 __cil_tmp7 = (int )new_lsr;
6657#line 474
6658 __cil_tmp8 = __cil_tmp7 & 18;
6659#line 474
6660 new_lsr = (__u8 )__cil_tmp8;
6661 } else {
6662
6663 }
6664 }
6665#line 478
6666 __cil_tmp9 = (unsigned long )port;
6667#line 478
6668 __cil_tmp10 = __cil_tmp9 + 124;
6669#line 478
6670 icount = (struct async_icount *)__cil_tmp10;
6671 {
6672#line 479
6673 __cil_tmp11 = (int )new_lsr;
6674#line 479
6675 if (__cil_tmp11 & 16) {
6676#line 480
6677 __cil_tmp12 = (unsigned long )icount;
6678#line 480
6679 __cil_tmp13 = __cil_tmp12 + 36;
6680#line 480
6681 __cil_tmp14 = (unsigned long )icount;
6682#line 480
6683 __cil_tmp15 = __cil_tmp14 + 36;
6684#line 480
6685 __cil_tmp16 = *((__u32 *)__cil_tmp15);
6686#line 480
6687 *((__u32 *)__cil_tmp13) = __cil_tmp16 + 1U;
6688#line 481
6689 __asm__ volatile ("": : : "memory");
6690 } else {
6691
6692 }
6693 }
6694 {
6695#line 483
6696 __cil_tmp17 = (int )new_lsr;
6697#line 483
6698 if (__cil_tmp17 & 2) {
6699#line 484
6700 __cil_tmp18 = (unsigned long )icount;
6701#line 484
6702 __cil_tmp19 = __cil_tmp18 + 32;
6703#line 484
6704 __cil_tmp20 = (unsigned long )icount;
6705#line 484
6706 __cil_tmp21 = __cil_tmp20 + 32;
6707#line 484
6708 __cil_tmp22 = *((__u32 *)__cil_tmp21);
6709#line 484
6710 *((__u32 *)__cil_tmp19) = __cil_tmp22 + 1U;
6711#line 485
6712 __asm__ volatile ("": : : "memory");
6713 } else {
6714
6715 }
6716 }
6717 {
6718#line 487
6719 __cil_tmp23 = (int )new_lsr;
6720#line 487
6721 if (__cil_tmp23 & 4) {
6722#line 488
6723 __cil_tmp24 = (unsigned long )icount;
6724#line 488
6725 __cil_tmp25 = __cil_tmp24 + 28;
6726#line 488
6727 __cil_tmp26 = (unsigned long )icount;
6728#line 488
6729 __cil_tmp27 = __cil_tmp26 + 28;
6730#line 488
6731 __cil_tmp28 = *((__u32 *)__cil_tmp27);
6732#line 488
6733 *((__u32 *)__cil_tmp25) = __cil_tmp28 + 1U;
6734#line 489
6735 __asm__ volatile ("": : : "memory");
6736 } else {
6737
6738 }
6739 }
6740 {
6741#line 491
6742 __cil_tmp29 = (int )new_lsr;
6743#line 491
6744 if (__cil_tmp29 & 8) {
6745#line 492
6746 __cil_tmp30 = (unsigned long )icount;
6747#line 492
6748 __cil_tmp31 = __cil_tmp30 + 24;
6749#line 492
6750 __cil_tmp32 = (unsigned long )icount;
6751#line 492
6752 __cil_tmp33 = __cil_tmp32 + 24;
6753#line 492
6754 __cil_tmp34 = *((__u32 *)__cil_tmp33);
6755#line 492
6756 *((__u32 *)__cil_tmp31) = __cil_tmp34 + 1U;
6757#line 493
6758 __asm__ volatile ("": : : "memory");
6759 } else {
6760
6761 }
6762 }
6763#line 495
6764 return;
6765}
6766}
6767#line 504 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
6768static void mos7840_control_callback(struct urb *urb )
6769{ unsigned char *data ;
6770 struct moschip_port *mos7840_port ;
6771 __u8 regval ;
6772 int result ;
6773 int status ;
6774 unsigned long __cil_tmp7 ;
6775 unsigned long __cil_tmp8 ;
6776 unsigned long __cil_tmp9 ;
6777 unsigned long __cil_tmp10 ;
6778 void *__cil_tmp11 ;
6779 bool *__cil_tmp12 ;
6780 bool *__cil_tmp13 ;
6781 bool *__cil_tmp14 ;
6782 unsigned long __cil_tmp15 ;
6783 unsigned long __cil_tmp16 ;
6784 u32 __cil_tmp17 ;
6785 bool *__cil_tmp18 ;
6786 unsigned long __cil_tmp19 ;
6787 unsigned long __cil_tmp20 ;
6788 int __cil_tmp21 ;
6789 int __cil_tmp22 ;
6790 unsigned long __cil_tmp23 ;
6791 unsigned long __cil_tmp24 ;
6792 void *__cil_tmp25 ;
6793 unsigned char *__cil_tmp26 ;
6794 bool *__cil_tmp27 ;
6795 int __cil_tmp28 ;
6796 unsigned long __cil_tmp29 ;
6797 unsigned long __cil_tmp30 ;
6798 int __cil_tmp31 ;
6799 unsigned long __cil_tmp32 ;
6800 unsigned long __cil_tmp33 ;
6801 int __cil_tmp34 ;
6802 unsigned long __cil_tmp35 ;
6803 unsigned long __cil_tmp36 ;
6804 spinlock_t *__cil_tmp37 ;
6805 unsigned long __cil_tmp38 ;
6806 unsigned long __cil_tmp39 ;
6807 char __cil_tmp40 ;
6808 unsigned long __cil_tmp41 ;
6809 unsigned long __cil_tmp42 ;
6810 struct urb *__cil_tmp43 ;
6811 unsigned long __cil_tmp44 ;
6812 unsigned long __cil_tmp45 ;
6813 spinlock_t *__cil_tmp46 ;
6814 unsigned long __cil_tmp47 ;
6815 unsigned long __cil_tmp48 ;
6816 struct usb_device *__cil_tmp49 ;
6817 unsigned long __cil_tmp50 ;
6818 unsigned long __cil_tmp51 ;
6819 struct device *__cil_tmp52 ;
6820 struct device const *__cil_tmp53 ;
6821
6822 {
6823#line 508
6824 regval = (__u8 )0;
6825#line 509
6826 result = 0;
6827#line 510
6828 __cil_tmp7 = (unsigned long )urb;
6829#line 510
6830 __cil_tmp8 = __cil_tmp7 + 96;
6831#line 510
6832 status = *((int *)__cil_tmp8);
6833#line 512
6834 __cil_tmp9 = (unsigned long )urb;
6835#line 512
6836 __cil_tmp10 = __cil_tmp9 + 176;
6837#line 512
6838 __cil_tmp11 = *((void **)__cil_tmp10);
6839#line 512
6840 mos7840_port = (struct moschip_port *)__cil_tmp11;
6841#line 515
6842 if (status == 0) {
6843#line 515
6844 goto case_0;
6845 } else
6846#line 518
6847 if (status == -104) {
6848#line 518
6849 goto case_neg_104;
6850 } else
6851#line 519
6852 if (status == -2) {
6853#line 519
6854 goto case_neg_104;
6855 } else
6856#line 520
6857 if (status == -108) {
6858#line 520
6859 goto case_neg_104;
6860 } else {
6861 {
6862#line 525
6863 goto switch_default;
6864#line 514
6865 if (0) {
6866 case_0:
6867#line 517
6868 goto switch_break;
6869 case_neg_104:
6870 case_neg_2:
6871 case_neg_108:
6872 {
6873#line 522
6874 while (1) {
6875 while_continue: ;
6876 {
6877#line 522
6878 __cil_tmp12 = & debug;
6879#line 522
6880 if (*__cil_tmp12) {
6881 {
6882#line 522
6883 printk("<7>%s: %s - urb shutting down with status: %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
6884 "mos7840_control_callback", status);
6885 }
6886 } else {
6887
6888 }
6889 }
6890#line 522
6891 goto while_break;
6892 }
6893 while_break: ;
6894 }
6895#line 524
6896 return;
6897 switch_default:
6898 {
6899#line 526
6900 while (1) {
6901 while_continue___0: ;
6902 {
6903#line 526
6904 __cil_tmp13 = & debug;
6905#line 526
6906 if (*__cil_tmp13) {
6907 {
6908#line 526
6909 printk("<7>%s: %s - nonzero urb status received: %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
6910 "mos7840_control_callback", status);
6911 }
6912 } else {
6913
6914 }
6915 }
6916#line 526
6917 goto while_break___0;
6918 }
6919 while_break___0: ;
6920 }
6921#line 528
6922 goto exit;
6923 } else {
6924 switch_break: ;
6925 }
6926 }
6927 }
6928 {
6929#line 531
6930 while (1) {
6931 while_continue___1: ;
6932 {
6933#line 531
6934 __cil_tmp14 = & debug;
6935#line 531
6936 if (*__cil_tmp14) {
6937 {
6938#line 531
6939 __cil_tmp15 = (unsigned long )urb;
6940#line 531
6941 __cil_tmp16 = __cil_tmp15 + 140;
6942#line 531
6943 __cil_tmp17 = *((u32 *)__cil_tmp16);
6944#line 531
6945 printk("<7>%s: %s urb buffer size is %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
6946 "mos7840_control_callback", __cil_tmp17);
6947 }
6948 } else {
6949
6950 }
6951 }
6952#line 531
6953 goto while_break___1;
6954 }
6955 while_break___1: ;
6956 }
6957 {
6958#line 532
6959 while (1) {
6960 while_continue___2: ;
6961 {
6962#line 532
6963 __cil_tmp18 = & debug;
6964#line 532
6965 if (*__cil_tmp18) {
6966 {
6967#line 532
6968 __cil_tmp19 = (unsigned long )mos7840_port;
6969#line 532
6970 __cil_tmp20 = __cil_tmp19 + 208;
6971#line 532
6972 __cil_tmp21 = *((int *)__cil_tmp20);
6973#line 532
6974 __cil_tmp22 = *((int *)mos7840_port);
6975#line 532
6976 printk("<7>%s: %s mos7840_port->MsrLsr is %d port %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
6977 "mos7840_control_callback", __cil_tmp21, __cil_tmp22);
6978 }
6979 } else {
6980
6981 }
6982 }
6983#line 532
6984 goto while_break___2;
6985 }
6986 while_break___2: ;
6987 }
6988#line 534
6989 __cil_tmp23 = (unsigned long )urb;
6990#line 534
6991 __cil_tmp24 = __cil_tmp23 + 104;
6992#line 534
6993 __cil_tmp25 = *((void **)__cil_tmp24);
6994#line 534
6995 data = (unsigned char *)__cil_tmp25;
6996#line 535
6997 __cil_tmp26 = data + 0;
6998#line 535
6999 regval = *__cil_tmp26;
7000 {
7001#line 536
7002 while (1) {
7003 while_continue___3: ;
7004 {
7005#line 536
7006 __cil_tmp27 = & debug;
7007#line 536
7008 if (*__cil_tmp27) {
7009 {
7010#line 536
7011 __cil_tmp28 = (int )regval;
7012#line 536
7013 printk("<7>%s: %s data is %x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
7014 "mos7840_control_callback", __cil_tmp28);
7015 }
7016 } else {
7017
7018 }
7019 }
7020#line 536
7021 goto while_break___3;
7022 }
7023 while_break___3: ;
7024 }
7025 {
7026#line 537
7027 __cil_tmp29 = (unsigned long )mos7840_port;
7028#line 537
7029 __cil_tmp30 = __cil_tmp29 + 208;
7030#line 537
7031 __cil_tmp31 = *((int *)__cil_tmp30);
7032#line 537
7033 if (__cil_tmp31 == 0) {
7034 {
7035#line 538
7036 mos7840_handle_new_msr(mos7840_port, regval);
7037 }
7038 } else {
7039 {
7040#line 539
7041 __cil_tmp32 = (unsigned long )mos7840_port;
7042#line 539
7043 __cil_tmp33 = __cil_tmp32 + 208;
7044#line 539
7045 __cil_tmp34 = *((int *)__cil_tmp33);
7046#line 539
7047 if (__cil_tmp34 == 1) {
7048 {
7049#line 540
7050 mos7840_handle_new_lsr(mos7840_port, regval);
7051 }
7052 } else {
7053
7054 }
7055 }
7056 }
7057 }
7058 exit:
7059 {
7060#line 543
7061 __cil_tmp35 = (unsigned long )mos7840_port;
7062#line 543
7063 __cil_tmp36 = __cil_tmp35 + 216;
7064#line 543
7065 __cil_tmp37 = (spinlock_t *)__cil_tmp36;
7066#line 543
7067 spin_lock(__cil_tmp37);
7068 }
7069 {
7070#line 544
7071 __cil_tmp38 = (unsigned long )mos7840_port;
7072#line 544
7073 __cil_tmp39 = __cil_tmp38 + 36;
7074#line 544
7075 __cil_tmp40 = *((char *)__cil_tmp39);
7076#line 544
7077 if (! __cil_tmp40) {
7078 {
7079#line 545
7080 __cil_tmp41 = (unsigned long )mos7840_port;
7081#line 545
7082 __cil_tmp42 = __cil_tmp41 + 24;
7083#line 545
7084 __cil_tmp43 = *((struct urb **)__cil_tmp42);
7085#line 545
7086 result = usb_submit_urb(__cil_tmp43, 32U);
7087 }
7088 } else {
7089
7090 }
7091 }
7092 {
7093#line 546
7094 __cil_tmp44 = (unsigned long )mos7840_port;
7095#line 546
7096 __cil_tmp45 = __cil_tmp44 + 216;
7097#line 546
7098 __cil_tmp46 = (spinlock_t *)__cil_tmp45;
7099#line 546
7100 spin_unlock(__cil_tmp46);
7101 }
7102#line 547
7103 if (result) {
7104 {
7105#line 548
7106 __cil_tmp47 = (unsigned long )urb;
7107#line 548
7108 __cil_tmp48 = __cil_tmp47 + 72;
7109#line 548
7110 __cil_tmp49 = *((struct usb_device **)__cil_tmp48);
7111#line 548
7112 __cil_tmp50 = (unsigned long )__cil_tmp49;
7113#line 548
7114 __cil_tmp51 = __cil_tmp50 + 136;
7115#line 548
7116 __cil_tmp52 = (struct device *)__cil_tmp51;
7117#line 548
7118 __cil_tmp53 = (struct device const *)__cil_tmp52;
7119#line 548
7120 dev_err(__cil_tmp53, "%s - Error %d submitting interrupt urb\n", "mos7840_control_callback",
7121 result);
7122 }
7123 } else {
7124
7125 }
7126#line 552
7127 return;
7128}
7129}
7130#line 554 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
7131static int mos7840_get_reg(struct moschip_port *mcs , __u16 Wval , __u16 reg , __u16 *val )
7132{ struct usb_device *dev ;
7133 struct usb_ctrlrequest *dr ;
7134 unsigned char *buffer ;
7135 int ret ;
7136 unsigned int tmp___7 ;
7137 unsigned long __cil_tmp10 ;
7138 unsigned long __cil_tmp11 ;
7139 struct usb_serial_port *__cil_tmp12 ;
7140 struct usb_serial *__cil_tmp13 ;
7141 unsigned long __cil_tmp14 ;
7142 unsigned long __cil_tmp15 ;
7143 unsigned long __cil_tmp16 ;
7144 unsigned long __cil_tmp17 ;
7145 char *__cil_tmp18 ;
7146 unsigned long __cil_tmp19 ;
7147 unsigned long __cil_tmp20 ;
7148 unsigned long __cil_tmp21 ;
7149 unsigned long __cil_tmp22 ;
7150 unsigned long __cil_tmp23 ;
7151 unsigned long __cil_tmp24 ;
7152 unsigned long __cil_tmp25 ;
7153 unsigned long __cil_tmp26 ;
7154 unsigned long __cil_tmp27 ;
7155 unsigned long __cil_tmp28 ;
7156 struct urb *__cil_tmp29 ;
7157 int __cil_tmp30 ;
7158 unsigned int __cil_tmp31 ;
7159 unsigned int __cil_tmp32 ;
7160 unsigned int __cil_tmp33 ;
7161 unsigned char *__cil_tmp34 ;
7162 void *__cil_tmp35 ;
7163 void *__cil_tmp36 ;
7164 unsigned long __cil_tmp37 ;
7165 unsigned long __cil_tmp38 ;
7166 struct urb *__cil_tmp39 ;
7167 unsigned long __cil_tmp40 ;
7168 unsigned long __cil_tmp41 ;
7169 unsigned long __cil_tmp42 ;
7170 unsigned long __cil_tmp43 ;
7171 struct urb *__cil_tmp44 ;
7172
7173 {
7174 {
7175#line 557
7176 __cil_tmp10 = (unsigned long )mcs;
7177#line 557
7178 __cil_tmp11 = __cil_tmp10 + 168;
7179#line 557
7180 __cil_tmp12 = *((struct usb_serial_port **)__cil_tmp11);
7181#line 557
7182 __cil_tmp13 = *((struct usb_serial **)__cil_tmp12);
7183#line 557
7184 dev = *((struct usb_device **)__cil_tmp13);
7185#line 558
7186 __cil_tmp14 = (unsigned long )mcs;
7187#line 558
7188 __cil_tmp15 = __cil_tmp14 + 192;
7189#line 558
7190 dr = *((struct usb_ctrlrequest **)__cil_tmp15);
7191#line 559
7192 __cil_tmp16 = (unsigned long )mcs;
7193#line 559
7194 __cil_tmp17 = __cil_tmp16 + 200;
7195#line 559
7196 __cil_tmp18 = *((char **)__cil_tmp17);
7197#line 559
7198 buffer = (unsigned char *)__cil_tmp18;
7199#line 562
7200 *((__u8 *)dr) = (__u8 )192;
7201#line 563
7202 __cil_tmp19 = (unsigned long )dr;
7203#line 563
7204 __cil_tmp20 = __cil_tmp19 + 1;
7205#line 563
7206 *((__u8 *)__cil_tmp20) = (__u8 )13;
7207#line 564
7208 __cil_tmp21 = (unsigned long )dr;
7209#line 564
7210 __cil_tmp22 = __cil_tmp21 + 2;
7211#line 564
7212 *((__le16 *)__cil_tmp22) = Wval;
7213#line 565
7214 __cil_tmp23 = (unsigned long )dr;
7215#line 565
7216 __cil_tmp24 = __cil_tmp23 + 4;
7217#line 565
7218 *((__le16 *)__cil_tmp24) = reg;
7219#line 566
7220 __cil_tmp25 = (unsigned long )dr;
7221#line 566
7222 __cil_tmp26 = __cil_tmp25 + 6;
7223#line 566
7224 *((__le16 *)__cil_tmp26) = (__u16 )2;
7225#line 568
7226 tmp___7 = __create_pipe(dev, 0U);
7227#line 568
7228 __cil_tmp27 = (unsigned long )mcs;
7229#line 568
7230 __cil_tmp28 = __cil_tmp27 + 184;
7231#line 568
7232 __cil_tmp29 = *((struct urb **)__cil_tmp28);
7233#line 568
7234 __cil_tmp30 = 2 << 30;
7235#line 568
7236 __cil_tmp31 = (unsigned int )__cil_tmp30;
7237#line 568
7238 __cil_tmp32 = __cil_tmp31 | tmp___7;
7239#line 568
7240 __cil_tmp33 = __cil_tmp32 | 128U;
7241#line 568
7242 __cil_tmp34 = (unsigned char *)dr;
7243#line 568
7244 __cil_tmp35 = (void *)buffer;
7245#line 568
7246 __cil_tmp36 = (void *)mcs;
7247#line 568
7248 usb_fill_control_urb(__cil_tmp29, dev, __cil_tmp33, __cil_tmp34, __cil_tmp35, 2,
7249 & mos7840_control_callback, __cil_tmp36);
7250#line 571
7251 __cil_tmp37 = (unsigned long )mcs;
7252#line 571
7253 __cil_tmp38 = __cil_tmp37 + 184;
7254#line 571
7255 __cil_tmp39 = *((struct urb **)__cil_tmp38);
7256#line 571
7257 __cil_tmp40 = (unsigned long )__cil_tmp39;
7258#line 571
7259 __cil_tmp41 = __cil_tmp40 + 136;
7260#line 571
7261 *((u32 *)__cil_tmp41) = (u32 )2;
7262#line 572
7263 __cil_tmp42 = (unsigned long )mcs;
7264#line 572
7265 __cil_tmp43 = __cil_tmp42 + 184;
7266#line 572
7267 __cil_tmp44 = *((struct urb **)__cil_tmp43);
7268#line 572
7269 ret = usb_submit_urb(__cil_tmp44, 32U);
7270 }
7271#line 573
7272 return (ret);
7273}
7274}
7275#line 582 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
7276static void mos7840_interrupt_callback(struct urb *urb )
7277{ int result ;
7278 int length ;
7279 struct moschip_port *mos7840_port ;
7280 struct usb_serial *serial ;
7281 __u16 Data ;
7282 unsigned char *data ;
7283 __u8 sp[5] ;
7284 __u8 st ;
7285 int i ;
7286 int rv ;
7287 __u16 wval ;
7288 __u16 wreg ;
7289 int status ;
7290 unsigned long __cil_tmp15 ;
7291 unsigned long __cil_tmp16 ;
7292 bool *__cil_tmp17 ;
7293 bool *__cil_tmp18 ;
7294 bool *__cil_tmp19 ;
7295 unsigned long __cil_tmp20 ;
7296 unsigned long __cil_tmp21 ;
7297 u32 __cil_tmp22 ;
7298 unsigned long __cil_tmp23 ;
7299 unsigned long __cil_tmp24 ;
7300 void *__cil_tmp25 ;
7301 unsigned long __cil_tmp26 ;
7302 unsigned long __cil_tmp27 ;
7303 void *__cil_tmp28 ;
7304 bool *__cil_tmp29 ;
7305 unsigned long __cil_tmp30 ;
7306 unsigned long __cil_tmp31 ;
7307 unsigned char *__cil_tmp32 ;
7308 unsigned long __cil_tmp33 ;
7309 unsigned long __cil_tmp34 ;
7310 unsigned char *__cil_tmp35 ;
7311 unsigned long __cil_tmp36 ;
7312 unsigned long __cil_tmp37 ;
7313 unsigned char *__cil_tmp38 ;
7314 unsigned long __cil_tmp39 ;
7315 unsigned long __cil_tmp40 ;
7316 unsigned char *__cil_tmp41 ;
7317 unsigned char *__cil_tmp42 ;
7318 unsigned long __cil_tmp43 ;
7319 unsigned long __cil_tmp44 ;
7320 unsigned char __cil_tmp45 ;
7321 int __cil_tmp46 ;
7322 unsigned long __cil_tmp47 ;
7323 unsigned long __cil_tmp48 ;
7324 unsigned long __cil_tmp49 ;
7325 unsigned long __cil_tmp50 ;
7326 struct usb_serial_port *__cil_tmp51 ;
7327 unsigned long __cil_tmp52 ;
7328 unsigned long __cil_tmp53 ;
7329 unsigned char __cil_tmp54 ;
7330 __u16 __cil_tmp55 ;
7331 int __cil_tmp56 ;
7332 unsigned long __cil_tmp57 ;
7333 unsigned long __cil_tmp58 ;
7334 unsigned long __cil_tmp59 ;
7335 unsigned long __cil_tmp60 ;
7336 struct usb_serial_port *__cil_tmp61 ;
7337 unsigned long __cil_tmp62 ;
7338 unsigned long __cil_tmp63 ;
7339 unsigned char __cil_tmp64 ;
7340 __u16 __cil_tmp65 ;
7341 int __cil_tmp66 ;
7342 int __cil_tmp67 ;
7343 int __cil_tmp68 ;
7344 int __cil_tmp69 ;
7345 unsigned long __cil_tmp70 ;
7346 unsigned long __cil_tmp71 ;
7347 unsigned long __cil_tmp72 ;
7348 unsigned long __cil_tmp73 ;
7349 __u8 __cil_tmp74 ;
7350 int __cil_tmp75 ;
7351 bool *__cil_tmp76 ;
7352 unsigned long __cil_tmp77 ;
7353 unsigned long __cil_tmp78 ;
7354 __u8 __cil_tmp79 ;
7355 int __cil_tmp80 ;
7356 bool *__cil_tmp81 ;
7357 bool *__cil_tmp82 ;
7358 unsigned long __cil_tmp83 ;
7359 unsigned long __cil_tmp84 ;
7360 bool *__cil_tmp85 ;
7361 unsigned long __cil_tmp86 ;
7362 unsigned long __cil_tmp87 ;
7363 unsigned long __cil_tmp88 ;
7364 unsigned long __cil_tmp89 ;
7365 spinlock_t *__cil_tmp90 ;
7366 unsigned long __cil_tmp91 ;
7367 unsigned long __cil_tmp92 ;
7368 char __cil_tmp93 ;
7369 unsigned long __cil_tmp94 ;
7370 unsigned long __cil_tmp95 ;
7371 spinlock_t *__cil_tmp96 ;
7372 unsigned long __cil_tmp97 ;
7373 unsigned long __cil_tmp98 ;
7374 spinlock_t *__cil_tmp99 ;
7375 int __cil_tmp100 ;
7376 unsigned long __cil_tmp101 ;
7377 unsigned long __cil_tmp102 ;
7378 struct usb_device *__cil_tmp103 ;
7379 unsigned long __cil_tmp104 ;
7380 unsigned long __cil_tmp105 ;
7381 struct device *__cil_tmp106 ;
7382 struct device const *__cil_tmp107 ;
7383
7384 {
7385#line 591
7386 rv = 0;
7387#line 592
7388 wreg = (__u16 )0;
7389#line 593
7390 __cil_tmp15 = (unsigned long )urb;
7391#line 593
7392 __cil_tmp16 = __cil_tmp15 + 96;
7393#line 593
7394 status = *((int *)__cil_tmp16);
7395 {
7396#line 595
7397 while (1) {
7398 while_continue: ;
7399 {
7400#line 595
7401 __cil_tmp17 = & debug;
7402#line 595
7403 if (*__cil_tmp17) {
7404 {
7405#line 595
7406 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
7407 " : Entering");
7408 }
7409 } else {
7410
7411 }
7412 }
7413#line 595
7414 goto while_break;
7415 }
7416 while_break: ;
7417 }
7418#line 598
7419 if (status == 0) {
7420#line 598
7421 goto case_0;
7422 } else
7423#line 601
7424 if (status == -104) {
7425#line 601
7426 goto case_neg_104;
7427 } else
7428#line 602
7429 if (status == -2) {
7430#line 602
7431 goto case_neg_104;
7432 } else
7433#line 603
7434 if (status == -108) {
7435#line 603
7436 goto case_neg_104;
7437 } else {
7438 {
7439#line 608
7440 goto switch_default;
7441#line 597
7442 if (0) {
7443 case_0:
7444#line 600
7445 goto switch_break;
7446 case_neg_104:
7447 case_neg_2:
7448 case_neg_108:
7449 {
7450#line 605
7451 while (1) {
7452 while_continue___0: ;
7453 {
7454#line 605
7455 __cil_tmp18 = & debug;
7456#line 605
7457 if (*__cil_tmp18) {
7458 {
7459#line 605
7460 printk("<7>%s: %s - urb shutting down with status: %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
7461 "mos7840_interrupt_callback", status);
7462 }
7463 } else {
7464
7465 }
7466 }
7467#line 605
7468 goto while_break___0;
7469 }
7470 while_break___0: ;
7471 }
7472#line 607
7473 return;
7474 switch_default:
7475 {
7476#line 609
7477 while (1) {
7478 while_continue___1: ;
7479 {
7480#line 609
7481 __cil_tmp19 = & debug;
7482#line 609
7483 if (*__cil_tmp19) {
7484 {
7485#line 609
7486 printk("<7>%s: %s - nonzero urb status received: %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
7487 "mos7840_interrupt_callback", status);
7488 }
7489 } else {
7490
7491 }
7492 }
7493#line 609
7494 goto while_break___1;
7495 }
7496 while_break___1: ;
7497 }
7498#line 611
7499 goto exit;
7500 } else {
7501 switch_break: ;
7502 }
7503 }
7504 }
7505#line 614
7506 __cil_tmp20 = (unsigned long )urb;
7507#line 614
7508 __cil_tmp21 = __cil_tmp20 + 140;
7509#line 614
7510 __cil_tmp22 = *((u32 *)__cil_tmp21);
7511#line 614
7512 length = (int )__cil_tmp22;
7513#line 615
7514 __cil_tmp23 = (unsigned long )urb;
7515#line 615
7516 __cil_tmp24 = __cil_tmp23 + 104;
7517#line 615
7518 __cil_tmp25 = *((void **)__cil_tmp24);
7519#line 615
7520 data = (unsigned char *)__cil_tmp25;
7521#line 617
7522 __cil_tmp26 = (unsigned long )urb;
7523#line 617
7524 __cil_tmp27 = __cil_tmp26 + 176;
7525#line 617
7526 __cil_tmp28 = *((void **)__cil_tmp27);
7527#line 617
7528 serial = (struct usb_serial *)__cil_tmp28;
7529#line 626
7530 if (length) {
7531#line 626
7532 if (length > 5) {
7533 {
7534#line 627
7535 while (1) {
7536 while_continue___2: ;
7537 {
7538#line 627
7539 __cil_tmp29 = & debug;
7540#line 627
7541 if (*__cil_tmp29) {
7542 {
7543#line 627
7544 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
7545 "Wrong data !!!");
7546 }
7547 } else {
7548
7549 }
7550 }
7551#line 627
7552 goto while_break___2;
7553 }
7554 while_break___2: ;
7555 }
7556#line 628
7557 return;
7558 } else {
7559
7560 }
7561 } else {
7562
7563 }
7564#line 631
7565 __cil_tmp30 = 0 * 1UL;
7566#line 631
7567 __cil_tmp31 = (unsigned long )(sp) + __cil_tmp30;
7568#line 631
7569 __cil_tmp32 = data + 0;
7570#line 631
7571 *((__u8 *)__cil_tmp31) = *__cil_tmp32;
7572#line 632
7573 __cil_tmp33 = 1 * 1UL;
7574#line 632
7575 __cil_tmp34 = (unsigned long )(sp) + __cil_tmp33;
7576#line 632
7577 __cil_tmp35 = data + 1;
7578#line 632
7579 *((__u8 *)__cil_tmp34) = *__cil_tmp35;
7580#line 633
7581 __cil_tmp36 = 2 * 1UL;
7582#line 633
7583 __cil_tmp37 = (unsigned long )(sp) + __cil_tmp36;
7584#line 633
7585 __cil_tmp38 = data + 2;
7586#line 633
7587 *((__u8 *)__cil_tmp37) = *__cil_tmp38;
7588#line 634
7589 __cil_tmp39 = 3 * 1UL;
7590#line 634
7591 __cil_tmp40 = (unsigned long )(sp) + __cil_tmp39;
7592#line 634
7593 __cil_tmp41 = data + 3;
7594#line 634
7595 *((__u8 *)__cil_tmp40) = *__cil_tmp41;
7596#line 635
7597 __cil_tmp42 = data + 4;
7598#line 635
7599 st = *__cil_tmp42;
7600#line 637
7601 i = 0;
7602 {
7603#line 637
7604 while (1) {
7605 while_continue___3: ;
7606 {
7607#line 637
7608 __cil_tmp43 = (unsigned long )serial;
7609#line 637
7610 __cil_tmp44 = __cil_tmp43 + 26;
7611#line 637
7612 __cil_tmp45 = *((unsigned char *)__cil_tmp44);
7613#line 637
7614 __cil_tmp46 = (int )__cil_tmp45;
7615#line 637
7616 if (i < __cil_tmp46) {
7617
7618 } else {
7619#line 637
7620 goto while_break___3;
7621 }
7622 }
7623 {
7624#line 638
7625 __cil_tmp47 = i * 8UL;
7626#line 638
7627 __cil_tmp48 = 32 + __cil_tmp47;
7628#line 638
7629 __cil_tmp49 = (unsigned long )serial;
7630#line 638
7631 __cil_tmp50 = __cil_tmp49 + __cil_tmp48;
7632#line 638
7633 __cil_tmp51 = *((struct usb_serial_port **)__cil_tmp50);
7634#line 638
7635 mos7840_port = mos7840_get_port_private(__cil_tmp51);
7636#line 639
7637 __cil_tmp52 = (unsigned long )serial;
7638#line 639
7639 __cil_tmp53 = __cil_tmp52 + 25;
7640#line 639
7641 __cil_tmp54 = *((unsigned char *)__cil_tmp53);
7642#line 639
7643 __cil_tmp55 = (__u16 )__cil_tmp54;
7644#line 639
7645 __cil_tmp56 = (int )__cil_tmp55;
7646#line 639
7647 __cil_tmp57 = i * 8UL;
7648#line 639
7649 __cil_tmp58 = 32 + __cil_tmp57;
7650#line 639
7651 __cil_tmp59 = (unsigned long )serial;
7652#line 639
7653 __cil_tmp60 = __cil_tmp59 + __cil_tmp58;
7654#line 639
7655 __cil_tmp61 = *((struct usb_serial_port **)__cil_tmp60);
7656#line 639
7657 __cil_tmp62 = (unsigned long )__cil_tmp61;
7658#line 639
7659 __cil_tmp63 = __cil_tmp62 + 384;
7660#line 639
7661 __cil_tmp64 = *((unsigned char *)__cil_tmp63);
7662#line 639
7663 __cil_tmp65 = (__u16 )__cil_tmp64;
7664#line 639
7665 __cil_tmp66 = (int )__cil_tmp65;
7666#line 639
7667 __cil_tmp67 = __cil_tmp66 - __cil_tmp56;
7668#line 639
7669 __cil_tmp68 = __cil_tmp67 + 1;
7670#line 639
7671 __cil_tmp69 = __cil_tmp68 << 8;
7672#line 639
7673 wval = (__u16 )__cil_tmp69;
7674 }
7675 {
7676#line 642
7677 __cil_tmp70 = (unsigned long )mos7840_port;
7678#line 642
7679 __cil_tmp71 = __cil_tmp70 + 34;
7680#line 642
7681 if (*((char *)__cil_tmp71)) {
7682 {
7683#line 643
7684 __cil_tmp72 = i * 1UL;
7685#line 643
7686 __cil_tmp73 = (unsigned long )(sp) + __cil_tmp72;
7687#line 643
7688 __cil_tmp74 = *((__u8 *)__cil_tmp73);
7689#line 643
7690 __cil_tmp75 = (int )__cil_tmp74;
7691#line 643
7692 if (__cil_tmp75 & 1) {
7693 {
7694#line 644
7695 while (1) {
7696 while_continue___4: ;
7697 {
7698#line 644
7699 __cil_tmp76 = & debug;
7700#line 644
7701 if (*__cil_tmp76) {
7702 {
7703#line 644
7704 printk("<7>%s: SP%d No Interrupt !!!\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
7705 i);
7706 }
7707 } else {
7708
7709 }
7710 }
7711#line 644
7712 goto while_break___4;
7713 }
7714 while_break___4: ;
7715 }
7716 } else {
7717 {
7718#line 646
7719 __cil_tmp77 = i * 1UL;
7720#line 646
7721 __cil_tmp78 = (unsigned long )(sp) + __cil_tmp77;
7722#line 646
7723 __cil_tmp79 = *((__u8 *)__cil_tmp78);
7724#line 646
7725 __cil_tmp80 = (int )__cil_tmp79;
7726#line 647
7727 if ((__cil_tmp80 & 15) == 6) {
7728#line 647
7729 goto case_6;
7730 } else
7731#line 653
7732 if ((__cil_tmp80 & 15) == 0) {
7733#line 653
7734 goto case_0___0;
7735 } else
7736#line 646
7737 if (0) {
7738 case_6:
7739 {
7740#line 648
7741 while (1) {
7742 while_continue___5: ;
7743 {
7744#line 648
7745 __cil_tmp81 = & debug;
7746#line 648
7747 if (*__cil_tmp81) {
7748 {
7749#line 648
7750 printk("<7>%s: Serial Port %d: Receiver status error or \n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
7751 i);
7752 }
7753 } else {
7754
7755 }
7756 }
7757#line 648
7758 goto while_break___5;
7759 }
7760 while_break___5: ;
7761 }
7762 {
7763#line 649
7764 while (1) {
7765 while_continue___6: ;
7766 {
7767#line 649
7768 __cil_tmp82 = & debug;
7769#line 649
7770 if (*__cil_tmp82) {
7771 {
7772#line 649
7773 printk("<7>%s: address bit detected in 9-bit mode\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c");
7774 }
7775 } else {
7776
7777 }
7778 }
7779#line 649
7780 goto while_break___6;
7781 }
7782 while_break___6: ;
7783 }
7784#line 650
7785 __cil_tmp83 = (unsigned long )mos7840_port;
7786#line 650
7787 __cil_tmp84 = __cil_tmp83 + 208;
7788#line 650
7789 *((int *)__cil_tmp84) = 1;
7790#line 651
7791 wreg = (__u16 )5;
7792#line 652
7793 goto switch_break___0;
7794 case_0___0:
7795 {
7796#line 654
7797 while (1) {
7798 while_continue___7: ;
7799 {
7800#line 654
7801 __cil_tmp85 = & debug;
7802#line 654
7803 if (*__cil_tmp85) {
7804 {
7805#line 654
7806 printk("<7>%s: Serial Port %d: Modem status change\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
7807 i);
7808 }
7809 } else {
7810
7811 }
7812 }
7813#line 654
7814 goto while_break___7;
7815 }
7816 while_break___7: ;
7817 }
7818#line 655
7819 __cil_tmp86 = (unsigned long )mos7840_port;
7820#line 655
7821 __cil_tmp87 = __cil_tmp86 + 208;
7822#line 655
7823 *((int *)__cil_tmp87) = 0;
7824#line 656
7825 wreg = (__u16 )6;
7826#line 657
7827 goto switch_break___0;
7828 } else {
7829 switch_break___0: ;
7830 }
7831 }
7832 {
7833#line 659
7834 __cil_tmp88 = (unsigned long )mos7840_port;
7835#line 659
7836 __cil_tmp89 = __cil_tmp88 + 216;
7837#line 659
7838 __cil_tmp90 = (spinlock_t *)__cil_tmp89;
7839#line 659
7840 spin_lock(__cil_tmp90);
7841 }
7842 {
7843#line 660
7844 __cil_tmp91 = (unsigned long )mos7840_port;
7845#line 660
7846 __cil_tmp92 = __cil_tmp91 + 36;
7847#line 660
7848 __cil_tmp93 = *((char *)__cil_tmp92);
7849#line 660
7850 if (! __cil_tmp93) {
7851 {
7852#line 661
7853 rv = mos7840_get_reg(mos7840_port, wval, wreg, & Data);
7854 }
7855 } else {
7856 {
7857#line 663
7858 __cil_tmp94 = (unsigned long )mos7840_port;
7859#line 663
7860 __cil_tmp95 = __cil_tmp94 + 216;
7861#line 663
7862 __cil_tmp96 = (spinlock_t *)__cil_tmp95;
7863#line 663
7864 spin_unlock(__cil_tmp96);
7865 }
7866#line 664
7867 return;
7868 }
7869 }
7870 {
7871#line 666
7872 __cil_tmp97 = (unsigned long )mos7840_port;
7873#line 666
7874 __cil_tmp98 = __cil_tmp97 + 216;
7875#line 666
7876 __cil_tmp99 = (spinlock_t *)__cil_tmp98;
7877#line 666
7878 spin_unlock(__cil_tmp99);
7879 }
7880 }
7881 }
7882 } else {
7883
7884 }
7885 }
7886#line 637
7887 i = i + 1;
7888 }
7889 while_break___3: ;
7890 }
7891 {
7892#line 670
7893 __cil_tmp100 = rv < 0;
7894#line 670
7895 if (! __cil_tmp100) {
7896#line 672
7897 return;
7898 } else {
7899
7900 }
7901 }
7902 exit:
7903 {
7904#line 674
7905 result = usb_submit_urb(urb, 32U);
7906 }
7907#line 675
7908 if (result) {
7909 {
7910#line 676
7911 __cil_tmp101 = (unsigned long )urb;
7912#line 676
7913 __cil_tmp102 = __cil_tmp101 + 72;
7914#line 676
7915 __cil_tmp103 = *((struct usb_device **)__cil_tmp102);
7916#line 676
7917 __cil_tmp104 = (unsigned long )__cil_tmp103;
7918#line 676
7919 __cil_tmp105 = __cil_tmp104 + 136;
7920#line 676
7921 __cil_tmp106 = (struct device *)__cil_tmp105;
7922#line 676
7923 __cil_tmp107 = (struct device const *)__cil_tmp106;
7924#line 676
7925 dev_err(__cil_tmp107, "%s - Error %d submitting interrupt urb\n", "mos7840_interrupt_callback",
7926 result);
7927 }
7928 } else {
7929
7930 }
7931#line 680
7932 return;
7933}
7934}
7935#line 682 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
7936static int mos7840_port_paranoia_check(struct usb_serial_port *port , char const *function )
7937{ bool *__cil_tmp3 ;
7938 struct usb_serial *__cil_tmp4 ;
7939 bool *__cil_tmp5 ;
7940
7941 {
7942#line 685
7943 if (! port) {
7944 {
7945#line 686
7946 while (1) {
7947 while_continue: ;
7948 {
7949#line 686
7950 __cil_tmp3 = & debug;
7951#line 686
7952 if (*__cil_tmp3) {
7953 {
7954#line 686
7955 printk("<7>%s: %s - port == NULL\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
7956 function);
7957 }
7958 } else {
7959
7960 }
7961 }
7962#line 686
7963 goto while_break;
7964 }
7965 while_break: ;
7966 }
7967#line 687
7968 return (-1);
7969 } else {
7970
7971 }
7972 {
7973#line 689
7974 __cil_tmp4 = *((struct usb_serial **)port);
7975#line 689
7976 if (! __cil_tmp4) {
7977 {
7978#line 690
7979 while (1) {
7980 while_continue___0: ;
7981 {
7982#line 690
7983 __cil_tmp5 = & debug;
7984#line 690
7985 if (*__cil_tmp5) {
7986 {
7987#line 690
7988 printk("<7>%s: %s - port->serial == NULL\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
7989 function);
7990 }
7991 } else {
7992
7993 }
7994 }
7995#line 690
7996 goto while_break___0;
7997 }
7998 while_break___0: ;
7999 }
8000#line 691
8001 return (-1);
8002 } else {
8003
8004 }
8005 }
8006#line 694
8007 return (0);
8008}
8009}
8010#line 698 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
8011static int mos7840_serial_paranoia_check(struct usb_serial *serial , char const *function )
8012{ bool *__cil_tmp3 ;
8013 unsigned long __cil_tmp4 ;
8014 unsigned long __cil_tmp5 ;
8015 struct usb_serial_driver *__cil_tmp6 ;
8016 bool *__cil_tmp7 ;
8017
8018 {
8019#line 701
8020 if (! serial) {
8021 {
8022#line 702
8023 while (1) {
8024 while_continue: ;
8025 {
8026#line 702
8027 __cil_tmp3 = & debug;
8028#line 702
8029 if (*__cil_tmp3) {
8030 {
8031#line 702
8032 printk("<7>%s: %s - serial == NULL\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
8033 function);
8034 }
8035 } else {
8036
8037 }
8038 }
8039#line 702
8040 goto while_break;
8041 }
8042 while_break: ;
8043 }
8044#line 703
8045 return (-1);
8046 } else {
8047
8048 }
8049 {
8050#line 705
8051 __cil_tmp4 = (unsigned long )serial;
8052#line 705
8053 __cil_tmp5 = __cil_tmp4 + 8;
8054#line 705
8055 __cil_tmp6 = *((struct usb_serial_driver **)__cil_tmp5);
8056#line 705
8057 if (! __cil_tmp6) {
8058 {
8059#line 706
8060 while (1) {
8061 while_continue___0: ;
8062 {
8063#line 706
8064 __cil_tmp7 = & debug;
8065#line 706
8066 if (*__cil_tmp7) {
8067 {
8068#line 706
8069 printk("<7>%s: %s - serial->type == NULL!\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
8070 function);
8071 }
8072 } else {
8073
8074 }
8075 }
8076#line 706
8077 goto while_break___0;
8078 }
8079 while_break___0: ;
8080 }
8081#line 707
8082 return (-1);
8083 } else {
8084
8085 }
8086 }
8087#line 710
8088 return (0);
8089}
8090}
8091#line 713 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
8092static struct usb_serial *mos7840_get_usb_serial(struct usb_serial_port *port , char const *function )
8093{ int tmp___7 ;
8094 int tmp___8 ;
8095 void *__cil_tmp5 ;
8096 void *__cil_tmp6 ;
8097 struct usb_serial *__cil_tmp7 ;
8098 void *__cil_tmp8 ;
8099
8100 {
8101#line 717
8102 if (! port) {
8103 {
8104#line 722
8105 __cil_tmp5 = (void *)0;
8106#line 722
8107 return ((struct usb_serial *)__cil_tmp5);
8108 }
8109 } else {
8110 {
8111#line 717
8112 tmp___7 = mos7840_port_paranoia_check(port, function);
8113 }
8114#line 717
8115 if (tmp___7) {
8116 {
8117#line 722
8118 __cil_tmp6 = (void *)0;
8119#line 722
8120 return ((struct usb_serial *)__cil_tmp6);
8121 }
8122 } else {
8123 {
8124#line 717
8125 __cil_tmp7 = *((struct usb_serial **)port);
8126#line 717
8127 tmp___8 = mos7840_serial_paranoia_check(__cil_tmp7, function);
8128 }
8129#line 717
8130 if (tmp___8) {
8131 {
8132#line 722
8133 __cil_tmp8 = (void *)0;
8134#line 722
8135 return ((struct usb_serial *)__cil_tmp8);
8136 }
8137 } else {
8138
8139 }
8140 }
8141 }
8142#line 725
8143 return (*((struct usb_serial **)port));
8144}
8145}
8146#line 734 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
8147static void mos7840_bulk_in_callback(struct urb *urb )
8148{ int retval ;
8149 unsigned char *data ;
8150 struct usb_serial *serial ;
8151 struct usb_serial_port *port ;
8152 struct moschip_port *mos7840_port ;
8153 struct tty_struct *tty ;
8154 int status ;
8155 int tmp___7 ;
8156 unsigned long __cil_tmp10 ;
8157 unsigned long __cil_tmp11 ;
8158 unsigned long __cil_tmp12 ;
8159 unsigned long __cil_tmp13 ;
8160 void *__cil_tmp14 ;
8161 bool *__cil_tmp15 ;
8162 bool *__cil_tmp16 ;
8163 unsigned long __cil_tmp17 ;
8164 unsigned long __cil_tmp18 ;
8165 unsigned long __cil_tmp19 ;
8166 unsigned long __cil_tmp20 ;
8167 bool *__cil_tmp21 ;
8168 unsigned long __cil_tmp22 ;
8169 unsigned long __cil_tmp23 ;
8170 bool *__cil_tmp24 ;
8171 unsigned long __cil_tmp25 ;
8172 unsigned long __cil_tmp26 ;
8173 bool *__cil_tmp27 ;
8174 unsigned long __cil_tmp28 ;
8175 unsigned long __cil_tmp29 ;
8176 void *__cil_tmp30 ;
8177 bool *__cil_tmp31 ;
8178 unsigned long __cil_tmp32 ;
8179 unsigned long __cil_tmp33 ;
8180 unsigned long __cil_tmp34 ;
8181 unsigned long __cil_tmp35 ;
8182 struct usb_serial_port *__cil_tmp36 ;
8183 unsigned long __cil_tmp37 ;
8184 unsigned long __cil_tmp38 ;
8185 struct tty_port *__cil_tmp39 ;
8186 unsigned char const *__cil_tmp40 ;
8187 unsigned long __cil_tmp41 ;
8188 unsigned long __cil_tmp42 ;
8189 u32 __cil_tmp43 ;
8190 size_t __cil_tmp44 ;
8191 bool *__cil_tmp45 ;
8192 unsigned long __cil_tmp46 ;
8193 unsigned long __cil_tmp47 ;
8194 unsigned long __cil_tmp48 ;
8195 unsigned long __cil_tmp49 ;
8196 unsigned long __cil_tmp50 ;
8197 u32 __cil_tmp51 ;
8198 unsigned long __cil_tmp52 ;
8199 unsigned long __cil_tmp53 ;
8200 unsigned long __cil_tmp54 ;
8201 __u32 __cil_tmp55 ;
8202 bool *__cil_tmp56 ;
8203 unsigned long __cil_tmp57 ;
8204 unsigned long __cil_tmp58 ;
8205 unsigned long __cil_tmp59 ;
8206 __u32 __cil_tmp60 ;
8207 unsigned long __cil_tmp61 ;
8208 unsigned long __cil_tmp62 ;
8209 struct urb *__cil_tmp63 ;
8210 bool *__cil_tmp64 ;
8211 unsigned long __cil_tmp65 ;
8212 unsigned long __cil_tmp66 ;
8213 unsigned long __cil_tmp67 ;
8214 unsigned long __cil_tmp68 ;
8215 unsigned long __cil_tmp69 ;
8216 unsigned long __cil_tmp70 ;
8217 struct urb *__cil_tmp71 ;
8218 bool *__cil_tmp72 ;
8219 unsigned long __cil_tmp73 ;
8220 unsigned long __cil_tmp74 ;
8221
8222 {
8223#line 742
8224 __cil_tmp10 = (unsigned long )urb;
8225#line 742
8226 __cil_tmp11 = __cil_tmp10 + 96;
8227#line 742
8228 status = *((int *)__cil_tmp11);
8229#line 744
8230 __cil_tmp12 = (unsigned long )urb;
8231#line 744
8232 __cil_tmp13 = __cil_tmp12 + 176;
8233#line 744
8234 __cil_tmp14 = *((void **)__cil_tmp13);
8235#line 744
8236 mos7840_port = (struct moschip_port *)__cil_tmp14;
8237#line 745
8238 if (! mos7840_port) {
8239 {
8240#line 746
8241 while (1) {
8242 while_continue: ;
8243 {
8244#line 746
8245 __cil_tmp15 = & debug;
8246#line 746
8247 if (*__cil_tmp15) {
8248 {
8249#line 746
8250 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
8251 "NULL mos7840_port pointer");
8252 }
8253 } else {
8254
8255 }
8256 }
8257#line 746
8258 goto while_break;
8259 }
8260 while_break: ;
8261 }
8262#line 747
8263 return;
8264 } else {
8265
8266 }
8267#line 750
8268 if (status) {
8269 {
8270#line 751
8271 while (1) {
8272 while_continue___0: ;
8273 {
8274#line 751
8275 __cil_tmp16 = & debug;
8276#line 751
8277 if (*__cil_tmp16) {
8278 {
8279#line 751
8280 printk("<7>%s: nonzero read bulk status received: %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
8281 status);
8282 }
8283 } else {
8284
8285 }
8286 }
8287#line 751
8288 goto while_break___0;
8289 }
8290 while_break___0: ;
8291 }
8292#line 752
8293 __cil_tmp17 = (unsigned long )mos7840_port;
8294#line 752
8295 __cil_tmp18 = __cil_tmp17 + 384;
8296#line 752
8297 *((bool *)__cil_tmp18) = (bool )0;
8298#line 753
8299 return;
8300 } else {
8301
8302 }
8303 {
8304#line 756
8305 __cil_tmp19 = (unsigned long )mos7840_port;
8306#line 756
8307 __cil_tmp20 = __cil_tmp19 + 168;
8308#line 756
8309 port = *((struct usb_serial_port **)__cil_tmp20);
8310#line 757
8311 tmp___7 = mos7840_port_paranoia_check(port, "mos7840_bulk_in_callback");
8312 }
8313#line 757
8314 if (tmp___7) {
8315 {
8316#line 758
8317 while (1) {
8318 while_continue___1: ;
8319 {
8320#line 758
8321 __cil_tmp21 = & debug;
8322#line 758
8323 if (*__cil_tmp21) {
8324 {
8325#line 758
8326 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
8327 "Port Paranoia failed");
8328 }
8329 } else {
8330
8331 }
8332 }
8333#line 758
8334 goto while_break___1;
8335 }
8336 while_break___1: ;
8337 }
8338#line 759
8339 __cil_tmp22 = (unsigned long )mos7840_port;
8340#line 759
8341 __cil_tmp23 = __cil_tmp22 + 384;
8342#line 759
8343 *((bool *)__cil_tmp23) = (bool )0;
8344#line 760
8345 return;
8346 } else {
8347
8348 }
8349 {
8350#line 763
8351 serial = mos7840_get_usb_serial(port, "mos7840_bulk_in_callback");
8352 }
8353#line 764
8354 if (! serial) {
8355 {
8356#line 765
8357 while (1) {
8358 while_continue___2: ;
8359 {
8360#line 765
8361 __cil_tmp24 = & debug;
8362#line 765
8363 if (*__cil_tmp24) {
8364 {
8365#line 765
8366 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
8367 "Bad serial pointer");
8368 }
8369 } else {
8370
8371 }
8372 }
8373#line 765
8374 goto while_break___2;
8375 }
8376 while_break___2: ;
8377 }
8378#line 766
8379 __cil_tmp25 = (unsigned long )mos7840_port;
8380#line 766
8381 __cil_tmp26 = __cil_tmp25 + 384;
8382#line 766
8383 *((bool *)__cil_tmp26) = (bool )0;
8384#line 767
8385 return;
8386 } else {
8387
8388 }
8389 {
8390#line 770
8391 while (1) {
8392 while_continue___3: ;
8393 {
8394#line 770
8395 __cil_tmp27 = & debug;
8396#line 770
8397 if (*__cil_tmp27) {
8398 {
8399#line 770
8400 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
8401 "Entering... ");
8402 }
8403 } else {
8404
8405 }
8406 }
8407#line 770
8408 goto while_break___3;
8409 }
8410 while_break___3: ;
8411 }
8412#line 772
8413 __cil_tmp28 = (unsigned long )urb;
8414#line 772
8415 __cil_tmp29 = __cil_tmp28 + 104;
8416#line 772
8417 __cil_tmp30 = *((void **)__cil_tmp29);
8418#line 772
8419 data = (unsigned char *)__cil_tmp30;
8420 {
8421#line 774
8422 while (1) {
8423 while_continue___4: ;
8424 {
8425#line 774
8426 __cil_tmp31 = & debug;
8427#line 774
8428 if (*__cil_tmp31) {
8429 {
8430#line 774
8431 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
8432 "Entering ...........");
8433 }
8434 } else {
8435
8436 }
8437 }
8438#line 774
8439 goto while_break___4;
8440 }
8441 while_break___4: ;
8442 }
8443 {
8444#line 776
8445 __cil_tmp32 = (unsigned long )urb;
8446#line 776
8447 __cil_tmp33 = __cil_tmp32 + 140;
8448#line 776
8449 if (*((u32 *)__cil_tmp33)) {
8450 {
8451#line 777
8452 __cil_tmp34 = (unsigned long )mos7840_port;
8453#line 777
8454 __cil_tmp35 = __cil_tmp34 + 168;
8455#line 777
8456 __cil_tmp36 = *((struct usb_serial_port **)__cil_tmp35);
8457#line 777
8458 __cil_tmp37 = (unsigned long )__cil_tmp36;
8459#line 777
8460 __cil_tmp38 = __cil_tmp37 + 8;
8461#line 777
8462 __cil_tmp39 = (struct tty_port *)__cil_tmp38;
8463#line 777
8464 tty = tty_port_tty_get(__cil_tmp39);
8465 }
8466#line 778
8467 if (tty) {
8468 {
8469#line 779
8470 __cil_tmp40 = (unsigned char const *)data;
8471#line 779
8472 __cil_tmp41 = (unsigned long )urb;
8473#line 779
8474 __cil_tmp42 = __cil_tmp41 + 140;
8475#line 779
8476 __cil_tmp43 = *((u32 *)__cil_tmp42);
8477#line 779
8478 __cil_tmp44 = (size_t )__cil_tmp43;
8479#line 779
8480 tty_insert_flip_string(tty, __cil_tmp40, __cil_tmp44);
8481 }
8482 {
8483#line 780
8484 while (1) {
8485 while_continue___5: ;
8486 {
8487#line 780
8488 __cil_tmp45 = & debug;
8489#line 780
8490 if (*__cil_tmp45) {
8491 {
8492#line 780
8493 printk("<7>%s: %s \n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
8494 data);
8495 }
8496 } else {
8497
8498 }
8499 }
8500#line 780
8501 goto while_break___5;
8502 }
8503 while_break___5: ;
8504 }
8505 {
8506#line 781
8507 tty_flip_buffer_push(tty);
8508#line 782
8509 tty_kref_put(tty);
8510 }
8511 } else {
8512
8513 }
8514#line 784
8515 __cil_tmp46 = 124 + 20;
8516#line 784
8517 __cil_tmp47 = (unsigned long )mos7840_port;
8518#line 784
8519 __cil_tmp48 = __cil_tmp47 + __cil_tmp46;
8520#line 784
8521 __cil_tmp49 = (unsigned long )urb;
8522#line 784
8523 __cil_tmp50 = __cil_tmp49 + 140;
8524#line 784
8525 __cil_tmp51 = *((u32 *)__cil_tmp50);
8526#line 784
8527 __cil_tmp52 = 124 + 20;
8528#line 784
8529 __cil_tmp53 = (unsigned long )mos7840_port;
8530#line 784
8531 __cil_tmp54 = __cil_tmp53 + __cil_tmp52;
8532#line 784
8533 __cil_tmp55 = *((__u32 *)__cil_tmp54);
8534#line 784
8535 *((__u32 *)__cil_tmp48) = __cil_tmp55 + __cil_tmp51;
8536#line 785
8537 __asm__ volatile ("": : : "memory");
8538 {
8539#line 786
8540 while (1) {
8541 while_continue___6: ;
8542 {
8543#line 786
8544 __cil_tmp56 = & debug;
8545#line 786
8546 if (*__cil_tmp56) {
8547 {
8548#line 786
8549 __cil_tmp57 = 124 + 20;
8550#line 786
8551 __cil_tmp58 = (unsigned long )mos7840_port;
8552#line 786
8553 __cil_tmp59 = __cil_tmp58 + __cil_tmp57;
8554#line 786
8555 __cil_tmp60 = *((__u32 *)__cil_tmp59);
8556#line 786
8557 printk("<7>%s: mos7840_port->icount.rx is %d:\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
8558 __cil_tmp60);
8559 }
8560 } else {
8561
8562 }
8563 }
8564#line 786
8565 goto while_break___6;
8566 }
8567 while_break___6: ;
8568 }
8569 } else {
8570
8571 }
8572 }
8573 {
8574#line 790
8575 __cil_tmp61 = (unsigned long )mos7840_port;
8576#line 790
8577 __cil_tmp62 = __cil_tmp61 + 16;
8578#line 790
8579 __cil_tmp63 = *((struct urb **)__cil_tmp62);
8580#line 790
8581 if (! __cil_tmp63) {
8582 {
8583#line 791
8584 while (1) {
8585 while_continue___7: ;
8586 {
8587#line 791
8588 __cil_tmp64 = & debug;
8589#line 791
8590 if (*__cil_tmp64) {
8591 {
8592#line 791
8593 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
8594 "URB KILLED !!!");
8595 }
8596 } else {
8597
8598 }
8599 }
8600#line 791
8601 goto while_break___7;
8602 }
8603 while_break___7: ;
8604 }
8605#line 792
8606 __cil_tmp65 = (unsigned long )mos7840_port;
8607#line 792
8608 __cil_tmp66 = __cil_tmp65 + 384;
8609#line 792
8610 *((bool *)__cil_tmp66) = (bool )0;
8611#line 793
8612 return;
8613 } else {
8614
8615 }
8616 }
8617 {
8618#line 797
8619 __cil_tmp67 = (unsigned long )mos7840_port;
8620#line 797
8621 __cil_tmp68 = __cil_tmp67 + 384;
8622#line 797
8623 *((bool *)__cil_tmp68) = (bool )1;
8624#line 798
8625 __cil_tmp69 = (unsigned long )mos7840_port;
8626#line 798
8627 __cil_tmp70 = __cil_tmp69 + 16;
8628#line 798
8629 __cil_tmp71 = *((struct urb **)__cil_tmp70);
8630#line 798
8631 retval = usb_submit_urb(__cil_tmp71, 32U);
8632 }
8633#line 800
8634 if (retval) {
8635 {
8636#line 801
8637 while (1) {
8638 while_continue___8: ;
8639 {
8640#line 801
8641 __cil_tmp72 = & debug;
8642#line 801
8643 if (*__cil_tmp72) {
8644 {
8645#line 801
8646 printk("<7>%s: usb_submit_urb(read bulk) failed, retval = %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
8647 retval);
8648 }
8649 } else {
8650
8651 }
8652 }
8653#line 801
8654 goto while_break___8;
8655 }
8656 while_break___8: ;
8657 }
8658#line 802
8659 __cil_tmp73 = (unsigned long )mos7840_port;
8660#line 802
8661 __cil_tmp74 = __cil_tmp73 + 384;
8662#line 802
8663 *((bool *)__cil_tmp74) = (bool )0;
8664 } else {
8665
8666 }
8667#line 804
8668 return;
8669}
8670}
8671#line 812 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
8672static void mos7840_bulk_out_data_callback(struct urb *urb )
8673{ struct moschip_port *mos7840_port ;
8674 struct tty_struct *tty ;
8675 int status ;
8676 int i ;
8677 int tmp___7 ;
8678 unsigned long __cil_tmp7 ;
8679 unsigned long __cil_tmp8 ;
8680 unsigned long __cil_tmp9 ;
8681 unsigned long __cil_tmp10 ;
8682 void *__cil_tmp11 ;
8683 unsigned long __cil_tmp12 ;
8684 unsigned long __cil_tmp13 ;
8685 spinlock_t *__cil_tmp14 ;
8686 unsigned long __cil_tmp15 ;
8687 unsigned long __cil_tmp16 ;
8688 unsigned long __cil_tmp17 ;
8689 unsigned long __cil_tmp18 ;
8690 struct urb *__cil_tmp19 ;
8691 unsigned long __cil_tmp20 ;
8692 unsigned long __cil_tmp21 ;
8693 unsigned long __cil_tmp22 ;
8694 unsigned long __cil_tmp23 ;
8695 unsigned long __cil_tmp24 ;
8696 unsigned long __cil_tmp25 ;
8697 unsigned long __cil_tmp26 ;
8698 unsigned long __cil_tmp27 ;
8699 spinlock_t *__cil_tmp28 ;
8700 bool *__cil_tmp29 ;
8701 unsigned long __cil_tmp30 ;
8702 unsigned long __cil_tmp31 ;
8703 struct usb_serial_port *__cil_tmp32 ;
8704 bool *__cil_tmp33 ;
8705 bool *__cil_tmp34 ;
8706 unsigned long __cil_tmp35 ;
8707 unsigned long __cil_tmp36 ;
8708 struct usb_serial_port *__cil_tmp37 ;
8709 unsigned long __cil_tmp38 ;
8710 unsigned long __cil_tmp39 ;
8711 struct tty_port *__cil_tmp40 ;
8712 unsigned long __cil_tmp41 ;
8713 unsigned long __cil_tmp42 ;
8714
8715 {
8716 {
8717#line 816
8718 __cil_tmp7 = (unsigned long )urb;
8719#line 816
8720 __cil_tmp8 = __cil_tmp7 + 96;
8721#line 816
8722 status = *((int *)__cil_tmp8);
8723#line 819
8724 __cil_tmp9 = (unsigned long )urb;
8725#line 819
8726 __cil_tmp10 = __cil_tmp9 + 176;
8727#line 819
8728 __cil_tmp11 = *((void **)__cil_tmp10);
8729#line 819
8730 mos7840_port = (struct moschip_port *)__cil_tmp11;
8731#line 820
8732 __cil_tmp12 = (unsigned long )mos7840_port;
8733#line 820
8734 __cil_tmp13 = __cil_tmp12 + 216;
8735#line 820
8736 __cil_tmp14 = (spinlock_t *)__cil_tmp13;
8737#line 820
8738 spin_lock(__cil_tmp14);
8739#line 821
8740 i = 0;
8741 }
8742 {
8743#line 821
8744 while (1) {
8745 while_continue: ;
8746#line 821
8747 if (i < 16) {
8748
8749 } else {
8750#line 821
8751 goto while_break;
8752 }
8753 {
8754#line 822
8755 __cil_tmp15 = i * 8UL;
8756#line 822
8757 __cil_tmp16 = 240 + __cil_tmp15;
8758#line 822
8759 __cil_tmp17 = (unsigned long )mos7840_port;
8760#line 822
8761 __cil_tmp18 = __cil_tmp17 + __cil_tmp16;
8762#line 822
8763 __cil_tmp19 = *((struct urb **)__cil_tmp18);
8764#line 822
8765 __cil_tmp20 = (unsigned long )__cil_tmp19;
8766#line 822
8767 __cil_tmp21 = (unsigned long )urb;
8768#line 822
8769 if (__cil_tmp21 == __cil_tmp20) {
8770#line 823
8771 __cil_tmp22 = i * 1UL;
8772#line 823
8773 __cil_tmp23 = 368 + __cil_tmp22;
8774#line 823
8775 __cil_tmp24 = (unsigned long )mos7840_port;
8776#line 823
8777 __cil_tmp25 = __cil_tmp24 + __cil_tmp23;
8778#line 823
8779 *((char *)__cil_tmp25) = (char)0;
8780#line 824
8781 goto while_break;
8782 } else {
8783
8784 }
8785 }
8786#line 821
8787 i = i + 1;
8788 }
8789 while_break: ;
8790 }
8791 {
8792#line 827
8793 __cil_tmp26 = (unsigned long )mos7840_port;
8794#line 827
8795 __cil_tmp27 = __cil_tmp26 + 216;
8796#line 827
8797 __cil_tmp28 = (spinlock_t *)__cil_tmp27;
8798#line 827
8799 spin_unlock(__cil_tmp28);
8800 }
8801#line 829
8802 if (status) {
8803 {
8804#line 830
8805 while (1) {
8806 while_continue___0: ;
8807 {
8808#line 830
8809 __cil_tmp29 = & debug;
8810#line 830
8811 if (*__cil_tmp29) {
8812 {
8813#line 830
8814 printk("<7>%s: nonzero write bulk status received:%d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
8815 status);
8816 }
8817 } else {
8818
8819 }
8820 }
8821#line 830
8822 goto while_break___0;
8823 }
8824 while_break___0: ;
8825 }
8826#line 831
8827 return;
8828 } else {
8829
8830 }
8831 {
8832#line 834
8833 __cil_tmp30 = (unsigned long )mos7840_port;
8834#line 834
8835 __cil_tmp31 = __cil_tmp30 + 168;
8836#line 834
8837 __cil_tmp32 = *((struct usb_serial_port **)__cil_tmp31);
8838#line 834
8839 tmp___7 = mos7840_port_paranoia_check(__cil_tmp32, "mos7840_bulk_out_data_callback");
8840 }
8841#line 834
8842 if (tmp___7) {
8843 {
8844#line 835
8845 while (1) {
8846 while_continue___1: ;
8847 {
8848#line 835
8849 __cil_tmp33 = & debug;
8850#line 835
8851 if (*__cil_tmp33) {
8852 {
8853#line 835
8854 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
8855 "Port Paranoia failed");
8856 }
8857 } else {
8858
8859 }
8860 }
8861#line 835
8862 goto while_break___1;
8863 }
8864 while_break___1: ;
8865 }
8866#line 836
8867 return;
8868 } else {
8869
8870 }
8871 {
8872#line 839
8873 while (1) {
8874 while_continue___2: ;
8875 {
8876#line 839
8877 __cil_tmp34 = & debug;
8878#line 839
8879 if (*__cil_tmp34) {
8880 {
8881#line 839
8882 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
8883 "Entering .........");
8884 }
8885 } else {
8886
8887 }
8888 }
8889#line 839
8890 goto while_break___2;
8891 }
8892 while_break___2: ;
8893 }
8894 {
8895#line 841
8896 __cil_tmp35 = (unsigned long )mos7840_port;
8897#line 841
8898 __cil_tmp36 = __cil_tmp35 + 168;
8899#line 841
8900 __cil_tmp37 = *((struct usb_serial_port **)__cil_tmp36);
8901#line 841
8902 __cil_tmp38 = (unsigned long )__cil_tmp37;
8903#line 841
8904 __cil_tmp39 = __cil_tmp38 + 8;
8905#line 841
8906 __cil_tmp40 = (struct tty_port *)__cil_tmp39;
8907#line 841
8908 tty = tty_port_tty_get(__cil_tmp40);
8909 }
8910#line 842
8911 if (tty) {
8912 {
8913#line 842
8914 __cil_tmp41 = (unsigned long )mos7840_port;
8915#line 842
8916 __cil_tmp42 = __cil_tmp41 + 34;
8917#line 842
8918 if (*((char *)__cil_tmp42)) {
8919 {
8920#line 843
8921 tty_wakeup(tty);
8922 }
8923 } else {
8924
8925 }
8926 }
8927 } else {
8928
8929 }
8930 {
8931#line 844
8932 tty_kref_put(tty);
8933 }
8934#line 846
8935 return;
8936}
8937}
8938#line 1137 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
8939static struct lock_class_key __key___6 ;
8940#line 1138 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
8941static struct lock_class_key __key___7 ;
8942#line 871 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
8943static int mos7840_open(struct tty_struct *tty , struct usb_serial_port *port )
8944{ int response ;
8945 int j ;
8946 struct usb_serial *serial ;
8947 struct urb *urb ;
8948 __u16 Data ;
8949 int status ;
8950 struct moschip_port *mos7840_port ;
8951 struct moschip_port *port0 ;
8952 int tmp___7 ;
8953 int tmp___8 ;
8954 unsigned int tmp___9 ;
8955 unsigned int tmp___10 ;
8956 unsigned int tmp___11 ;
8957 bool *__cil_tmp16 ;
8958 bool *__cil_tmp17 ;
8959 bool *__cil_tmp18 ;
8960 unsigned long __cil_tmp19 ;
8961 unsigned long __cil_tmp20 ;
8962 unsigned long __cil_tmp21 ;
8963 unsigned long __cil_tmp22 ;
8964 struct usb_serial_port *__cil_tmp23 ;
8965 void *__cil_tmp24 ;
8966 unsigned long __cil_tmp25 ;
8967 unsigned long __cil_tmp26 ;
8968 void *__cil_tmp27 ;
8969 unsigned long __cil_tmp28 ;
8970 unsigned long __cil_tmp29 ;
8971 struct usb_device *__cil_tmp30 ;
8972 unsigned long __cil_tmp31 ;
8973 unsigned long __cil_tmp32 ;
8974 struct urb *__cil_tmp33 ;
8975 unsigned long __cil_tmp34 ;
8976 unsigned long __cil_tmp35 ;
8977 unsigned int __cil_tmp36 ;
8978 int __cil_tmp37 ;
8979 struct usb_device *__cil_tmp38 ;
8980 unsigned long __cil_tmp39 ;
8981 unsigned long __cil_tmp40 ;
8982 struct urb *__cil_tmp41 ;
8983 unsigned long __cil_tmp42 ;
8984 unsigned long __cil_tmp43 ;
8985 unsigned int __cil_tmp44 ;
8986 int __cil_tmp45 ;
8987 unsigned long __cil_tmp46 ;
8988 unsigned long __cil_tmp47 ;
8989 unsigned long __cil_tmp48 ;
8990 unsigned long __cil_tmp49 ;
8991 char __cil_tmp50 ;
8992 int __cil_tmp51 ;
8993 int __cil_tmp52 ;
8994 unsigned long __cil_tmp53 ;
8995 unsigned long __cil_tmp54 ;
8996 unsigned long __cil_tmp55 ;
8997 unsigned long __cil_tmp56 ;
8998 void *__cil_tmp57 ;
8999 unsigned long __cil_tmp58 ;
9000 unsigned long __cil_tmp59 ;
9001 unsigned long __cil_tmp60 ;
9002 unsigned long __cil_tmp61 ;
9003 struct device *__cil_tmp62 ;
9004 struct device const *__cil_tmp63 ;
9005 unsigned long __cil_tmp64 ;
9006 unsigned long __cil_tmp65 ;
9007 size_t __cil_tmp66 ;
9008 unsigned long __cil_tmp67 ;
9009 unsigned long __cil_tmp68 ;
9010 void *__cil_tmp69 ;
9011 unsigned long __cil_tmp70 ;
9012 unsigned long __cil_tmp71 ;
9013 unsigned long __cil_tmp72 ;
9014 unsigned long __cil_tmp73 ;
9015 void *__cil_tmp74 ;
9016 unsigned long __cil_tmp75 ;
9017 unsigned long __cil_tmp76 ;
9018 struct device *__cil_tmp77 ;
9019 struct device const *__cil_tmp78 ;
9020 __u16 *__cil_tmp79 ;
9021 unsigned long __cil_tmp80 ;
9022 unsigned long __cil_tmp81 ;
9023 __u8 __cil_tmp82 ;
9024 __u16 __cil_tmp83 ;
9025 bool *__cil_tmp84 ;
9026 __u16 *__cil_tmp85 ;
9027 __u16 *__cil_tmp86 ;
9028 __u16 __cil_tmp87 ;
9029 int __cil_tmp88 ;
9030 int __cil_tmp89 ;
9031 unsigned long __cil_tmp90 ;
9032 unsigned long __cil_tmp91 ;
9033 __u8 __cil_tmp92 ;
9034 __u16 __cil_tmp93 ;
9035 __u16 *__cil_tmp94 ;
9036 __u16 __cil_tmp95 ;
9037 bool *__cil_tmp96 ;
9038 __u16 *__cil_tmp97 ;
9039 __u16 *__cil_tmp98 ;
9040 __u16 __cil_tmp99 ;
9041 int __cil_tmp100 ;
9042 int __cil_tmp101 ;
9043 unsigned long __cil_tmp102 ;
9044 unsigned long __cil_tmp103 ;
9045 __u8 __cil_tmp104 ;
9046 __u16 __cil_tmp105 ;
9047 __u16 *__cil_tmp106 ;
9048 __u16 __cil_tmp107 ;
9049 bool *__cil_tmp108 ;
9050 __u16 *__cil_tmp109 ;
9051 unsigned long __cil_tmp110 ;
9052 unsigned long __cil_tmp111 ;
9053 __u8 __cil_tmp112 ;
9054 __u16 __cil_tmp113 ;
9055 bool *__cil_tmp114 ;
9056 __u16 *__cil_tmp115 ;
9057 __u16 *__cil_tmp116 ;
9058 __u16 __cil_tmp117 ;
9059 int __cil_tmp118 ;
9060 int __cil_tmp119 ;
9061 __u16 *__cil_tmp120 ;
9062 __u16 *__cil_tmp121 ;
9063 __u16 __cil_tmp122 ;
9064 int __cil_tmp123 ;
9065 int __cil_tmp124 ;
9066 unsigned long __cil_tmp125 ;
9067 unsigned long __cil_tmp126 ;
9068 __u8 __cil_tmp127 ;
9069 __u16 __cil_tmp128 ;
9070 __u16 *__cil_tmp129 ;
9071 __u16 __cil_tmp130 ;
9072 bool *__cil_tmp131 ;
9073 __u16 *__cil_tmp132 ;
9074 __u16 __cil_tmp133 ;
9075 __u16 *__cil_tmp134 ;
9076 __u16 __cil_tmp135 ;
9077 bool *__cil_tmp136 ;
9078 __u16 *__cil_tmp137 ;
9079 __u16 __cil_tmp138 ;
9080 __u16 *__cil_tmp139 ;
9081 __u16 __cil_tmp140 ;
9082 bool *__cil_tmp141 ;
9083 __u16 *__cil_tmp142 ;
9084 __u16 __cil_tmp143 ;
9085 __u16 *__cil_tmp144 ;
9086 __u16 __cil_tmp145 ;
9087 bool *__cil_tmp146 ;
9088 __u16 *__cil_tmp147 ;
9089 __u16 __cil_tmp148 ;
9090 __u16 *__cil_tmp149 ;
9091 __u16 __cil_tmp150 ;
9092 unsigned long __cil_tmp151 ;
9093 unsigned long __cil_tmp152 ;
9094 __u16 *__cil_tmp153 ;
9095 __u16 __cil_tmp154 ;
9096 __u16 *__cil_tmp155 ;
9097 __u16 __cil_tmp156 ;
9098 __u16 *__cil_tmp157 ;
9099 __u16 __cil_tmp158 ;
9100 unsigned long __cil_tmp159 ;
9101 unsigned long __cil_tmp160 ;
9102 __u16 *__cil_tmp161 ;
9103 __u16 __cil_tmp162 ;
9104 __u16 *__cil_tmp163 ;
9105 __u16 __cil_tmp164 ;
9106 unsigned long __cil_tmp165 ;
9107 unsigned long __cil_tmp166 ;
9108 __u16 *__cil_tmp167 ;
9109 __u16 __cil_tmp168 ;
9110 __u16 *__cil_tmp169 ;
9111 __u16 *__cil_tmp170 ;
9112 __u16 __cil_tmp171 ;
9113 int __cil_tmp172 ;
9114 int __cil_tmp173 ;
9115 __u16 __cil_tmp174 ;
9116 __u16 *__cil_tmp175 ;
9117 __u16 __cil_tmp176 ;
9118 __u16 *__cil_tmp177 ;
9119 __u16 __cil_tmp178 ;
9120 __u16 *__cil_tmp179 ;
9121 __u16 __cil_tmp180 ;
9122 __u16 *__cil_tmp181 ;
9123 __u16 __cil_tmp182 ;
9124 __u16 *__cil_tmp183 ;
9125 __u16 __cil_tmp184 ;
9126 __u16 *__cil_tmp185 ;
9127 __u16 __cil_tmp186 ;
9128 __u16 *__cil_tmp187 ;
9129 __u16 *__cil_tmp188 ;
9130 __u16 __cil_tmp189 ;
9131 int __cil_tmp190 ;
9132 int __cil_tmp191 ;
9133 __u16 __cil_tmp192 ;
9134 __u16 *__cil_tmp193 ;
9135 __u16 __cil_tmp194 ;
9136 unsigned long __cil_tmp195 ;
9137 unsigned long __cil_tmp196 ;
9138 __u16 *__cil_tmp197 ;
9139 __u16 __cil_tmp198 ;
9140 __u16 *__cil_tmp199 ;
9141 unsigned long __cil_tmp200 ;
9142 unsigned long __cil_tmp201 ;
9143 __u8 __cil_tmp202 ;
9144 __u16 __cil_tmp203 ;
9145 __u16 *__cil_tmp204 ;
9146 __u16 *__cil_tmp205 ;
9147 __u16 __cil_tmp206 ;
9148 int __cil_tmp207 ;
9149 int __cil_tmp208 ;
9150 unsigned long __cil_tmp209 ;
9151 unsigned long __cil_tmp210 ;
9152 __u8 __cil_tmp211 ;
9153 __u16 __cil_tmp212 ;
9154 __u16 *__cil_tmp213 ;
9155 __u16 __cil_tmp214 ;
9156 __u16 *__cil_tmp215 ;
9157 __u16 *__cil_tmp216 ;
9158 __u16 __cil_tmp217 ;
9159 int __cil_tmp218 ;
9160 int __cil_tmp219 ;
9161 unsigned long __cil_tmp220 ;
9162 unsigned long __cil_tmp221 ;
9163 __u8 __cil_tmp222 ;
9164 __u16 __cil_tmp223 ;
9165 __u16 *__cil_tmp224 ;
9166 __u16 __cil_tmp225 ;
9167 __u16 *__cil_tmp226 ;
9168 __u16 __cil_tmp227 ;
9169 __u16 *__cil_tmp228 ;
9170 __u16 __cil_tmp229 ;
9171 __u16 *__cil_tmp230 ;
9172 unsigned long __cil_tmp231 ;
9173 unsigned long __cil_tmp232 ;
9174 __u8 __cil_tmp233 ;
9175 __u16 __cil_tmp234 ;
9176 __u16 *__cil_tmp235 ;
9177 __u16 *__cil_tmp236 ;
9178 __u16 __cil_tmp237 ;
9179 int __cil_tmp238 ;
9180 int __cil_tmp239 ;
9181 unsigned long __cil_tmp240 ;
9182 unsigned long __cil_tmp241 ;
9183 __u8 __cil_tmp242 ;
9184 __u16 __cil_tmp243 ;
9185 __u16 *__cil_tmp244 ;
9186 __u16 __cil_tmp245 ;
9187 __u16 *__cil_tmp246 ;
9188 unsigned long __cil_tmp247 ;
9189 unsigned long __cil_tmp248 ;
9190 __u8 __cil_tmp249 ;
9191 __u16 __cil_tmp250 ;
9192 __u16 *__cil_tmp251 ;
9193 __u16 *__cil_tmp252 ;
9194 __u16 __cil_tmp253 ;
9195 int __cil_tmp254 ;
9196 int __cil_tmp255 ;
9197 unsigned long __cil_tmp256 ;
9198 unsigned long __cil_tmp257 ;
9199 __u8 __cil_tmp258 ;
9200 __u16 __cil_tmp259 ;
9201 __u16 *__cil_tmp260 ;
9202 __u16 __cil_tmp261 ;
9203 unsigned long __cil_tmp262 ;
9204 unsigned long __cil_tmp263 ;
9205 char __cil_tmp264 ;
9206 int __cil_tmp265 ;
9207 void *__cil_tmp266 ;
9208 unsigned long __cil_tmp267 ;
9209 unsigned long __cil_tmp268 ;
9210 unsigned long __cil_tmp269 ;
9211 unsigned long __cil_tmp270 ;
9212 unsigned long __cil_tmp271 ;
9213 struct usb_serial_port *__cil_tmp272 ;
9214 unsigned long __cil_tmp273 ;
9215 unsigned long __cil_tmp274 ;
9216 unsigned char *__cil_tmp275 ;
9217 unsigned long __cil_tmp276 ;
9218 struct usb_device *__cil_tmp277 ;
9219 unsigned long __cil_tmp278 ;
9220 unsigned long __cil_tmp279 ;
9221 unsigned long __cil_tmp280 ;
9222 unsigned long __cil_tmp281 ;
9223 struct usb_serial_port *__cil_tmp282 ;
9224 unsigned long __cil_tmp283 ;
9225 unsigned long __cil_tmp284 ;
9226 __u8 __cil_tmp285 ;
9227 unsigned int __cil_tmp286 ;
9228 unsigned long __cil_tmp287 ;
9229 unsigned long __cil_tmp288 ;
9230 unsigned long __cil_tmp289 ;
9231 unsigned long __cil_tmp290 ;
9232 struct usb_serial_port *__cil_tmp291 ;
9233 unsigned long __cil_tmp292 ;
9234 unsigned long __cil_tmp293 ;
9235 struct urb *__cil_tmp294 ;
9236 struct usb_device *__cil_tmp295 ;
9237 int __cil_tmp296 ;
9238 unsigned int __cil_tmp297 ;
9239 unsigned int __cil_tmp298 ;
9240 unsigned int __cil_tmp299 ;
9241 unsigned long __cil_tmp300 ;
9242 unsigned long __cil_tmp301 ;
9243 unsigned long __cil_tmp302 ;
9244 unsigned long __cil_tmp303 ;
9245 struct usb_serial_port *__cil_tmp304 ;
9246 unsigned long __cil_tmp305 ;
9247 unsigned long __cil_tmp306 ;
9248 unsigned char *__cil_tmp307 ;
9249 void *__cil_tmp308 ;
9250 unsigned long __cil_tmp309 ;
9251 unsigned long __cil_tmp310 ;
9252 unsigned long __cil_tmp311 ;
9253 unsigned long __cil_tmp312 ;
9254 struct usb_serial_port *__cil_tmp313 ;
9255 unsigned long __cil_tmp314 ;
9256 unsigned long __cil_tmp315 ;
9257 struct urb *__cil_tmp316 ;
9258 unsigned long __cil_tmp317 ;
9259 unsigned long __cil_tmp318 ;
9260 u32 __cil_tmp319 ;
9261 int __cil_tmp320 ;
9262 void *__cil_tmp321 ;
9263 unsigned long __cil_tmp322 ;
9264 unsigned long __cil_tmp323 ;
9265 unsigned long __cil_tmp324 ;
9266 unsigned long __cil_tmp325 ;
9267 struct usb_serial_port *__cil_tmp326 ;
9268 unsigned long __cil_tmp327 ;
9269 unsigned long __cil_tmp328 ;
9270 struct urb *__cil_tmp329 ;
9271 unsigned long __cil_tmp330 ;
9272 unsigned long __cil_tmp331 ;
9273 int __cil_tmp332 ;
9274 unsigned long __cil_tmp333 ;
9275 unsigned long __cil_tmp334 ;
9276 unsigned long __cil_tmp335 ;
9277 unsigned long __cil_tmp336 ;
9278 struct usb_serial_port *__cil_tmp337 ;
9279 unsigned long __cil_tmp338 ;
9280 unsigned long __cil_tmp339 ;
9281 struct urb *__cil_tmp340 ;
9282 unsigned long __cil_tmp341 ;
9283 unsigned long __cil_tmp342 ;
9284 struct device *__cil_tmp343 ;
9285 struct device const *__cil_tmp344 ;
9286 bool *__cil_tmp345 ;
9287 unsigned long __cil_tmp346 ;
9288 unsigned long __cil_tmp347 ;
9289 unsigned char __cil_tmp348 ;
9290 int __cil_tmp349 ;
9291 bool *__cil_tmp350 ;
9292 struct usb_serial *__cil_tmp351 ;
9293 unsigned long __cil_tmp352 ;
9294 unsigned long __cil_tmp353 ;
9295 unsigned char __cil_tmp354 ;
9296 int __cil_tmp355 ;
9297 bool *__cil_tmp356 ;
9298 unsigned long __cil_tmp357 ;
9299 unsigned long __cil_tmp358 ;
9300 __u8 __cil_tmp359 ;
9301 int __cil_tmp360 ;
9302 bool *__cil_tmp361 ;
9303 unsigned long __cil_tmp362 ;
9304 unsigned long __cil_tmp363 ;
9305 __u8 __cil_tmp364 ;
9306 int __cil_tmp365 ;
9307 bool *__cil_tmp366 ;
9308 unsigned long __cil_tmp367 ;
9309 unsigned long __cil_tmp368 ;
9310 __u8 __cil_tmp369 ;
9311 int __cil_tmp370 ;
9312 bool *__cil_tmp371 ;
9313 int __cil_tmp372 ;
9314 unsigned long __cil_tmp373 ;
9315 unsigned long __cil_tmp374 ;
9316 unsigned long __cil_tmp375 ;
9317 unsigned long __cil_tmp376 ;
9318 unsigned long __cil_tmp377 ;
9319 unsigned long __cil_tmp378 ;
9320 unsigned char __cil_tmp379 ;
9321 int __cil_tmp380 ;
9322 struct usb_serial *__cil_tmp381 ;
9323 unsigned long __cil_tmp382 ;
9324 unsigned long __cil_tmp383 ;
9325 unsigned char __cil_tmp384 ;
9326 __u16 __cil_tmp385 ;
9327 int __cil_tmp386 ;
9328 unsigned long __cil_tmp387 ;
9329 unsigned long __cil_tmp388 ;
9330 unsigned char __cil_tmp389 ;
9331 __u16 __cil_tmp390 ;
9332 int __cil_tmp391 ;
9333 int __cil_tmp392 ;
9334 int __cil_tmp393 ;
9335 struct usb_device *__cil_tmp394 ;
9336 unsigned long __cil_tmp395 ;
9337 unsigned long __cil_tmp396 ;
9338 __u8 __cil_tmp397 ;
9339 int __cil_tmp398 ;
9340 int __cil_tmp399 ;
9341 unsigned int __cil_tmp400 ;
9342 unsigned long __cil_tmp401 ;
9343 unsigned long __cil_tmp402 ;
9344 struct urb *__cil_tmp403 ;
9345 struct usb_device *__cil_tmp404 ;
9346 int __cil_tmp405 ;
9347 unsigned int __cil_tmp406 ;
9348 unsigned int __cil_tmp407 ;
9349 unsigned int __cil_tmp408 ;
9350 unsigned long __cil_tmp409 ;
9351 unsigned long __cil_tmp410 ;
9352 unsigned char *__cil_tmp411 ;
9353 void *__cil_tmp412 ;
9354 unsigned long __cil_tmp413 ;
9355 unsigned long __cil_tmp414 ;
9356 struct urb *__cil_tmp415 ;
9357 unsigned long __cil_tmp416 ;
9358 unsigned long __cil_tmp417 ;
9359 u32 __cil_tmp418 ;
9360 int __cil_tmp419 ;
9361 void *__cil_tmp420 ;
9362 struct usb_device *__cil_tmp421 ;
9363 unsigned long __cil_tmp422 ;
9364 unsigned long __cil_tmp423 ;
9365 __u8 __cil_tmp424 ;
9366 unsigned int __cil_tmp425 ;
9367 unsigned long __cil_tmp426 ;
9368 unsigned long __cil_tmp427 ;
9369 struct urb *__cil_tmp428 ;
9370 struct usb_device *__cil_tmp429 ;
9371 int __cil_tmp430 ;
9372 unsigned int __cil_tmp431 ;
9373 unsigned int __cil_tmp432 ;
9374 unsigned int __cil_tmp433 ;
9375 unsigned long __cil_tmp434 ;
9376 unsigned long __cil_tmp435 ;
9377 unsigned char *__cil_tmp436 ;
9378 void *__cil_tmp437 ;
9379 unsigned long __cil_tmp438 ;
9380 unsigned long __cil_tmp439 ;
9381 struct urb *__cil_tmp440 ;
9382 unsigned long __cil_tmp441 ;
9383 unsigned long __cil_tmp442 ;
9384 u32 __cil_tmp443 ;
9385 int __cil_tmp444 ;
9386 void *__cil_tmp445 ;
9387 struct usb_device *__cil_tmp446 ;
9388 unsigned long __cil_tmp447 ;
9389 unsigned long __cil_tmp448 ;
9390 __u8 __cil_tmp449 ;
9391 unsigned int __cil_tmp450 ;
9392 unsigned long __cil_tmp451 ;
9393 unsigned long __cil_tmp452 ;
9394 struct urb *__cil_tmp453 ;
9395 struct usb_device *__cil_tmp454 ;
9396 int __cil_tmp455 ;
9397 unsigned int __cil_tmp456 ;
9398 unsigned int __cil_tmp457 ;
9399 unsigned int __cil_tmp458 ;
9400 unsigned long __cil_tmp459 ;
9401 unsigned long __cil_tmp460 ;
9402 unsigned char *__cil_tmp461 ;
9403 void *__cil_tmp462 ;
9404 unsigned long __cil_tmp463 ;
9405 unsigned long __cil_tmp464 ;
9406 struct urb *__cil_tmp465 ;
9407 unsigned long __cil_tmp466 ;
9408 unsigned long __cil_tmp467 ;
9409 u32 __cil_tmp468 ;
9410 int __cil_tmp469 ;
9411 void *__cil_tmp470 ;
9412 bool *__cil_tmp471 ;
9413 unsigned long __cil_tmp472 ;
9414 unsigned long __cil_tmp473 ;
9415 __u8 __cil_tmp474 ;
9416 int __cil_tmp475 ;
9417 unsigned long __cil_tmp476 ;
9418 unsigned long __cil_tmp477 ;
9419 unsigned long __cil_tmp478 ;
9420 unsigned long __cil_tmp479 ;
9421 struct urb *__cil_tmp480 ;
9422 unsigned long __cil_tmp481 ;
9423 unsigned long __cil_tmp482 ;
9424 struct device *__cil_tmp483 ;
9425 struct device const *__cil_tmp484 ;
9426 unsigned long __cil_tmp485 ;
9427 unsigned long __cil_tmp486 ;
9428 unsigned long __cil_tmp487 ;
9429 unsigned long __cil_tmp488 ;
9430 wait_queue_head_t *__cil_tmp489 ;
9431 unsigned long __cil_tmp490 ;
9432 unsigned long __cil_tmp491 ;
9433 wait_queue_head_t *__cil_tmp492 ;
9434 unsigned long __cil_tmp493 ;
9435 unsigned long __cil_tmp494 ;
9436 struct async_icount *__cil_tmp495 ;
9437 void *__cil_tmp496 ;
9438 unsigned long __cil_tmp497 ;
9439 unsigned long __cil_tmp498 ;
9440 unsigned long __cil_tmp499 ;
9441 unsigned long __cil_tmp500 ;
9442 unsigned long __cil_tmp501 ;
9443 unsigned long __cil_tmp502 ;
9444 unsigned long __cil_tmp503 ;
9445 unsigned long __cil_tmp504 ;
9446 unsigned long __cil_tmp505 ;
9447 unsigned long __cil_tmp506 ;
9448 bool *__cil_tmp507 ;
9449 bool *__cil_tmp508 ;
9450
9451 {
9452 {
9453#line 882
9454 while (1) {
9455 while_continue: ;
9456 {
9457#line 882
9458 __cil_tmp16 = & debug;
9459#line 882
9460 if (*__cil_tmp16) {
9461 {
9462#line 882
9463 printk("<7>%s: %s enter\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
9464 "mos7840_open");
9465 }
9466 } else {
9467
9468 }
9469 }
9470#line 882
9471 goto while_break;
9472 }
9473 while_break: ;
9474 }
9475 {
9476#line 884
9477 tmp___7 = mos7840_port_paranoia_check(port, "mos7840_open");
9478 }
9479#line 884
9480 if (tmp___7) {
9481 {
9482#line 885
9483 while (1) {
9484 while_continue___0: ;
9485 {
9486#line 885
9487 __cil_tmp17 = & debug;
9488#line 885
9489 if (*__cil_tmp17) {
9490 {
9491#line 885
9492 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
9493 "Port Paranoia failed");
9494 }
9495 } else {
9496
9497 }
9498 }
9499#line 885
9500 goto while_break___0;
9501 }
9502 while_break___0: ;
9503 }
9504#line 886
9505 return (-19);
9506 } else {
9507
9508 }
9509 {
9510#line 889
9511 serial = *((struct usb_serial **)port);
9512#line 891
9513 tmp___8 = mos7840_serial_paranoia_check(serial, "mos7840_open");
9514 }
9515#line 891
9516 if (tmp___8) {
9517 {
9518#line 892
9519 while (1) {
9520 while_continue___1: ;
9521 {
9522#line 892
9523 __cil_tmp18 = & debug;
9524#line 892
9525 if (*__cil_tmp18) {
9526 {
9527#line 892
9528 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
9529 "Serial Paranoia failed");
9530 }
9531 } else {
9532
9533 }
9534 }
9535#line 892
9536 goto while_break___1;
9537 }
9538 while_break___1: ;
9539 }
9540#line 893
9541 return (-19);
9542 } else {
9543
9544 }
9545 {
9546#line 896
9547 mos7840_port = mos7840_get_port_private(port);
9548#line 897
9549 __cil_tmp19 = 0 * 8UL;
9550#line 897
9551 __cil_tmp20 = 32 + __cil_tmp19;
9552#line 897
9553 __cil_tmp21 = (unsigned long )serial;
9554#line 897
9555 __cil_tmp22 = __cil_tmp21 + __cil_tmp20;
9556#line 897
9557 __cil_tmp23 = *((struct usb_serial_port **)__cil_tmp22);
9558#line 897
9559 port0 = mos7840_get_port_private(__cil_tmp23);
9560 }
9561 {
9562#line 899
9563 __cil_tmp24 = (void *)0;
9564#line 899
9565 __cil_tmp25 = (unsigned long )__cil_tmp24;
9566#line 899
9567 __cil_tmp26 = (unsigned long )mos7840_port;
9568#line 899
9569 if (__cil_tmp26 == __cil_tmp25) {
9570#line 900
9571 return (-19);
9572 } else {
9573 {
9574#line 899
9575 __cil_tmp27 = (void *)0;
9576#line 899
9577 __cil_tmp28 = (unsigned long )__cil_tmp27;
9578#line 899
9579 __cil_tmp29 = (unsigned long )port0;
9580#line 899
9581 if (__cil_tmp29 == __cil_tmp28) {
9582#line 900
9583 return (-19);
9584 } else {
9585
9586 }
9587 }
9588 }
9589 }
9590 {
9591#line 902
9592 __cil_tmp30 = *((struct usb_device **)serial);
9593#line 902
9594 __cil_tmp31 = (unsigned long )port;
9595#line 902
9596 __cil_tmp32 = __cil_tmp31 + 536;
9597#line 902
9598 __cil_tmp33 = *((struct urb **)__cil_tmp32);
9599#line 902
9600 __cil_tmp34 = (unsigned long )__cil_tmp33;
9601#line 902
9602 __cil_tmp35 = __cil_tmp34 + 88;
9603#line 902
9604 __cil_tmp36 = *((unsigned int *)__cil_tmp35);
9605#line 902
9606 __cil_tmp37 = (int )__cil_tmp36;
9607#line 902
9608 usb_clear_halt(__cil_tmp30, __cil_tmp37);
9609#line 903
9610 __cil_tmp38 = *((struct usb_device **)serial);
9611#line 903
9612 __cil_tmp39 = (unsigned long )port;
9613#line 903
9614 __cil_tmp40 = __cil_tmp39 + 464;
9615#line 903
9616 __cil_tmp41 = *((struct urb **)__cil_tmp40);
9617#line 903
9618 __cil_tmp42 = (unsigned long )__cil_tmp41;
9619#line 903
9620 __cil_tmp43 = __cil_tmp42 + 88;
9621#line 903
9622 __cil_tmp44 = *((unsigned int *)__cil_tmp43);
9623#line 903
9624 __cil_tmp45 = (int )__cil_tmp44;
9625#line 903
9626 usb_clear_halt(__cil_tmp38, __cil_tmp45);
9627#line 904
9628 __cil_tmp46 = (unsigned long )port0;
9629#line 904
9630 __cil_tmp47 = __cil_tmp46 + 35;
9631#line 904
9632 __cil_tmp48 = (unsigned long )port0;
9633#line 904
9634 __cil_tmp49 = __cil_tmp48 + 35;
9635#line 904
9636 __cil_tmp50 = *((char *)__cil_tmp49);
9637#line 904
9638 __cil_tmp51 = (int )__cil_tmp50;
9639#line 904
9640 __cil_tmp52 = __cil_tmp51 + 1;
9641#line 904
9642 *((char *)__cil_tmp47) = (char )__cil_tmp52;
9643#line 907
9644 j = 0;
9645 }
9646 {
9647#line 907
9648 while (1) {
9649 while_continue___2: ;
9650#line 907
9651 if (j < 16) {
9652
9653 } else {
9654#line 907
9655 goto while_break___2;
9656 }
9657 {
9658#line 908
9659 urb = usb_alloc_urb(0, 208U);
9660#line 909
9661 __cil_tmp53 = j * 8UL;
9662#line 909
9663 __cil_tmp54 = 240 + __cil_tmp53;
9664#line 909
9665 __cil_tmp55 = (unsigned long )mos7840_port;
9666#line 909
9667 __cil_tmp56 = __cil_tmp55 + __cil_tmp54;
9668#line 909
9669 *((struct urb **)__cil_tmp56) = urb;
9670 }
9671 {
9672#line 911
9673 __cil_tmp57 = (void *)0;
9674#line 911
9675 __cil_tmp58 = (unsigned long )__cil_tmp57;
9676#line 911
9677 __cil_tmp59 = (unsigned long )urb;
9678#line 911
9679 if (__cil_tmp59 == __cil_tmp58) {
9680 {
9681#line 912
9682 __cil_tmp60 = (unsigned long )port;
9683#line 912
9684 __cil_tmp61 = __cil_tmp60 + 712;
9685#line 912
9686 __cil_tmp62 = (struct device *)__cil_tmp61;
9687#line 912
9688 __cil_tmp63 = (struct device const *)__cil_tmp62;
9689#line 912
9690 dev_err(__cil_tmp63, "No more urbs???\n");
9691 }
9692#line 913
9693 goto __Cont;
9694 } else {
9695
9696 }
9697 }
9698 {
9699#line 916
9700 __cil_tmp64 = (unsigned long )urb;
9701#line 916
9702 __cil_tmp65 = __cil_tmp64 + 104;
9703#line 916
9704 __cil_tmp66 = (size_t )32;
9705#line 916
9706 *((void **)__cil_tmp65) = kmalloc(__cil_tmp66, 208U);
9707 }
9708 {
9709#line 918
9710 __cil_tmp67 = (unsigned long )urb;
9711#line 918
9712 __cil_tmp68 = __cil_tmp67 + 104;
9713#line 918
9714 __cil_tmp69 = *((void **)__cil_tmp68);
9715#line 918
9716 if (! __cil_tmp69) {
9717 {
9718#line 919
9719 usb_free_urb(urb);
9720#line 920
9721 __cil_tmp70 = j * 8UL;
9722#line 920
9723 __cil_tmp71 = 240 + __cil_tmp70;
9724#line 920
9725 __cil_tmp72 = (unsigned long )mos7840_port;
9726#line 920
9727 __cil_tmp73 = __cil_tmp72 + __cil_tmp71;
9728#line 920
9729 __cil_tmp74 = (void *)0;
9730#line 920
9731 *((struct urb **)__cil_tmp73) = (struct urb *)__cil_tmp74;
9732#line 921
9733 __cil_tmp75 = (unsigned long )port;
9734#line 921
9735 __cil_tmp76 = __cil_tmp75 + 712;
9736#line 921
9737 __cil_tmp77 = (struct device *)__cil_tmp76;
9738#line 921
9739 __cil_tmp78 = (struct device const *)__cil_tmp77;
9740#line 921
9741 dev_err(__cil_tmp78, "%s-out of memory for urb buffers.\n", "mos7840_open");
9742 }
9743#line 924
9744 goto __Cont;
9745 } else {
9746
9747 }
9748 }
9749 __Cont:
9750#line 907
9751 j = j + 1;
9752 }
9753 while_break___2: ;
9754 }
9755 {
9756#line 942
9757 __cil_tmp79 = & Data;
9758#line 942
9759 *__cil_tmp79 = (__u16 )0;
9760#line 943
9761 __cil_tmp80 = (unsigned long )mos7840_port;
9762#line 943
9763 __cil_tmp81 = __cil_tmp80 + 176;
9764#line 943
9765 __cil_tmp82 = *((__u8 *)__cil_tmp81);
9766#line 943
9767 __cil_tmp83 = (__u16 )__cil_tmp82;
9768#line 943
9769 status = mos7840_get_reg_sync(port, __cil_tmp83, & Data);
9770 }
9771#line 944
9772 if (status < 0) {
9773 {
9774#line 945
9775 while (1) {
9776 while_continue___3: ;
9777 {
9778#line 945
9779 __cil_tmp84 = & debug;
9780#line 945
9781 if (*__cil_tmp84) {
9782 {
9783#line 945
9784 printk("<7>%s: Reading Spreg failed\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c");
9785 }
9786 } else {
9787
9788 }
9789 }
9790#line 945
9791 goto while_break___3;
9792 }
9793 while_break___3: ;
9794 }
9795#line 946
9796 return (-1);
9797 } else {
9798
9799 }
9800 {
9801#line 948
9802 __cil_tmp85 = & Data;
9803#line 948
9804 __cil_tmp86 = & Data;
9805#line 948
9806 __cil_tmp87 = *__cil_tmp86;
9807#line 948
9808 __cil_tmp88 = (int )__cil_tmp87;
9809#line 948
9810 __cil_tmp89 = __cil_tmp88 | 128;
9811#line 948
9812 *__cil_tmp85 = (__u16 )__cil_tmp89;
9813#line 949
9814 __cil_tmp90 = (unsigned long )mos7840_port;
9815#line 949
9816 __cil_tmp91 = __cil_tmp90 + 176;
9817#line 949
9818 __cil_tmp92 = *((__u8 *)__cil_tmp91);
9819#line 949
9820 __cil_tmp93 = (__u16 )__cil_tmp92;
9821#line 949
9822 __cil_tmp94 = & Data;
9823#line 949
9824 __cil_tmp95 = *__cil_tmp94;
9825#line 949
9826 status = mos7840_set_reg_sync(port, __cil_tmp93, __cil_tmp95);
9827 }
9828#line 950
9829 if (status < 0) {
9830 {
9831#line 951
9832 while (1) {
9833 while_continue___4: ;
9834 {
9835#line 951
9836 __cil_tmp96 = & debug;
9837#line 951
9838 if (*__cil_tmp96) {
9839 {
9840#line 951
9841 printk("<7>%s: writing Spreg failed\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c");
9842 }
9843 } else {
9844
9845 }
9846 }
9847#line 951
9848 goto while_break___4;
9849 }
9850 while_break___4: ;
9851 }
9852#line 952
9853 return (-1);
9854 } else {
9855
9856 }
9857 {
9858#line 955
9859 __cil_tmp97 = & Data;
9860#line 955
9861 __cil_tmp98 = & Data;
9862#line 955
9863 __cil_tmp99 = *__cil_tmp98;
9864#line 955
9865 __cil_tmp100 = (int )__cil_tmp99;
9866#line 955
9867 __cil_tmp101 = __cil_tmp100 & -129;
9868#line 955
9869 *__cil_tmp97 = (__u16 )__cil_tmp101;
9870#line 956
9871 __cil_tmp102 = (unsigned long )mos7840_port;
9872#line 956
9873 __cil_tmp103 = __cil_tmp102 + 176;
9874#line 956
9875 __cil_tmp104 = *((__u8 *)__cil_tmp103);
9876#line 956
9877 __cil_tmp105 = (__u16 )__cil_tmp104;
9878#line 956
9879 __cil_tmp106 = & Data;
9880#line 956
9881 __cil_tmp107 = *__cil_tmp106;
9882#line 956
9883 status = mos7840_set_reg_sync(port, __cil_tmp105, __cil_tmp107);
9884 }
9885#line 957
9886 if (status < 0) {
9887 {
9888#line 958
9889 while (1) {
9890 while_continue___5: ;
9891 {
9892#line 958
9893 __cil_tmp108 = & debug;
9894#line 958
9895 if (*__cil_tmp108) {
9896 {
9897#line 958
9898 printk("<7>%s: writing Spreg failed\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c");
9899 }
9900 } else {
9901
9902 }
9903 }
9904#line 958
9905 goto while_break___5;
9906 }
9907 while_break___5: ;
9908 }
9909#line 959
9910 return (-1);
9911 } else {
9912
9913 }
9914 {
9915#line 963
9916 __cil_tmp109 = & Data;
9917#line 963
9918 *__cil_tmp109 = (__u16 )0;
9919#line 964
9920 __cil_tmp110 = (unsigned long )mos7840_port;
9921#line 964
9922 __cil_tmp111 = __cil_tmp110 + 177;
9923#line 964
9924 __cil_tmp112 = *((__u8 *)__cil_tmp111);
9925#line 964
9926 __cil_tmp113 = (__u16 )__cil_tmp112;
9927#line 964
9928 status = mos7840_get_reg_sync(port, __cil_tmp113, & Data);
9929 }
9930#line 966
9931 if (status < 0) {
9932 {
9933#line 967
9934 while (1) {
9935 while_continue___6: ;
9936 {
9937#line 967
9938 __cil_tmp114 = & debug;
9939#line 967
9940 if (*__cil_tmp114) {
9941 {
9942#line 967
9943 printk("<7>%s: Reading Controlreg failed\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c");
9944 }
9945 } else {
9946
9947 }
9948 }
9949#line 967
9950 goto while_break___6;
9951 }
9952 while_break___6: ;
9953 }
9954#line 968
9955 return (-1);
9956 } else {
9957
9958 }
9959 {
9960#line 970
9961 __cil_tmp115 = & Data;
9962#line 970
9963 __cil_tmp116 = & Data;
9964#line 970
9965 __cil_tmp117 = *__cil_tmp116;
9966#line 970
9967 __cil_tmp118 = (int )__cil_tmp117;
9968#line 970
9969 __cil_tmp119 = __cil_tmp118 | 8;
9970#line 970
9971 *__cil_tmp115 = (__u16 )__cil_tmp119;
9972#line 971
9973 __cil_tmp120 = & Data;
9974#line 971
9975 __cil_tmp121 = & Data;
9976#line 971
9977 __cil_tmp122 = *__cil_tmp121;
9978#line 971
9979 __cil_tmp123 = (int )__cil_tmp122;
9980#line 971
9981 __cil_tmp124 = __cil_tmp123 | 32;
9982#line 971
9983 *__cil_tmp120 = (__u16 )__cil_tmp124;
9984#line 972
9985 __cil_tmp125 = (unsigned long )mos7840_port;
9986#line 972
9987 __cil_tmp126 = __cil_tmp125 + 177;
9988#line 972
9989 __cil_tmp127 = *((__u8 *)__cil_tmp126);
9990#line 972
9991 __cil_tmp128 = (__u16 )__cil_tmp127;
9992#line 972
9993 __cil_tmp129 = & Data;
9994#line 972
9995 __cil_tmp130 = *__cil_tmp129;
9996#line 972
9997 status = mos7840_set_reg_sync(port, __cil_tmp128, __cil_tmp130);
9998 }
9999#line 974
10000 if (status < 0) {
10001 {
10002#line 975
10003 while (1) {
10004 while_continue___7: ;
10005 {
10006#line 975
10007 __cil_tmp131 = & debug;
10008#line 975
10009 if (*__cil_tmp131) {
10010 {
10011#line 975
10012 printk("<7>%s: writing Controlreg failed\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c");
10013 }
10014 } else {
10015
10016 }
10017 }
10018#line 975
10019 goto while_break___7;
10020 }
10021 while_break___7: ;
10022 }
10023#line 976
10024 return (-1);
10025 } else {
10026
10027 }
10028 {
10029#line 983
10030 __cil_tmp132 = & Data;
10031#line 983
10032 *__cil_tmp132 = (__u16 )0;
10033#line 984
10034 __cil_tmp133 = (__u16 )1;
10035#line 984
10036 __cil_tmp134 = & Data;
10037#line 984
10038 __cil_tmp135 = *__cil_tmp134;
10039#line 984
10040 status = mos7840_set_uart_reg(port, __cil_tmp133, __cil_tmp135);
10041 }
10042#line 985
10043 if (status < 0) {
10044 {
10045#line 986
10046 while (1) {
10047 while_continue___8: ;
10048 {
10049#line 986
10050 __cil_tmp136 = & debug;
10051#line 986
10052 if (*__cil_tmp136) {
10053 {
10054#line 986
10055 printk("<7>%s: disabling interrupts failed\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c");
10056 }
10057 } else {
10058
10059 }
10060 }
10061#line 986
10062 goto while_break___8;
10063 }
10064 while_break___8: ;
10065 }
10066#line 987
10067 return (-1);
10068 } else {
10069
10070 }
10071 {
10072#line 990
10073 __cil_tmp137 = & Data;
10074#line 990
10075 *__cil_tmp137 = (__u16 )0;
10076#line 991
10077 __cil_tmp138 = (__u16 )2;
10078#line 991
10079 __cil_tmp139 = & Data;
10080#line 991
10081 __cil_tmp140 = *__cil_tmp139;
10082#line 991
10083 status = mos7840_set_uart_reg(port, __cil_tmp138, __cil_tmp140);
10084 }
10085#line 992
10086 if (status < 0) {
10087 {
10088#line 993
10089 while (1) {
10090 while_continue___9: ;
10091 {
10092#line 993
10093 __cil_tmp141 = & debug;
10094#line 993
10095 if (*__cil_tmp141) {
10096 {
10097#line 993
10098 printk("<7>%s: Writing FIFO_CONTROL_REGISTER failed\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c");
10099 }
10100 } else {
10101
10102 }
10103 }
10104#line 993
10105 goto while_break___9;
10106 }
10107 while_break___9: ;
10108 }
10109#line 994
10110 return (-1);
10111 } else {
10112
10113 }
10114 {
10115#line 997
10116 __cil_tmp142 = & Data;
10117#line 997
10118 *__cil_tmp142 = (__u16 )207;
10119#line 998
10120 __cil_tmp143 = (__u16 )2;
10121#line 998
10122 __cil_tmp144 = & Data;
10123#line 998
10124 __cil_tmp145 = *__cil_tmp144;
10125#line 998
10126 status = mos7840_set_uart_reg(port, __cil_tmp143, __cil_tmp145);
10127 }
10128#line 999
10129 if (status < 0) {
10130 {
10131#line 1000
10132 while (1) {
10133 while_continue___10: ;
10134 {
10135#line 1000
10136 __cil_tmp146 = & debug;
10137#line 1000
10138 if (*__cil_tmp146) {
10139 {
10140#line 1000
10141 printk("<7>%s: Writing FIFO_CONTROL_REGISTER failed\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c");
10142 }
10143 } else {
10144
10145 }
10146 }
10147#line 1000
10148 goto while_break___10;
10149 }
10150 while_break___10: ;
10151 }
10152#line 1001
10153 return (-1);
10154 } else {
10155
10156 }
10157 {
10158#line 1004
10159 __cil_tmp147 = & Data;
10160#line 1004
10161 *__cil_tmp147 = (__u16 )3;
10162#line 1005
10163 __cil_tmp148 = (__u16 )3;
10164#line 1005
10165 __cil_tmp149 = & Data;
10166#line 1005
10167 __cil_tmp150 = *__cil_tmp149;
10168#line 1005
10169 status = mos7840_set_uart_reg(port, __cil_tmp148, __cil_tmp150);
10170#line 1006
10171 __cil_tmp151 = (unsigned long )mos7840_port;
10172#line 1006
10173 __cil_tmp152 = __cil_tmp151 + 32;
10174#line 1006
10175 __cil_tmp153 = & Data;
10176#line 1006
10177 __cil_tmp154 = *__cil_tmp153;
10178#line 1006
10179 *((__u8 *)__cil_tmp152) = (__u8 )__cil_tmp154;
10180#line 1008
10181 __cil_tmp155 = & Data;
10182#line 1008
10183 *__cil_tmp155 = (__u16 )11;
10184#line 1009
10185 __cil_tmp156 = (__u16 )4;
10186#line 1009
10187 __cil_tmp157 = & Data;
10188#line 1009
10189 __cil_tmp158 = *__cil_tmp157;
10190#line 1009
10191 status = mos7840_set_uart_reg(port, __cil_tmp156, __cil_tmp158);
10192#line 1010
10193 __cil_tmp159 = (unsigned long )mos7840_port;
10194#line 1010
10195 __cil_tmp160 = __cil_tmp159 + 33;
10196#line 1010
10197 __cil_tmp161 = & Data;
10198#line 1010
10199 __cil_tmp162 = *__cil_tmp161;
10200#line 1010
10201 *((__u8 *)__cil_tmp160) = (__u8 )__cil_tmp162;
10202#line 1012
10203 __cil_tmp163 = & Data;
10204#line 1012
10205 *__cil_tmp163 = (__u16 )0;
10206#line 1013
10207 __cil_tmp164 = (__u16 )3;
10208#line 1013
10209 status = mos7840_get_uart_reg(port, __cil_tmp164, & Data);
10210#line 1014
10211 __cil_tmp165 = (unsigned long )mos7840_port;
10212#line 1014
10213 __cil_tmp166 = __cil_tmp165 + 32;
10214#line 1014
10215 __cil_tmp167 = & Data;
10216#line 1014
10217 __cil_tmp168 = *__cil_tmp167;
10218#line 1014
10219 *((__u8 *)__cil_tmp166) = (__u8 )__cil_tmp168;
10220#line 1016
10221 __cil_tmp169 = & Data;
10222#line 1016
10223 __cil_tmp170 = & Data;
10224#line 1016
10225 __cil_tmp171 = *__cil_tmp170;
10226#line 1016
10227 __cil_tmp172 = (int )__cil_tmp171;
10228#line 1016
10229 __cil_tmp173 = __cil_tmp172 | 128;
10230#line 1016
10231 *__cil_tmp169 = (__u16 )__cil_tmp173;
10232#line 1017
10233 __cil_tmp174 = (__u16 )3;
10234#line 1017
10235 __cil_tmp175 = & Data;
10236#line 1017
10237 __cil_tmp176 = *__cil_tmp175;
10238#line 1017
10239 status = mos7840_set_uart_reg(port, __cil_tmp174, __cil_tmp176);
10240#line 1019
10241 __cil_tmp177 = & Data;
10242#line 1019
10243 *__cil_tmp177 = (__u16 )12;
10244#line 1020
10245 __cil_tmp178 = (__u16 )0;
10246#line 1020
10247 __cil_tmp179 = & Data;
10248#line 1020
10249 __cil_tmp180 = *__cil_tmp179;
10250#line 1020
10251 status = mos7840_set_uart_reg(port, __cil_tmp178, __cil_tmp180);
10252#line 1022
10253 __cil_tmp181 = & Data;
10254#line 1022
10255 *__cil_tmp181 = (__u16 )0;
10256#line 1023
10257 __cil_tmp182 = (__u16 )1;
10258#line 1023
10259 __cil_tmp183 = & Data;
10260#line 1023
10261 __cil_tmp184 = *__cil_tmp183;
10262#line 1023
10263 status = mos7840_set_uart_reg(port, __cil_tmp182, __cil_tmp184);
10264#line 1025
10265 __cil_tmp185 = & Data;
10266#line 1025
10267 *__cil_tmp185 = (__u16 )0;
10268#line 1026
10269 __cil_tmp186 = (__u16 )3;
10270#line 1026
10271 status = mos7840_get_uart_reg(port, __cil_tmp186, & Data);
10272#line 1028
10273 __cil_tmp187 = & Data;
10274#line 1028
10275 __cil_tmp188 = & Data;
10276#line 1028
10277 __cil_tmp189 = *__cil_tmp188;
10278#line 1028
10279 __cil_tmp190 = (int )__cil_tmp189;
10280#line 1028
10281 __cil_tmp191 = __cil_tmp190 & -129;
10282#line 1028
10283 *__cil_tmp187 = (__u16 )__cil_tmp191;
10284#line 1029
10285 __cil_tmp192 = (__u16 )3;
10286#line 1029
10287 __cil_tmp193 = & Data;
10288#line 1029
10289 __cil_tmp194 = *__cil_tmp193;
10290#line 1029
10291 status = mos7840_set_uart_reg(port, __cil_tmp192, __cil_tmp194);
10292#line 1030
10293 __cil_tmp195 = (unsigned long )mos7840_port;
10294#line 1030
10295 __cil_tmp196 = __cil_tmp195 + 32;
10296#line 1030
10297 __cil_tmp197 = & Data;
10298#line 1030
10299 __cil_tmp198 = *__cil_tmp197;
10300#line 1030
10301 *((__u8 *)__cil_tmp196) = (__u8 )__cil_tmp198;
10302#line 1033
10303 __cil_tmp199 = & Data;
10304#line 1033
10305 *__cil_tmp199 = (__u16 )0;
10306#line 1034
10307 __cil_tmp200 = (unsigned long )mos7840_port;
10308#line 1034
10309 __cil_tmp201 = __cil_tmp200 + 176;
10310#line 1034
10311 __cil_tmp202 = *((__u8 *)__cil_tmp201);
10312#line 1034
10313 __cil_tmp203 = (__u16 )__cil_tmp202;
10314#line 1034
10315 status = mos7840_get_reg_sync(port, __cil_tmp203, & Data);
10316#line 1036
10317 __cil_tmp204 = & Data;
10318#line 1036
10319 __cil_tmp205 = & Data;
10320#line 1036
10321 __cil_tmp206 = *__cil_tmp205;
10322#line 1036
10323 __cil_tmp207 = (int )__cil_tmp206;
10324#line 1036
10325 __cil_tmp208 = __cil_tmp207 | 12;
10326#line 1036
10327 *__cil_tmp204 = (__u16 )__cil_tmp208;
10328#line 1037
10329 __cil_tmp209 = (unsigned long )mos7840_port;
10330#line 1037
10331 __cil_tmp210 = __cil_tmp209 + 176;
10332#line 1037
10333 __cil_tmp211 = *((__u8 *)__cil_tmp210);
10334#line 1037
10335 __cil_tmp212 = (__u16 )__cil_tmp211;
10336#line 1037
10337 __cil_tmp213 = & Data;
10338#line 1037
10339 __cil_tmp214 = *__cil_tmp213;
10340#line 1037
10341 status = mos7840_set_reg_sync(port, __cil_tmp212, __cil_tmp214);
10342#line 1039
10343 __cil_tmp215 = & Data;
10344#line 1039
10345 __cil_tmp216 = & Data;
10346#line 1039
10347 __cil_tmp217 = *__cil_tmp216;
10348#line 1039
10349 __cil_tmp218 = (int )__cil_tmp217;
10350#line 1039
10351 __cil_tmp219 = __cil_tmp218 & -13;
10352#line 1039
10353 *__cil_tmp215 = (__u16 )__cil_tmp219;
10354#line 1040
10355 __cil_tmp220 = (unsigned long )mos7840_port;
10356#line 1040
10357 __cil_tmp221 = __cil_tmp220 + 176;
10358#line 1040
10359 __cil_tmp222 = *((__u8 *)__cil_tmp221);
10360#line 1040
10361 __cil_tmp223 = (__u16 )__cil_tmp222;
10362#line 1040
10363 __cil_tmp224 = & Data;
10364#line 1040
10365 __cil_tmp225 = *__cil_tmp224;
10366#line 1040
10367 status = mos7840_set_reg_sync(port, __cil_tmp223, __cil_tmp225);
10368#line 1042
10369 __cil_tmp226 = & Data;
10370#line 1042
10371 *__cil_tmp226 = (__u16 )12;
10372#line 1043
10373 __cil_tmp227 = (__u16 )1;
10374#line 1043
10375 __cil_tmp228 = & Data;
10376#line 1043
10377 __cil_tmp229 = *__cil_tmp228;
10378#line 1043
10379 status = mos7840_set_uart_reg(port, __cil_tmp227, __cil_tmp229);
10380#line 1046
10381 __cil_tmp230 = & Data;
10382#line 1046
10383 *__cil_tmp230 = (__u16 )0;
10384#line 1047
10385 __cil_tmp231 = (unsigned long )mos7840_port;
10386#line 1047
10387 __cil_tmp232 = __cil_tmp231 + 177;
10388#line 1047
10389 __cil_tmp233 = *((__u8 *)__cil_tmp232);
10390#line 1047
10391 __cil_tmp234 = (__u16 )__cil_tmp233;
10392#line 1047
10393 status = mos7840_get_reg_sync(port, __cil_tmp234, & Data);
10394#line 1049
10395 __cil_tmp235 = & Data;
10396#line 1049
10397 __cil_tmp236 = & Data;
10398#line 1049
10399 __cil_tmp237 = *__cil_tmp236;
10400#line 1049
10401 __cil_tmp238 = (int )__cil_tmp237;
10402#line 1049
10403 __cil_tmp239 = __cil_tmp238 & -33;
10404#line 1049
10405 *__cil_tmp235 = (__u16 )__cil_tmp239;
10406#line 1050
10407 __cil_tmp240 = (unsigned long )mos7840_port;
10408#line 1050
10409 __cil_tmp241 = __cil_tmp240 + 177;
10410#line 1050
10411 __cil_tmp242 = *((__u8 *)__cil_tmp241);
10412#line 1050
10413 __cil_tmp243 = (__u16 )__cil_tmp242;
10414#line 1050
10415 __cil_tmp244 = & Data;
10416#line 1050
10417 __cil_tmp245 = *__cil_tmp244;
10418#line 1050
10419 status = mos7840_set_reg_sync(port, __cil_tmp243, __cil_tmp245);
10420#line 1054
10421 __cil_tmp246 = & Data;
10422#line 1054
10423 *__cil_tmp246 = (__u16 )0;
10424#line 1055
10425 __cil_tmp247 = (unsigned long )mos7840_port;
10426#line 1055
10427 __cil_tmp248 = __cil_tmp247 + 177;
10428#line 1055
10429 __cil_tmp249 = *((__u8 *)__cil_tmp248);
10430#line 1055
10431 __cil_tmp250 = (__u16 )__cil_tmp249;
10432#line 1055
10433 status = mos7840_get_reg_sync(port, __cil_tmp250, & Data);
10434#line 1057
10435 __cil_tmp251 = & Data;
10436#line 1057
10437 __cil_tmp252 = & Data;
10438#line 1057
10439 __cil_tmp253 = *__cil_tmp252;
10440#line 1057
10441 __cil_tmp254 = (int )__cil_tmp253;
10442#line 1057
10443 __cil_tmp255 = __cil_tmp254 | 16;
10444#line 1057
10445 *__cil_tmp251 = (__u16 )__cil_tmp255;
10446#line 1058
10447 __cil_tmp256 = (unsigned long )mos7840_port;
10448#line 1058
10449 __cil_tmp257 = __cil_tmp256 + 177;
10450#line 1058
10451 __cil_tmp258 = *((__u8 *)__cil_tmp257);
10452#line 1058
10453 __cil_tmp259 = (__u16 )__cil_tmp258;
10454#line 1058
10455 __cil_tmp260 = & Data;
10456#line 1058
10457 __cil_tmp261 = *__cil_tmp260;
10458#line 1058
10459 status = mos7840_set_reg_sync(port, __cil_tmp259, __cil_tmp261);
10460 }
10461 {
10462#line 1064
10463 __cil_tmp262 = (unsigned long )port0;
10464#line 1064
10465 __cil_tmp263 = __cil_tmp262 + 35;
10466#line 1064
10467 __cil_tmp264 = *((char *)__cil_tmp263);
10468#line 1064
10469 __cil_tmp265 = (int )__cil_tmp264;
10470#line 1064
10471 if (__cil_tmp265 == 1) {
10472 {
10473#line 1065
10474 __cil_tmp266 = (void *)0;
10475#line 1065
10476 __cil_tmp267 = (unsigned long )__cil_tmp266;
10477#line 1065
10478 __cil_tmp268 = 0 * 8UL;
10479#line 1065
10480 __cil_tmp269 = 32 + __cil_tmp268;
10481#line 1065
10482 __cil_tmp270 = (unsigned long )serial;
10483#line 1065
10484 __cil_tmp271 = __cil_tmp270 + __cil_tmp269;
10485#line 1065
10486 __cil_tmp272 = *((struct usb_serial_port **)__cil_tmp271);
10487#line 1065
10488 __cil_tmp273 = (unsigned long )__cil_tmp272;
10489#line 1065
10490 __cil_tmp274 = __cil_tmp273 + 392;
10491#line 1065
10492 __cil_tmp275 = *((unsigned char **)__cil_tmp274);
10493#line 1065
10494 __cil_tmp276 = (unsigned long )__cil_tmp275;
10495#line 1065
10496 if (__cil_tmp276 == __cil_tmp267) {
10497 {
10498#line 1067
10499 __cil_tmp277 = *((struct usb_device **)serial);
10500#line 1067
10501 __cil_tmp278 = 0 * 8UL;
10502#line 1067
10503 __cil_tmp279 = 32 + __cil_tmp278;
10504#line 1067
10505 __cil_tmp280 = (unsigned long )serial;
10506#line 1067
10507 __cil_tmp281 = __cil_tmp280 + __cil_tmp279;
10508#line 1067
10509 __cil_tmp282 = *((struct usb_serial_port **)__cil_tmp281);
10510#line 1067
10511 __cil_tmp283 = (unsigned long )__cil_tmp282;
10512#line 1067
10513 __cil_tmp284 = __cil_tmp283 + 408;
10514#line 1067
10515 __cil_tmp285 = *((__u8 *)__cil_tmp284);
10516#line 1067
10517 __cil_tmp286 = (unsigned int )__cil_tmp285;
10518#line 1067
10519 tmp___9 = __create_pipe(__cil_tmp277, __cil_tmp286);
10520#line 1067
10521 __cil_tmp287 = 0 * 8UL;
10522#line 1067
10523 __cil_tmp288 = 32 + __cil_tmp287;
10524#line 1067
10525 __cil_tmp289 = (unsigned long )serial;
10526#line 1067
10527 __cil_tmp290 = __cil_tmp289 + __cil_tmp288;
10528#line 1067
10529 __cil_tmp291 = *((struct usb_serial_port **)__cil_tmp290);
10530#line 1067
10531 __cil_tmp292 = (unsigned long )__cil_tmp291;
10532#line 1067
10533 __cil_tmp293 = __cil_tmp292 + 400;
10534#line 1067
10535 __cil_tmp294 = *((struct urb **)__cil_tmp293);
10536#line 1067
10537 __cil_tmp295 = *((struct usb_device **)serial);
10538#line 1067
10539 __cil_tmp296 = 1 << 30;
10540#line 1067
10541 __cil_tmp297 = (unsigned int )__cil_tmp296;
10542#line 1067
10543 __cil_tmp298 = __cil_tmp297 | tmp___9;
10544#line 1067
10545 __cil_tmp299 = __cil_tmp298 | 128U;
10546#line 1067
10547 __cil_tmp300 = 0 * 8UL;
10548#line 1067
10549 __cil_tmp301 = 32 + __cil_tmp300;
10550#line 1067
10551 __cil_tmp302 = (unsigned long )serial;
10552#line 1067
10553 __cil_tmp303 = __cil_tmp302 + __cil_tmp301;
10554#line 1067
10555 __cil_tmp304 = *((struct usb_serial_port **)__cil_tmp303);
10556#line 1067
10557 __cil_tmp305 = (unsigned long )__cil_tmp304;
10558#line 1067
10559 __cil_tmp306 = __cil_tmp305 + 392;
10560#line 1067
10561 __cil_tmp307 = *((unsigned char **)__cil_tmp306);
10562#line 1067
10563 __cil_tmp308 = (void *)__cil_tmp307;
10564#line 1067
10565 __cil_tmp309 = 0 * 8UL;
10566#line 1067
10567 __cil_tmp310 = 32 + __cil_tmp309;
10568#line 1067
10569 __cil_tmp311 = (unsigned long )serial;
10570#line 1067
10571 __cil_tmp312 = __cil_tmp311 + __cil_tmp310;
10572#line 1067
10573 __cil_tmp313 = *((struct usb_serial_port **)__cil_tmp312);
10574#line 1067
10575 __cil_tmp314 = (unsigned long )__cil_tmp313;
10576#line 1067
10577 __cil_tmp315 = __cil_tmp314 + 400;
10578#line 1067
10579 __cil_tmp316 = *((struct urb **)__cil_tmp315);
10580#line 1067
10581 __cil_tmp317 = (unsigned long )__cil_tmp316;
10582#line 1067
10583 __cil_tmp318 = __cil_tmp317 + 136;
10584#line 1067
10585 __cil_tmp319 = *((u32 *)__cil_tmp318);
10586#line 1067
10587 __cil_tmp320 = (int )__cil_tmp319;
10588#line 1067
10589 __cil_tmp321 = (void *)serial;
10590#line 1067
10591 __cil_tmp322 = 0 * 8UL;
10592#line 1067
10593 __cil_tmp323 = 32 + __cil_tmp322;
10594#line 1067
10595 __cil_tmp324 = (unsigned long )serial;
10596#line 1067
10597 __cil_tmp325 = __cil_tmp324 + __cil_tmp323;
10598#line 1067
10599 __cil_tmp326 = *((struct usb_serial_port **)__cil_tmp325);
10600#line 1067
10601 __cil_tmp327 = (unsigned long )__cil_tmp326;
10602#line 1067
10603 __cil_tmp328 = __cil_tmp327 + 400;
10604#line 1067
10605 __cil_tmp329 = *((struct urb **)__cil_tmp328);
10606#line 1067
10607 __cil_tmp330 = (unsigned long )__cil_tmp329;
10608#line 1067
10609 __cil_tmp331 = __cil_tmp330 + 168;
10610#line 1067
10611 __cil_tmp332 = *((int *)__cil_tmp331);
10612#line 1067
10613 usb_fill_int_urb(__cil_tmp294, __cil_tmp295, __cil_tmp299, __cil_tmp308, __cil_tmp320,
10614 & mos7840_interrupt_callback, __cil_tmp321, __cil_tmp332);
10615#line 1081
10616 __cil_tmp333 = 0 * 8UL;
10617#line 1081
10618 __cil_tmp334 = 32 + __cil_tmp333;
10619#line 1081
10620 __cil_tmp335 = (unsigned long )serial;
10621#line 1081
10622 __cil_tmp336 = __cil_tmp335 + __cil_tmp334;
10623#line 1081
10624 __cil_tmp337 = *((struct usb_serial_port **)__cil_tmp336);
10625#line 1081
10626 __cil_tmp338 = (unsigned long )__cil_tmp337;
10627#line 1081
10628 __cil_tmp339 = __cil_tmp338 + 400;
10629#line 1081
10630 __cil_tmp340 = *((struct urb **)__cil_tmp339);
10631#line 1081
10632 response = usb_submit_urb(__cil_tmp340, 208U);
10633 }
10634#line 1084
10635 if (response) {
10636 {
10637#line 1085
10638 __cil_tmp341 = (unsigned long )port;
10639#line 1085
10640 __cil_tmp342 = __cil_tmp341 + 712;
10641#line 1085
10642 __cil_tmp343 = (struct device *)__cil_tmp342;
10643#line 1085
10644 __cil_tmp344 = (struct device const *)__cil_tmp343;
10645#line 1085
10646 dev_err(__cil_tmp344, "%s - Error %d submitting interrupt urb\n", "mos7840_open",
10647 response);
10648 }
10649 } else {
10650
10651 }
10652 } else {
10653
10654 }
10655 }
10656 } else {
10657
10658 }
10659 }
10660 {
10661#line 1097
10662 while (1) {
10663 while_continue___11: ;
10664 {
10665#line 1097
10666 __cil_tmp345 = & debug;
10667#line 1097
10668 if (*__cil_tmp345) {
10669 {
10670#line 1097
10671 __cil_tmp346 = (unsigned long )port;
10672#line 1097
10673 __cil_tmp347 = __cil_tmp346 + 384;
10674#line 1097
10675 __cil_tmp348 = *((unsigned char *)__cil_tmp347);
10676#line 1097
10677 __cil_tmp349 = (int )__cil_tmp348;
10678#line 1097
10679 printk("<7>%s: port number is %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
10680 __cil_tmp349);
10681 }
10682 } else {
10683
10684 }
10685 }
10686#line 1097
10687 goto while_break___11;
10688 }
10689 while_break___11: ;
10690 }
10691 {
10692#line 1098
10693 while (1) {
10694 while_continue___12: ;
10695 {
10696#line 1098
10697 __cil_tmp350 = & debug;
10698#line 1098
10699 if (*__cil_tmp350) {
10700 {
10701#line 1098
10702 __cil_tmp351 = *((struct usb_serial **)port);
10703#line 1098
10704 __cil_tmp352 = (unsigned long )__cil_tmp351;
10705#line 1098
10706 __cil_tmp353 = __cil_tmp352 + 25;
10707#line 1098
10708 __cil_tmp354 = *((unsigned char *)__cil_tmp353);
10709#line 1098
10710 __cil_tmp355 = (int )__cil_tmp354;
10711#line 1098
10712 printk("<7>%s: serial number is %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
10713 __cil_tmp355);
10714 }
10715 } else {
10716
10717 }
10718 }
10719#line 1098
10720 goto while_break___12;
10721 }
10722 while_break___12: ;
10723 }
10724 {
10725#line 1099
10726 while (1) {
10727 while_continue___13: ;
10728 {
10729#line 1099
10730 __cil_tmp356 = & debug;
10731#line 1099
10732 if (*__cil_tmp356) {
10733 {
10734#line 1099
10735 __cil_tmp357 = (unsigned long )port;
10736#line 1099
10737 __cil_tmp358 = __cil_tmp357 + 472;
10738#line 1099
10739 __cil_tmp359 = *((__u8 *)__cil_tmp358);
10740#line 1099
10741 __cil_tmp360 = (int )__cil_tmp359;
10742#line 1099
10743 printk("<7>%s: Bulkin endpoint is %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
10744 __cil_tmp360);
10745 }
10746 } else {
10747
10748 }
10749 }
10750#line 1099
10751 goto while_break___13;
10752 }
10753 while_break___13: ;
10754 }
10755 {
10756#line 1100
10757 while (1) {
10758 while_continue___14: ;
10759 {
10760#line 1100
10761 __cil_tmp361 = & debug;
10762#line 1100
10763 if (*__cil_tmp361) {
10764 {
10765#line 1100
10766 __cil_tmp362 = (unsigned long )port;
10767#line 1100
10768 __cil_tmp363 = __cil_tmp362 + 608;
10769#line 1100
10770 __cil_tmp364 = *((__u8 *)__cil_tmp363);
10771#line 1100
10772 __cil_tmp365 = (int )__cil_tmp364;
10773#line 1100
10774 printk("<7>%s: BulkOut endpoint is %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
10775 __cil_tmp365);
10776 }
10777 } else {
10778
10779 }
10780 }
10781#line 1100
10782 goto while_break___14;
10783 }
10784 while_break___14: ;
10785 }
10786 {
10787#line 1101
10788 while (1) {
10789 while_continue___15: ;
10790 {
10791#line 1101
10792 __cil_tmp366 = & debug;
10793#line 1101
10794 if (*__cil_tmp366) {
10795 {
10796#line 1101
10797 __cil_tmp367 = (unsigned long )port;
10798#line 1101
10799 __cil_tmp368 = __cil_tmp367 + 408;
10800#line 1101
10801 __cil_tmp369 = *((__u8 *)__cil_tmp368);
10802#line 1101
10803 __cil_tmp370 = (int )__cil_tmp369;
10804#line 1101
10805 printk("<7>%s: Interrupt endpoint is %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
10806 __cil_tmp370);
10807 }
10808 } else {
10809
10810 }
10811 }
10812#line 1101
10813 goto while_break___15;
10814 }
10815 while_break___15: ;
10816 }
10817 {
10818#line 1102
10819 while (1) {
10820 while_continue___16: ;
10821 {
10822#line 1102
10823 __cil_tmp371 = & debug;
10824#line 1102
10825 if (*__cil_tmp371) {
10826 {
10827#line 1102
10828 __cil_tmp372 = *((int *)mos7840_port);
10829#line 1102
10830 printk("<7>%s: port\'s number in the device is %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
10831 __cil_tmp372);
10832 }
10833 } else {
10834
10835 }
10836 }
10837#line 1102
10838 goto while_break___16;
10839 }
10840 while_break___16: ;
10841 }
10842#line 1103
10843 __cil_tmp373 = (unsigned long )mos7840_port;
10844#line 1103
10845 __cil_tmp374 = __cil_tmp373 + 16;
10846#line 1103
10847 __cil_tmp375 = (unsigned long )port;
10848#line 1103
10849 __cil_tmp376 = __cil_tmp375 + 464;
10850#line 1103
10851 *((struct urb **)__cil_tmp374) = *((struct urb **)__cil_tmp376);
10852 {
10853#line 1106
10854 __cil_tmp377 = (unsigned long )serial;
10855#line 1106
10856 __cil_tmp378 = __cil_tmp377 + 26;
10857#line 1106
10858 __cil_tmp379 = *((unsigned char *)__cil_tmp378);
10859#line 1106
10860 __cil_tmp380 = (int )__cil_tmp379;
10861#line 1106
10862 if (__cil_tmp380 == 2) {
10863 {
10864#line 1106
10865 __cil_tmp381 = *((struct usb_serial **)port);
10866#line 1106
10867 __cil_tmp382 = (unsigned long )__cil_tmp381;
10868#line 1106
10869 __cil_tmp383 = __cil_tmp382 + 25;
10870#line 1106
10871 __cil_tmp384 = *((unsigned char *)__cil_tmp383);
10872#line 1106
10873 __cil_tmp385 = (__u16 )__cil_tmp384;
10874#line 1106
10875 __cil_tmp386 = (int )__cil_tmp385;
10876#line 1106
10877 __cil_tmp387 = (unsigned long )port;
10878#line 1106
10879 __cil_tmp388 = __cil_tmp387 + 384;
10880#line 1106
10881 __cil_tmp389 = *((unsigned char *)__cil_tmp388);
10882#line 1106
10883 __cil_tmp390 = (__u16 )__cil_tmp389;
10884#line 1106
10885 __cil_tmp391 = (int )__cil_tmp390;
10886#line 1106
10887 __cil_tmp392 = __cil_tmp391 - __cil_tmp386;
10888#line 1106
10889 __cil_tmp393 = __cil_tmp392 % 2;
10890#line 1106
10891 if (__cil_tmp393 != 0) {
10892 {
10893#line 1109
10894 __cil_tmp394 = *((struct usb_device **)serial);
10895#line 1109
10896 __cil_tmp395 = (unsigned long )port;
10897#line 1109
10898 __cil_tmp396 = __cil_tmp395 + 472;
10899#line 1109
10900 __cil_tmp397 = *((__u8 *)__cil_tmp396);
10901#line 1109
10902 __cil_tmp398 = (int )__cil_tmp397;
10903#line 1109
10904 __cil_tmp399 = __cil_tmp398 + 2;
10905#line 1109
10906 __cil_tmp400 = (unsigned int )__cil_tmp399;
10907#line 1109
10908 tmp___10 = __create_pipe(__cil_tmp394, __cil_tmp400);
10909#line 1109
10910 __cil_tmp401 = (unsigned long )mos7840_port;
10911#line 1109
10912 __cil_tmp402 = __cil_tmp401 + 16;
10913#line 1109
10914 __cil_tmp403 = *((struct urb **)__cil_tmp402);
10915#line 1109
10916 __cil_tmp404 = *((struct usb_device **)serial);
10917#line 1109
10918 __cil_tmp405 = 3 << 30;
10919#line 1109
10920 __cil_tmp406 = (unsigned int )__cil_tmp405;
10921#line 1109
10922 __cil_tmp407 = __cil_tmp406 | tmp___10;
10923#line 1109
10924 __cil_tmp408 = __cil_tmp407 | 128U;
10925#line 1109
10926 __cil_tmp409 = (unsigned long )port;
10927#line 1109
10928 __cil_tmp410 = __cil_tmp409 + 448;
10929#line 1109
10930 __cil_tmp411 = *((unsigned char **)__cil_tmp410);
10931#line 1109
10932 __cil_tmp412 = (void *)__cil_tmp411;
10933#line 1109
10934 __cil_tmp413 = (unsigned long )mos7840_port;
10935#line 1109
10936 __cil_tmp414 = __cil_tmp413 + 16;
10937#line 1109
10938 __cil_tmp415 = *((struct urb **)__cil_tmp414);
10939#line 1109
10940 __cil_tmp416 = (unsigned long )__cil_tmp415;
10941#line 1109
10942 __cil_tmp417 = __cil_tmp416 + 136;
10943#line 1109
10944 __cil_tmp418 = *((u32 *)__cil_tmp417);
10945#line 1109
10946 __cil_tmp419 = (int )__cil_tmp418;
10947#line 1109
10948 __cil_tmp420 = (void *)mos7840_port;
10949#line 1109
10950 usb_fill_bulk_urb(__cil_tmp403, __cil_tmp404, __cil_tmp408, __cil_tmp412, __cil_tmp419,
10951 & mos7840_bulk_in_callback, __cil_tmp420);
10952 }
10953 } else {
10954 {
10955#line 1117
10956 __cil_tmp421 = *((struct usb_device **)serial);
10957#line 1117
10958 __cil_tmp422 = (unsigned long )port;
10959#line 1117
10960 __cil_tmp423 = __cil_tmp422 + 472;
10961#line 1117
10962 __cil_tmp424 = *((__u8 *)__cil_tmp423);
10963#line 1117
10964 __cil_tmp425 = (unsigned int )__cil_tmp424;
10965#line 1117
10966 tmp___11 = __create_pipe(__cil_tmp421, __cil_tmp425);
10967#line 1117
10968 __cil_tmp426 = (unsigned long )mos7840_port;
10969#line 1117
10970 __cil_tmp427 = __cil_tmp426 + 16;
10971#line 1117
10972 __cil_tmp428 = *((struct urb **)__cil_tmp427);
10973#line 1117
10974 __cil_tmp429 = *((struct usb_device **)serial);
10975#line 1117
10976 __cil_tmp430 = 3 << 30;
10977#line 1117
10978 __cil_tmp431 = (unsigned int )__cil_tmp430;
10979#line 1117
10980 __cil_tmp432 = __cil_tmp431 | tmp___11;
10981#line 1117
10982 __cil_tmp433 = __cil_tmp432 | 128U;
10983#line 1117
10984 __cil_tmp434 = (unsigned long )port;
10985#line 1117
10986 __cil_tmp435 = __cil_tmp434 + 448;
10987#line 1117
10988 __cil_tmp436 = *((unsigned char **)__cil_tmp435);
10989#line 1117
10990 __cil_tmp437 = (void *)__cil_tmp436;
10991#line 1117
10992 __cil_tmp438 = (unsigned long )mos7840_port;
10993#line 1117
10994 __cil_tmp439 = __cil_tmp438 + 16;
10995#line 1117
10996 __cil_tmp440 = *((struct urb **)__cil_tmp439);
10997#line 1117
10998 __cil_tmp441 = (unsigned long )__cil_tmp440;
10999#line 1117
11000 __cil_tmp442 = __cil_tmp441 + 136;
11001#line 1117
11002 __cil_tmp443 = *((u32 *)__cil_tmp442);
11003#line 1117
11004 __cil_tmp444 = (int )__cil_tmp443;
11005#line 1117
11006 __cil_tmp445 = (void *)mos7840_port;
11007#line 1117
11008 usb_fill_bulk_urb(__cil_tmp428, __cil_tmp429, __cil_tmp433, __cil_tmp437, __cil_tmp444,
11009 & mos7840_bulk_in_callback, __cil_tmp445);
11010 }
11011 }
11012 }
11013 } else {
11014 {
11015#line 1117
11016 __cil_tmp446 = *((struct usb_device **)serial);
11017#line 1117
11018 __cil_tmp447 = (unsigned long )port;
11019#line 1117
11020 __cil_tmp448 = __cil_tmp447 + 472;
11021#line 1117
11022 __cil_tmp449 = *((__u8 *)__cil_tmp448);
11023#line 1117
11024 __cil_tmp450 = (unsigned int )__cil_tmp449;
11025#line 1117
11026 tmp___11 = __create_pipe(__cil_tmp446, __cil_tmp450);
11027#line 1117
11028 __cil_tmp451 = (unsigned long )mos7840_port;
11029#line 1117
11030 __cil_tmp452 = __cil_tmp451 + 16;
11031#line 1117
11032 __cil_tmp453 = *((struct urb **)__cil_tmp452);
11033#line 1117
11034 __cil_tmp454 = *((struct usb_device **)serial);
11035#line 1117
11036 __cil_tmp455 = 3 << 30;
11037#line 1117
11038 __cil_tmp456 = (unsigned int )__cil_tmp455;
11039#line 1117
11040 __cil_tmp457 = __cil_tmp456 | tmp___11;
11041#line 1117
11042 __cil_tmp458 = __cil_tmp457 | 128U;
11043#line 1117
11044 __cil_tmp459 = (unsigned long )port;
11045#line 1117
11046 __cil_tmp460 = __cil_tmp459 + 448;
11047#line 1117
11048 __cil_tmp461 = *((unsigned char **)__cil_tmp460);
11049#line 1117
11050 __cil_tmp462 = (void *)__cil_tmp461;
11051#line 1117
11052 __cil_tmp463 = (unsigned long )mos7840_port;
11053#line 1117
11054 __cil_tmp464 = __cil_tmp463 + 16;
11055#line 1117
11056 __cil_tmp465 = *((struct urb **)__cil_tmp464);
11057#line 1117
11058 __cil_tmp466 = (unsigned long )__cil_tmp465;
11059#line 1117
11060 __cil_tmp467 = __cil_tmp466 + 136;
11061#line 1117
11062 __cil_tmp468 = *((u32 *)__cil_tmp467);
11063#line 1117
11064 __cil_tmp469 = (int )__cil_tmp468;
11065#line 1117
11066 __cil_tmp470 = (void *)mos7840_port;
11067#line 1117
11068 usb_fill_bulk_urb(__cil_tmp453, __cil_tmp454, __cil_tmp458, __cil_tmp462, __cil_tmp469,
11069 & mos7840_bulk_in_callback, __cil_tmp470);
11070 }
11071 }
11072 }
11073 {
11074#line 1126
11075 while (1) {
11076 while_continue___17: ;
11077 {
11078#line 1126
11079 __cil_tmp471 = & debug;
11080#line 1126
11081 if (*__cil_tmp471) {
11082 {
11083#line 1126
11084 __cil_tmp472 = (unsigned long )port;
11085#line 1126
11086 __cil_tmp473 = __cil_tmp472 + 472;
11087#line 1126
11088 __cil_tmp474 = *((__u8 *)__cil_tmp473);
11089#line 1126
11090 __cil_tmp475 = (int )__cil_tmp474;
11091#line 1126
11092 printk("<7>%s: mos7840_open: bulkin endpoint is %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
11093 __cil_tmp475);
11094 }
11095 } else {
11096
11097 }
11098 }
11099#line 1126
11100 goto while_break___17;
11101 }
11102 while_break___17: ;
11103 }
11104 {
11105#line 1128
11106 __cil_tmp476 = (unsigned long )mos7840_port;
11107#line 1128
11108 __cil_tmp477 = __cil_tmp476 + 384;
11109#line 1128
11110 *((bool *)__cil_tmp477) = (bool )1;
11111#line 1129
11112 __cil_tmp478 = (unsigned long )mos7840_port;
11113#line 1129
11114 __cil_tmp479 = __cil_tmp478 + 16;
11115#line 1129
11116 __cil_tmp480 = *((struct urb **)__cil_tmp479);
11117#line 1129
11118 response = usb_submit_urb(__cil_tmp480, 208U);
11119 }
11120#line 1130
11121 if (response) {
11122 {
11123#line 1131
11124 __cil_tmp481 = (unsigned long )port;
11125#line 1131
11126 __cil_tmp482 = __cil_tmp481 + 712;
11127#line 1131
11128 __cil_tmp483 = (struct device *)__cil_tmp482;
11129#line 1131
11130 __cil_tmp484 = (struct device const *)__cil_tmp483;
11131#line 1131
11132 dev_err(__cil_tmp484, "%s - Error %d submitting control urb\n", "mos7840_open",
11133 response);
11134#line 1133
11135 __cil_tmp485 = (unsigned long )mos7840_port;
11136#line 1133
11137 __cil_tmp486 = __cil_tmp485 + 384;
11138#line 1133
11139 *((bool *)__cil_tmp486) = (bool )0;
11140 }
11141 } else {
11142
11143 }
11144 {
11145#line 1137
11146 while (1) {
11147 while_continue___18: ;
11148 {
11149#line 1137
11150 __cil_tmp487 = (unsigned long )mos7840_port;
11151#line 1137
11152 __cil_tmp488 = __cil_tmp487 + 40;
11153#line 1137
11154 __cil_tmp489 = (wait_queue_head_t *)__cil_tmp488;
11155#line 1137
11156 __init_waitqueue_head(__cil_tmp489, "&mos7840_port->wait_chase", & __key___6);
11157 }
11158#line 1137
11159 goto while_break___18;
11160 }
11161 while_break___18: ;
11162 }
11163 {
11164#line 1138
11165 while (1) {
11166 while_continue___19: ;
11167 {
11168#line 1138
11169 __cil_tmp490 = (unsigned long )mos7840_port;
11170#line 1138
11171 __cil_tmp491 = __cil_tmp490 + 80;
11172#line 1138
11173 __cil_tmp492 = (wait_queue_head_t *)__cil_tmp491;
11174#line 1138
11175 __init_waitqueue_head(__cil_tmp492, "&mos7840_port->delta_msr_wait", & __key___7);
11176 }
11177#line 1138
11178 goto while_break___19;
11179 }
11180 while_break___19: ;
11181 }
11182 {
11183#line 1141
11184 __cil_tmp493 = (unsigned long )mos7840_port;
11185#line 1141
11186 __cil_tmp494 = __cil_tmp493 + 124;
11187#line 1141
11188 __cil_tmp495 = (struct async_icount *)__cil_tmp494;
11189#line 1141
11190 __cil_tmp496 = (void *)__cil_tmp495;
11191#line 1141
11192 memset(__cil_tmp496, 0, 44UL);
11193#line 1145
11194 __cil_tmp497 = (unsigned long )mos7840_port;
11195#line 1145
11196 __cil_tmp498 = __cil_tmp497 + 33;
11197#line 1145
11198 *((__u8 *)__cil_tmp498) = (__u8 )8;
11199#line 1147
11200 __cil_tmp499 = (unsigned long )mos7840_port;
11201#line 1147
11202 __cil_tmp500 = __cil_tmp499 + 34;
11203#line 1147
11204 *((char *)__cil_tmp500) = (char)1;
11205#line 1149
11206 __cil_tmp501 = 124 + 16;
11207#line 1149
11208 __cil_tmp502 = (unsigned long )mos7840_port;
11209#line 1149
11210 __cil_tmp503 = __cil_tmp502 + __cil_tmp501;
11211#line 1149
11212 *((__u32 *)__cil_tmp503) = (__u32 )0;
11213#line 1150
11214 __cil_tmp504 = 124 + 20;
11215#line 1150
11216 __cil_tmp505 = (unsigned long )mos7840_port;
11217#line 1150
11218 __cil_tmp506 = __cil_tmp505 + __cil_tmp504;
11219#line 1150
11220 *((__u32 *)__cil_tmp506) = (__u32 )0;
11221 }
11222 {
11223#line 1152
11224 while (1) {
11225 while_continue___20: ;
11226 {
11227#line 1152
11228 __cil_tmp507 = & debug;
11229#line 1152
11230 if (*__cil_tmp507) {
11231 {
11232#line 1152
11233 printk("<7>%s: usb_serial serial:%p mos7840_port:%p\n usb_serial_port port:%p\n",
11234 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
11235 serial, mos7840_port, port);
11236 }
11237 } else {
11238
11239 }
11240 }
11241#line 1152
11242 goto while_break___20;
11243 }
11244 while_break___20: ;
11245 }
11246 {
11247#line 1155
11248 while (1) {
11249 while_continue___21: ;
11250 {
11251#line 1155
11252 __cil_tmp508 = & debug;
11253#line 1155
11254 if (*__cil_tmp508) {
11255 {
11256#line 1155
11257 printk("<7>%s: %s leave\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
11258 "mos7840_open");
11259 }
11260 } else {
11261
11262 }
11263 }
11264#line 1155
11265 goto while_break___21;
11266 }
11267 while_break___21: ;
11268 }
11269#line 1157
11270 return (0);
11271}
11272}
11273#line 1171 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
11274static int mos7840_chars_in_buffer(struct tty_struct *tty )
11275{ struct usb_serial_port *port ;
11276 int i ;
11277 int chars ;
11278 unsigned long flags ;
11279 struct moschip_port *mos7840_port ;
11280 int tmp___7 ;
11281 raw_spinlock_t *tmp___8 ;
11282 unsigned long __cil_tmp11 ;
11283 unsigned long __cil_tmp12 ;
11284 void *__cil_tmp13 ;
11285 bool *__cil_tmp14 ;
11286 bool *__cil_tmp15 ;
11287 void *__cil_tmp16 ;
11288 unsigned long __cil_tmp17 ;
11289 unsigned long __cil_tmp18 ;
11290 bool *__cil_tmp19 ;
11291 unsigned long __cil_tmp20 ;
11292 unsigned long __cil_tmp21 ;
11293 spinlock_t *__cil_tmp22 ;
11294 unsigned long __cil_tmp23 ;
11295 unsigned long __cil_tmp24 ;
11296 unsigned long __cil_tmp25 ;
11297 unsigned long __cil_tmp26 ;
11298 unsigned long __cil_tmp27 ;
11299 unsigned long __cil_tmp28 ;
11300 spinlock_t *__cil_tmp29 ;
11301 bool *__cil_tmp30 ;
11302
11303 {
11304#line 1173
11305 __cil_tmp11 = (unsigned long )tty;
11306#line 1173
11307 __cil_tmp12 = __cil_tmp11 + 584;
11308#line 1173
11309 __cil_tmp13 = *((void **)__cil_tmp12);
11310#line 1173
11311 port = (struct usb_serial_port *)__cil_tmp13;
11312#line 1175
11313 chars = 0;
11314 {
11315#line 1179
11316 while (1) {
11317 while_continue: ;
11318 {
11319#line 1179
11320 __cil_tmp14 = & debug;
11321#line 1179
11322 if (*__cil_tmp14) {
11323 {
11324#line 1179
11325 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
11326 " mos7840_chars_in_buffer:entering ...........");
11327 }
11328 } else {
11329
11330 }
11331 }
11332#line 1179
11333 goto while_break;
11334 }
11335 while_break: ;
11336 }
11337 {
11338#line 1181
11339 tmp___7 = mos7840_port_paranoia_check(port, "mos7840_chars_in_buffer");
11340 }
11341#line 1181
11342 if (tmp___7) {
11343 {
11344#line 1182
11345 while (1) {
11346 while_continue___0: ;
11347 {
11348#line 1182
11349 __cil_tmp15 = & debug;
11350#line 1182
11351 if (*__cil_tmp15) {
11352 {
11353#line 1182
11354 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
11355 "Invalid port");
11356 }
11357 } else {
11358
11359 }
11360 }
11361#line 1182
11362 goto while_break___0;
11363 }
11364 while_break___0: ;
11365 }
11366#line 1183
11367 return (0);
11368 } else {
11369
11370 }
11371 {
11372#line 1186
11373 mos7840_port = mos7840_get_port_private(port);
11374 }
11375 {
11376#line 1187
11377 __cil_tmp16 = (void *)0;
11378#line 1187
11379 __cil_tmp17 = (unsigned long )__cil_tmp16;
11380#line 1187
11381 __cil_tmp18 = (unsigned long )mos7840_port;
11382#line 1187
11383 if (__cil_tmp18 == __cil_tmp17) {
11384 {
11385#line 1188
11386 while (1) {
11387 while_continue___1: ;
11388 {
11389#line 1188
11390 __cil_tmp19 = & debug;
11391#line 1188
11392 if (*__cil_tmp19) {
11393 {
11394#line 1188
11395 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
11396 "mos7840_break:leaving ...........");
11397 }
11398 } else {
11399
11400 }
11401 }
11402#line 1188
11403 goto while_break___1;
11404 }
11405 while_break___1: ;
11406 }
11407#line 1189
11408 return (0);
11409 } else {
11410
11411 }
11412 }
11413 {
11414#line 1192
11415 while (1) {
11416 while_continue___2: ;
11417 {
11418#line 1192
11419 while (1) {
11420 while_continue___3: ;
11421 {
11422#line 1192
11423 __cil_tmp20 = (unsigned long )mos7840_port;
11424#line 1192
11425 __cil_tmp21 = __cil_tmp20 + 216;
11426#line 1192
11427 __cil_tmp22 = (spinlock_t *)__cil_tmp21;
11428#line 1192
11429 tmp___8 = spinlock_check(__cil_tmp22);
11430#line 1192
11431 flags = _raw_spin_lock_irqsave(tmp___8);
11432 }
11433#line 1192
11434 goto while_break___3;
11435 }
11436 while_break___3: ;
11437 }
11438#line 1192
11439 goto while_break___2;
11440 }
11441 while_break___2: ;
11442 }
11443#line 1193
11444 i = 0;
11445 {
11446#line 1193
11447 while (1) {
11448 while_continue___4: ;
11449#line 1193
11450 if (i < 16) {
11451
11452 } else {
11453#line 1193
11454 goto while_break___4;
11455 }
11456 {
11457#line 1194
11458 __cil_tmp23 = i * 1UL;
11459#line 1194
11460 __cil_tmp24 = 368 + __cil_tmp23;
11461#line 1194
11462 __cil_tmp25 = (unsigned long )mos7840_port;
11463#line 1194
11464 __cil_tmp26 = __cil_tmp25 + __cil_tmp24;
11465#line 1194
11466 if (*((char *)__cil_tmp26)) {
11467#line 1195
11468 chars = chars + 32;
11469 } else {
11470
11471 }
11472 }
11473#line 1193
11474 i = i + 1;
11475 }
11476 while_break___4: ;
11477 }
11478 {
11479#line 1196
11480 __cil_tmp27 = (unsigned long )mos7840_port;
11481#line 1196
11482 __cil_tmp28 = __cil_tmp27 + 216;
11483#line 1196
11484 __cil_tmp29 = (spinlock_t *)__cil_tmp28;
11485#line 1196
11486 spin_unlock_irqrestore(__cil_tmp29, flags);
11487 }
11488 {
11489#line 1197
11490 while (1) {
11491 while_continue___5: ;
11492 {
11493#line 1197
11494 __cil_tmp30 = & debug;
11495#line 1197
11496 if (*__cil_tmp30) {
11497 {
11498#line 1197
11499 printk("<7>%s: %s - returns %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
11500 "mos7840_chars_in_buffer", chars);
11501 }
11502 } else {
11503
11504 }
11505 }
11506#line 1197
11507 goto while_break___5;
11508 }
11509 while_break___5: ;
11510 }
11511#line 1198
11512 return (chars);
11513}
11514}
11515#line 1207 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
11516static void mos7840_close(struct usb_serial_port *port )
11517{ struct usb_serial *serial ;
11518 struct moschip_port *mos7840_port ;
11519 struct moschip_port *port0 ;
11520 int j ;
11521 __u16 Data ;
11522 int tmp___7 ;
11523 bool *__cil_tmp8 ;
11524 bool *__cil_tmp9 ;
11525 bool *__cil_tmp10 ;
11526 unsigned long __cil_tmp11 ;
11527 unsigned long __cil_tmp12 ;
11528 unsigned long __cil_tmp13 ;
11529 unsigned long __cil_tmp14 ;
11530 struct usb_serial_port *__cil_tmp15 ;
11531 void *__cil_tmp16 ;
11532 unsigned long __cil_tmp17 ;
11533 unsigned long __cil_tmp18 ;
11534 void *__cil_tmp19 ;
11535 unsigned long __cil_tmp20 ;
11536 unsigned long __cil_tmp21 ;
11537 unsigned long __cil_tmp22 ;
11538 unsigned long __cil_tmp23 ;
11539 unsigned long __cil_tmp24 ;
11540 unsigned long __cil_tmp25 ;
11541 struct urb *__cil_tmp26 ;
11542 unsigned long __cil_tmp27 ;
11543 unsigned long __cil_tmp28 ;
11544 unsigned long __cil_tmp29 ;
11545 unsigned long __cil_tmp30 ;
11546 unsigned long __cil_tmp31 ;
11547 unsigned long __cil_tmp32 ;
11548 unsigned long __cil_tmp33 ;
11549 unsigned long __cil_tmp34 ;
11550 struct urb *__cil_tmp35 ;
11551 unsigned long __cil_tmp36 ;
11552 unsigned long __cil_tmp37 ;
11553 unsigned long __cil_tmp38 ;
11554 unsigned long __cil_tmp39 ;
11555 unsigned long __cil_tmp40 ;
11556 unsigned long __cil_tmp41 ;
11557 struct urb *__cil_tmp42 ;
11558 unsigned long __cil_tmp43 ;
11559 unsigned long __cil_tmp44 ;
11560 void *__cil_tmp45 ;
11561 void const *__cil_tmp46 ;
11562 unsigned long __cil_tmp47 ;
11563 unsigned long __cil_tmp48 ;
11564 unsigned long __cil_tmp49 ;
11565 unsigned long __cil_tmp50 ;
11566 struct urb *__cil_tmp51 ;
11567 unsigned long __cil_tmp52 ;
11568 unsigned long __cil_tmp53 ;
11569 bool *__cil_tmp54 ;
11570 unsigned long __cil_tmp55 ;
11571 unsigned long __cil_tmp56 ;
11572 struct urb *__cil_tmp57 ;
11573 unsigned long __cil_tmp58 ;
11574 unsigned long __cil_tmp59 ;
11575 bool *__cil_tmp60 ;
11576 unsigned long __cil_tmp61 ;
11577 unsigned long __cil_tmp62 ;
11578 struct urb *__cil_tmp63 ;
11579 unsigned long __cil_tmp64 ;
11580 unsigned long __cil_tmp65 ;
11581 unsigned long __cil_tmp66 ;
11582 unsigned long __cil_tmp67 ;
11583 bool *__cil_tmp68 ;
11584 unsigned long __cil_tmp69 ;
11585 unsigned long __cil_tmp70 ;
11586 unsigned long __cil_tmp71 ;
11587 unsigned long __cil_tmp72 ;
11588 char __cil_tmp73 ;
11589 int __cil_tmp74 ;
11590 int __cil_tmp75 ;
11591 bool *__cil_tmp76 ;
11592 unsigned long __cil_tmp77 ;
11593 unsigned long __cil_tmp78 ;
11594 char __cil_tmp79 ;
11595 int __cil_tmp80 ;
11596 unsigned long __cil_tmp81 ;
11597 unsigned long __cil_tmp82 ;
11598 unsigned char __cil_tmp83 ;
11599 int __cil_tmp84 ;
11600 unsigned long __cil_tmp85 ;
11601 unsigned long __cil_tmp86 ;
11602 char __cil_tmp87 ;
11603 int __cil_tmp88 ;
11604 unsigned long __cil_tmp89 ;
11605 unsigned long __cil_tmp90 ;
11606 unsigned long __cil_tmp91 ;
11607 unsigned long __cil_tmp92 ;
11608 struct usb_serial_port *__cil_tmp93 ;
11609 unsigned long __cil_tmp94 ;
11610 unsigned long __cil_tmp95 ;
11611 bool *__cil_tmp96 ;
11612 unsigned long __cil_tmp97 ;
11613 unsigned long __cil_tmp98 ;
11614 unsigned long __cil_tmp99 ;
11615 unsigned long __cil_tmp100 ;
11616 struct usb_serial_port *__cil_tmp101 ;
11617 unsigned long __cil_tmp102 ;
11618 unsigned long __cil_tmp103 ;
11619 struct urb *__cil_tmp104 ;
11620 unsigned long __cil_tmp105 ;
11621 unsigned long __cil_tmp106 ;
11622 void *__cil_tmp107 ;
11623 unsigned long __cil_tmp108 ;
11624 unsigned long __cil_tmp109 ;
11625 unsigned long __cil_tmp110 ;
11626 struct urb *__cil_tmp111 ;
11627 unsigned long __cil_tmp112 ;
11628 unsigned long __cil_tmp113 ;
11629 void *__cil_tmp114 ;
11630 unsigned long __cil_tmp115 ;
11631 unsigned long __cil_tmp116 ;
11632 unsigned long __cil_tmp117 ;
11633 struct urb *__cil_tmp118 ;
11634 unsigned long __cil_tmp119 ;
11635 unsigned long __cil_tmp120 ;
11636 void *__cil_tmp121 ;
11637 void const *__cil_tmp122 ;
11638 unsigned long __cil_tmp123 ;
11639 unsigned long __cil_tmp124 ;
11640 struct urb *__cil_tmp125 ;
11641 __u16 __cil_tmp126 ;
11642 __u16 __cil_tmp127 ;
11643 unsigned long __cil_tmp128 ;
11644 unsigned long __cil_tmp129 ;
11645 bool *__cil_tmp130 ;
11646
11647 {
11648 {
11649#line 1215
11650 while (1) {
11651 while_continue: ;
11652 {
11653#line 1215
11654 __cil_tmp8 = & debug;
11655#line 1215
11656 if (*__cil_tmp8) {
11657 {
11658#line 1215
11659 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
11660 "mos7840_close:entering...");
11661 }
11662 } else {
11663
11664 }
11665 }
11666#line 1215
11667 goto while_break;
11668 }
11669 while_break: ;
11670 }
11671 {
11672#line 1217
11673 tmp___7 = mos7840_port_paranoia_check(port, "mos7840_close");
11674 }
11675#line 1217
11676 if (tmp___7) {
11677 {
11678#line 1218
11679 while (1) {
11680 while_continue___0: ;
11681 {
11682#line 1218
11683 __cil_tmp9 = & debug;
11684#line 1218
11685 if (*__cil_tmp9) {
11686 {
11687#line 1218
11688 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
11689 "Port Paranoia failed");
11690 }
11691 } else {
11692
11693 }
11694 }
11695#line 1218
11696 goto while_break___0;
11697 }
11698 while_break___0: ;
11699 }
11700#line 1219
11701 return;
11702 } else {
11703
11704 }
11705 {
11706#line 1222
11707 serial = mos7840_get_usb_serial(port, "mos7840_close");
11708 }
11709#line 1223
11710 if (! serial) {
11711 {
11712#line 1224
11713 while (1) {
11714 while_continue___1: ;
11715 {
11716#line 1224
11717 __cil_tmp10 = & debug;
11718#line 1224
11719 if (*__cil_tmp10) {
11720 {
11721#line 1224
11722 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
11723 "Serial Paranoia failed");
11724 }
11725 } else {
11726
11727 }
11728 }
11729#line 1224
11730 goto while_break___1;
11731 }
11732 while_break___1: ;
11733 }
11734#line 1225
11735 return;
11736 } else {
11737
11738 }
11739 {
11740#line 1228
11741 mos7840_port = mos7840_get_port_private(port);
11742#line 1229
11743 __cil_tmp11 = 0 * 8UL;
11744#line 1229
11745 __cil_tmp12 = 32 + __cil_tmp11;
11746#line 1229
11747 __cil_tmp13 = (unsigned long )serial;
11748#line 1229
11749 __cil_tmp14 = __cil_tmp13 + __cil_tmp12;
11750#line 1229
11751 __cil_tmp15 = *((struct usb_serial_port **)__cil_tmp14);
11752#line 1229
11753 port0 = mos7840_get_port_private(__cil_tmp15);
11754 }
11755 {
11756#line 1231
11757 __cil_tmp16 = (void *)0;
11758#line 1231
11759 __cil_tmp17 = (unsigned long )__cil_tmp16;
11760#line 1231
11761 __cil_tmp18 = (unsigned long )mos7840_port;
11762#line 1231
11763 if (__cil_tmp18 == __cil_tmp17) {
11764#line 1232
11765 return;
11766 } else {
11767 {
11768#line 1231
11769 __cil_tmp19 = (void *)0;
11770#line 1231
11771 __cil_tmp20 = (unsigned long )__cil_tmp19;
11772#line 1231
11773 __cil_tmp21 = (unsigned long )port0;
11774#line 1231
11775 if (__cil_tmp21 == __cil_tmp20) {
11776#line 1232
11777 return;
11778 } else {
11779
11780 }
11781 }
11782 }
11783 }
11784#line 1234
11785 j = 0;
11786 {
11787#line 1234
11788 while (1) {
11789 while_continue___2: ;
11790#line 1234
11791 if (j < 16) {
11792
11793 } else {
11794#line 1234
11795 goto while_break___2;
11796 }
11797 {
11798#line 1235
11799 __cil_tmp22 = j * 8UL;
11800#line 1235
11801 __cil_tmp23 = 240 + __cil_tmp22;
11802#line 1235
11803 __cil_tmp24 = (unsigned long )mos7840_port;
11804#line 1235
11805 __cil_tmp25 = __cil_tmp24 + __cil_tmp23;
11806#line 1235
11807 __cil_tmp26 = *((struct urb **)__cil_tmp25);
11808#line 1235
11809 usb_kill_urb(__cil_tmp26);
11810#line 1234
11811 j = j + 1;
11812 }
11813 }
11814 while_break___2: ;
11815 }
11816#line 1238
11817 j = 0;
11818 {
11819#line 1238
11820 while (1) {
11821 while_continue___3: ;
11822#line 1238
11823 if (j < 16) {
11824
11825 } else {
11826#line 1238
11827 goto while_break___3;
11828 }
11829 {
11830#line 1239
11831 __cil_tmp27 = j * 8UL;
11832#line 1239
11833 __cil_tmp28 = 240 + __cil_tmp27;
11834#line 1239
11835 __cil_tmp29 = (unsigned long )mos7840_port;
11836#line 1239
11837 __cil_tmp30 = __cil_tmp29 + __cil_tmp28;
11838#line 1239
11839 if (*((struct urb **)__cil_tmp30)) {
11840 {
11841#line 1240
11842 __cil_tmp31 = j * 8UL;
11843#line 1240
11844 __cil_tmp32 = 240 + __cil_tmp31;
11845#line 1240
11846 __cil_tmp33 = (unsigned long )mos7840_port;
11847#line 1240
11848 __cil_tmp34 = __cil_tmp33 + __cil_tmp32;
11849#line 1240
11850 __cil_tmp35 = *((struct urb **)__cil_tmp34);
11851#line 1240
11852 __cil_tmp36 = (unsigned long )__cil_tmp35;
11853#line 1240
11854 __cil_tmp37 = __cil_tmp36 + 104;
11855#line 1240
11856 if (*((void **)__cil_tmp37)) {
11857 {
11858#line 1241
11859 __cil_tmp38 = j * 8UL;
11860#line 1241
11861 __cil_tmp39 = 240 + __cil_tmp38;
11862#line 1241
11863 __cil_tmp40 = (unsigned long )mos7840_port;
11864#line 1241
11865 __cil_tmp41 = __cil_tmp40 + __cil_tmp39;
11866#line 1241
11867 __cil_tmp42 = *((struct urb **)__cil_tmp41);
11868#line 1241
11869 __cil_tmp43 = (unsigned long )__cil_tmp42;
11870#line 1241
11871 __cil_tmp44 = __cil_tmp43 + 104;
11872#line 1241
11873 __cil_tmp45 = *((void **)__cil_tmp44);
11874#line 1241
11875 __cil_tmp46 = (void const *)__cil_tmp45;
11876#line 1241
11877 kfree(__cil_tmp46);
11878 }
11879 } else {
11880
11881 }
11882 }
11883 {
11884#line 1244
11885 __cil_tmp47 = j * 8UL;
11886#line 1244
11887 __cil_tmp48 = 240 + __cil_tmp47;
11888#line 1244
11889 __cil_tmp49 = (unsigned long )mos7840_port;
11890#line 1244
11891 __cil_tmp50 = __cil_tmp49 + __cil_tmp48;
11892#line 1244
11893 __cil_tmp51 = *((struct urb **)__cil_tmp50);
11894#line 1244
11895 usb_free_urb(__cil_tmp51);
11896 }
11897 } else {
11898
11899 }
11900 }
11901#line 1238
11902 j = j + 1;
11903 }
11904 while_break___3: ;
11905 }
11906#line 1250
11907 if (*((struct usb_device **)serial)) {
11908 {
11909#line 1251
11910 __cil_tmp52 = (unsigned long )mos7840_port;
11911#line 1251
11912 __cil_tmp53 = __cil_tmp52 + 8;
11913#line 1251
11914 if (*((struct urb **)__cil_tmp53)) {
11915 {
11916#line 1252
11917 while (1) {
11918 while_continue___4: ;
11919 {
11920#line 1252
11921 __cil_tmp54 = & debug;
11922#line 1252
11923 if (*__cil_tmp54) {
11924 {
11925#line 1252
11926 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
11927 "Shutdown bulk write");
11928 }
11929 } else {
11930
11931 }
11932 }
11933#line 1252
11934 goto while_break___4;
11935 }
11936 while_break___4: ;
11937 }
11938 {
11939#line 1253
11940 __cil_tmp55 = (unsigned long )mos7840_port;
11941#line 1253
11942 __cil_tmp56 = __cil_tmp55 + 8;
11943#line 1253
11944 __cil_tmp57 = *((struct urb **)__cil_tmp56);
11945#line 1253
11946 usb_kill_urb(__cil_tmp57);
11947 }
11948 } else {
11949
11950 }
11951 }
11952 {
11953#line 1255
11954 __cil_tmp58 = (unsigned long )mos7840_port;
11955#line 1255
11956 __cil_tmp59 = __cil_tmp58 + 16;
11957#line 1255
11958 if (*((struct urb **)__cil_tmp59)) {
11959 {
11960#line 1256
11961 while (1) {
11962 while_continue___5: ;
11963 {
11964#line 1256
11965 __cil_tmp60 = & debug;
11966#line 1256
11967 if (*__cil_tmp60) {
11968 {
11969#line 1256
11970 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
11971 "Shutdown bulk read");
11972 }
11973 } else {
11974
11975 }
11976 }
11977#line 1256
11978 goto while_break___5;
11979 }
11980 while_break___5: ;
11981 }
11982 {
11983#line 1257
11984 __cil_tmp61 = (unsigned long )mos7840_port;
11985#line 1257
11986 __cil_tmp62 = __cil_tmp61 + 16;
11987#line 1257
11988 __cil_tmp63 = *((struct urb **)__cil_tmp62);
11989#line 1257
11990 usb_kill_urb(__cil_tmp63);
11991#line 1258
11992 __cil_tmp64 = (unsigned long )mos7840_port;
11993#line 1258
11994 __cil_tmp65 = __cil_tmp64 + 384;
11995#line 1258
11996 *((bool *)__cil_tmp65) = (bool )0;
11997 }
11998 } else {
11999
12000 }
12001 }
12002 {
12003#line 1260
12004 __cil_tmp66 = (unsigned long )mos7840_port;
12005#line 1260
12006 __cil_tmp67 = __cil_tmp66 + 184;
12007#line 1260
12008 if ((struct urb **)__cil_tmp67) {
12009 {
12010#line 1261
12011 while (1) {
12012 while_continue___6: ;
12013 {
12014#line 1261
12015 __cil_tmp68 = & debug;
12016#line 1261
12017 if (*__cil_tmp68) {
12018 {
12019#line 1261
12020 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
12021 "Shutdown control read");
12022 }
12023 } else {
12024
12025 }
12026 }
12027#line 1261
12028 goto while_break___6;
12029 }
12030 while_break___6: ;
12031 }
12032 } else {
12033
12034 }
12035 }
12036 } else {
12037
12038 }
12039#line 1267
12040 __cil_tmp69 = (unsigned long )port0;
12041#line 1267
12042 __cil_tmp70 = __cil_tmp69 + 35;
12043#line 1267
12044 __cil_tmp71 = (unsigned long )port0;
12045#line 1267
12046 __cil_tmp72 = __cil_tmp71 + 35;
12047#line 1267
12048 __cil_tmp73 = *((char *)__cil_tmp72);
12049#line 1267
12050 __cil_tmp74 = (int )__cil_tmp73;
12051#line 1267
12052 __cil_tmp75 = __cil_tmp74 - 1;
12053#line 1267
12054 *((char *)__cil_tmp70) = (char )__cil_tmp75;
12055 {
12056#line 1268
12057 while (1) {
12058 while_continue___7: ;
12059 {
12060#line 1268
12061 __cil_tmp76 = & debug;
12062#line 1268
12063 if (*__cil_tmp76) {
12064 {
12065#line 1268
12066 __cil_tmp77 = (unsigned long )port0;
12067#line 1268
12068 __cil_tmp78 = __cil_tmp77 + 35;
12069#line 1268
12070 __cil_tmp79 = *((char *)__cil_tmp78);
12071#line 1268
12072 __cil_tmp80 = (int )__cil_tmp79;
12073#line 1268
12074 __cil_tmp81 = (unsigned long )port;
12075#line 1268
12076 __cil_tmp82 = __cil_tmp81 + 384;
12077#line 1268
12078 __cil_tmp83 = *((unsigned char *)__cil_tmp82);
12079#line 1268
12080 __cil_tmp84 = (int )__cil_tmp83;
12081#line 1268
12082 printk("<7>%s: mos7840_num_open_ports in close%d:in port%d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
12083 __cil_tmp80, __cil_tmp84);
12084 }
12085 } else {
12086
12087 }
12088 }
12089#line 1268
12090 goto while_break___7;
12091 }
12092 while_break___7: ;
12093 }
12094 {
12095#line 1270
12096 __cil_tmp85 = (unsigned long )port0;
12097#line 1270
12098 __cil_tmp86 = __cil_tmp85 + 35;
12099#line 1270
12100 __cil_tmp87 = *((char *)__cil_tmp86);
12101#line 1270
12102 __cil_tmp88 = (int )__cil_tmp87;
12103#line 1270
12104 if (__cil_tmp88 == 0) {
12105 {
12106#line 1271
12107 __cil_tmp89 = 0 * 8UL;
12108#line 1271
12109 __cil_tmp90 = 32 + __cil_tmp89;
12110#line 1271
12111 __cil_tmp91 = (unsigned long )serial;
12112#line 1271
12113 __cil_tmp92 = __cil_tmp91 + __cil_tmp90;
12114#line 1271
12115 __cil_tmp93 = *((struct usb_serial_port **)__cil_tmp92);
12116#line 1271
12117 __cil_tmp94 = (unsigned long )__cil_tmp93;
12118#line 1271
12119 __cil_tmp95 = __cil_tmp94 + 400;
12120#line 1271
12121 if (*((struct urb **)__cil_tmp95)) {
12122 {
12123#line 1272
12124 while (1) {
12125 while_continue___8: ;
12126 {
12127#line 1272
12128 __cil_tmp96 = & debug;
12129#line 1272
12130 if (*__cil_tmp96) {
12131 {
12132#line 1272
12133 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
12134 "Shutdown interrupt_in_urb");
12135 }
12136 } else {
12137
12138 }
12139 }
12140#line 1272
12141 goto while_break___8;
12142 }
12143 while_break___8: ;
12144 }
12145 {
12146#line 1273
12147 __cil_tmp97 = 0 * 8UL;
12148#line 1273
12149 __cil_tmp98 = 32 + __cil_tmp97;
12150#line 1273
12151 __cil_tmp99 = (unsigned long )serial;
12152#line 1273
12153 __cil_tmp100 = __cil_tmp99 + __cil_tmp98;
12154#line 1273
12155 __cil_tmp101 = *((struct usb_serial_port **)__cil_tmp100);
12156#line 1273
12157 __cil_tmp102 = (unsigned long )__cil_tmp101;
12158#line 1273
12159 __cil_tmp103 = __cil_tmp102 + 400;
12160#line 1273
12161 __cil_tmp104 = *((struct urb **)__cil_tmp103);
12162#line 1273
12163 usb_kill_urb(__cil_tmp104);
12164 }
12165 } else {
12166
12167 }
12168 }
12169 } else {
12170
12171 }
12172 }
12173 {
12174#line 1277
12175 __cil_tmp105 = (unsigned long )mos7840_port;
12176#line 1277
12177 __cil_tmp106 = __cil_tmp105 + 8;
12178#line 1277
12179 if (*((struct urb **)__cil_tmp106)) {
12180 {
12181#line 1279
12182 __cil_tmp107 = (void *)0;
12183#line 1279
12184 __cil_tmp108 = (unsigned long )__cil_tmp107;
12185#line 1279
12186 __cil_tmp109 = (unsigned long )mos7840_port;
12187#line 1279
12188 __cil_tmp110 = __cil_tmp109 + 8;
12189#line 1279
12190 __cil_tmp111 = *((struct urb **)__cil_tmp110);
12191#line 1279
12192 __cil_tmp112 = (unsigned long )__cil_tmp111;
12193#line 1279
12194 __cil_tmp113 = __cil_tmp112 + 104;
12195#line 1279
12196 __cil_tmp114 = *((void **)__cil_tmp113);
12197#line 1279
12198 __cil_tmp115 = (unsigned long )__cil_tmp114;
12199#line 1279
12200 if (__cil_tmp115 != __cil_tmp108) {
12201 {
12202#line 1280
12203 __cil_tmp116 = (unsigned long )mos7840_port;
12204#line 1280
12205 __cil_tmp117 = __cil_tmp116 + 8;
12206#line 1280
12207 __cil_tmp118 = *((struct urb **)__cil_tmp117);
12208#line 1280
12209 __cil_tmp119 = (unsigned long )__cil_tmp118;
12210#line 1280
12211 __cil_tmp120 = __cil_tmp119 + 104;
12212#line 1280
12213 __cil_tmp121 = *((void **)__cil_tmp120);
12214#line 1280
12215 __cil_tmp122 = (void const *)__cil_tmp121;
12216#line 1280
12217 kfree(__cil_tmp122);
12218 }
12219 } else {
12220
12221 }
12222 }
12223 {
12224#line 1281
12225 __cil_tmp123 = (unsigned long )mos7840_port;
12226#line 1281
12227 __cil_tmp124 = __cil_tmp123 + 8;
12228#line 1281
12229 __cil_tmp125 = *((struct urb **)__cil_tmp124);
12230#line 1281
12231 usb_free_urb(__cil_tmp125);
12232 }
12233 } else {
12234
12235 }
12236 }
12237 {
12238#line 1284
12239 Data = (__u16 )0;
12240#line 1285
12241 __cil_tmp126 = (__u16 )4;
12242#line 1285
12243 mos7840_set_uart_reg(port, __cil_tmp126, Data);
12244#line 1287
12245 Data = (__u16 )0;
12246#line 1288
12247 __cil_tmp127 = (__u16 )1;
12248#line 1288
12249 mos7840_set_uart_reg(port, __cil_tmp127, Data);
12250#line 1290
12251 __cil_tmp128 = (unsigned long )mos7840_port;
12252#line 1290
12253 __cil_tmp129 = __cil_tmp128 + 34;
12254#line 1290
12255 *((char *)__cil_tmp129) = (char)0;
12256 }
12257 {
12258#line 1292
12259 while (1) {
12260 while_continue___9: ;
12261 {
12262#line 1292
12263 __cil_tmp130 = & debug;
12264#line 1292
12265 if (*__cil_tmp130) {
12266 {
12267#line 1292
12268 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
12269 "Leaving ............");
12270 }
12271 } else {
12272
12273 }
12274 }
12275#line 1292
12276 goto while_break___9;
12277 }
12278 while_break___9: ;
12279 }
12280#line 1293
12281 return;
12282}
12283}
12284#line 1306 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
12285static void mos7840_block_until_chase_response(struct tty_struct *tty , struct moschip_port *mos7840_port )
12286{ int timeout ;
12287 int wait ;
12288 int count ;
12289 unsigned long __cil_tmp6 ;
12290 unsigned long __cil_tmp7 ;
12291 wait_queue_head_t *__cil_tmp8 ;
12292 long __cil_tmp9 ;
12293 bool *__cil_tmp10 ;
12294
12295 {
12296#line 1309
12297 timeout = 250;
12298#line 1310
12299 wait = 10;
12300 {
12301#line 1313
12302 while (1) {
12303 while_continue: ;
12304 {
12305#line 1314
12306 count = mos7840_chars_in_buffer(tty);
12307 }
12308#line 1317
12309 if (count <= 0) {
12310#line 1318
12311 return;
12312 } else {
12313
12314 }
12315 {
12316#line 1321
12317 __cil_tmp6 = (unsigned long )mos7840_port;
12318#line 1321
12319 __cil_tmp7 = __cil_tmp6 + 40;
12320#line 1321
12321 __cil_tmp8 = (wait_queue_head_t *)__cil_tmp7;
12322#line 1321
12323 __cil_tmp9 = (long )timeout;
12324#line 1321
12325 interruptible_sleep_on_timeout(__cil_tmp8, __cil_tmp9);
12326#line 1324
12327 wait = wait - 1;
12328 }
12329#line 1325
12330 if (wait == 0) {
12331 {
12332#line 1326
12333 while (1) {
12334 while_continue___0: ;
12335 {
12336#line 1326
12337 __cil_tmp10 = & debug;
12338#line 1326
12339 if (*__cil_tmp10) {
12340 {
12341#line 1326
12342 printk("<7>%s: %s - TIMEOUT\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
12343 "mos7840_block_until_chase_response");
12344 }
12345 } else {
12346
12347 }
12348 }
12349#line 1326
12350 goto while_break___0;
12351 }
12352 while_break___0: ;
12353 }
12354#line 1327
12355 return;
12356 } else {
12357#line 1330
12358 wait = 10;
12359 }
12360 }
12361 while_break: ;
12362 }
12363}
12364}
12365#line 1340 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
12366static void mos7840_break(struct tty_struct *tty , int break_state )
12367{ struct usb_serial_port *port ;
12368 unsigned char data ;
12369 struct usb_serial *serial ;
12370 struct moschip_port *mos7840_port ;
12371 int tmp___7 ;
12372 unsigned long __cil_tmp8 ;
12373 unsigned long __cil_tmp9 ;
12374 void *__cil_tmp10 ;
12375 bool *__cil_tmp11 ;
12376 bool *__cil_tmp12 ;
12377 bool *__cil_tmp13 ;
12378 bool *__cil_tmp14 ;
12379 void *__cil_tmp15 ;
12380 unsigned long __cil_tmp16 ;
12381 unsigned long __cil_tmp17 ;
12382 unsigned long __cil_tmp18 ;
12383 unsigned long __cil_tmp19 ;
12384 __u8 __cil_tmp20 ;
12385 int __cil_tmp21 ;
12386 int __cil_tmp22 ;
12387 unsigned long __cil_tmp23 ;
12388 unsigned long __cil_tmp24 ;
12389 __u8 __cil_tmp25 ;
12390 int __cil_tmp26 ;
12391 int __cil_tmp27 ;
12392 unsigned long __cil_tmp28 ;
12393 unsigned long __cil_tmp29 ;
12394 bool *__cil_tmp30 ;
12395 unsigned long __cil_tmp31 ;
12396 unsigned long __cil_tmp32 ;
12397 __u8 __cil_tmp33 ;
12398 int __cil_tmp34 ;
12399 __u16 __cil_tmp35 ;
12400 unsigned long __cil_tmp36 ;
12401 unsigned long __cil_tmp37 ;
12402 __u8 __cil_tmp38 ;
12403 __u16 __cil_tmp39 ;
12404
12405 {
12406#line 1342
12407 __cil_tmp8 = (unsigned long )tty;
12408#line 1342
12409 __cil_tmp9 = __cil_tmp8 + 584;
12410#line 1342
12411 __cil_tmp10 = *((void **)__cil_tmp9);
12412#line 1342
12413 port = (struct usb_serial_port *)__cil_tmp10;
12414 {
12415#line 1347
12416 while (1) {
12417 while_continue: ;
12418 {
12419#line 1347
12420 __cil_tmp11 = & debug;
12421#line 1347
12422 if (*__cil_tmp11) {
12423 {
12424#line 1347
12425 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
12426 "Entering ...........");
12427 }
12428 } else {
12429
12430 }
12431 }
12432#line 1347
12433 goto while_break;
12434 }
12435 while_break: ;
12436 }
12437 {
12438#line 1348
12439 while (1) {
12440 while_continue___0: ;
12441 {
12442#line 1348
12443 __cil_tmp12 = & debug;
12444#line 1348
12445 if (*__cil_tmp12) {
12446 {
12447#line 1348
12448 printk("<7>%s: mos7840_break: Start\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c");
12449 }
12450 } else {
12451
12452 }
12453 }
12454#line 1348
12455 goto while_break___0;
12456 }
12457 while_break___0: ;
12458 }
12459 {
12460#line 1350
12461 tmp___7 = mos7840_port_paranoia_check(port, "mos7840_break");
12462 }
12463#line 1350
12464 if (tmp___7) {
12465 {
12466#line 1351
12467 while (1) {
12468 while_continue___1: ;
12469 {
12470#line 1351
12471 __cil_tmp13 = & debug;
12472#line 1351
12473 if (*__cil_tmp13) {
12474 {
12475#line 1351
12476 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
12477 "Port Paranoia failed");
12478 }
12479 } else {
12480
12481 }
12482 }
12483#line 1351
12484 goto while_break___1;
12485 }
12486 while_break___1: ;
12487 }
12488#line 1352
12489 return;
12490 } else {
12491
12492 }
12493 {
12494#line 1355
12495 serial = mos7840_get_usb_serial(port, "mos7840_break");
12496 }
12497#line 1356
12498 if (! serial) {
12499 {
12500#line 1357
12501 while (1) {
12502 while_continue___2: ;
12503 {
12504#line 1357
12505 __cil_tmp14 = & debug;
12506#line 1357
12507 if (*__cil_tmp14) {
12508 {
12509#line 1357
12510 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
12511 "Serial Paranoia failed");
12512 }
12513 } else {
12514
12515 }
12516 }
12517#line 1357
12518 goto while_break___2;
12519 }
12520 while_break___2: ;
12521 }
12522#line 1358
12523 return;
12524 } else {
12525
12526 }
12527 {
12528#line 1361
12529 mos7840_port = mos7840_get_port_private(port);
12530 }
12531 {
12532#line 1363
12533 __cil_tmp15 = (void *)0;
12534#line 1363
12535 __cil_tmp16 = (unsigned long )__cil_tmp15;
12536#line 1363
12537 __cil_tmp17 = (unsigned long )mos7840_port;
12538#line 1363
12539 if (__cil_tmp17 == __cil_tmp16) {
12540#line 1364
12541 return;
12542 } else {
12543
12544 }
12545 }
12546#line 1366
12547 if (*((struct usb_device **)serial)) {
12548 {
12549#line 1368
12550 mos7840_block_until_chase_response(tty, mos7840_port);
12551 }
12552 } else {
12553
12554 }
12555#line 1370
12556 if (break_state == -1) {
12557#line 1371
12558 __cil_tmp18 = (unsigned long )mos7840_port;
12559#line 1371
12560 __cil_tmp19 = __cil_tmp18 + 32;
12561#line 1371
12562 __cil_tmp20 = *((__u8 *)__cil_tmp19);
12563#line 1371
12564 __cil_tmp21 = (int )__cil_tmp20;
12565#line 1371
12566 __cil_tmp22 = __cil_tmp21 | 64;
12567#line 1371
12568 data = (unsigned char )__cil_tmp22;
12569 } else {
12570#line 1373
12571 __cil_tmp23 = (unsigned long )mos7840_port;
12572#line 1373
12573 __cil_tmp24 = __cil_tmp23 + 32;
12574#line 1373
12575 __cil_tmp25 = *((__u8 *)__cil_tmp24);
12576#line 1373
12577 __cil_tmp26 = (int )__cil_tmp25;
12578#line 1373
12579 __cil_tmp27 = __cil_tmp26 & -65;
12580#line 1373
12581 data = (unsigned char )__cil_tmp27;
12582 }
12583#line 1376
12584 __cil_tmp28 = (unsigned long )mos7840_port;
12585#line 1376
12586 __cil_tmp29 = __cil_tmp28 + 32;
12587#line 1376
12588 *((__u8 *)__cil_tmp29) = data;
12589 {
12590#line 1377
12591 while (1) {
12592 while_continue___3: ;
12593 {
12594#line 1377
12595 __cil_tmp30 = & debug;
12596#line 1377
12597 if (*__cil_tmp30) {
12598 {
12599#line 1377
12600 __cil_tmp31 = (unsigned long )mos7840_port;
12601#line 1377
12602 __cil_tmp32 = __cil_tmp31 + 32;
12603#line 1377
12604 __cil_tmp33 = *((__u8 *)__cil_tmp32);
12605#line 1377
12606 __cil_tmp34 = (int )__cil_tmp33;
12607#line 1377
12608 printk("<7>%s: mcs7840_break mos7840_port->shadowLCR is %x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
12609 __cil_tmp34);
12610 }
12611 } else {
12612
12613 }
12614 }
12615#line 1377
12616 goto while_break___3;
12617 }
12618 while_break___3: ;
12619 }
12620 {
12621#line 1379
12622 __cil_tmp35 = (__u16 )3;
12623#line 1379
12624 __cil_tmp36 = (unsigned long )mos7840_port;
12625#line 1379
12626 __cil_tmp37 = __cil_tmp36 + 32;
12627#line 1379
12628 __cil_tmp38 = *((__u8 *)__cil_tmp37);
12629#line 1379
12630 __cil_tmp39 = (__u16 )__cil_tmp38;
12631#line 1379
12632 mos7840_set_uart_reg(port, __cil_tmp35, __cil_tmp39);
12633 }
12634#line 1381
12635 return;
12636}
12637}
12638#line 1391 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
12639static int mos7840_write_room(struct tty_struct *tty )
12640{ struct usb_serial_port *port ;
12641 int i ;
12642 int room ;
12643 unsigned long flags ;
12644 struct moschip_port *mos7840_port ;
12645 int tmp___7 ;
12646 raw_spinlock_t *tmp___8 ;
12647 unsigned long __cil_tmp11 ;
12648 unsigned long __cil_tmp12 ;
12649 void *__cil_tmp13 ;
12650 bool *__cil_tmp14 ;
12651 bool *__cil_tmp15 ;
12652 bool *__cil_tmp16 ;
12653 void *__cil_tmp17 ;
12654 unsigned long __cil_tmp18 ;
12655 unsigned long __cil_tmp19 ;
12656 bool *__cil_tmp20 ;
12657 unsigned long __cil_tmp21 ;
12658 unsigned long __cil_tmp22 ;
12659 spinlock_t *__cil_tmp23 ;
12660 unsigned long __cil_tmp24 ;
12661 unsigned long __cil_tmp25 ;
12662 unsigned long __cil_tmp26 ;
12663 unsigned long __cil_tmp27 ;
12664 char __cil_tmp28 ;
12665 unsigned long __cil_tmp29 ;
12666 unsigned long __cil_tmp30 ;
12667 spinlock_t *__cil_tmp31 ;
12668 int __cil_tmp32 ;
12669 bool *__cil_tmp33 ;
12670
12671 {
12672#line 1393
12673 __cil_tmp11 = (unsigned long )tty;
12674#line 1393
12675 __cil_tmp12 = __cil_tmp11 + 584;
12676#line 1393
12677 __cil_tmp13 = *((void **)__cil_tmp12);
12678#line 1393
12679 port = (struct usb_serial_port *)__cil_tmp13;
12680#line 1395
12681 room = 0;
12682 {
12683#line 1399
12684 while (1) {
12685 while_continue: ;
12686 {
12687#line 1399
12688 __cil_tmp14 = & debug;
12689#line 1399
12690 if (*__cil_tmp14) {
12691 {
12692#line 1399
12693 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
12694 " mos7840_write_room:entering ...........");
12695 }
12696 } else {
12697
12698 }
12699 }
12700#line 1399
12701 goto while_break;
12702 }
12703 while_break: ;
12704 }
12705 {
12706#line 1401
12707 tmp___7 = mos7840_port_paranoia_check(port, "mos7840_write_room");
12708 }
12709#line 1401
12710 if (tmp___7) {
12711 {
12712#line 1402
12713 while (1) {
12714 while_continue___0: ;
12715 {
12716#line 1402
12717 __cil_tmp15 = & debug;
12718#line 1402
12719 if (*__cil_tmp15) {
12720 {
12721#line 1402
12722 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
12723 "Invalid port");
12724 }
12725 } else {
12726
12727 }
12728 }
12729#line 1402
12730 goto while_break___0;
12731 }
12732 while_break___0: ;
12733 }
12734 {
12735#line 1403
12736 while (1) {
12737 while_continue___1: ;
12738 {
12739#line 1403
12740 __cil_tmp16 = & debug;
12741#line 1403
12742 if (*__cil_tmp16) {
12743 {
12744#line 1403
12745 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
12746 " mos7840_write_room:leaving ...........");
12747 }
12748 } else {
12749
12750 }
12751 }
12752#line 1403
12753 goto while_break___1;
12754 }
12755 while_break___1: ;
12756 }
12757#line 1404
12758 return (-1);
12759 } else {
12760
12761 }
12762 {
12763#line 1407
12764 mos7840_port = mos7840_get_port_private(port);
12765 }
12766 {
12767#line 1408
12768 __cil_tmp17 = (void *)0;
12769#line 1408
12770 __cil_tmp18 = (unsigned long )__cil_tmp17;
12771#line 1408
12772 __cil_tmp19 = (unsigned long )mos7840_port;
12773#line 1408
12774 if (__cil_tmp19 == __cil_tmp18) {
12775 {
12776#line 1409
12777 while (1) {
12778 while_continue___2: ;
12779 {
12780#line 1409
12781 __cil_tmp20 = & debug;
12782#line 1409
12783 if (*__cil_tmp20) {
12784 {
12785#line 1409
12786 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
12787 "mos7840_break:leaving ...........");
12788 }
12789 } else {
12790
12791 }
12792 }
12793#line 1409
12794 goto while_break___2;
12795 }
12796 while_break___2: ;
12797 }
12798#line 1410
12799 return (-1);
12800 } else {
12801
12802 }
12803 }
12804 {
12805#line 1413
12806 while (1) {
12807 while_continue___3: ;
12808 {
12809#line 1413
12810 while (1) {
12811 while_continue___4: ;
12812 {
12813#line 1413
12814 __cil_tmp21 = (unsigned long )mos7840_port;
12815#line 1413
12816 __cil_tmp22 = __cil_tmp21 + 216;
12817#line 1413
12818 __cil_tmp23 = (spinlock_t *)__cil_tmp22;
12819#line 1413
12820 tmp___8 = spinlock_check(__cil_tmp23);
12821#line 1413
12822 flags = _raw_spin_lock_irqsave(tmp___8);
12823 }
12824#line 1413
12825 goto while_break___4;
12826 }
12827 while_break___4: ;
12828 }
12829#line 1413
12830 goto while_break___3;
12831 }
12832 while_break___3: ;
12833 }
12834#line 1414
12835 i = 0;
12836 {
12837#line 1414
12838 while (1) {
12839 while_continue___5: ;
12840#line 1414
12841 if (i < 16) {
12842
12843 } else {
12844#line 1414
12845 goto while_break___5;
12846 }
12847 {
12848#line 1415
12849 __cil_tmp24 = i * 1UL;
12850#line 1415
12851 __cil_tmp25 = 368 + __cil_tmp24;
12852#line 1415
12853 __cil_tmp26 = (unsigned long )mos7840_port;
12854#line 1415
12855 __cil_tmp27 = __cil_tmp26 + __cil_tmp25;
12856#line 1415
12857 __cil_tmp28 = *((char *)__cil_tmp27);
12858#line 1415
12859 if (! __cil_tmp28) {
12860#line 1416
12861 room = room + 32;
12862 } else {
12863
12864 }
12865 }
12866#line 1414
12867 i = i + 1;
12868 }
12869 while_break___5: ;
12870 }
12871 {
12872#line 1418
12873 __cil_tmp29 = (unsigned long )mos7840_port;
12874#line 1418
12875 __cil_tmp30 = __cil_tmp29 + 216;
12876#line 1418
12877 __cil_tmp31 = (spinlock_t *)__cil_tmp30;
12878#line 1418
12879 spin_unlock_irqrestore(__cil_tmp31, flags);
12880 }
12881#line 1420
12882 if (room == 0) {
12883#line 1420
12884 room = 0;
12885 } else {
12886#line 1420
12887 __cil_tmp32 = room - 32;
12888#line 1420
12889 room = __cil_tmp32 + 1;
12890 }
12891 {
12892#line 1421
12893 while (1) {
12894 while_continue___6: ;
12895 {
12896#line 1421
12897 __cil_tmp33 = & debug;
12898#line 1421
12899 if (*__cil_tmp33) {
12900 {
12901#line 1421
12902 printk("<7>%s: %s - returns %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
12903 "mos7840_write_room", room);
12904 }
12905 } else {
12906
12907 }
12908 }
12909#line 1421
12910 goto while_break___6;
12911 }
12912 while_break___6: ;
12913 }
12914#line 1422
12915 return (room);
12916}
12917}
12918#line 1525 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
12919static bool __print_once ;
12920#line 1563 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
12921static bool __print_once___0 ;
12922#line 1434 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
12923static int mos7840_write(struct tty_struct *tty , struct usb_serial_port *port , unsigned char const *data ,
12924 int count )
12925{ int status ;
12926 int i ;
12927 int bytes_sent ;
12928 int transfer_size ;
12929 unsigned long flags ;
12930 struct moschip_port *mos7840_port ;
12931 struct usb_serial *serial ;
12932 struct urb *urb ;
12933 unsigned char const *current_position ;
12934 unsigned char *data1 ;
12935 int tmp___7 ;
12936 int tmp___8 ;
12937 raw_spinlock_t *tmp___9 ;
12938 struct usb_serial_port *__port ;
12939 int _min1 ;
12940 int _min2 ;
12941 int tmp___10 ;
12942 size_t __len ;
12943 void *__ret ;
12944 unsigned int tmp___11 ;
12945 unsigned int tmp___12 ;
12946 struct usb_serial_port *__port___0 ;
12947 bool *__cil_tmp29 ;
12948 bool *__cil_tmp30 ;
12949 bool *__cil_tmp31 ;
12950 void *__cil_tmp32 ;
12951 unsigned long __cil_tmp33 ;
12952 unsigned long __cil_tmp34 ;
12953 bool *__cil_tmp35 ;
12954 void *__cil_tmp36 ;
12955 unsigned long __cil_tmp37 ;
12956 unsigned long __cil_tmp38 ;
12957 spinlock_t *__cil_tmp39 ;
12958 unsigned long __cil_tmp40 ;
12959 unsigned long __cil_tmp41 ;
12960 unsigned long __cil_tmp42 ;
12961 unsigned long __cil_tmp43 ;
12962 char __cil_tmp44 ;
12963 unsigned long __cil_tmp45 ;
12964 unsigned long __cil_tmp46 ;
12965 unsigned long __cil_tmp47 ;
12966 unsigned long __cil_tmp48 ;
12967 unsigned long __cil_tmp49 ;
12968 unsigned long __cil_tmp50 ;
12969 unsigned long __cil_tmp51 ;
12970 unsigned long __cil_tmp52 ;
12971 bool *__cil_tmp53 ;
12972 unsigned long __cil_tmp54 ;
12973 unsigned long __cil_tmp55 ;
12974 spinlock_t *__cil_tmp56 ;
12975 void *__cil_tmp57 ;
12976 unsigned long __cil_tmp58 ;
12977 unsigned long __cil_tmp59 ;
12978 bool *__cil_tmp60 ;
12979 void *__cil_tmp61 ;
12980 unsigned long __cil_tmp62 ;
12981 unsigned long __cil_tmp63 ;
12982 unsigned long __cil_tmp64 ;
12983 void *__cil_tmp65 ;
12984 unsigned long __cil_tmp66 ;
12985 unsigned long __cil_tmp67 ;
12986 unsigned long __cil_tmp68 ;
12987 size_t __cil_tmp69 ;
12988 void *__cil_tmp70 ;
12989 unsigned long __cil_tmp71 ;
12990 unsigned long __cil_tmp72 ;
12991 unsigned long __cil_tmp73 ;
12992 void *__cil_tmp74 ;
12993 unsigned long __cil_tmp75 ;
12994 unsigned long __cil_tmp76 ;
12995 unsigned long __cil_tmp77 ;
12996 unsigned long __cil_tmp78 ;
12997 unsigned char __cil_tmp79 ;
12998 unsigned long __cil_tmp80 ;
12999 unsigned long __cil_tmp81 ;
13000 struct device *__cil_tmp82 ;
13001 struct device const *__cil_tmp83 ;
13002 unsigned long __cil_tmp84 ;
13003 unsigned long __cil_tmp85 ;
13004 struct device *__cil_tmp86 ;
13005 struct device const *__cil_tmp87 ;
13006 int *__cil_tmp88 ;
13007 int *__cil_tmp89 ;
13008 int *__cil_tmp90 ;
13009 int __cil_tmp91 ;
13010 int *__cil_tmp92 ;
13011 int __cil_tmp93 ;
13012 int *__cil_tmp94 ;
13013 int *__cil_tmp95 ;
13014 unsigned long __cil_tmp96 ;
13015 unsigned long __cil_tmp97 ;
13016 void *__cil_tmp98 ;
13017 void const *__cil_tmp99 ;
13018 unsigned long __cil_tmp100 ;
13019 unsigned long __cil_tmp101 ;
13020 unsigned char __cil_tmp102 ;
13021 int __cil_tmp103 ;
13022 struct usb_serial *__cil_tmp104 ;
13023 unsigned long __cil_tmp105 ;
13024 unsigned long __cil_tmp106 ;
13025 unsigned char __cil_tmp107 ;
13026 __u16 __cil_tmp108 ;
13027 int __cil_tmp109 ;
13028 unsigned long __cil_tmp110 ;
13029 unsigned long __cil_tmp111 ;
13030 unsigned char __cil_tmp112 ;
13031 __u16 __cil_tmp113 ;
13032 int __cil_tmp114 ;
13033 int __cil_tmp115 ;
13034 int __cil_tmp116 ;
13035 struct usb_device *__cil_tmp117 ;
13036 unsigned long __cil_tmp118 ;
13037 unsigned long __cil_tmp119 ;
13038 __u8 __cil_tmp120 ;
13039 int __cil_tmp121 ;
13040 int __cil_tmp122 ;
13041 unsigned int __cil_tmp123 ;
13042 struct usb_device *__cil_tmp124 ;
13043 int __cil_tmp125 ;
13044 unsigned int __cil_tmp126 ;
13045 unsigned int __cil_tmp127 ;
13046 unsigned long __cil_tmp128 ;
13047 unsigned long __cil_tmp129 ;
13048 void *__cil_tmp130 ;
13049 void *__cil_tmp131 ;
13050 struct usb_device *__cil_tmp132 ;
13051 unsigned long __cil_tmp133 ;
13052 unsigned long __cil_tmp134 ;
13053 __u8 __cil_tmp135 ;
13054 unsigned int __cil_tmp136 ;
13055 struct usb_device *__cil_tmp137 ;
13056 int __cil_tmp138 ;
13057 unsigned int __cil_tmp139 ;
13058 unsigned int __cil_tmp140 ;
13059 unsigned long __cil_tmp141 ;
13060 unsigned long __cil_tmp142 ;
13061 void *__cil_tmp143 ;
13062 void *__cil_tmp144 ;
13063 struct usb_device *__cil_tmp145 ;
13064 unsigned long __cil_tmp146 ;
13065 unsigned long __cil_tmp147 ;
13066 __u8 __cil_tmp148 ;
13067 unsigned int __cil_tmp149 ;
13068 struct usb_device *__cil_tmp150 ;
13069 int __cil_tmp151 ;
13070 unsigned int __cil_tmp152 ;
13071 unsigned int __cil_tmp153 ;
13072 unsigned long __cil_tmp154 ;
13073 unsigned long __cil_tmp155 ;
13074 void *__cil_tmp156 ;
13075 void *__cil_tmp157 ;
13076 unsigned long __cil_tmp158 ;
13077 unsigned long __cil_tmp159 ;
13078 void *__cil_tmp160 ;
13079 bool *__cil_tmp161 ;
13080 unsigned long __cil_tmp162 ;
13081 unsigned long __cil_tmp163 ;
13082 __u8 __cil_tmp164 ;
13083 int __cil_tmp165 ;
13084 unsigned long __cil_tmp166 ;
13085 unsigned long __cil_tmp167 ;
13086 unsigned long __cil_tmp168 ;
13087 unsigned long __cil_tmp169 ;
13088 unsigned long __cil_tmp170 ;
13089 unsigned long __cil_tmp171 ;
13090 unsigned long __cil_tmp172 ;
13091 unsigned char __cil_tmp173 ;
13092 unsigned long __cil_tmp174 ;
13093 unsigned long __cil_tmp175 ;
13094 struct device *__cil_tmp176 ;
13095 struct device const *__cil_tmp177 ;
13096 unsigned long __cil_tmp178 ;
13097 unsigned long __cil_tmp179 ;
13098 struct device *__cil_tmp180 ;
13099 struct device const *__cil_tmp181 ;
13100 unsigned long __cil_tmp182 ;
13101 unsigned long __cil_tmp183 ;
13102 unsigned long __cil_tmp184 ;
13103 __u32 __cil_tmp185 ;
13104 unsigned long __cil_tmp186 ;
13105 unsigned long __cil_tmp187 ;
13106 unsigned long __cil_tmp188 ;
13107 __u32 __cil_tmp189 ;
13108 bool *__cil_tmp190 ;
13109 unsigned long __cil_tmp191 ;
13110 unsigned long __cil_tmp192 ;
13111 unsigned long __cil_tmp193 ;
13112 __u32 __cil_tmp194 ;
13113
13114 {
13115#line 1439
13116 bytes_sent = 0;
13117#line 1447
13118 current_position = data;
13119 {
13120#line 1449
13121 while (1) {
13122 while_continue: ;
13123 {
13124#line 1449
13125 __cil_tmp29 = & debug;
13126#line 1449
13127 if (*__cil_tmp29) {
13128 {
13129#line 1449
13130 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
13131 "entering ...........");
13132 }
13133 } else {
13134
13135 }
13136 }
13137#line 1449
13138 goto while_break;
13139 }
13140 while_break: ;
13141 }
13142 {
13143#line 1484
13144 tmp___7 = mos7840_port_paranoia_check(port, "mos7840_write");
13145 }
13146#line 1484
13147 if (tmp___7) {
13148 {
13149#line 1485
13150 while (1) {
13151 while_continue___0: ;
13152 {
13153#line 1485
13154 __cil_tmp30 = & debug;
13155#line 1485
13156 if (*__cil_tmp30) {
13157 {
13158#line 1485
13159 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
13160 "Port Paranoia failed");
13161 }
13162 } else {
13163
13164 }
13165 }
13166#line 1485
13167 goto while_break___0;
13168 }
13169 while_break___0: ;
13170 }
13171#line 1486
13172 return (-1);
13173 } else {
13174
13175 }
13176 {
13177#line 1489
13178 serial = *((struct usb_serial **)port);
13179#line 1490
13180 tmp___8 = mos7840_serial_paranoia_check(serial, "mos7840_write");
13181 }
13182#line 1490
13183 if (tmp___8) {
13184 {
13185#line 1491
13186 while (1) {
13187 while_continue___1: ;
13188 {
13189#line 1491
13190 __cil_tmp31 = & debug;
13191#line 1491
13192 if (*__cil_tmp31) {
13193 {
13194#line 1491
13195 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
13196 "Serial Paranoia failed");
13197 }
13198 } else {
13199
13200 }
13201 }
13202#line 1491
13203 goto while_break___1;
13204 }
13205 while_break___1: ;
13206 }
13207#line 1492
13208 return (-1);
13209 } else {
13210
13211 }
13212 {
13213#line 1495
13214 mos7840_port = mos7840_get_port_private(port);
13215 }
13216 {
13217#line 1496
13218 __cil_tmp32 = (void *)0;
13219#line 1496
13220 __cil_tmp33 = (unsigned long )__cil_tmp32;
13221#line 1496
13222 __cil_tmp34 = (unsigned long )mos7840_port;
13223#line 1496
13224 if (__cil_tmp34 == __cil_tmp33) {
13225 {
13226#line 1497
13227 while (1) {
13228 while_continue___2: ;
13229 {
13230#line 1497
13231 __cil_tmp35 = & debug;
13232#line 1497
13233 if (*__cil_tmp35) {
13234 {
13235#line 1497
13236 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
13237 "mos7840_port is NULL");
13238 }
13239 } else {
13240
13241 }
13242 }
13243#line 1497
13244 goto while_break___2;
13245 }
13246 while_break___2: ;
13247 }
13248#line 1498
13249 return (-1);
13250 } else {
13251
13252 }
13253 }
13254#line 1502
13255 __cil_tmp36 = (void *)0;
13256#line 1502
13257 urb = (struct urb *)__cil_tmp36;
13258 {
13259#line 1504
13260 while (1) {
13261 while_continue___3: ;
13262 {
13263#line 1504
13264 while (1) {
13265 while_continue___4: ;
13266 {
13267#line 1504
13268 __cil_tmp37 = (unsigned long )mos7840_port;
13269#line 1504
13270 __cil_tmp38 = __cil_tmp37 + 216;
13271#line 1504
13272 __cil_tmp39 = (spinlock_t *)__cil_tmp38;
13273#line 1504
13274 tmp___9 = spinlock_check(__cil_tmp39);
13275#line 1504
13276 flags = _raw_spin_lock_irqsave(tmp___9);
13277 }
13278#line 1504
13279 goto while_break___4;
13280 }
13281 while_break___4: ;
13282 }
13283#line 1504
13284 goto while_break___3;
13285 }
13286 while_break___3: ;
13287 }
13288#line 1505
13289 i = 0;
13290 {
13291#line 1505
13292 while (1) {
13293 while_continue___5: ;
13294#line 1505
13295 if (i < 16) {
13296
13297 } else {
13298#line 1505
13299 goto while_break___5;
13300 }
13301 {
13302#line 1506
13303 __cil_tmp40 = i * 1UL;
13304#line 1506
13305 __cil_tmp41 = 368 + __cil_tmp40;
13306#line 1506
13307 __cil_tmp42 = (unsigned long )mos7840_port;
13308#line 1506
13309 __cil_tmp43 = __cil_tmp42 + __cil_tmp41;
13310#line 1506
13311 __cil_tmp44 = *((char *)__cil_tmp43);
13312#line 1506
13313 if (! __cil_tmp44) {
13314#line 1507
13315 __cil_tmp45 = i * 1UL;
13316#line 1507
13317 __cil_tmp46 = 368 + __cil_tmp45;
13318#line 1507
13319 __cil_tmp47 = (unsigned long )mos7840_port;
13320#line 1507
13321 __cil_tmp48 = __cil_tmp47 + __cil_tmp46;
13322#line 1507
13323 *((char *)__cil_tmp48) = (char)1;
13324#line 1508
13325 __cil_tmp49 = i * 8UL;
13326#line 1508
13327 __cil_tmp50 = 240 + __cil_tmp49;
13328#line 1508
13329 __cil_tmp51 = (unsigned long )mos7840_port;
13330#line 1508
13331 __cil_tmp52 = __cil_tmp51 + __cil_tmp50;
13332#line 1508
13333 urb = *((struct urb **)__cil_tmp52);
13334 {
13335#line 1509
13336 while (1) {
13337 while_continue___6: ;
13338 {
13339#line 1509
13340 __cil_tmp53 = & debug;
13341#line 1509
13342 if (*__cil_tmp53) {
13343 {
13344#line 1509
13345 printk("<7>%s: URB:%d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
13346 i);
13347 }
13348 } else {
13349
13350 }
13351 }
13352#line 1509
13353 goto while_break___6;
13354 }
13355 while_break___6: ;
13356 }
13357#line 1510
13358 goto while_break___5;
13359 } else {
13360
13361 }
13362 }
13363#line 1505
13364 i = i + 1;
13365 }
13366 while_break___5: ;
13367 }
13368 {
13369#line 1513
13370 __cil_tmp54 = (unsigned long )mos7840_port;
13371#line 1513
13372 __cil_tmp55 = __cil_tmp54 + 216;
13373#line 1513
13374 __cil_tmp56 = (spinlock_t *)__cil_tmp55;
13375#line 1513
13376 spin_unlock_irqrestore(__cil_tmp56, flags);
13377 }
13378 {
13379#line 1515
13380 __cil_tmp57 = (void *)0;
13381#line 1515
13382 __cil_tmp58 = (unsigned long )__cil_tmp57;
13383#line 1515
13384 __cil_tmp59 = (unsigned long )urb;
13385#line 1515
13386 if (__cil_tmp59 == __cil_tmp58) {
13387 {
13388#line 1516
13389 while (1) {
13390 while_continue___7: ;
13391 {
13392#line 1516
13393 __cil_tmp60 = & debug;
13394#line 1516
13395 if (*__cil_tmp60) {
13396 {
13397#line 1516
13398 printk("<7>%s: %s - no more free urbs\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
13399 "mos7840_write");
13400 }
13401 } else {
13402
13403 }
13404 }
13405#line 1516
13406 goto while_break___7;
13407 }
13408 while_break___7: ;
13409 }
13410#line 1517
13411 goto exit;
13412 } else {
13413
13414 }
13415 }
13416 {
13417#line 1520
13418 __cil_tmp61 = (void *)0;
13419#line 1520
13420 __cil_tmp62 = (unsigned long )__cil_tmp61;
13421#line 1520
13422 __cil_tmp63 = (unsigned long )urb;
13423#line 1520
13424 __cil_tmp64 = __cil_tmp63 + 104;
13425#line 1520
13426 __cil_tmp65 = *((void **)__cil_tmp64);
13427#line 1520
13428 __cil_tmp66 = (unsigned long )__cil_tmp65;
13429#line 1520
13430 if (__cil_tmp66 == __cil_tmp62) {
13431 {
13432#line 1521
13433 __cil_tmp67 = (unsigned long )urb;
13434#line 1521
13435 __cil_tmp68 = __cil_tmp67 + 104;
13436#line 1521
13437 __cil_tmp69 = (size_t )32;
13438#line 1521
13439 *((void **)__cil_tmp68) = kmalloc(__cil_tmp69, 208U);
13440 }
13441 {
13442#line 1524
13443 __cil_tmp70 = (void *)0;
13444#line 1524
13445 __cil_tmp71 = (unsigned long )__cil_tmp70;
13446#line 1524
13447 __cil_tmp72 = (unsigned long )urb;
13448#line 1524
13449 __cil_tmp73 = __cil_tmp72 + 104;
13450#line 1524
13451 __cil_tmp74 = *((void **)__cil_tmp73);
13452#line 1524
13453 __cil_tmp75 = (unsigned long )__cil_tmp74;
13454#line 1524
13455 if (__cil_tmp75 == __cil_tmp71) {
13456 {
13457#line 1525
13458 while (1) {
13459 while_continue___8: ;
13460#line 1525
13461 __port = port;
13462 {
13463#line 1525
13464 __cil_tmp76 = 8 + 176;
13465#line 1525
13466 __cil_tmp77 = (unsigned long )__port;
13467#line 1525
13468 __cil_tmp78 = __cil_tmp77 + __cil_tmp76;
13469#line 1525
13470 __cil_tmp79 = *((unsigned char *)__cil_tmp78);
13471#line 1525
13472 if (! __cil_tmp79) {
13473 {
13474#line 1525
13475 __print_once = (bool )1;
13476#line 1525
13477 __cil_tmp80 = (unsigned long )__port;
13478#line 1525
13479 __cil_tmp81 = __cil_tmp80 + 712;
13480#line 1525
13481 __cil_tmp82 = (struct device *)__cil_tmp81;
13482#line 1525
13483 __cil_tmp83 = (struct device const *)__cil_tmp82;
13484#line 1525
13485 dev_err(__cil_tmp83, "%s no more kernel memory...\n", "mos7840_write");
13486 }
13487 } else
13488#line 1525
13489 if (! __print_once) {
13490 {
13491#line 1525
13492 __print_once = (bool )1;
13493#line 1525
13494 __cil_tmp84 = (unsigned long )__port;
13495#line 1525
13496 __cil_tmp85 = __cil_tmp84 + 712;
13497#line 1525
13498 __cil_tmp86 = (struct device *)__cil_tmp85;
13499#line 1525
13500 __cil_tmp87 = (struct device const *)__cil_tmp86;
13501#line 1525
13502 dev_err(__cil_tmp87, "%s no more kernel memory...\n", "mos7840_write");
13503 }
13504 } else {
13505
13506 }
13507 }
13508#line 1525
13509 goto while_break___8;
13510 }
13511 while_break___8: ;
13512 }
13513#line 1527
13514 goto exit;
13515 } else {
13516
13517 }
13518 }
13519 } else {
13520
13521 }
13522 }
13523#line 1530
13524 __cil_tmp88 = & _min1;
13525#line 1530
13526 *__cil_tmp88 = count;
13527#line 1530
13528 __cil_tmp89 = & _min2;
13529#line 1530
13530 *__cil_tmp89 = 32;
13531 {
13532#line 1530
13533 __cil_tmp90 = & _min2;
13534#line 1530
13535 __cil_tmp91 = *__cil_tmp90;
13536#line 1530
13537 __cil_tmp92 = & _min1;
13538#line 1530
13539 __cil_tmp93 = *__cil_tmp92;
13540#line 1530
13541 if (__cil_tmp93 < __cil_tmp91) {
13542#line 1530
13543 __cil_tmp94 = & _min1;
13544#line 1530
13545 tmp___10 = *__cil_tmp94;
13546 } else {
13547#line 1530
13548 __cil_tmp95 = & _min2;
13549#line 1530
13550 tmp___10 = *__cil_tmp95;
13551 }
13552 }
13553 {
13554#line 1530
13555 transfer_size = tmp___10;
13556#line 1532
13557 __len = (size_t )transfer_size;
13558#line 1532
13559 __cil_tmp96 = (unsigned long )urb;
13560#line 1532
13561 __cil_tmp97 = __cil_tmp96 + 104;
13562#line 1532
13563 __cil_tmp98 = *((void **)__cil_tmp97);
13564#line 1532
13565 __cil_tmp99 = (void const *)current_position;
13566#line 1532
13567 __ret = __builtin_memcpy(__cil_tmp98, __cil_tmp99, __len);
13568 }
13569 {
13570#line 1535
13571 __cil_tmp100 = (unsigned long )serial;
13572#line 1535
13573 __cil_tmp101 = __cil_tmp100 + 26;
13574#line 1535
13575 __cil_tmp102 = *((unsigned char *)__cil_tmp101);
13576#line 1535
13577 __cil_tmp103 = (int )__cil_tmp102;
13578#line 1535
13579 if (__cil_tmp103 == 2) {
13580 {
13581#line 1535
13582 __cil_tmp104 = *((struct usb_serial **)port);
13583#line 1535
13584 __cil_tmp105 = (unsigned long )__cil_tmp104;
13585#line 1535
13586 __cil_tmp106 = __cil_tmp105 + 25;
13587#line 1535
13588 __cil_tmp107 = *((unsigned char *)__cil_tmp106);
13589#line 1535
13590 __cil_tmp108 = (__u16 )__cil_tmp107;
13591#line 1535
13592 __cil_tmp109 = (int )__cil_tmp108;
13593#line 1535
13594 __cil_tmp110 = (unsigned long )port;
13595#line 1535
13596 __cil_tmp111 = __cil_tmp110 + 384;
13597#line 1535
13598 __cil_tmp112 = *((unsigned char *)__cil_tmp111);
13599#line 1535
13600 __cil_tmp113 = (__u16 )__cil_tmp112;
13601#line 1535
13602 __cil_tmp114 = (int )__cil_tmp113;
13603#line 1535
13604 __cil_tmp115 = __cil_tmp114 - __cil_tmp109;
13605#line 1535
13606 __cil_tmp116 = __cil_tmp115 % 2;
13607#line 1535
13608 if (__cil_tmp116 != 0) {
13609 {
13610#line 1538
13611 __cil_tmp117 = *((struct usb_device **)serial);
13612#line 1538
13613 __cil_tmp118 = (unsigned long )port;
13614#line 1538
13615 __cil_tmp119 = __cil_tmp118 + 608;
13616#line 1538
13617 __cil_tmp120 = *((__u8 *)__cil_tmp119);
13618#line 1538
13619 __cil_tmp121 = (int )__cil_tmp120;
13620#line 1538
13621 __cil_tmp122 = __cil_tmp121 + 2;
13622#line 1538
13623 __cil_tmp123 = (unsigned int )__cil_tmp122;
13624#line 1538
13625 tmp___11 = __create_pipe(__cil_tmp117, __cil_tmp123);
13626#line 1538
13627 __cil_tmp124 = *((struct usb_device **)serial);
13628#line 1538
13629 __cil_tmp125 = 3 << 30;
13630#line 1538
13631 __cil_tmp126 = (unsigned int )__cil_tmp125;
13632#line 1538
13633 __cil_tmp127 = __cil_tmp126 | tmp___11;
13634#line 1538
13635 __cil_tmp128 = (unsigned long )urb;
13636#line 1538
13637 __cil_tmp129 = __cil_tmp128 + 104;
13638#line 1538
13639 __cil_tmp130 = *((void **)__cil_tmp129);
13640#line 1538
13641 __cil_tmp131 = (void *)mos7840_port;
13642#line 1538
13643 usb_fill_bulk_urb(urb, __cil_tmp124, __cil_tmp127, __cil_tmp130, transfer_size,
13644 & mos7840_bulk_out_data_callback, __cil_tmp131);
13645 }
13646 } else {
13647 {
13648#line 1546
13649 __cil_tmp132 = *((struct usb_device **)serial);
13650#line 1546
13651 __cil_tmp133 = (unsigned long )port;
13652#line 1546
13653 __cil_tmp134 = __cil_tmp133 + 608;
13654#line 1546
13655 __cil_tmp135 = *((__u8 *)__cil_tmp134);
13656#line 1546
13657 __cil_tmp136 = (unsigned int )__cil_tmp135;
13658#line 1546
13659 tmp___12 = __create_pipe(__cil_tmp132, __cil_tmp136);
13660#line 1546
13661 __cil_tmp137 = *((struct usb_device **)serial);
13662#line 1546
13663 __cil_tmp138 = 3 << 30;
13664#line 1546
13665 __cil_tmp139 = (unsigned int )__cil_tmp138;
13666#line 1546
13667 __cil_tmp140 = __cil_tmp139 | tmp___12;
13668#line 1546
13669 __cil_tmp141 = (unsigned long )urb;
13670#line 1546
13671 __cil_tmp142 = __cil_tmp141 + 104;
13672#line 1546
13673 __cil_tmp143 = *((void **)__cil_tmp142);
13674#line 1546
13675 __cil_tmp144 = (void *)mos7840_port;
13676#line 1546
13677 usb_fill_bulk_urb(urb, __cil_tmp137, __cil_tmp140, __cil_tmp143, transfer_size,
13678 & mos7840_bulk_out_data_callback, __cil_tmp144);
13679 }
13680 }
13681 }
13682 } else {
13683 {
13684#line 1546
13685 __cil_tmp145 = *((struct usb_device **)serial);
13686#line 1546
13687 __cil_tmp146 = (unsigned long )port;
13688#line 1546
13689 __cil_tmp147 = __cil_tmp146 + 608;
13690#line 1546
13691 __cil_tmp148 = *((__u8 *)__cil_tmp147);
13692#line 1546
13693 __cil_tmp149 = (unsigned int )__cil_tmp148;
13694#line 1546
13695 tmp___12 = __create_pipe(__cil_tmp145, __cil_tmp149);
13696#line 1546
13697 __cil_tmp150 = *((struct usb_device **)serial);
13698#line 1546
13699 __cil_tmp151 = 3 << 30;
13700#line 1546
13701 __cil_tmp152 = (unsigned int )__cil_tmp151;
13702#line 1546
13703 __cil_tmp153 = __cil_tmp152 | tmp___12;
13704#line 1546
13705 __cil_tmp154 = (unsigned long )urb;
13706#line 1546
13707 __cil_tmp155 = __cil_tmp154 + 104;
13708#line 1546
13709 __cil_tmp156 = *((void **)__cil_tmp155);
13710#line 1546
13711 __cil_tmp157 = (void *)mos7840_port;
13712#line 1546
13713 usb_fill_bulk_urb(urb, __cil_tmp150, __cil_tmp153, __cil_tmp156, transfer_size,
13714 & mos7840_bulk_out_data_callback, __cil_tmp157);
13715 }
13716 }
13717 }
13718#line 1555
13719 __cil_tmp158 = (unsigned long )urb;
13720#line 1555
13721 __cil_tmp159 = __cil_tmp158 + 104;
13722#line 1555
13723 __cil_tmp160 = *((void **)__cil_tmp159);
13724#line 1555
13725 data1 = (unsigned char *)__cil_tmp160;
13726 {
13727#line 1556
13728 while (1) {
13729 while_continue___9: ;
13730 {
13731#line 1556
13732 __cil_tmp161 = & debug;
13733#line 1556
13734 if (*__cil_tmp161) {
13735 {
13736#line 1556
13737 __cil_tmp162 = (unsigned long )port;
13738#line 1556
13739 __cil_tmp163 = __cil_tmp162 + 608;
13740#line 1556
13741 __cil_tmp164 = *((__u8 *)__cil_tmp163);
13742#line 1556
13743 __cil_tmp165 = (int )__cil_tmp164;
13744#line 1556
13745 printk("<7>%s: bulkout endpoint is %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
13746 __cil_tmp165);
13747 }
13748 } else {
13749
13750 }
13751 }
13752#line 1556
13753 goto while_break___9;
13754 }
13755 while_break___9: ;
13756 }
13757 {
13758#line 1559
13759 status = usb_submit_urb(urb, 32U);
13760 }
13761#line 1561
13762 if (status) {
13763#line 1562
13764 __cil_tmp166 = i * 1UL;
13765#line 1562
13766 __cil_tmp167 = 368 + __cil_tmp166;
13767#line 1562
13768 __cil_tmp168 = (unsigned long )mos7840_port;
13769#line 1562
13770 __cil_tmp169 = __cil_tmp168 + __cil_tmp167;
13771#line 1562
13772 *((char *)__cil_tmp169) = (char)0;
13773 {
13774#line 1563
13775 while (1) {
13776 while_continue___10: ;
13777#line 1563
13778 __port___0 = port;
13779 {
13780#line 1563
13781 __cil_tmp170 = 8 + 176;
13782#line 1563
13783 __cil_tmp171 = (unsigned long )__port___0;
13784#line 1563
13785 __cil_tmp172 = __cil_tmp171 + __cil_tmp170;
13786#line 1563
13787 __cil_tmp173 = *((unsigned char *)__cil_tmp172);
13788#line 1563
13789 if (! __cil_tmp173) {
13790 {
13791#line 1563
13792 __print_once___0 = (bool )1;
13793#line 1563
13794 __cil_tmp174 = (unsigned long )__port___0;
13795#line 1563
13796 __cil_tmp175 = __cil_tmp174 + 712;
13797#line 1563
13798 __cil_tmp176 = (struct device *)__cil_tmp175;
13799#line 1563
13800 __cil_tmp177 = (struct device const *)__cil_tmp176;
13801#line 1563
13802 dev_err(__cil_tmp177, "%s - usb_submit_urb(write bulk) failed with status = %d\n",
13803 "mos7840_write", status);
13804 }
13805 } else
13806#line 1563
13807 if (! __print_once___0) {
13808 {
13809#line 1563
13810 __print_once___0 = (bool )1;
13811#line 1563
13812 __cil_tmp178 = (unsigned long )__port___0;
13813#line 1563
13814 __cil_tmp179 = __cil_tmp178 + 712;
13815#line 1563
13816 __cil_tmp180 = (struct device *)__cil_tmp179;
13817#line 1563
13818 __cil_tmp181 = (struct device const *)__cil_tmp180;
13819#line 1563
13820 dev_err(__cil_tmp181, "%s - usb_submit_urb(write bulk) failed with status = %d\n",
13821 "mos7840_write", status);
13822 }
13823 } else {
13824
13825 }
13826 }
13827#line 1563
13828 goto while_break___10;
13829 }
13830 while_break___10: ;
13831 }
13832#line 1565
13833 bytes_sent = status;
13834#line 1566
13835 goto exit;
13836 } else {
13837
13838 }
13839#line 1568
13840 bytes_sent = transfer_size;
13841#line 1569
13842 __cil_tmp182 = 124 + 16;
13843#line 1569
13844 __cil_tmp183 = (unsigned long )mos7840_port;
13845#line 1569
13846 __cil_tmp184 = __cil_tmp183 + __cil_tmp182;
13847#line 1569
13848 __cil_tmp185 = (__u32 )transfer_size;
13849#line 1569
13850 __cil_tmp186 = 124 + 16;
13851#line 1569
13852 __cil_tmp187 = (unsigned long )mos7840_port;
13853#line 1569
13854 __cil_tmp188 = __cil_tmp187 + __cil_tmp186;
13855#line 1569
13856 __cil_tmp189 = *((__u32 *)__cil_tmp188);
13857#line 1569
13858 *((__u32 *)__cil_tmp184) = __cil_tmp189 + __cil_tmp185;
13859#line 1570
13860 __asm__ volatile ("": : : "memory");
13861 {
13862#line 1571
13863 while (1) {
13864 while_continue___11: ;
13865 {
13866#line 1571
13867 __cil_tmp190 = & debug;
13868#line 1571
13869 if (*__cil_tmp190) {
13870 {
13871#line 1571
13872 __cil_tmp191 = 124 + 16;
13873#line 1571
13874 __cil_tmp192 = (unsigned long )mos7840_port;
13875#line 1571
13876 __cil_tmp193 = __cil_tmp192 + __cil_tmp191;
13877#line 1571
13878 __cil_tmp194 = *((__u32 *)__cil_tmp193);
13879#line 1571
13880 printk("<7>%s: mos7840_port->icount.tx is %d:\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
13881 __cil_tmp194);
13882 }
13883 } else {
13884
13885 }
13886 }
13887#line 1571
13888 goto while_break___11;
13889 }
13890 while_break___11: ;
13891 }
13892 exit:
13893#line 1573
13894 return (bytes_sent);
13895}
13896}
13897#line 1583 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
13898static void mos7840_throttle(struct tty_struct *tty )
13899{ struct usb_serial_port *port ;
13900 struct moschip_port *mos7840_port ;
13901 int status ;
13902 int tmp___7 ;
13903 unsigned char stop_char ;
13904 unsigned long __cil_tmp7 ;
13905 unsigned long __cil_tmp8 ;
13906 void *__cil_tmp9 ;
13907 bool *__cil_tmp10 ;
13908 bool *__cil_tmp11 ;
13909 unsigned long __cil_tmp12 ;
13910 unsigned long __cil_tmp13 ;
13911 unsigned char __cil_tmp14 ;
13912 int __cil_tmp15 ;
13913 void *__cil_tmp16 ;
13914 unsigned long __cil_tmp17 ;
13915 unsigned long __cil_tmp18 ;
13916 unsigned long __cil_tmp19 ;
13917 unsigned long __cil_tmp20 ;
13918 char __cil_tmp21 ;
13919 bool *__cil_tmp22 ;
13920 bool *__cil_tmp23 ;
13921 unsigned long __cil_tmp24 ;
13922 unsigned long __cil_tmp25 ;
13923 struct ktermios *__cil_tmp26 ;
13924 tcflag_t __cil_tmp27 ;
13925 unsigned char *__cil_tmp28 ;
13926 unsigned long __cil_tmp29 ;
13927 unsigned long __cil_tmp30 ;
13928 unsigned long __cil_tmp31 ;
13929 unsigned long __cil_tmp32 ;
13930 struct ktermios *__cil_tmp33 ;
13931 unsigned long __cil_tmp34 ;
13932 unsigned long __cil_tmp35 ;
13933 unsigned char const *__cil_tmp36 ;
13934 unsigned long __cil_tmp37 ;
13935 unsigned long __cil_tmp38 ;
13936 struct ktermios *__cil_tmp39 ;
13937 unsigned long __cil_tmp40 ;
13938 unsigned long __cil_tmp41 ;
13939 tcflag_t __cil_tmp42 ;
13940 unsigned long __cil_tmp43 ;
13941 unsigned long __cil_tmp44 ;
13942 unsigned long __cil_tmp45 ;
13943 unsigned long __cil_tmp46 ;
13944 __u8 __cil_tmp47 ;
13945 int __cil_tmp48 ;
13946 int __cil_tmp49 ;
13947 __u16 __cil_tmp50 ;
13948 unsigned long __cil_tmp51 ;
13949 unsigned long __cil_tmp52 ;
13950 __u8 __cil_tmp53 ;
13951 __u16 __cil_tmp54 ;
13952
13953 {
13954 {
13955#line 1585
13956 __cil_tmp7 = (unsigned long )tty;
13957#line 1585
13958 __cil_tmp8 = __cil_tmp7 + 584;
13959#line 1585
13960 __cil_tmp9 = *((void **)__cil_tmp8);
13961#line 1585
13962 port = (struct usb_serial_port *)__cil_tmp9;
13963#line 1589
13964 tmp___7 = mos7840_port_paranoia_check(port, "mos7840_throttle");
13965 }
13966#line 1589
13967 if (tmp___7) {
13968 {
13969#line 1590
13970 while (1) {
13971 while_continue: ;
13972 {
13973#line 1590
13974 __cil_tmp10 = & debug;
13975#line 1590
13976 if (*__cil_tmp10) {
13977 {
13978#line 1590
13979 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
13980 "Invalid port");
13981 }
13982 } else {
13983
13984 }
13985 }
13986#line 1590
13987 goto while_break;
13988 }
13989 while_break: ;
13990 }
13991#line 1591
13992 return;
13993 } else {
13994
13995 }
13996 {
13997#line 1594
13998 while (1) {
13999 while_continue___0: ;
14000 {
14001#line 1594
14002 __cil_tmp11 = & debug;
14003#line 1594
14004 if (*__cil_tmp11) {
14005 {
14006#line 1594
14007 __cil_tmp12 = (unsigned long )port;
14008#line 1594
14009 __cil_tmp13 = __cil_tmp12 + 384;
14010#line 1594
14011 __cil_tmp14 = *((unsigned char *)__cil_tmp13);
14012#line 1594
14013 __cil_tmp15 = (int )__cil_tmp14;
14014#line 1594
14015 printk("<7>%s: - port %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
14016 __cil_tmp15);
14017 }
14018 } else {
14019
14020 }
14021 }
14022#line 1594
14023 goto while_break___0;
14024 }
14025 while_break___0: ;
14026 }
14027 {
14028#line 1596
14029 mos7840_port = mos7840_get_port_private(port);
14030 }
14031 {
14032#line 1598
14033 __cil_tmp16 = (void *)0;
14034#line 1598
14035 __cil_tmp17 = (unsigned long )__cil_tmp16;
14036#line 1598
14037 __cil_tmp18 = (unsigned long )mos7840_port;
14038#line 1598
14039 if (__cil_tmp18 == __cil_tmp17) {
14040#line 1599
14041 return;
14042 } else {
14043
14044 }
14045 }
14046 {
14047#line 1601
14048 __cil_tmp19 = (unsigned long )mos7840_port;
14049#line 1601
14050 __cil_tmp20 = __cil_tmp19 + 34;
14051#line 1601
14052 __cil_tmp21 = *((char *)__cil_tmp20);
14053#line 1601
14054 if (! __cil_tmp21) {
14055 {
14056#line 1602
14057 while (1) {
14058 while_continue___1: ;
14059 {
14060#line 1602
14061 __cil_tmp22 = & debug;
14062#line 1602
14063 if (*__cil_tmp22) {
14064 {
14065#line 1602
14066 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
14067 "port not opened");
14068 }
14069 } else {
14070
14071 }
14072 }
14073#line 1602
14074 goto while_break___1;
14075 }
14076 while_break___1: ;
14077 }
14078#line 1603
14079 return;
14080 } else {
14081
14082 }
14083 }
14084 {
14085#line 1606
14086 while (1) {
14087 while_continue___2: ;
14088 {
14089#line 1606
14090 __cil_tmp23 = & debug;
14091#line 1606
14092 if (*__cil_tmp23) {
14093 {
14094#line 1606
14095 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
14096 "Entering ..........");
14097 }
14098 } else {
14099
14100 }
14101 }
14102#line 1606
14103 goto while_break___2;
14104 }
14105 while_break___2: ;
14106 }
14107 {
14108#line 1609
14109 __cil_tmp24 = (unsigned long )tty;
14110#line 1609
14111 __cil_tmp25 = __cil_tmp24 + 216;
14112#line 1609
14113 __cil_tmp26 = *((struct ktermios **)__cil_tmp25);
14114#line 1609
14115 __cil_tmp27 = *((tcflag_t *)__cil_tmp26);
14116#line 1609
14117 if (__cil_tmp27 & 4096U) {
14118 {
14119#line 1610
14120 __cil_tmp28 = & stop_char;
14121#line 1610
14122 __cil_tmp29 = 9 * 1UL;
14123#line 1610
14124 __cil_tmp30 = 17 + __cil_tmp29;
14125#line 1610
14126 __cil_tmp31 = (unsigned long )tty;
14127#line 1610
14128 __cil_tmp32 = __cil_tmp31 + 216;
14129#line 1610
14130 __cil_tmp33 = *((struct ktermios **)__cil_tmp32);
14131#line 1610
14132 __cil_tmp34 = (unsigned long )__cil_tmp33;
14133#line 1610
14134 __cil_tmp35 = __cil_tmp34 + __cil_tmp30;
14135#line 1610
14136 *__cil_tmp28 = *((cc_t *)__cil_tmp35);
14137#line 1611
14138 __cil_tmp36 = (unsigned char const *)(& stop_char);
14139#line 1611
14140 status = mos7840_write(tty, port, __cil_tmp36, 1);
14141 }
14142#line 1612
14143 if (status <= 0) {
14144#line 1613
14145 return;
14146 } else {
14147
14148 }
14149 } else {
14150
14151 }
14152 }
14153 {
14154#line 1616
14155 __cil_tmp37 = (unsigned long )tty;
14156#line 1616
14157 __cil_tmp38 = __cil_tmp37 + 216;
14158#line 1616
14159 __cil_tmp39 = *((struct ktermios **)__cil_tmp38);
14160#line 1616
14161 __cil_tmp40 = (unsigned long )__cil_tmp39;
14162#line 1616
14163 __cil_tmp41 = __cil_tmp40 + 8;
14164#line 1616
14165 __cil_tmp42 = *((tcflag_t *)__cil_tmp41);
14166#line 1616
14167 if (__cil_tmp42 & 2147483648U) {
14168 {
14169#line 1617
14170 __cil_tmp43 = (unsigned long )mos7840_port;
14171#line 1617
14172 __cil_tmp44 = __cil_tmp43 + 33;
14173#line 1617
14174 __cil_tmp45 = (unsigned long )mos7840_port;
14175#line 1617
14176 __cil_tmp46 = __cil_tmp45 + 33;
14177#line 1617
14178 __cil_tmp47 = *((__u8 *)__cil_tmp46);
14179#line 1617
14180 __cil_tmp48 = (int )__cil_tmp47;
14181#line 1617
14182 __cil_tmp49 = __cil_tmp48 & -3;
14183#line 1617
14184 *((__u8 *)__cil_tmp44) = (__u8 )__cil_tmp49;
14185#line 1618
14186 __cil_tmp50 = (__u16 )4;
14187#line 1618
14188 __cil_tmp51 = (unsigned long )mos7840_port;
14189#line 1618
14190 __cil_tmp52 = __cil_tmp51 + 33;
14191#line 1618
14192 __cil_tmp53 = *((__u8 *)__cil_tmp52);
14193#line 1618
14194 __cil_tmp54 = (__u16 )__cil_tmp53;
14195#line 1618
14196 status = mos7840_set_uart_reg(port, __cil_tmp50, __cil_tmp54);
14197 }
14198#line 1620
14199 if (status < 0) {
14200#line 1621
14201 return;
14202 } else {
14203
14204 }
14205 } else {
14206
14207 }
14208 }
14209#line 1623
14210 return;
14211}
14212}
14213#line 1631 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
14214static void mos7840_unthrottle(struct tty_struct *tty )
14215{ struct usb_serial_port *port ;
14216 int status ;
14217 struct moschip_port *mos7840_port ;
14218 struct moschip_port *tmp___7 ;
14219 int tmp___8 ;
14220 unsigned char start_char ;
14221 unsigned long __cil_tmp8 ;
14222 unsigned long __cil_tmp9 ;
14223 void *__cil_tmp10 ;
14224 bool *__cil_tmp11 ;
14225 void *__cil_tmp12 ;
14226 unsigned long __cil_tmp13 ;
14227 unsigned long __cil_tmp14 ;
14228 unsigned long __cil_tmp15 ;
14229 unsigned long __cil_tmp16 ;
14230 char __cil_tmp17 ;
14231 bool *__cil_tmp18 ;
14232 bool *__cil_tmp19 ;
14233 unsigned long __cil_tmp20 ;
14234 unsigned long __cil_tmp21 ;
14235 struct ktermios *__cil_tmp22 ;
14236 tcflag_t __cil_tmp23 ;
14237 unsigned char *__cil_tmp24 ;
14238 unsigned long __cil_tmp25 ;
14239 unsigned long __cil_tmp26 ;
14240 unsigned long __cil_tmp27 ;
14241 unsigned long __cil_tmp28 ;
14242 struct ktermios *__cil_tmp29 ;
14243 unsigned long __cil_tmp30 ;
14244 unsigned long __cil_tmp31 ;
14245 unsigned char const *__cil_tmp32 ;
14246 unsigned long __cil_tmp33 ;
14247 unsigned long __cil_tmp34 ;
14248 struct ktermios *__cil_tmp35 ;
14249 unsigned long __cil_tmp36 ;
14250 unsigned long __cil_tmp37 ;
14251 tcflag_t __cil_tmp38 ;
14252 unsigned long __cil_tmp39 ;
14253 unsigned long __cil_tmp40 ;
14254 unsigned long __cil_tmp41 ;
14255 unsigned long __cil_tmp42 ;
14256 __u8 __cil_tmp43 ;
14257 int __cil_tmp44 ;
14258 int __cil_tmp45 ;
14259 __u16 __cil_tmp46 ;
14260 unsigned long __cil_tmp47 ;
14261 unsigned long __cil_tmp48 ;
14262 __u8 __cil_tmp49 ;
14263 __u16 __cil_tmp50 ;
14264
14265 {
14266 {
14267#line 1633
14268 __cil_tmp8 = (unsigned long )tty;
14269#line 1633
14270 __cil_tmp9 = __cil_tmp8 + 584;
14271#line 1633
14272 __cil_tmp10 = *((void **)__cil_tmp9);
14273#line 1633
14274 port = (struct usb_serial_port *)__cil_tmp10;
14275#line 1635
14276 tmp___7 = mos7840_get_port_private(port);
14277#line 1635
14278 mos7840_port = tmp___7;
14279#line 1637
14280 tmp___8 = mos7840_port_paranoia_check(port, "mos7840_unthrottle");
14281 }
14282#line 1637
14283 if (tmp___8) {
14284 {
14285#line 1638
14286 while (1) {
14287 while_continue: ;
14288 {
14289#line 1638
14290 __cil_tmp11 = & debug;
14291#line 1638
14292 if (*__cil_tmp11) {
14293 {
14294#line 1638
14295 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
14296 "Invalid port");
14297 }
14298 } else {
14299
14300 }
14301 }
14302#line 1638
14303 goto while_break;
14304 }
14305 while_break: ;
14306 }
14307#line 1639
14308 return;
14309 } else {
14310
14311 }
14312 {
14313#line 1642
14314 __cil_tmp12 = (void *)0;
14315#line 1642
14316 __cil_tmp13 = (unsigned long )__cil_tmp12;
14317#line 1642
14318 __cil_tmp14 = (unsigned long )mos7840_port;
14319#line 1642
14320 if (__cil_tmp14 == __cil_tmp13) {
14321#line 1643
14322 return;
14323 } else {
14324
14325 }
14326 }
14327 {
14328#line 1645
14329 __cil_tmp15 = (unsigned long )mos7840_port;
14330#line 1645
14331 __cil_tmp16 = __cil_tmp15 + 34;
14332#line 1645
14333 __cil_tmp17 = *((char *)__cil_tmp16);
14334#line 1645
14335 if (! __cil_tmp17) {
14336 {
14337#line 1646
14338 while (1) {
14339 while_continue___0: ;
14340 {
14341#line 1646
14342 __cil_tmp18 = & debug;
14343#line 1646
14344 if (*__cil_tmp18) {
14345 {
14346#line 1646
14347 printk("<7>%s: %s - port not opened\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
14348 "mos7840_unthrottle");
14349 }
14350 } else {
14351
14352 }
14353 }
14354#line 1646
14355 goto while_break___0;
14356 }
14357 while_break___0: ;
14358 }
14359#line 1647
14360 return;
14361 } else {
14362
14363 }
14364 }
14365 {
14366#line 1650
14367 while (1) {
14368 while_continue___1: ;
14369 {
14370#line 1650
14371 __cil_tmp19 = & debug;
14372#line 1650
14373 if (*__cil_tmp19) {
14374 {
14375#line 1650
14376 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
14377 "Entering ..........");
14378 }
14379 } else {
14380
14381 }
14382 }
14383#line 1650
14384 goto while_break___1;
14385 }
14386 while_break___1: ;
14387 }
14388 {
14389#line 1653
14390 __cil_tmp20 = (unsigned long )tty;
14391#line 1653
14392 __cil_tmp21 = __cil_tmp20 + 216;
14393#line 1653
14394 __cil_tmp22 = *((struct ktermios **)__cil_tmp21);
14395#line 1653
14396 __cil_tmp23 = *((tcflag_t *)__cil_tmp22);
14397#line 1653
14398 if (__cil_tmp23 & 4096U) {
14399 {
14400#line 1654
14401 __cil_tmp24 = & start_char;
14402#line 1654
14403 __cil_tmp25 = 8 * 1UL;
14404#line 1654
14405 __cil_tmp26 = 17 + __cil_tmp25;
14406#line 1654
14407 __cil_tmp27 = (unsigned long )tty;
14408#line 1654
14409 __cil_tmp28 = __cil_tmp27 + 216;
14410#line 1654
14411 __cil_tmp29 = *((struct ktermios **)__cil_tmp28);
14412#line 1654
14413 __cil_tmp30 = (unsigned long )__cil_tmp29;
14414#line 1654
14415 __cil_tmp31 = __cil_tmp30 + __cil_tmp26;
14416#line 1654
14417 *__cil_tmp24 = *((cc_t *)__cil_tmp31);
14418#line 1655
14419 __cil_tmp32 = (unsigned char const *)(& start_char);
14420#line 1655
14421 status = mos7840_write(tty, port, __cil_tmp32, 1);
14422 }
14423#line 1656
14424 if (status <= 0) {
14425#line 1657
14426 return;
14427 } else {
14428
14429 }
14430 } else {
14431
14432 }
14433 }
14434 {
14435#line 1661
14436 __cil_tmp33 = (unsigned long )tty;
14437#line 1661
14438 __cil_tmp34 = __cil_tmp33 + 216;
14439#line 1661
14440 __cil_tmp35 = *((struct ktermios **)__cil_tmp34);
14441#line 1661
14442 __cil_tmp36 = (unsigned long )__cil_tmp35;
14443#line 1661
14444 __cil_tmp37 = __cil_tmp36 + 8;
14445#line 1661
14446 __cil_tmp38 = *((tcflag_t *)__cil_tmp37);
14447#line 1661
14448 if (__cil_tmp38 & 2147483648U) {
14449 {
14450#line 1662
14451 __cil_tmp39 = (unsigned long )mos7840_port;
14452#line 1662
14453 __cil_tmp40 = __cil_tmp39 + 33;
14454#line 1662
14455 __cil_tmp41 = (unsigned long )mos7840_port;
14456#line 1662
14457 __cil_tmp42 = __cil_tmp41 + 33;
14458#line 1662
14459 __cil_tmp43 = *((__u8 *)__cil_tmp42);
14460#line 1662
14461 __cil_tmp44 = (int )__cil_tmp43;
14462#line 1662
14463 __cil_tmp45 = __cil_tmp44 | 2;
14464#line 1662
14465 *((__u8 *)__cil_tmp40) = (__u8 )__cil_tmp45;
14466#line 1663
14467 __cil_tmp46 = (__u16 )4;
14468#line 1663
14469 __cil_tmp47 = (unsigned long )mos7840_port;
14470#line 1663
14471 __cil_tmp48 = __cil_tmp47 + 33;
14472#line 1663
14473 __cil_tmp49 = *((__u8 *)__cil_tmp48);
14474#line 1663
14475 __cil_tmp50 = (__u16 )__cil_tmp49;
14476#line 1663
14477 status = mos7840_set_uart_reg(port, __cil_tmp46, __cil_tmp50);
14478 }
14479#line 1665
14480 if (status < 0) {
14481#line 1666
14482 return;
14483 } else {
14484
14485 }
14486 } else {
14487
14488 }
14489 }
14490#line 1668
14491 return;
14492}
14493}
14494#line 1670 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
14495static int mos7840_tiocmget(struct tty_struct *tty )
14496{ struct usb_serial_port *port ;
14497 struct moschip_port *mos7840_port ;
14498 unsigned int result ;
14499 __u16 msr ;
14500 __u16 mcr ;
14501 int status ;
14502 int tmp___7 ;
14503 int tmp___8 ;
14504 int tmp___9 ;
14505 int tmp___10 ;
14506 int tmp___11 ;
14507 int tmp___12 ;
14508 int tmp___13 ;
14509 unsigned long __cil_tmp15 ;
14510 unsigned long __cil_tmp16 ;
14511 void *__cil_tmp17 ;
14512 bool *__cil_tmp18 ;
14513 unsigned long __cil_tmp19 ;
14514 unsigned long __cil_tmp20 ;
14515 unsigned char __cil_tmp21 ;
14516 int __cil_tmp22 ;
14517 void *__cil_tmp23 ;
14518 unsigned long __cil_tmp24 ;
14519 unsigned long __cil_tmp25 ;
14520 __u16 __cil_tmp26 ;
14521 __u16 __cil_tmp27 ;
14522 __u16 *__cil_tmp28 ;
14523 __u16 __cil_tmp29 ;
14524 int __cil_tmp30 ;
14525 __u16 *__cil_tmp31 ;
14526 __u16 __cil_tmp32 ;
14527 int __cil_tmp33 ;
14528 __u16 *__cil_tmp34 ;
14529 __u16 __cil_tmp35 ;
14530 int __cil_tmp36 ;
14531 __u16 *__cil_tmp37 ;
14532 __u16 __cil_tmp38 ;
14533 int __cil_tmp39 ;
14534 __u16 *__cil_tmp40 ;
14535 __u16 __cil_tmp41 ;
14536 int __cil_tmp42 ;
14537 __u16 *__cil_tmp43 ;
14538 __u16 __cil_tmp44 ;
14539 int __cil_tmp45 ;
14540 __u16 *__cil_tmp46 ;
14541 __u16 __cil_tmp47 ;
14542 int __cil_tmp48 ;
14543 int __cil_tmp49 ;
14544 int __cil_tmp50 ;
14545 int __cil_tmp51 ;
14546 int __cil_tmp52 ;
14547 int __cil_tmp53 ;
14548 int __cil_tmp54 ;
14549 bool *__cil_tmp55 ;
14550
14551 {
14552 {
14553#line 1672
14554 __cil_tmp15 = (unsigned long )tty;
14555#line 1672
14556 __cil_tmp16 = __cil_tmp15 + 584;
14557#line 1672
14558 __cil_tmp17 = *((void **)__cil_tmp16);
14559#line 1672
14560 port = (struct usb_serial_port *)__cil_tmp17;
14561#line 1678
14562 mos7840_port = mos7840_get_port_private(port);
14563 }
14564 {
14565#line 1680
14566 while (1) {
14567 while_continue: ;
14568 {
14569#line 1680
14570 __cil_tmp18 = & debug;
14571#line 1680
14572 if (*__cil_tmp18) {
14573 {
14574#line 1680
14575 __cil_tmp19 = (unsigned long )port;
14576#line 1680
14577 __cil_tmp20 = __cil_tmp19 + 384;
14578#line 1680
14579 __cil_tmp21 = *((unsigned char *)__cil_tmp20);
14580#line 1680
14581 __cil_tmp22 = (int )__cil_tmp21;
14582#line 1680
14583 printk("<7>%s: %s - port %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
14584 "mos7840_tiocmget", __cil_tmp22);
14585 }
14586 } else {
14587
14588 }
14589 }
14590#line 1680
14591 goto while_break;
14592 }
14593 while_break: ;
14594 }
14595 {
14596#line 1682
14597 __cil_tmp23 = (void *)0;
14598#line 1682
14599 __cil_tmp24 = (unsigned long )__cil_tmp23;
14600#line 1682
14601 __cil_tmp25 = (unsigned long )mos7840_port;
14602#line 1682
14603 if (__cil_tmp25 == __cil_tmp24) {
14604#line 1683
14605 return (-19);
14606 } else {
14607
14608 }
14609 }
14610 {
14611#line 1685
14612 __cil_tmp26 = (__u16 )6;
14613#line 1685
14614 status = mos7840_get_uart_reg(port, __cil_tmp26, & msr);
14615#line 1686
14616 __cil_tmp27 = (__u16 )4;
14617#line 1686
14618 status = mos7840_get_uart_reg(port, __cil_tmp27, & mcr);
14619 }
14620 {
14621#line 1687
14622 __cil_tmp28 = & mcr;
14623#line 1687
14624 __cil_tmp29 = *__cil_tmp28;
14625#line 1687
14626 __cil_tmp30 = (int )__cil_tmp29;
14627#line 1687
14628 if (__cil_tmp30 & 1) {
14629#line 1687
14630 tmp___7 = 2;
14631 } else {
14632#line 1687
14633 tmp___7 = 0;
14634 }
14635 }
14636 {
14637#line 1687
14638 __cil_tmp31 = & mcr;
14639#line 1687
14640 __cil_tmp32 = *__cil_tmp31;
14641#line 1687
14642 __cil_tmp33 = (int )__cil_tmp32;
14643#line 1687
14644 if (__cil_tmp33 & 2) {
14645#line 1687
14646 tmp___8 = 4;
14647 } else {
14648#line 1687
14649 tmp___8 = 0;
14650 }
14651 }
14652 {
14653#line 1687
14654 __cil_tmp34 = & mcr;
14655#line 1687
14656 __cil_tmp35 = *__cil_tmp34;
14657#line 1687
14658 __cil_tmp36 = (int )__cil_tmp35;
14659#line 1687
14660 if (__cil_tmp36 & 16) {
14661#line 1687
14662 tmp___9 = 32768;
14663 } else {
14664#line 1687
14665 tmp___9 = 0;
14666 }
14667 }
14668 {
14669#line 1687
14670 __cil_tmp37 = & msr;
14671#line 1687
14672 __cil_tmp38 = *__cil_tmp37;
14673#line 1687
14674 __cil_tmp39 = (int )__cil_tmp38;
14675#line 1687
14676 if (__cil_tmp39 & 16) {
14677#line 1687
14678 tmp___10 = 32;
14679 } else {
14680#line 1687
14681 tmp___10 = 0;
14682 }
14683 }
14684 {
14685#line 1687
14686 __cil_tmp40 = & msr;
14687#line 1687
14688 __cil_tmp41 = *__cil_tmp40;
14689#line 1687
14690 __cil_tmp42 = (int )__cil_tmp41;
14691#line 1687
14692 if (__cil_tmp42 & 128) {
14693#line 1687
14694 tmp___11 = 64;
14695 } else {
14696#line 1687
14697 tmp___11 = 0;
14698 }
14699 }
14700 {
14701#line 1687
14702 __cil_tmp43 = & msr;
14703#line 1687
14704 __cil_tmp44 = *__cil_tmp43;
14705#line 1687
14706 __cil_tmp45 = (int )__cil_tmp44;
14707#line 1687
14708 if (__cil_tmp45 & 64) {
14709#line 1687
14710 tmp___12 = 128;
14711 } else {
14712#line 1687
14713 tmp___12 = 0;
14714 }
14715 }
14716 {
14717#line 1687
14718 __cil_tmp46 = & msr;
14719#line 1687
14720 __cil_tmp47 = *__cil_tmp46;
14721#line 1687
14722 __cil_tmp48 = (int )__cil_tmp47;
14723#line 1687
14724 if (__cil_tmp48 & 32) {
14725#line 1687
14726 tmp___13 = 256;
14727 } else {
14728#line 1687
14729 tmp___13 = 0;
14730 }
14731 }
14732#line 1687
14733 __cil_tmp49 = tmp___7 | tmp___8;
14734#line 1687
14735 __cil_tmp50 = __cil_tmp49 | tmp___9;
14736#line 1687
14737 __cil_tmp51 = __cil_tmp50 | tmp___10;
14738#line 1687
14739 __cil_tmp52 = __cil_tmp51 | tmp___11;
14740#line 1687
14741 __cil_tmp53 = __cil_tmp52 | tmp___12;
14742#line 1687
14743 __cil_tmp54 = __cil_tmp53 | tmp___13;
14744#line 1687
14745 result = (unsigned int )__cil_tmp54;
14746 {
14747#line 1695
14748 while (1) {
14749 while_continue___0: ;
14750 {
14751#line 1695
14752 __cil_tmp55 = & debug;
14753#line 1695
14754 if (*__cil_tmp55) {
14755 {
14756#line 1695
14757 printk("<7>%s: %s - 0x%04X\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
14758 "mos7840_tiocmget", result);
14759 }
14760 } else {
14761
14762 }
14763 }
14764#line 1695
14765 goto while_break___0;
14766 }
14767 while_break___0: ;
14768 }
14769#line 1697
14770 return ((int )result);
14771}
14772}
14773#line 1700 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
14774static int mos7840_tiocmset(struct tty_struct *tty , unsigned int set , unsigned int clear )
14775{ struct usb_serial_port *port ;
14776 struct moschip_port *mos7840_port ;
14777 unsigned int mcr ;
14778 int status ;
14779 unsigned long __cil_tmp8 ;
14780 unsigned long __cil_tmp9 ;
14781 void *__cil_tmp10 ;
14782 bool *__cil_tmp11 ;
14783 unsigned long __cil_tmp12 ;
14784 unsigned long __cil_tmp13 ;
14785 unsigned char __cil_tmp14 ;
14786 int __cil_tmp15 ;
14787 void *__cil_tmp16 ;
14788 unsigned long __cil_tmp17 ;
14789 unsigned long __cil_tmp18 ;
14790 unsigned long __cil_tmp19 ;
14791 unsigned long __cil_tmp20 ;
14792 __u8 __cil_tmp21 ;
14793 unsigned long __cil_tmp22 ;
14794 unsigned long __cil_tmp23 ;
14795 __u16 __cil_tmp24 ;
14796 __u16 __cil_tmp25 ;
14797 bool *__cil_tmp26 ;
14798
14799 {
14800#line 1703
14801 __cil_tmp8 = (unsigned long )tty;
14802#line 1703
14803 __cil_tmp9 = __cil_tmp8 + 584;
14804#line 1703
14805 __cil_tmp10 = *((void **)__cil_tmp9);
14806#line 1703
14807 port = (struct usb_serial_port *)__cil_tmp10;
14808 {
14809#line 1708
14810 while (1) {
14811 while_continue: ;
14812 {
14813#line 1708
14814 __cil_tmp11 = & debug;
14815#line 1708
14816 if (*__cil_tmp11) {
14817 {
14818#line 1708
14819 __cil_tmp12 = (unsigned long )port;
14820#line 1708
14821 __cil_tmp13 = __cil_tmp12 + 384;
14822#line 1708
14823 __cil_tmp14 = *((unsigned char *)__cil_tmp13);
14824#line 1708
14825 __cil_tmp15 = (int )__cil_tmp14;
14826#line 1708
14827 printk("<7>%s: %s - port %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
14828 "mos7840_tiocmset", __cil_tmp15);
14829 }
14830 } else {
14831
14832 }
14833 }
14834#line 1708
14835 goto while_break;
14836 }
14837 while_break: ;
14838 }
14839 {
14840#line 1710
14841 mos7840_port = mos7840_get_port_private(port);
14842 }
14843 {
14844#line 1712
14845 __cil_tmp16 = (void *)0;
14846#line 1712
14847 __cil_tmp17 = (unsigned long )__cil_tmp16;
14848#line 1712
14849 __cil_tmp18 = (unsigned long )mos7840_port;
14850#line 1712
14851 if (__cil_tmp18 == __cil_tmp17) {
14852#line 1713
14853 return (-19);
14854 } else {
14855
14856 }
14857 }
14858#line 1716
14859 __cil_tmp19 = (unsigned long )mos7840_port;
14860#line 1716
14861 __cil_tmp20 = __cil_tmp19 + 33;
14862#line 1716
14863 __cil_tmp21 = *((__u8 *)__cil_tmp20);
14864#line 1716
14865 mcr = (unsigned int )__cil_tmp21;
14866#line 1717
14867 if (clear & 4U) {
14868#line 1718
14869 mcr = mcr & 4294967293U;
14870 } else {
14871
14872 }
14873#line 1719
14874 if (clear & 2U) {
14875#line 1720
14876 mcr = mcr & 4294967294U;
14877 } else {
14878
14879 }
14880#line 1721
14881 if (clear & 32768U) {
14882#line 1722
14883 mcr = mcr & 4294967279U;
14884 } else {
14885
14886 }
14887#line 1724
14888 if (set & 4U) {
14889#line 1725
14890 mcr = mcr | 2U;
14891 } else {
14892
14893 }
14894#line 1726
14895 if (set & 2U) {
14896#line 1727
14897 mcr = mcr | 1U;
14898 } else {
14899
14900 }
14901#line 1728
14902 if (set & 32768U) {
14903#line 1729
14904 mcr = mcr | 16U;
14905 } else {
14906
14907 }
14908 {
14909#line 1731
14910 __cil_tmp22 = (unsigned long )mos7840_port;
14911#line 1731
14912 __cil_tmp23 = __cil_tmp22 + 33;
14913#line 1731
14914 *((__u8 *)__cil_tmp23) = (__u8 )mcr;
14915#line 1733
14916 __cil_tmp24 = (__u16 )4;
14917#line 1733
14918 __cil_tmp25 = (__u16 )mcr;
14919#line 1733
14920 status = mos7840_set_uart_reg(port, __cil_tmp24, __cil_tmp25);
14921 }
14922#line 1734
14923 if (status < 0) {
14924 {
14925#line 1735
14926 while (1) {
14927 while_continue___0: ;
14928 {
14929#line 1735
14930 __cil_tmp26 = & debug;
14931#line 1735
14932 if (*__cil_tmp26) {
14933 {
14934#line 1735
14935 printk("<7>%s: setting MODEM_CONTROL_REGISTER Failed\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c");
14936 }
14937 } else {
14938
14939 }
14940 }
14941#line 1735
14942 goto while_break___0;
14943 }
14944 while_break___0: ;
14945 }
14946#line 1736
14947 return (status);
14948 } else {
14949
14950 }
14951#line 1739
14952 return (0);
14953}
14954}
14955#line 1747 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
14956static int mos7840_calc_baud_rate_divisor(int baudRate , int *divisor , __u16 *clk_sel_val )
14957{ bool *__cil_tmp4 ;
14958
14959 {
14960 {
14961#line 1751
14962 while (1) {
14963 while_continue: ;
14964 {
14965#line 1751
14966 __cil_tmp4 = & debug;
14967#line 1751
14968 if (*__cil_tmp4) {
14969 {
14970#line 1751
14971 printk("<7>%s: %s - %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
14972 "mos7840_calc_baud_rate_divisor", baudRate);
14973 }
14974 } else {
14975
14976 }
14977 }
14978#line 1751
14979 goto while_break;
14980 }
14981 while_break: ;
14982 }
14983#line 1753
14984 if (baudRate <= 115200) {
14985#line 1754
14986 *divisor = 115200 / baudRate;
14987#line 1755
14988 *clk_sel_val = (__u16 )0;
14989 } else {
14990
14991 }
14992#line 1757
14993 if (baudRate > 115200) {
14994#line 1757
14995 if (baudRate <= 230400) {
14996#line 1758
14997 *divisor = 230400 / baudRate;
14998#line 1759
14999 *clk_sel_val = (__u16 )16;
15000 } else {
15001#line 1757
15002 goto _L___4;
15003 }
15004 } else
15005 _L___4:
15006#line 1760
15007 if (baudRate > 230400) {
15008#line 1760
15009 if (baudRate <= 403200) {
15010#line 1761
15011 *divisor = 403200 / baudRate;
15012#line 1762
15013 *clk_sel_val = (__u16 )32;
15014 } else {
15015#line 1760
15016 goto _L___3;
15017 }
15018 } else
15019 _L___3:
15020#line 1763
15021 if (baudRate > 403200) {
15022#line 1763
15023 if (baudRate <= 460800) {
15024#line 1764
15025 *divisor = 460800 / baudRate;
15026#line 1765
15027 *clk_sel_val = (__u16 )48;
15028 } else {
15029#line 1763
15030 goto _L___2;
15031 }
15032 } else
15033 _L___2:
15034#line 1766
15035 if (baudRate > 460800) {
15036#line 1766
15037 if (baudRate <= 806400) {
15038#line 1767
15039 *divisor = 806400 / baudRate;
15040#line 1768
15041 *clk_sel_val = (__u16 )64;
15042 } else {
15043#line 1766
15044 goto _L___1;
15045 }
15046 } else
15047 _L___1:
15048#line 1769
15049 if (baudRate > 806400) {
15050#line 1769
15051 if (baudRate <= 921600) {
15052#line 1770
15053 *divisor = 921600 / baudRate;
15054#line 1771
15055 *clk_sel_val = (__u16 )80;
15056 } else {
15057#line 1769
15058 goto _L___0;
15059 }
15060 } else
15061 _L___0:
15062#line 1772
15063 if (baudRate > 921600) {
15064#line 1772
15065 if (baudRate <= 1572864) {
15066#line 1773
15067 *divisor = 1572864 / baudRate;
15068#line 1774
15069 *clk_sel_val = (__u16 )96;
15070 } else {
15071#line 1772
15072 goto _L;
15073 }
15074 } else
15075 _L:
15076#line 1775
15077 if (baudRate > 1572864) {
15078#line 1775
15079 if (baudRate <= 3145728) {
15080#line 1776
15081 *divisor = 3145728 / baudRate;
15082#line 1777
15083 *clk_sel_val = (__u16 )112;
15084 } else {
15085
15086 }
15087 } else {
15088
15089 }
15090#line 1779
15091 return (0);
15092}
15093}
15094#line 1819 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
15095static int mos7840_send_cmd_write_baud_rate(struct moschip_port *mos7840_port , int baudRate )
15096{ int divisor ;
15097 int status ;
15098 __u16 Data ;
15099 unsigned char number ;
15100 __u16 clk_sel_val ;
15101 struct usb_serial_port *port ;
15102 int tmp___7 ;
15103 int tmp___8 ;
15104 int *__cil_tmp11 ;
15105 void *__cil_tmp12 ;
15106 unsigned long __cil_tmp13 ;
15107 unsigned long __cil_tmp14 ;
15108 unsigned long __cil_tmp15 ;
15109 unsigned long __cil_tmp16 ;
15110 bool *__cil_tmp17 ;
15111 struct usb_serial *__cil_tmp18 ;
15112 bool *__cil_tmp19 ;
15113 bool *__cil_tmp20 ;
15114 unsigned long __cil_tmp21 ;
15115 unsigned long __cil_tmp22 ;
15116 struct usb_serial_port *__cil_tmp23 ;
15117 struct usb_serial *__cil_tmp24 ;
15118 unsigned long __cil_tmp25 ;
15119 unsigned long __cil_tmp26 ;
15120 unsigned char __cil_tmp27 ;
15121 int __cil_tmp28 ;
15122 unsigned long __cil_tmp29 ;
15123 unsigned long __cil_tmp30 ;
15124 struct usb_serial_port *__cil_tmp31 ;
15125 unsigned long __cil_tmp32 ;
15126 unsigned long __cil_tmp33 ;
15127 unsigned char __cil_tmp34 ;
15128 int __cil_tmp35 ;
15129 int __cil_tmp36 ;
15130 bool *__cil_tmp37 ;
15131 unsigned long __cil_tmp38 ;
15132 unsigned long __cil_tmp39 ;
15133 struct usb_serial_port *__cil_tmp40 ;
15134 unsigned long __cil_tmp41 ;
15135 unsigned long __cil_tmp42 ;
15136 unsigned char __cil_tmp43 ;
15137 int __cil_tmp44 ;
15138 __u16 *__cil_tmp45 ;
15139 __u16 *__cil_tmp46 ;
15140 unsigned long __cil_tmp47 ;
15141 unsigned long __cil_tmp48 ;
15142 __u8 __cil_tmp49 ;
15143 __u16 __cil_tmp50 ;
15144 bool *__cil_tmp51 ;
15145 __u16 *__cil_tmp52 ;
15146 __u16 *__cil_tmp53 ;
15147 __u16 __cil_tmp54 ;
15148 int __cil_tmp55 ;
15149 __u16 *__cil_tmp56 ;
15150 __u16 __cil_tmp57 ;
15151 int __cil_tmp58 ;
15152 int __cil_tmp59 ;
15153 int __cil_tmp60 ;
15154 unsigned long __cil_tmp61 ;
15155 unsigned long __cil_tmp62 ;
15156 __u8 __cil_tmp63 ;
15157 __u16 __cil_tmp64 ;
15158 __u16 *__cil_tmp65 ;
15159 __u16 __cil_tmp66 ;
15160 bool *__cil_tmp67 ;
15161 unsigned long __cil_tmp68 ;
15162 unsigned long __cil_tmp69 ;
15163 struct device *__cil_tmp70 ;
15164 struct device const *__cil_tmp71 ;
15165 __u16 *__cil_tmp72 ;
15166 unsigned long __cil_tmp73 ;
15167 unsigned long __cil_tmp74 ;
15168 __u8 __cil_tmp75 ;
15169 int __cil_tmp76 ;
15170 int __cil_tmp77 ;
15171 unsigned long __cil_tmp78 ;
15172 unsigned long __cil_tmp79 ;
15173 __u16 *__cil_tmp80 ;
15174 __u16 __cil_tmp81 ;
15175 __u16 __cil_tmp82 ;
15176 __u16 *__cil_tmp83 ;
15177 __u16 __cil_tmp84 ;
15178 __u16 *__cil_tmp85 ;
15179 int *__cil_tmp86 ;
15180 int __cil_tmp87 ;
15181 int __cil_tmp88 ;
15182 unsigned char __cil_tmp89 ;
15183 bool *__cil_tmp90 ;
15184 __u16 *__cil_tmp91 ;
15185 __u16 __cil_tmp92 ;
15186 int __cil_tmp93 ;
15187 __u16 __cil_tmp94 ;
15188 __u16 *__cil_tmp95 ;
15189 __u16 __cil_tmp96 ;
15190 __u16 *__cil_tmp97 ;
15191 int *__cil_tmp98 ;
15192 int __cil_tmp99 ;
15193 int __cil_tmp100 ;
15194 int __cil_tmp101 ;
15195 unsigned char __cil_tmp102 ;
15196 bool *__cil_tmp103 ;
15197 __u16 *__cil_tmp104 ;
15198 __u16 __cil_tmp105 ;
15199 int __cil_tmp106 ;
15200 __u16 __cil_tmp107 ;
15201 __u16 *__cil_tmp108 ;
15202 __u16 __cil_tmp109 ;
15203 __u16 *__cil_tmp110 ;
15204 unsigned long __cil_tmp111 ;
15205 unsigned long __cil_tmp112 ;
15206 __u8 __cil_tmp113 ;
15207 int __cil_tmp114 ;
15208 int __cil_tmp115 ;
15209 unsigned long __cil_tmp116 ;
15210 unsigned long __cil_tmp117 ;
15211 __u16 *__cil_tmp118 ;
15212 __u16 __cil_tmp119 ;
15213 __u16 __cil_tmp120 ;
15214 __u16 *__cil_tmp121 ;
15215 __u16 __cil_tmp122 ;
15216
15217 {
15218#line 1822
15219 __cil_tmp11 = & divisor;
15220#line 1822
15221 *__cil_tmp11 = 0;
15222 {
15223#line 1829
15224 __cil_tmp12 = (void *)0;
15225#line 1829
15226 __cil_tmp13 = (unsigned long )__cil_tmp12;
15227#line 1829
15228 __cil_tmp14 = (unsigned long )mos7840_port;
15229#line 1829
15230 if (__cil_tmp14 == __cil_tmp13) {
15231#line 1830
15232 return (-1);
15233 } else {
15234
15235 }
15236 }
15237 {
15238#line 1832
15239 __cil_tmp15 = (unsigned long )mos7840_port;
15240#line 1832
15241 __cil_tmp16 = __cil_tmp15 + 168;
15242#line 1832
15243 port = *((struct usb_serial_port **)__cil_tmp16);
15244#line 1833
15245 tmp___7 = mos7840_port_paranoia_check(port, "mos7840_send_cmd_write_baud_rate");
15246 }
15247#line 1833
15248 if (tmp___7) {
15249 {
15250#line 1834
15251 while (1) {
15252 while_continue: ;
15253 {
15254#line 1834
15255 __cil_tmp17 = & debug;
15256#line 1834
15257 if (*__cil_tmp17) {
15258 {
15259#line 1834
15260 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
15261 "Invalid port");
15262 }
15263 } else {
15264
15265 }
15266 }
15267#line 1834
15268 goto while_break;
15269 }
15270 while_break: ;
15271 }
15272#line 1835
15273 return (-1);
15274 } else {
15275
15276 }
15277 {
15278#line 1838
15279 __cil_tmp18 = *((struct usb_serial **)port);
15280#line 1838
15281 tmp___8 = mos7840_serial_paranoia_check(__cil_tmp18, "mos7840_send_cmd_write_baud_rate");
15282 }
15283#line 1838
15284 if (tmp___8) {
15285 {
15286#line 1839
15287 while (1) {
15288 while_continue___0: ;
15289 {
15290#line 1839
15291 __cil_tmp19 = & debug;
15292#line 1839
15293 if (*__cil_tmp19) {
15294 {
15295#line 1839
15296 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
15297 "Invalid Serial");
15298 }
15299 } else {
15300
15301 }
15302 }
15303#line 1839
15304 goto while_break___0;
15305 }
15306 while_break___0: ;
15307 }
15308#line 1840
15309 return (-1);
15310 } else {
15311
15312 }
15313 {
15314#line 1843
15315 while (1) {
15316 while_continue___1: ;
15317 {
15318#line 1843
15319 __cil_tmp20 = & debug;
15320#line 1843
15321 if (*__cil_tmp20) {
15322 {
15323#line 1843
15324 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
15325 "Entering ..........");
15326 }
15327 } else {
15328
15329 }
15330 }
15331#line 1843
15332 goto while_break___1;
15333 }
15334 while_break___1: ;
15335 }
15336#line 1845
15337 __cil_tmp21 = (unsigned long )mos7840_port;
15338#line 1845
15339 __cil_tmp22 = __cil_tmp21 + 168;
15340#line 1845
15341 __cil_tmp23 = *((struct usb_serial_port **)__cil_tmp22);
15342#line 1845
15343 __cil_tmp24 = *((struct usb_serial **)__cil_tmp23);
15344#line 1845
15345 __cil_tmp25 = (unsigned long )__cil_tmp24;
15346#line 1845
15347 __cil_tmp26 = __cil_tmp25 + 25;
15348#line 1845
15349 __cil_tmp27 = *((unsigned char *)__cil_tmp26);
15350#line 1845
15351 __cil_tmp28 = (int )__cil_tmp27;
15352#line 1845
15353 __cil_tmp29 = (unsigned long )mos7840_port;
15354#line 1845
15355 __cil_tmp30 = __cil_tmp29 + 168;
15356#line 1845
15357 __cil_tmp31 = *((struct usb_serial_port **)__cil_tmp30);
15358#line 1845
15359 __cil_tmp32 = (unsigned long )__cil_tmp31;
15360#line 1845
15361 __cil_tmp33 = __cil_tmp32 + 384;
15362#line 1845
15363 __cil_tmp34 = *((unsigned char *)__cil_tmp33);
15364#line 1845
15365 __cil_tmp35 = (int )__cil_tmp34;
15366#line 1845
15367 __cil_tmp36 = __cil_tmp35 - __cil_tmp28;
15368#line 1845
15369 number = (unsigned char )__cil_tmp36;
15370 {
15371#line 1847
15372 while (1) {
15373 while_continue___2: ;
15374 {
15375#line 1847
15376 __cil_tmp37 = & debug;
15377#line 1847
15378 if (*__cil_tmp37) {
15379 {
15380#line 1847
15381 __cil_tmp38 = (unsigned long )mos7840_port;
15382#line 1847
15383 __cil_tmp39 = __cil_tmp38 + 168;
15384#line 1847
15385 __cil_tmp40 = *((struct usb_serial_port **)__cil_tmp39);
15386#line 1847
15387 __cil_tmp41 = (unsigned long )__cil_tmp40;
15388#line 1847
15389 __cil_tmp42 = __cil_tmp41 + 384;
15390#line 1847
15391 __cil_tmp43 = *((unsigned char *)__cil_tmp42);
15392#line 1847
15393 __cil_tmp44 = (int )__cil_tmp43;
15394#line 1847
15395 printk("<7>%s: %s - port = %d, baud = %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
15396 "mos7840_send_cmd_write_baud_rate", __cil_tmp44, baudRate);
15397 }
15398 } else {
15399
15400 }
15401 }
15402#line 1847
15403 goto while_break___2;
15404 }
15405 while_break___2: ;
15406 }
15407 {
15408#line 1880
15409 __cil_tmp45 = & clk_sel_val;
15410#line 1880
15411 *__cil_tmp45 = (__u16 )0;
15412#line 1881
15413 __cil_tmp46 = & Data;
15414#line 1881
15415 *__cil_tmp46 = (__u16 )0;
15416#line 1882
15417 status = mos7840_calc_baud_rate_divisor(baudRate, & divisor, & clk_sel_val);
15418#line 1884
15419 __cil_tmp47 = (unsigned long )mos7840_port;
15420#line 1884
15421 __cil_tmp48 = __cil_tmp47 + 176;
15422#line 1884
15423 __cil_tmp49 = *((__u8 *)__cil_tmp48);
15424#line 1884
15425 __cil_tmp50 = (__u16 )__cil_tmp49;
15426#line 1884
15427 status = mos7840_get_reg_sync(port, __cil_tmp50, & Data);
15428 }
15429#line 1886
15430 if (status < 0) {
15431 {
15432#line 1887
15433 while (1) {
15434 while_continue___3: ;
15435 {
15436#line 1887
15437 __cil_tmp51 = & debug;
15438#line 1887
15439 if (*__cil_tmp51) {
15440 {
15441#line 1887
15442 printk("<7>%s: reading spreg failed in set_serial_baud\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c");
15443 }
15444 } else {
15445
15446 }
15447 }
15448#line 1887
15449 goto while_break___3;
15450 }
15451 while_break___3: ;
15452 }
15453#line 1888
15454 return (-1);
15455 } else {
15456
15457 }
15458 {
15459#line 1890
15460 __cil_tmp52 = & Data;
15461#line 1890
15462 __cil_tmp53 = & clk_sel_val;
15463#line 1890
15464 __cil_tmp54 = *__cil_tmp53;
15465#line 1890
15466 __cil_tmp55 = (int )__cil_tmp54;
15467#line 1890
15468 __cil_tmp56 = & Data;
15469#line 1890
15470 __cil_tmp57 = *__cil_tmp56;
15471#line 1890
15472 __cil_tmp58 = (int )__cil_tmp57;
15473#line 1890
15474 __cil_tmp59 = __cil_tmp58 & 143;
15475#line 1890
15476 __cil_tmp60 = __cil_tmp59 | __cil_tmp55;
15477#line 1890
15478 *__cil_tmp52 = (__u16 )__cil_tmp60;
15479#line 1891
15480 __cil_tmp61 = (unsigned long )mos7840_port;
15481#line 1891
15482 __cil_tmp62 = __cil_tmp61 + 176;
15483#line 1891
15484 __cil_tmp63 = *((__u8 *)__cil_tmp62);
15485#line 1891
15486 __cil_tmp64 = (__u16 )__cil_tmp63;
15487#line 1891
15488 __cil_tmp65 = & Data;
15489#line 1891
15490 __cil_tmp66 = *__cil_tmp65;
15491#line 1891
15492 status = mos7840_set_reg_sync(port, __cil_tmp64, __cil_tmp66);
15493 }
15494#line 1893
15495 if (status < 0) {
15496 {
15497#line 1894
15498 while (1) {
15499 while_continue___4: ;
15500 {
15501#line 1894
15502 __cil_tmp67 = & debug;
15503#line 1894
15504 if (*__cil_tmp67) {
15505 {
15506#line 1894
15507 printk("<7>%s: Writing spreg failed in set_serial_baud\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c");
15508 }
15509 } else {
15510
15511 }
15512 }
15513#line 1894
15514 goto while_break___4;
15515 }
15516 while_break___4: ;
15517 }
15518#line 1895
15519 return (-1);
15520 } else {
15521
15522 }
15523#line 1899
15524 if (status) {
15525 {
15526#line 1900
15527 __cil_tmp68 = (unsigned long )port;
15528#line 1900
15529 __cil_tmp69 = __cil_tmp68 + 712;
15530#line 1900
15531 __cil_tmp70 = (struct device *)__cil_tmp69;
15532#line 1900
15533 __cil_tmp71 = (struct device const *)__cil_tmp70;
15534#line 1900
15535 dev_err(__cil_tmp71, "%s - bad baud rate\n", "mos7840_send_cmd_write_baud_rate");
15536 }
15537#line 1901
15538 return (status);
15539 } else {
15540
15541 }
15542 {
15543#line 1904
15544 __cil_tmp72 = & Data;
15545#line 1904
15546 __cil_tmp73 = (unsigned long )mos7840_port;
15547#line 1904
15548 __cil_tmp74 = __cil_tmp73 + 32;
15549#line 1904
15550 __cil_tmp75 = *((__u8 *)__cil_tmp74);
15551#line 1904
15552 __cil_tmp76 = (int )__cil_tmp75;
15553#line 1904
15554 __cil_tmp77 = __cil_tmp76 | 128;
15555#line 1904
15556 *__cil_tmp72 = (__u16 )__cil_tmp77;
15557#line 1905
15558 __cil_tmp78 = (unsigned long )mos7840_port;
15559#line 1905
15560 __cil_tmp79 = __cil_tmp78 + 32;
15561#line 1905
15562 __cil_tmp80 = & Data;
15563#line 1905
15564 __cil_tmp81 = *__cil_tmp80;
15565#line 1905
15566 *((__u8 *)__cil_tmp79) = (__u8 )__cil_tmp81;
15567#line 1906
15568 __cil_tmp82 = (__u16 )3;
15569#line 1906
15570 __cil_tmp83 = & Data;
15571#line 1906
15572 __cil_tmp84 = *__cil_tmp83;
15573#line 1906
15574 mos7840_set_uart_reg(port, __cil_tmp82, __cil_tmp84);
15575#line 1909
15576 __cil_tmp85 = & Data;
15577#line 1909
15578 __cil_tmp86 = & divisor;
15579#line 1909
15580 __cil_tmp87 = *__cil_tmp86;
15581#line 1909
15582 __cil_tmp88 = __cil_tmp87 & 255;
15583#line 1909
15584 __cil_tmp89 = (unsigned char )__cil_tmp88;
15585#line 1909
15586 *__cil_tmp85 = (__u16 )__cil_tmp89;
15587 }
15588 {
15589#line 1910
15590 while (1) {
15591 while_continue___5: ;
15592 {
15593#line 1910
15594 __cil_tmp90 = & debug;
15595#line 1910
15596 if (*__cil_tmp90) {
15597 {
15598#line 1910
15599 __cil_tmp91 = & Data;
15600#line 1910
15601 __cil_tmp92 = *__cil_tmp91;
15602#line 1910
15603 __cil_tmp93 = (int )__cil_tmp92;
15604#line 1910
15605 printk("<7>%s: set_serial_baud Value to write DLL is %x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
15606 __cil_tmp93);
15607 }
15608 } else {
15609
15610 }
15611 }
15612#line 1910
15613 goto while_break___5;
15614 }
15615 while_break___5: ;
15616 }
15617 {
15618#line 1911
15619 __cil_tmp94 = (__u16 )0;
15620#line 1911
15621 __cil_tmp95 = & Data;
15622#line 1911
15623 __cil_tmp96 = *__cil_tmp95;
15624#line 1911
15625 mos7840_set_uart_reg(port, __cil_tmp94, __cil_tmp96);
15626#line 1913
15627 __cil_tmp97 = & Data;
15628#line 1913
15629 __cil_tmp98 = & divisor;
15630#line 1913
15631 __cil_tmp99 = *__cil_tmp98;
15632#line 1913
15633 __cil_tmp100 = __cil_tmp99 & 65280;
15634#line 1913
15635 __cil_tmp101 = __cil_tmp100 >> 8;
15636#line 1913
15637 __cil_tmp102 = (unsigned char )__cil_tmp101;
15638#line 1913
15639 *__cil_tmp97 = (__u16 )__cil_tmp102;
15640 }
15641 {
15642#line 1914
15643 while (1) {
15644 while_continue___6: ;
15645 {
15646#line 1914
15647 __cil_tmp103 = & debug;
15648#line 1914
15649 if (*__cil_tmp103) {
15650 {
15651#line 1914
15652 __cil_tmp104 = & Data;
15653#line 1914
15654 __cil_tmp105 = *__cil_tmp104;
15655#line 1914
15656 __cil_tmp106 = (int )__cil_tmp105;
15657#line 1914
15658 printk("<7>%s: set_serial_baud Value to write DLM is %x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
15659 __cil_tmp106);
15660 }
15661 } else {
15662
15663 }
15664 }
15665#line 1914
15666 goto while_break___6;
15667 }
15668 while_break___6: ;
15669 }
15670 {
15671#line 1915
15672 __cil_tmp107 = (__u16 )1;
15673#line 1915
15674 __cil_tmp108 = & Data;
15675#line 1915
15676 __cil_tmp109 = *__cil_tmp108;
15677#line 1915
15678 mos7840_set_uart_reg(port, __cil_tmp107, __cil_tmp109);
15679#line 1918
15680 __cil_tmp110 = & Data;
15681#line 1918
15682 __cil_tmp111 = (unsigned long )mos7840_port;
15683#line 1918
15684 __cil_tmp112 = __cil_tmp111 + 32;
15685#line 1918
15686 __cil_tmp113 = *((__u8 *)__cil_tmp112);
15687#line 1918
15688 __cil_tmp114 = (int )__cil_tmp113;
15689#line 1918
15690 __cil_tmp115 = __cil_tmp114 & -129;
15691#line 1918
15692 *__cil_tmp110 = (__u16 )__cil_tmp115;
15693#line 1919
15694 __cil_tmp116 = (unsigned long )mos7840_port;
15695#line 1919
15696 __cil_tmp117 = __cil_tmp116 + 32;
15697#line 1919
15698 __cil_tmp118 = & Data;
15699#line 1919
15700 __cil_tmp119 = *__cil_tmp118;
15701#line 1919
15702 *((__u8 *)__cil_tmp117) = (__u8 )__cil_tmp119;
15703#line 1920
15704 __cil_tmp120 = (__u16 )3;
15705#line 1920
15706 __cil_tmp121 = & Data;
15707#line 1920
15708 __cil_tmp122 = *__cil_tmp121;
15709#line 1920
15710 mos7840_set_uart_reg(port, __cil_tmp120, __cil_tmp122);
15711 }
15712#line 1923
15713 return (status);
15714}
15715}
15716#line 1932 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
15717static void mos7840_change_port_settings(struct tty_struct *tty , struct moschip_port *mos7840_port ,
15718 struct ktermios *old_termios )
15719{ int baud ;
15720 unsigned int cflag ;
15721 unsigned int iflag ;
15722 __u8 lData ;
15723 __u8 lParity ;
15724 __u8 lStop ;
15725 int status ;
15726 __u16 Data ;
15727 struct usb_serial_port *port ;
15728 struct usb_serial *serial ;
15729 int tmp___7 ;
15730 int tmp___8 ;
15731 speed_t tmp___9 ;
15732 void *__cil_tmp17 ;
15733 unsigned long __cil_tmp18 ;
15734 unsigned long __cil_tmp19 ;
15735 unsigned long __cil_tmp20 ;
15736 unsigned long __cil_tmp21 ;
15737 bool *__cil_tmp22 ;
15738 struct usb_serial *__cil_tmp23 ;
15739 bool *__cil_tmp24 ;
15740 bool *__cil_tmp25 ;
15741 unsigned long __cil_tmp26 ;
15742 unsigned long __cil_tmp27 ;
15743 struct usb_serial_port *__cil_tmp28 ;
15744 unsigned long __cil_tmp29 ;
15745 unsigned long __cil_tmp30 ;
15746 unsigned char __cil_tmp31 ;
15747 int __cil_tmp32 ;
15748 unsigned long __cil_tmp33 ;
15749 unsigned long __cil_tmp34 ;
15750 char __cil_tmp35 ;
15751 bool *__cil_tmp36 ;
15752 bool *__cil_tmp37 ;
15753 unsigned long __cil_tmp38 ;
15754 unsigned long __cil_tmp39 ;
15755 struct ktermios *__cil_tmp40 ;
15756 unsigned long __cil_tmp41 ;
15757 unsigned long __cil_tmp42 ;
15758 unsigned long __cil_tmp43 ;
15759 unsigned long __cil_tmp44 ;
15760 struct ktermios *__cil_tmp45 ;
15761 unsigned int __cil_tmp46 ;
15762 bool *__cil_tmp47 ;
15763 bool *__cil_tmp48 ;
15764 bool *__cil_tmp49 ;
15765 int __cil_tmp50 ;
15766 int __cil_tmp51 ;
15767 bool *__cil_tmp52 ;
15768 bool *__cil_tmp53 ;
15769 unsigned long __cil_tmp54 ;
15770 unsigned long __cil_tmp55 ;
15771 unsigned long __cil_tmp56 ;
15772 unsigned long __cil_tmp57 ;
15773 __u8 __cil_tmp58 ;
15774 int __cil_tmp59 ;
15775 int __cil_tmp60 ;
15776 unsigned long __cil_tmp61 ;
15777 unsigned long __cil_tmp62 ;
15778 int __cil_tmp63 ;
15779 int __cil_tmp64 ;
15780 int __cil_tmp65 ;
15781 int __cil_tmp66 ;
15782 int __cil_tmp67 ;
15783 unsigned long __cil_tmp68 ;
15784 unsigned long __cil_tmp69 ;
15785 __u8 __cil_tmp70 ;
15786 int __cil_tmp71 ;
15787 int __cil_tmp72 ;
15788 bool *__cil_tmp73 ;
15789 unsigned long __cil_tmp74 ;
15790 unsigned long __cil_tmp75 ;
15791 __u8 __cil_tmp76 ;
15792 int __cil_tmp77 ;
15793 __u16 __cil_tmp78 ;
15794 __u16 __cil_tmp79 ;
15795 __u16 __cil_tmp80 ;
15796 unsigned long __cil_tmp81 ;
15797 unsigned long __cil_tmp82 ;
15798 __u8 __cil_tmp83 ;
15799 __u16 __cil_tmp84 ;
15800 unsigned long __cil_tmp85 ;
15801 unsigned long __cil_tmp86 ;
15802 __u16 __cil_tmp87 ;
15803 __u16 __cil_tmp88 ;
15804 unsigned long __cil_tmp89 ;
15805 unsigned long __cil_tmp90 ;
15806 unsigned long __cil_tmp91 ;
15807 unsigned long __cil_tmp92 ;
15808 unsigned long __cil_tmp93 ;
15809 unsigned long __cil_tmp94 ;
15810 __u8 __cil_tmp95 ;
15811 int __cil_tmp96 ;
15812 int __cil_tmp97 ;
15813 unsigned long __cil_tmp98 ;
15814 unsigned long __cil_tmp99 ;
15815 unsigned long __cil_tmp100 ;
15816 unsigned long __cil_tmp101 ;
15817 __u8 __cil_tmp102 ;
15818 int __cil_tmp103 ;
15819 int __cil_tmp104 ;
15820 unsigned long __cil_tmp105 ;
15821 unsigned long __cil_tmp106 ;
15822 unsigned long __cil_tmp107 ;
15823 unsigned long __cil_tmp108 ;
15824 __u8 __cil_tmp109 ;
15825 int __cil_tmp110 ;
15826 int __cil_tmp111 ;
15827 unsigned long __cil_tmp112 ;
15828 unsigned long __cil_tmp113 ;
15829 __u8 __cil_tmp114 ;
15830 __u16 __cil_tmp115 ;
15831 bool *__cil_tmp116 ;
15832 bool *__cil_tmp117 ;
15833 __u16 __cil_tmp118 ;
15834 unsigned long __cil_tmp119 ;
15835 unsigned long __cil_tmp120 ;
15836 bool __cil_tmp121 ;
15837 int __cil_tmp122 ;
15838 unsigned long __cil_tmp123 ;
15839 unsigned long __cil_tmp124 ;
15840 unsigned long __cil_tmp125 ;
15841 unsigned long __cil_tmp126 ;
15842 struct urb *__cil_tmp127 ;
15843 bool *__cil_tmp128 ;
15844 unsigned long __cil_tmp129 ;
15845 unsigned long __cil_tmp130 ;
15846 unsigned long __cil_tmp131 ;
15847 unsigned long __cil_tmp132 ;
15848 wait_queue_head_t *__cil_tmp133 ;
15849 void *__cil_tmp134 ;
15850 unsigned long __cil_tmp135 ;
15851 unsigned long __cil_tmp136 ;
15852 bool *__cil_tmp137 ;
15853 unsigned long __cil_tmp138 ;
15854 unsigned long __cil_tmp139 ;
15855 __u8 __cil_tmp140 ;
15856 int __cil_tmp141 ;
15857
15858 {
15859 {
15860#line 1946
15861 __cil_tmp17 = (void *)0;
15862#line 1946
15863 __cil_tmp18 = (unsigned long )__cil_tmp17;
15864#line 1946
15865 __cil_tmp19 = (unsigned long )mos7840_port;
15866#line 1946
15867 if (__cil_tmp19 == __cil_tmp18) {
15868#line 1947
15869 return;
15870 } else {
15871
15872 }
15873 }
15874 {
15875#line 1949
15876 __cil_tmp20 = (unsigned long )mos7840_port;
15877#line 1949
15878 __cil_tmp21 = __cil_tmp20 + 168;
15879#line 1949
15880 port = *((struct usb_serial_port **)__cil_tmp21);
15881#line 1951
15882 tmp___7 = mos7840_port_paranoia_check(port, "mos7840_change_port_settings");
15883 }
15884#line 1951
15885 if (tmp___7) {
15886 {
15887#line 1952
15888 while (1) {
15889 while_continue: ;
15890 {
15891#line 1952
15892 __cil_tmp22 = & debug;
15893#line 1952
15894 if (*__cil_tmp22) {
15895 {
15896#line 1952
15897 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
15898 "Invalid port");
15899 }
15900 } else {
15901
15902 }
15903 }
15904#line 1952
15905 goto while_break;
15906 }
15907 while_break: ;
15908 }
15909#line 1953
15910 return;
15911 } else {
15912
15913 }
15914 {
15915#line 1956
15916 __cil_tmp23 = *((struct usb_serial **)port);
15917#line 1956
15918 tmp___8 = mos7840_serial_paranoia_check(__cil_tmp23, "mos7840_change_port_settings");
15919 }
15920#line 1956
15921 if (tmp___8) {
15922 {
15923#line 1957
15924 while (1) {
15925 while_continue___0: ;
15926 {
15927#line 1957
15928 __cil_tmp24 = & debug;
15929#line 1957
15930 if (*__cil_tmp24) {
15931 {
15932#line 1957
15933 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
15934 "Invalid Serial");
15935 }
15936 } else {
15937
15938 }
15939 }
15940#line 1957
15941 goto while_break___0;
15942 }
15943 while_break___0: ;
15944 }
15945#line 1958
15946 return;
15947 } else {
15948
15949 }
15950#line 1961
15951 serial = *((struct usb_serial **)port);
15952 {
15953#line 1963
15954 while (1) {
15955 while_continue___1: ;
15956 {
15957#line 1963
15958 __cil_tmp25 = & debug;
15959#line 1963
15960 if (*__cil_tmp25) {
15961 {
15962#line 1963
15963 __cil_tmp26 = (unsigned long )mos7840_port;
15964#line 1963
15965 __cil_tmp27 = __cil_tmp26 + 168;
15966#line 1963
15967 __cil_tmp28 = *((struct usb_serial_port **)__cil_tmp27);
15968#line 1963
15969 __cil_tmp29 = (unsigned long )__cil_tmp28;
15970#line 1963
15971 __cil_tmp30 = __cil_tmp29 + 384;
15972#line 1963
15973 __cil_tmp31 = *((unsigned char *)__cil_tmp30);
15974#line 1963
15975 __cil_tmp32 = (int )__cil_tmp31;
15976#line 1963
15977 printk("<7>%s: %s - port %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
15978 "mos7840_change_port_settings", __cil_tmp32);
15979 }
15980 } else {
15981
15982 }
15983 }
15984#line 1963
15985 goto while_break___1;
15986 }
15987 while_break___1: ;
15988 }
15989 {
15990#line 1965
15991 __cil_tmp33 = (unsigned long )mos7840_port;
15992#line 1965
15993 __cil_tmp34 = __cil_tmp33 + 34;
15994#line 1965
15995 __cil_tmp35 = *((char *)__cil_tmp34);
15996#line 1965
15997 if (! __cil_tmp35) {
15998 {
15999#line 1966
16000 while (1) {
16001 while_continue___2: ;
16002 {
16003#line 1966
16004 __cil_tmp36 = & debug;
16005#line 1966
16006 if (*__cil_tmp36) {
16007 {
16008#line 1966
16009 printk("<7>%s: %s - port not opened\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
16010 "mos7840_change_port_settings");
16011 }
16012 } else {
16013
16014 }
16015 }
16016#line 1966
16017 goto while_break___2;
16018 }
16019 while_break___2: ;
16020 }
16021#line 1967
16022 return;
16023 } else {
16024
16025 }
16026 }
16027 {
16028#line 1970
16029 while (1) {
16030 while_continue___3: ;
16031 {
16032#line 1970
16033 __cil_tmp37 = & debug;
16034#line 1970
16035 if (*__cil_tmp37) {
16036 {
16037#line 1970
16038 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
16039 "Entering ..........");
16040 }
16041 } else {
16042
16043 }
16044 }
16045#line 1970
16046 goto while_break___3;
16047 }
16048 while_break___3: ;
16049 }
16050#line 1972
16051 lData = (__u8 )3;
16052#line 1973
16053 lStop = (__u8 )0;
16054#line 1974
16055 lParity = (__u8 )0;
16056#line 1976
16057 __cil_tmp38 = (unsigned long )tty;
16058#line 1976
16059 __cil_tmp39 = __cil_tmp38 + 216;
16060#line 1976
16061 __cil_tmp40 = *((struct ktermios **)__cil_tmp39);
16062#line 1976
16063 __cil_tmp41 = (unsigned long )__cil_tmp40;
16064#line 1976
16065 __cil_tmp42 = __cil_tmp41 + 8;
16066#line 1976
16067 cflag = *((tcflag_t *)__cil_tmp42);
16068#line 1977
16069 __cil_tmp43 = (unsigned long )tty;
16070#line 1977
16071 __cil_tmp44 = __cil_tmp43 + 216;
16072#line 1977
16073 __cil_tmp45 = *((struct ktermios **)__cil_tmp44);
16074#line 1977
16075 iflag = *((tcflag_t *)__cil_tmp45);
16076#line 1980
16077 if (cflag & 48U) {
16078 {
16079#line 1981
16080 __cil_tmp46 = cflag & 48U;
16081#line 1982
16082 if ((int )__cil_tmp46 == 0) {
16083#line 1982
16084 goto case_0;
16085 } else
16086#line 1986
16087 if ((int )__cil_tmp46 == 16) {
16088#line 1986
16089 goto case_16;
16090 } else
16091#line 1990
16092 if ((int )__cil_tmp46 == 32) {
16093#line 1990
16094 goto case_32;
16095 } else {
16096 {
16097#line 1993
16098 goto switch_default;
16099#line 1981
16100 if (0) {
16101 case_0:
16102#line 1983
16103 lData = (__u8 )0;
16104#line 1984
16105 goto switch_break;
16106 case_16:
16107#line 1987
16108 lData = (__u8 )1;
16109#line 1988
16110 goto switch_break;
16111 case_32:
16112#line 1991
16113 lData = (__u8 )2;
16114#line 1992
16115 goto switch_break;
16116 switch_default:
16117#line 1995
16118 lData = (__u8 )3;
16119#line 1996
16120 goto switch_break;
16121 } else {
16122 switch_break: ;
16123 }
16124 }
16125 }
16126 }
16127 } else {
16128
16129 }
16130#line 2000
16131 if (cflag & 256U) {
16132#line 2001
16133 if (cflag & 512U) {
16134#line 2002
16135 lParity = (__u8 )8;
16136 {
16137#line 2003
16138 while (1) {
16139 while_continue___4: ;
16140 {
16141#line 2003
16142 __cil_tmp47 = & debug;
16143#line 2003
16144 if (*__cil_tmp47) {
16145 {
16146#line 2003
16147 printk("<7>%s: %s - parity = odd\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
16148 "mos7840_change_port_settings");
16149 }
16150 } else {
16151
16152 }
16153 }
16154#line 2003
16155 goto while_break___4;
16156 }
16157 while_break___4: ;
16158 }
16159 } else {
16160#line 2005
16161 lParity = (__u8 )24;
16162 {
16163#line 2006
16164 while (1) {
16165 while_continue___5: ;
16166 {
16167#line 2006
16168 __cil_tmp48 = & debug;
16169#line 2006
16170 if (*__cil_tmp48) {
16171 {
16172#line 2006
16173 printk("<7>%s: %s - parity = even\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
16174 "mos7840_change_port_settings");
16175 }
16176 } else {
16177
16178 }
16179 }
16180#line 2006
16181 goto while_break___5;
16182 }
16183 while_break___5: ;
16184 }
16185 }
16186 } else {
16187 {
16188#line 2010
16189 while (1) {
16190 while_continue___6: ;
16191 {
16192#line 2010
16193 __cil_tmp49 = & debug;
16194#line 2010
16195 if (*__cil_tmp49) {
16196 {
16197#line 2010
16198 printk("<7>%s: %s - parity = none\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
16199 "mos7840_change_port_settings");
16200 }
16201 } else {
16202
16203 }
16204 }
16205#line 2010
16206 goto while_break___6;
16207 }
16208 while_break___6: ;
16209 }
16210 }
16211#line 2013
16212 if (cflag & 1073741824U) {
16213#line 2014
16214 __cil_tmp50 = (int )lParity;
16215#line 2014
16216 __cil_tmp51 = __cil_tmp50 | 32;
16217#line 2014
16218 lParity = (__u8 )__cil_tmp51;
16219 } else {
16220
16221 }
16222#line 2017
16223 if (cflag & 64U) {
16224#line 2018
16225 lStop = (__u8 )4;
16226 {
16227#line 2019
16228 while (1) {
16229 while_continue___7: ;
16230 {
16231#line 2019
16232 __cil_tmp52 = & debug;
16233#line 2019
16234 if (*__cil_tmp52) {
16235 {
16236#line 2019
16237 printk("<7>%s: %s - stop bits = 2\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
16238 "mos7840_change_port_settings");
16239 }
16240 } else {
16241
16242 }
16243 }
16244#line 2019
16245 goto while_break___7;
16246 }
16247 while_break___7: ;
16248 }
16249 } else {
16250#line 2021
16251 lStop = (__u8 )0;
16252 {
16253#line 2022
16254 while (1) {
16255 while_continue___8: ;
16256 {
16257#line 2022
16258 __cil_tmp53 = & debug;
16259#line 2022
16260 if (*__cil_tmp53) {
16261 {
16262#line 2022
16263 printk("<7>%s: %s - stop bits = 1\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
16264 "mos7840_change_port_settings");
16265 }
16266 } else {
16267
16268 }
16269 }
16270#line 2022
16271 goto while_break___8;
16272 }
16273 while_break___8: ;
16274 }
16275 }
16276#line 2026
16277 __cil_tmp54 = (unsigned long )mos7840_port;
16278#line 2026
16279 __cil_tmp55 = __cil_tmp54 + 32;
16280#line 2026
16281 __cil_tmp56 = (unsigned long )mos7840_port;
16282#line 2026
16283 __cil_tmp57 = __cil_tmp56 + 32;
16284#line 2026
16285 __cil_tmp58 = *((__u8 *)__cil_tmp57);
16286#line 2026
16287 __cil_tmp59 = (int )__cil_tmp58;
16288#line 2026
16289 __cil_tmp60 = __cil_tmp59 & -64;
16290#line 2026
16291 *((__u8 *)__cil_tmp55) = (__u8 )__cil_tmp60;
16292#line 2028
16293 __cil_tmp61 = (unsigned long )mos7840_port;
16294#line 2028
16295 __cil_tmp62 = __cil_tmp61 + 32;
16296#line 2028
16297 __cil_tmp63 = (int )lStop;
16298#line 2028
16299 __cil_tmp64 = (int )lParity;
16300#line 2028
16301 __cil_tmp65 = (int )lData;
16302#line 2028
16303 __cil_tmp66 = __cil_tmp65 | __cil_tmp64;
16304#line 2028
16305 __cil_tmp67 = __cil_tmp66 | __cil_tmp63;
16306#line 2028
16307 __cil_tmp68 = (unsigned long )mos7840_port;
16308#line 2028
16309 __cil_tmp69 = __cil_tmp68 + 32;
16310#line 2028
16311 __cil_tmp70 = *((__u8 *)__cil_tmp69);
16312#line 2028
16313 __cil_tmp71 = (int )__cil_tmp70;
16314#line 2028
16315 __cil_tmp72 = __cil_tmp71 | __cil_tmp67;
16316#line 2028
16317 *((__u8 *)__cil_tmp62) = (__u8 )__cil_tmp72;
16318 {
16319#line 2030
16320 while (1) {
16321 while_continue___9: ;
16322 {
16323#line 2030
16324 __cil_tmp73 = & debug;
16325#line 2030
16326 if (*__cil_tmp73) {
16327 {
16328#line 2030
16329 __cil_tmp74 = (unsigned long )mos7840_port;
16330#line 2030
16331 __cil_tmp75 = __cil_tmp74 + 32;
16332#line 2030
16333 __cil_tmp76 = *((__u8 *)__cil_tmp75);
16334#line 2030
16335 __cil_tmp77 = (int )__cil_tmp76;
16336#line 2030
16337 printk("<7>%s: mos7840_change_port_settings mos7840_port->shadowLCR is %x\n",
16338 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
16339 __cil_tmp77);
16340 }
16341 } else {
16342
16343 }
16344 }
16345#line 2030
16346 goto while_break___9;
16347 }
16348 while_break___9: ;
16349 }
16350 {
16351#line 2033
16352 Data = (__u16 )0;
16353#line 2034
16354 __cil_tmp78 = (__u16 )1;
16355#line 2034
16356 mos7840_set_uart_reg(port, __cil_tmp78, Data);
16357#line 2036
16358 Data = (__u16 )0;
16359#line 2037
16360 __cil_tmp79 = (__u16 )2;
16361#line 2037
16362 mos7840_set_uart_reg(port, __cil_tmp79, Data);
16363#line 2039
16364 Data = (__u16 )207;
16365#line 2040
16366 __cil_tmp80 = (__u16 )2;
16367#line 2040
16368 mos7840_set_uart_reg(port, __cil_tmp80, Data);
16369#line 2043
16370 __cil_tmp81 = (unsigned long )mos7840_port;
16371#line 2043
16372 __cil_tmp82 = __cil_tmp81 + 32;
16373#line 2043
16374 __cil_tmp83 = *((__u8 *)__cil_tmp82);
16375#line 2043
16376 Data = (__u16 )__cil_tmp83;
16377#line 2045
16378 __cil_tmp84 = (__u16 )3;
16379#line 2045
16380 mos7840_set_uart_reg(port, __cil_tmp84, Data);
16381#line 2047
16382 Data = (__u16 )11;
16383#line 2048
16384 __cil_tmp85 = (unsigned long )mos7840_port;
16385#line 2048
16386 __cil_tmp86 = __cil_tmp85 + 33;
16387#line 2048
16388 *((__u8 *)__cil_tmp86) = (__u8 )Data;
16389#line 2049
16390 __cil_tmp87 = (__u16 )4;
16391#line 2049
16392 mos7840_set_uart_reg(port, __cil_tmp87, Data);
16393#line 2050
16394 Data = (__u16 )11;
16395#line 2051
16396 __cil_tmp88 = (__u16 )4;
16397#line 2051
16398 mos7840_set_uart_reg(port, __cil_tmp88, Data);
16399#line 2055
16400 __cil_tmp89 = (unsigned long )mos7840_port;
16401#line 2055
16402 __cil_tmp90 = __cil_tmp89 + 33;
16403#line 2055
16404 *((__u8 *)__cil_tmp90) = (__u8 )8;
16405 }
16406#line 2056
16407 if (cflag & 4111U) {
16408#line 2057
16409 __cil_tmp91 = (unsigned long )mos7840_port;
16410#line 2057
16411 __cil_tmp92 = __cil_tmp91 + 33;
16412#line 2057
16413 __cil_tmp93 = (unsigned long )mos7840_port;
16414#line 2057
16415 __cil_tmp94 = __cil_tmp93 + 33;
16416#line 2057
16417 __cil_tmp95 = *((__u8 *)__cil_tmp94);
16418#line 2057
16419 __cil_tmp96 = (int )__cil_tmp95;
16420#line 2057
16421 __cil_tmp97 = __cil_tmp96 | 3;
16422#line 2057
16423 *((__u8 *)__cil_tmp92) = (__u8 )__cil_tmp97;
16424 } else {
16425
16426 }
16427#line 2059
16428 if (cflag & 2147483648U) {
16429#line 2060
16430 __cil_tmp98 = (unsigned long )mos7840_port;
16431#line 2060
16432 __cil_tmp99 = __cil_tmp98 + 33;
16433#line 2060
16434 __cil_tmp100 = (unsigned long )mos7840_port;
16435#line 2060
16436 __cil_tmp101 = __cil_tmp100 + 33;
16437#line 2060
16438 __cil_tmp102 = *((__u8 *)__cil_tmp101);
16439#line 2060
16440 __cil_tmp103 = (int )__cil_tmp102;
16441#line 2060
16442 __cil_tmp104 = __cil_tmp103 | 32;
16443#line 2060
16444 *((__u8 *)__cil_tmp99) = (__u8 )__cil_tmp104;
16445 } else {
16446#line 2062
16447 __cil_tmp105 = (unsigned long )mos7840_port;
16448#line 2062
16449 __cil_tmp106 = __cil_tmp105 + 33;
16450#line 2062
16451 __cil_tmp107 = (unsigned long )mos7840_port;
16452#line 2062
16453 __cil_tmp108 = __cil_tmp107 + 33;
16454#line 2062
16455 __cil_tmp109 = *((__u8 *)__cil_tmp108);
16456#line 2062
16457 __cil_tmp110 = (int )__cil_tmp109;
16458#line 2062
16459 __cil_tmp111 = __cil_tmp110 & -33;
16460#line 2062
16461 *((__u8 *)__cil_tmp106) = (__u8 )__cil_tmp111;
16462 }
16463 {
16464#line 2064
16465 __cil_tmp112 = (unsigned long )mos7840_port;
16466#line 2064
16467 __cil_tmp113 = __cil_tmp112 + 33;
16468#line 2064
16469 __cil_tmp114 = *((__u8 *)__cil_tmp113);
16470#line 2064
16471 Data = (__u16 )__cil_tmp114;
16472#line 2065
16473 __cil_tmp115 = (__u16 )4;
16474#line 2065
16475 mos7840_set_uart_reg(port, __cil_tmp115, Data);
16476#line 2068
16477 tmp___9 = tty_get_baud_rate(tty);
16478#line 2068
16479 baud = (int )tmp___9;
16480 }
16481#line 2070
16482 if (! baud) {
16483 {
16484#line 2072
16485 while (1) {
16486 while_continue___10: ;
16487 {
16488#line 2072
16489 __cil_tmp116 = & debug;
16490#line 2072
16491 if (*__cil_tmp116) {
16492 {
16493#line 2072
16494 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
16495 "Picked default baud...");
16496 }
16497 } else {
16498
16499 }
16500 }
16501#line 2072
16502 goto while_break___10;
16503 }
16504 while_break___10: ;
16505 }
16506#line 2073
16507 baud = 9600;
16508 } else {
16509
16510 }
16511 {
16512#line 2076
16513 while (1) {
16514 while_continue___11: ;
16515 {
16516#line 2076
16517 __cil_tmp117 = & debug;
16518#line 2076
16519 if (*__cil_tmp117) {
16520 {
16521#line 2076
16522 printk("<7>%s: %s - baud rate = %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
16523 "mos7840_change_port_settings", baud);
16524 }
16525 } else {
16526
16527 }
16528 }
16529#line 2076
16530 goto while_break___11;
16531 }
16532 while_break___11: ;
16533 }
16534 {
16535#line 2077
16536 status = mos7840_send_cmd_write_baud_rate(mos7840_port, baud);
16537#line 2080
16538 Data = (__u16 )12;
16539#line 2081
16540 __cil_tmp118 = (__u16 )1;
16541#line 2081
16542 mos7840_set_uart_reg(port, __cil_tmp118, Data);
16543 }
16544 {
16545#line 2083
16546 __cil_tmp119 = (unsigned long )mos7840_port;
16547#line 2083
16548 __cil_tmp120 = __cil_tmp119 + 384;
16549#line 2083
16550 __cil_tmp121 = *((bool *)__cil_tmp120);
16551#line 2083
16552 __cil_tmp122 = (int )__cil_tmp121;
16553#line 2083
16554 if (__cil_tmp122 == 0) {
16555 {
16556#line 2084
16557 __cil_tmp123 = (unsigned long )mos7840_port;
16558#line 2084
16559 __cil_tmp124 = __cil_tmp123 + 384;
16560#line 2084
16561 *((bool *)__cil_tmp124) = (bool )1;
16562#line 2085
16563 __cil_tmp125 = (unsigned long )mos7840_port;
16564#line 2085
16565 __cil_tmp126 = __cil_tmp125 + 16;
16566#line 2085
16567 __cil_tmp127 = *((struct urb **)__cil_tmp126);
16568#line 2085
16569 status = usb_submit_urb(__cil_tmp127, 32U);
16570 }
16571#line 2086
16572 if (status) {
16573 {
16574#line 2087
16575 while (1) {
16576 while_continue___12: ;
16577 {
16578#line 2087
16579 __cil_tmp128 = & debug;
16580#line 2087
16581 if (*__cil_tmp128) {
16582 {
16583#line 2087
16584 printk("<7>%s: usb_submit_urb(read bulk) failed, status = %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
16585 status);
16586 }
16587 } else {
16588
16589 }
16590 }
16591#line 2087
16592 goto while_break___12;
16593 }
16594 while_break___12: ;
16595 }
16596#line 2089
16597 __cil_tmp129 = (unsigned long )mos7840_port;
16598#line 2089
16599 __cil_tmp130 = __cil_tmp129 + 384;
16600#line 2089
16601 *((bool *)__cil_tmp130) = (bool )0;
16602 } else {
16603
16604 }
16605 } else {
16606
16607 }
16608 }
16609 {
16610#line 2092
16611 __cil_tmp131 = (unsigned long )mos7840_port;
16612#line 2092
16613 __cil_tmp132 = __cil_tmp131 + 80;
16614#line 2092
16615 __cil_tmp133 = (wait_queue_head_t *)__cil_tmp132;
16616#line 2092
16617 __cil_tmp134 = (void *)0;
16618#line 2092
16619 __wake_up(__cil_tmp133, 3U, 1, __cil_tmp134);
16620#line 2093
16621 __cil_tmp135 = (unsigned long )mos7840_port;
16622#line 2093
16623 __cil_tmp136 = __cil_tmp135 + 120;
16624#line 2093
16625 *((int *)__cil_tmp136) = 1;
16626 }
16627 {
16628#line 2094
16629 while (1) {
16630 while_continue___13: ;
16631 {
16632#line 2094
16633 __cil_tmp137 = & debug;
16634#line 2094
16635 if (*__cil_tmp137) {
16636 {
16637#line 2094
16638 __cil_tmp138 = (unsigned long )mos7840_port;
16639#line 2094
16640 __cil_tmp139 = __cil_tmp138 + 32;
16641#line 2094
16642 __cil_tmp140 = *((__u8 *)__cil_tmp139);
16643#line 2094
16644 __cil_tmp141 = (int )__cil_tmp140;
16645#line 2094
16646 printk("<7>%s: mos7840_change_port_settings mos7840_port->shadowLCR is End %x\n",
16647 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
16648 __cil_tmp141);
16649 }
16650 } else {
16651
16652 }
16653 }
16654#line 2094
16655 goto while_break___13;
16656 }
16657 while_break___13: ;
16658 }
16659#line 2096
16660 return;
16661}
16662}
16663#line 2104 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
16664static void mos7840_set_termios(struct tty_struct *tty , struct usb_serial_port *port ,
16665 struct ktermios *old_termios )
16666{ int status ;
16667 unsigned int cflag ;
16668 struct usb_serial *serial ;
16669 struct moschip_port *mos7840_port ;
16670 int tmp___7 ;
16671 int tmp___8 ;
16672 bool *__cil_tmp10 ;
16673 bool *__cil_tmp11 ;
16674 bool *__cil_tmp12 ;
16675 void *__cil_tmp13 ;
16676 unsigned long __cil_tmp14 ;
16677 unsigned long __cil_tmp15 ;
16678 unsigned long __cil_tmp16 ;
16679 unsigned long __cil_tmp17 ;
16680 char __cil_tmp18 ;
16681 bool *__cil_tmp19 ;
16682 bool *__cil_tmp20 ;
16683 unsigned long __cil_tmp21 ;
16684 unsigned long __cil_tmp22 ;
16685 struct ktermios *__cil_tmp23 ;
16686 unsigned long __cil_tmp24 ;
16687 unsigned long __cil_tmp25 ;
16688 bool *__cil_tmp26 ;
16689 unsigned long __cil_tmp27 ;
16690 unsigned long __cil_tmp28 ;
16691 struct ktermios *__cil_tmp29 ;
16692 unsigned long __cil_tmp30 ;
16693 unsigned long __cil_tmp31 ;
16694 tcflag_t __cil_tmp32 ;
16695 unsigned long __cil_tmp33 ;
16696 unsigned long __cil_tmp34 ;
16697 struct ktermios *__cil_tmp35 ;
16698 tcflag_t __cil_tmp36 ;
16699 unsigned int __cil_tmp37 ;
16700 bool *__cil_tmp38 ;
16701 unsigned long __cil_tmp39 ;
16702 unsigned long __cil_tmp40 ;
16703 tcflag_t __cil_tmp41 ;
16704 tcflag_t __cil_tmp42 ;
16705 unsigned int __cil_tmp43 ;
16706 bool *__cil_tmp44 ;
16707 unsigned long __cil_tmp45 ;
16708 unsigned long __cil_tmp46 ;
16709 unsigned char __cil_tmp47 ;
16710 int __cil_tmp48 ;
16711 unsigned long __cil_tmp49 ;
16712 unsigned long __cil_tmp50 ;
16713 struct urb *__cil_tmp51 ;
16714 bool *__cil_tmp52 ;
16715 unsigned long __cil_tmp53 ;
16716 unsigned long __cil_tmp54 ;
16717 bool __cil_tmp55 ;
16718 int __cil_tmp56 ;
16719 unsigned long __cil_tmp57 ;
16720 unsigned long __cil_tmp58 ;
16721 unsigned long __cil_tmp59 ;
16722 unsigned long __cil_tmp60 ;
16723 struct urb *__cil_tmp61 ;
16724 bool *__cil_tmp62 ;
16725 unsigned long __cil_tmp63 ;
16726 unsigned long __cil_tmp64 ;
16727
16728 {
16729 {
16730#line 2112
16731 while (1) {
16732 while_continue: ;
16733 {
16734#line 2112
16735 __cil_tmp10 = & debug;
16736#line 2112
16737 if (*__cil_tmp10) {
16738 {
16739#line 2112
16740 printk("<7>%s: mos7840_set_termios: START\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c");
16741 }
16742 } else {
16743
16744 }
16745 }
16746#line 2112
16747 goto while_break;
16748 }
16749 while_break: ;
16750 }
16751 {
16752#line 2113
16753 tmp___7 = mos7840_port_paranoia_check(port, "mos7840_set_termios");
16754 }
16755#line 2113
16756 if (tmp___7) {
16757 {
16758#line 2114
16759 while (1) {
16760 while_continue___0: ;
16761 {
16762#line 2114
16763 __cil_tmp11 = & debug;
16764#line 2114
16765 if (*__cil_tmp11) {
16766 {
16767#line 2114
16768 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
16769 "Invalid port");
16770 }
16771 } else {
16772
16773 }
16774 }
16775#line 2114
16776 goto while_break___0;
16777 }
16778 while_break___0: ;
16779 }
16780#line 2115
16781 return;
16782 } else {
16783
16784 }
16785 {
16786#line 2118
16787 serial = *((struct usb_serial **)port);
16788#line 2120
16789 tmp___8 = mos7840_serial_paranoia_check(serial, "mos7840_set_termios");
16790 }
16791#line 2120
16792 if (tmp___8) {
16793 {
16794#line 2121
16795 while (1) {
16796 while_continue___1: ;
16797 {
16798#line 2121
16799 __cil_tmp12 = & debug;
16800#line 2121
16801 if (*__cil_tmp12) {
16802 {
16803#line 2121
16804 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
16805 "Invalid Serial");
16806 }
16807 } else {
16808
16809 }
16810 }
16811#line 2121
16812 goto while_break___1;
16813 }
16814 while_break___1: ;
16815 }
16816#line 2122
16817 return;
16818 } else {
16819
16820 }
16821 {
16822#line 2125
16823 mos7840_port = mos7840_get_port_private(port);
16824 }
16825 {
16826#line 2127
16827 __cil_tmp13 = (void *)0;
16828#line 2127
16829 __cil_tmp14 = (unsigned long )__cil_tmp13;
16830#line 2127
16831 __cil_tmp15 = (unsigned long )mos7840_port;
16832#line 2127
16833 if (__cil_tmp15 == __cil_tmp14) {
16834#line 2128
16835 return;
16836 } else {
16837
16838 }
16839 }
16840 {
16841#line 2130
16842 __cil_tmp16 = (unsigned long )mos7840_port;
16843#line 2130
16844 __cil_tmp17 = __cil_tmp16 + 34;
16845#line 2130
16846 __cil_tmp18 = *((char *)__cil_tmp17);
16847#line 2130
16848 if (! __cil_tmp18) {
16849 {
16850#line 2131
16851 while (1) {
16852 while_continue___2: ;
16853 {
16854#line 2131
16855 __cil_tmp19 = & debug;
16856#line 2131
16857 if (*__cil_tmp19) {
16858 {
16859#line 2131
16860 printk("<7>%s: %s - port not opened\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
16861 "mos7840_set_termios");
16862 }
16863 } else {
16864
16865 }
16866 }
16867#line 2131
16868 goto while_break___2;
16869 }
16870 while_break___2: ;
16871 }
16872#line 2132
16873 return;
16874 } else {
16875
16876 }
16877 }
16878 {
16879#line 2135
16880 while (1) {
16881 while_continue___3: ;
16882 {
16883#line 2135
16884 __cil_tmp20 = & debug;
16885#line 2135
16886 if (*__cil_tmp20) {
16887 {
16888#line 2135
16889 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
16890 "setting termios - ");
16891 }
16892 } else {
16893
16894 }
16895 }
16896#line 2135
16897 goto while_break___3;
16898 }
16899 while_break___3: ;
16900 }
16901#line 2137
16902 __cil_tmp21 = (unsigned long )tty;
16903#line 2137
16904 __cil_tmp22 = __cil_tmp21 + 216;
16905#line 2137
16906 __cil_tmp23 = *((struct ktermios **)__cil_tmp22);
16907#line 2137
16908 __cil_tmp24 = (unsigned long )__cil_tmp23;
16909#line 2137
16910 __cil_tmp25 = __cil_tmp24 + 8;
16911#line 2137
16912 cflag = *((tcflag_t *)__cil_tmp25);
16913 {
16914#line 2139
16915 while (1) {
16916 while_continue___4: ;
16917 {
16918#line 2139
16919 __cil_tmp26 = & debug;
16920#line 2139
16921 if (*__cil_tmp26) {
16922 {
16923#line 2139
16924 __cil_tmp27 = (unsigned long )tty;
16925#line 2139
16926 __cil_tmp28 = __cil_tmp27 + 216;
16927#line 2139
16928 __cil_tmp29 = *((struct ktermios **)__cil_tmp28);
16929#line 2139
16930 __cil_tmp30 = (unsigned long )__cil_tmp29;
16931#line 2139
16932 __cil_tmp31 = __cil_tmp30 + 8;
16933#line 2139
16934 __cil_tmp32 = *((tcflag_t *)__cil_tmp31);
16935#line 2139
16936 __cil_tmp33 = (unsigned long )tty;
16937#line 2139
16938 __cil_tmp34 = __cil_tmp33 + 216;
16939#line 2139
16940 __cil_tmp35 = *((struct ktermios **)__cil_tmp34);
16941#line 2139
16942 __cil_tmp36 = *((tcflag_t *)__cil_tmp35);
16943#line 2139
16944 __cil_tmp37 = __cil_tmp36 & 31U;
16945#line 2139
16946 printk("<7>%s: %s - clfag %08x iflag %08x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
16947 "mos7840_set_termios", __cil_tmp32, __cil_tmp37);
16948 }
16949 } else {
16950
16951 }
16952 }
16953#line 2139
16954 goto while_break___4;
16955 }
16956 while_break___4: ;
16957 }
16958 {
16959#line 2141
16960 while (1) {
16961 while_continue___5: ;
16962 {
16963#line 2141
16964 __cil_tmp38 = & debug;
16965#line 2141
16966 if (*__cil_tmp38) {
16967 {
16968#line 2141
16969 __cil_tmp39 = (unsigned long )old_termios;
16970#line 2141
16971 __cil_tmp40 = __cil_tmp39 + 8;
16972#line 2141
16973 __cil_tmp41 = *((tcflag_t *)__cil_tmp40);
16974#line 2141
16975 __cil_tmp42 = *((tcflag_t *)old_termios);
16976#line 2141
16977 __cil_tmp43 = __cil_tmp42 & 31U;
16978#line 2141
16979 printk("<7>%s: %s - old clfag %08x old iflag %08x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
16980 "mos7840_set_termios", __cil_tmp41, __cil_tmp43);
16981 }
16982 } else {
16983
16984 }
16985 }
16986#line 2141
16987 goto while_break___5;
16988 }
16989 while_break___5: ;
16990 }
16991 {
16992#line 2143
16993 while (1) {
16994 while_continue___6: ;
16995 {
16996#line 2143
16997 __cil_tmp44 = & debug;
16998#line 2143
16999 if (*__cil_tmp44) {
17000 {
17001#line 2143
17002 __cil_tmp45 = (unsigned long )port;
17003#line 2143
17004 __cil_tmp46 = __cil_tmp45 + 384;
17005#line 2143
17006 __cil_tmp47 = *((unsigned char *)__cil_tmp46);
17007#line 2143
17008 __cil_tmp48 = (int )__cil_tmp47;
17009#line 2143
17010 printk("<7>%s: %s - port %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
17011 "mos7840_set_termios", __cil_tmp48);
17012 }
17013 } else {
17014
17015 }
17016 }
17017#line 2143
17018 goto while_break___6;
17019 }
17020 while_break___6: ;
17021 }
17022 {
17023#line 2147
17024 mos7840_change_port_settings(tty, mos7840_port, old_termios);
17025 }
17026 {
17027#line 2149
17028 __cil_tmp49 = (unsigned long )mos7840_port;
17029#line 2149
17030 __cil_tmp50 = __cil_tmp49 + 16;
17031#line 2149
17032 __cil_tmp51 = *((struct urb **)__cil_tmp50);
17033#line 2149
17034 if (! __cil_tmp51) {
17035 {
17036#line 2150
17037 while (1) {
17038 while_continue___7: ;
17039 {
17040#line 2150
17041 __cil_tmp52 = & debug;
17042#line 2150
17043 if (*__cil_tmp52) {
17044 {
17045#line 2150
17046 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
17047 "URB KILLED !!!!!");
17048 }
17049 } else {
17050
17051 }
17052 }
17053#line 2150
17054 goto while_break___7;
17055 }
17056 while_break___7: ;
17057 }
17058#line 2151
17059 return;
17060 } else {
17061
17062 }
17063 }
17064 {
17065#line 2154
17066 __cil_tmp53 = (unsigned long )mos7840_port;
17067#line 2154
17068 __cil_tmp54 = __cil_tmp53 + 384;
17069#line 2154
17070 __cil_tmp55 = *((bool *)__cil_tmp54);
17071#line 2154
17072 __cil_tmp56 = (int )__cil_tmp55;
17073#line 2154
17074 if (__cil_tmp56 == 0) {
17075 {
17076#line 2155
17077 __cil_tmp57 = (unsigned long )mos7840_port;
17078#line 2155
17079 __cil_tmp58 = __cil_tmp57 + 384;
17080#line 2155
17081 *((bool *)__cil_tmp58) = (bool )1;
17082#line 2156
17083 __cil_tmp59 = (unsigned long )mos7840_port;
17084#line 2156
17085 __cil_tmp60 = __cil_tmp59 + 16;
17086#line 2156
17087 __cil_tmp61 = *((struct urb **)__cil_tmp60);
17088#line 2156
17089 status = usb_submit_urb(__cil_tmp61, 32U);
17090 }
17091#line 2157
17092 if (status) {
17093 {
17094#line 2158
17095 while (1) {
17096 while_continue___8: ;
17097 {
17098#line 2158
17099 __cil_tmp62 = & debug;
17100#line 2158
17101 if (*__cil_tmp62) {
17102 {
17103#line 2158
17104 printk("<7>%s: usb_submit_urb(read bulk) failed, status = %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
17105 status);
17106 }
17107 } else {
17108
17109 }
17110 }
17111#line 2158
17112 goto while_break___8;
17113 }
17114 while_break___8: ;
17115 }
17116#line 2160
17117 __cil_tmp63 = (unsigned long )mos7840_port;
17118#line 2160
17119 __cil_tmp64 = __cil_tmp63 + 384;
17120#line 2160
17121 *((bool *)__cil_tmp64) = (bool )0;
17122 } else {
17123
17124 }
17125 } else {
17126
17127 }
17128 }
17129#line 2163
17130 return;
17131}
17132}
17133#line 2176 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
17134static int mos7840_get_lsr_info(struct tty_struct *tty , unsigned int *value )
17135{ int count ;
17136 unsigned int result ;
17137 int tmp___7 ;
17138 unsigned int *__cil_tmp6 ;
17139 bool *__cil_tmp7 ;
17140 unsigned int *__cil_tmp8 ;
17141 void *__cil_tmp9 ;
17142 void const *__cil_tmp10 ;
17143 unsigned int __cil_tmp11 ;
17144
17145 {
17146 {
17147#line 2180
17148 __cil_tmp6 = & result;
17149#line 2180
17150 *__cil_tmp6 = 0U;
17151#line 2182
17152 count = mos7840_chars_in_buffer(tty);
17153 }
17154#line 2183
17155 if (count == 0) {
17156 {
17157#line 2184
17158 while (1) {
17159 while_continue: ;
17160 {
17161#line 2184
17162 __cil_tmp7 = & debug;
17163#line 2184
17164 if (*__cil_tmp7) {
17165 {
17166#line 2184
17167 printk("<7>%s: %s -- Empty\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
17168 "mos7840_get_lsr_info");
17169 }
17170 } else {
17171
17172 }
17173 }
17174#line 2184
17175 goto while_break;
17176 }
17177 while_break: ;
17178 }
17179#line 2185
17180 __cil_tmp8 = & result;
17181#line 2185
17182 *__cil_tmp8 = 1U;
17183 } else {
17184
17185 }
17186 {
17187#line 2188
17188 __cil_tmp9 = (void *)value;
17189#line 2188
17190 __cil_tmp10 = (void const *)(& result);
17191#line 2188
17192 __cil_tmp11 = (unsigned int )4UL;
17193#line 2188
17194 tmp___7 = (int )copy_to_user(__cil_tmp9, __cil_tmp10, __cil_tmp11);
17195 }
17196#line 2188
17197 if (tmp___7) {
17198#line 2189
17199 return (-14);
17200 } else {
17201
17202 }
17203#line 2190
17204 return (0);
17205}
17206}
17207#line 2198 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
17208static int mos7840_get_serial_info(struct moschip_port *mos7840_port , struct serial_struct *retinfo )
17209{ struct serial_struct tmp___7 ;
17210 int tmp___8 ;
17211 void *__cil_tmp5 ;
17212 unsigned long __cil_tmp6 ;
17213 unsigned long __cil_tmp7 ;
17214 void *__cil_tmp8 ;
17215 struct serial_struct *__cil_tmp9 ;
17216 unsigned long __cil_tmp10 ;
17217 unsigned long __cil_tmp11 ;
17218 unsigned long __cil_tmp12 ;
17219 struct usb_serial_port *__cil_tmp13 ;
17220 struct usb_serial *__cil_tmp14 ;
17221 unsigned long __cil_tmp15 ;
17222 unsigned long __cil_tmp16 ;
17223 unsigned char __cil_tmp17 ;
17224 unsigned long __cil_tmp18 ;
17225 unsigned long __cil_tmp19 ;
17226 unsigned long __cil_tmp20 ;
17227 struct usb_serial_port *__cil_tmp21 ;
17228 unsigned long __cil_tmp22 ;
17229 unsigned long __cil_tmp23 ;
17230 unsigned char __cil_tmp24 ;
17231 unsigned long __cil_tmp25 ;
17232 unsigned long __cil_tmp26 ;
17233 unsigned int __cil_tmp27 ;
17234 unsigned int __cil_tmp28 ;
17235 unsigned int __cil_tmp29 ;
17236 unsigned long __cil_tmp30 ;
17237 unsigned long __cil_tmp31 ;
17238 unsigned long __cil_tmp32 ;
17239 unsigned long __cil_tmp33 ;
17240 void *__cil_tmp34 ;
17241 void const *__cil_tmp35 ;
17242 unsigned int __cil_tmp36 ;
17243
17244 {
17245 {
17246#line 2203
17247 __cil_tmp5 = (void *)0;
17248#line 2203
17249 __cil_tmp6 = (unsigned long )__cil_tmp5;
17250#line 2203
17251 __cil_tmp7 = (unsigned long )mos7840_port;
17252#line 2203
17253 if (__cil_tmp7 == __cil_tmp6) {
17254#line 2204
17255 return (-1);
17256 } else {
17257
17258 }
17259 }
17260#line 2206
17261 if (! retinfo) {
17262#line 2207
17263 return (-14);
17264 } else {
17265
17266 }
17267 {
17268#line 2209
17269 __cil_tmp8 = (void *)(& tmp___7);
17270#line 2209
17271 memset(__cil_tmp8, 0, 72UL);
17272#line 2211
17273 __cil_tmp9 = & tmp___7;
17274#line 2211
17275 *((int *)__cil_tmp9) = 4;
17276#line 2212
17277 __cil_tmp10 = (unsigned long )(& tmp___7) + 4;
17278#line 2212
17279 __cil_tmp11 = (unsigned long )mos7840_port;
17280#line 2212
17281 __cil_tmp12 = __cil_tmp11 + 168;
17282#line 2212
17283 __cil_tmp13 = *((struct usb_serial_port **)__cil_tmp12);
17284#line 2212
17285 __cil_tmp14 = *((struct usb_serial **)__cil_tmp13);
17286#line 2212
17287 __cil_tmp15 = (unsigned long )__cil_tmp14;
17288#line 2212
17289 __cil_tmp16 = __cil_tmp15 + 25;
17290#line 2212
17291 __cil_tmp17 = *((unsigned char *)__cil_tmp16);
17292#line 2212
17293 *((int *)__cil_tmp10) = (int )__cil_tmp17;
17294#line 2213
17295 __cil_tmp18 = (unsigned long )(& tmp___7) + 8;
17296#line 2213
17297 __cil_tmp19 = (unsigned long )mos7840_port;
17298#line 2213
17299 __cil_tmp20 = __cil_tmp19 + 168;
17300#line 2213
17301 __cil_tmp21 = *((struct usb_serial_port **)__cil_tmp20);
17302#line 2213
17303 __cil_tmp22 = (unsigned long )__cil_tmp21;
17304#line 2213
17305 __cil_tmp23 = __cil_tmp22 + 384;
17306#line 2213
17307 __cil_tmp24 = *((unsigned char *)__cil_tmp23);
17308#line 2213
17309 *((unsigned int *)__cil_tmp18) = (unsigned int )__cil_tmp24;
17310#line 2214
17311 __cil_tmp25 = (unsigned long )(& tmp___7) + 12;
17312#line 2214
17313 *((int *)__cil_tmp25) = 0;
17314#line 2215
17315 __cil_tmp26 = (unsigned long )(& tmp___7) + 16;
17316#line 2215
17317 __cil_tmp27 = 1U << 7;
17318#line 2215
17319 __cil_tmp28 = 1U << 6;
17320#line 2215
17321 __cil_tmp29 = __cil_tmp28 | __cil_tmp27;
17322#line 2215
17323 *((int *)__cil_tmp26) = (int )__cil_tmp29;
17324#line 2216
17325 __cil_tmp30 = (unsigned long )(& tmp___7) + 20;
17326#line 2216
17327 *((int *)__cil_tmp30) = 512;
17328#line 2217
17329 __cil_tmp31 = (unsigned long )(& tmp___7) + 28;
17330#line 2217
17331 *((int *)__cil_tmp31) = 9600;
17332#line 2218
17333 __cil_tmp32 = (unsigned long )(& tmp___7) + 32;
17334#line 2218
17335 *((unsigned short *)__cil_tmp32) = (unsigned short)1250;
17336#line 2219
17337 __cil_tmp33 = (unsigned long )(& tmp___7) + 40;
17338#line 2219
17339 *((unsigned short *)__cil_tmp33) = (unsigned short)7500;
17340#line 2221
17341 __cil_tmp34 = (void *)retinfo;
17342#line 2221
17343 __cil_tmp35 = (void const *)(& tmp___7);
17344#line 2221
17345 __cil_tmp36 = (unsigned int )72UL;
17346#line 2221
17347 tmp___8 = (int )copy_to_user(__cil_tmp34, __cil_tmp35, __cil_tmp36);
17348 }
17349#line 2221
17350 if (tmp___8) {
17351#line 2222
17352 return (-14);
17353 } else {
17354
17355 }
17356#line 2223
17357 return (0);
17358}
17359}
17360#line 2226 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
17361static int mos7840_get_icount(struct tty_struct *tty , struct serial_icounter_struct *icount )
17362{ struct usb_serial_port *port ;
17363 struct moschip_port *mos7840_port ;
17364 struct async_icount cnow ;
17365 unsigned long __cil_tmp6 ;
17366 unsigned long __cil_tmp7 ;
17367 void *__cil_tmp8 ;
17368 unsigned long __cil_tmp9 ;
17369 unsigned long __cil_tmp10 ;
17370 unsigned long __cil_tmp11 ;
17371 unsigned long __cil_tmp12 ;
17372 unsigned long __cil_tmp13 ;
17373 unsigned long __cil_tmp14 ;
17374 unsigned long __cil_tmp15 ;
17375 unsigned long __cil_tmp16 ;
17376 unsigned long __cil_tmp17 ;
17377 unsigned long __cil_tmp18 ;
17378 unsigned long __cil_tmp19 ;
17379 unsigned long __cil_tmp20 ;
17380 unsigned long __cil_tmp21 ;
17381 unsigned long __cil_tmp22 ;
17382 unsigned long __cil_tmp23 ;
17383 unsigned long __cil_tmp24 ;
17384 unsigned long __cil_tmp25 ;
17385 unsigned long __cil_tmp26 ;
17386 unsigned long __cil_tmp27 ;
17387 unsigned long __cil_tmp28 ;
17388 unsigned long __cil_tmp29 ;
17389 unsigned long __cil_tmp30 ;
17390 bool *__cil_tmp31 ;
17391 unsigned long __cil_tmp32 ;
17392 unsigned long __cil_tmp33 ;
17393 unsigned char __cil_tmp34 ;
17394 int __cil_tmp35 ;
17395 unsigned long __cil_tmp36 ;
17396 unsigned long __cil_tmp37 ;
17397 int __cil_tmp38 ;
17398 unsigned long __cil_tmp39 ;
17399 unsigned long __cil_tmp40 ;
17400 int __cil_tmp41 ;
17401 __u32 cnow_buf_overrun42 ;
17402 __u32 cnow_brk43 ;
17403 __u32 cnow_overrun44 ;
17404 __u32 cnow_parity45 ;
17405 __u32 cnow_frame46 ;
17406 __u32 cnow_rx47 ;
17407 __u32 cnow_tx48 ;
17408 __u32 cnow_dcd49 ;
17409 __u32 cnow_rng50 ;
17410 __u32 cnow_dsr51 ;
17411 __u32 cnow_cts52 ;
17412 __u32 __cil_tmp53 ;
17413 __u32 __cil_tmp54 ;
17414 __u32 __cil_tmp55 ;
17415 __u32 __cil_tmp56 ;
17416 __u32 __cil_tmp57 ;
17417 __u32 __cil_tmp58 ;
17418 __u32 __cil_tmp59 ;
17419 __u32 __cil_tmp60 ;
17420 __u32 __cil_tmp61 ;
17421 __u32 __cil_tmp62 ;
17422 __u32 __cil_tmp63 ;
17423
17424 {
17425 {
17426#line 2229
17427 __cil_tmp6 = (unsigned long )tty;
17428#line 2229
17429 __cil_tmp7 = __cil_tmp6 + 584;
17430#line 2229
17431 __cil_tmp8 = *((void **)__cil_tmp7);
17432#line 2229
17433 port = (struct usb_serial_port *)__cil_tmp8;
17434#line 2233
17435 mos7840_port = mos7840_get_port_private(port);
17436#line 2234
17437 __cil_tmp9 = (unsigned long )mos7840_port;
17438#line 2234
17439 __cil_tmp10 = __cil_tmp9 + 124;
17440#line 2234
17441 __cil_tmp53 = ((struct async_icount *)__cil_tmp10)->cts;
17442#line 2234
17443 __cil_tmp54 = ((struct async_icount *)__cil_tmp10)->dsr;
17444#line 2234
17445 __cil_tmp55 = ((struct async_icount *)__cil_tmp10)->rng;
17446#line 2234
17447 __cil_tmp56 = ((struct async_icount *)__cil_tmp10)->dcd;
17448#line 2234
17449 __cil_tmp57 = ((struct async_icount *)__cil_tmp10)->tx;
17450#line 2234
17451 __cil_tmp58 = ((struct async_icount *)__cil_tmp10)->rx;
17452#line 2234
17453 __cil_tmp59 = ((struct async_icount *)__cil_tmp10)->frame;
17454#line 2234
17455 __cil_tmp60 = ((struct async_icount *)__cil_tmp10)->parity;
17456#line 2234
17457 __cil_tmp61 = ((struct async_icount *)__cil_tmp10)->overrun;
17458#line 2234
17459 __cil_tmp62 = ((struct async_icount *)__cil_tmp10)->brk;
17460#line 2234
17461 __cil_tmp63 = ((struct async_icount *)__cil_tmp10)->buf_overrun;
17462#line 2234
17463 cnow_cts52 = __cil_tmp53;
17464#line 2234
17465 cnow_dsr51 = __cil_tmp54;
17466#line 2234
17467 cnow_rng50 = __cil_tmp55;
17468#line 2234
17469 cnow_dcd49 = __cil_tmp56;
17470#line 2234
17471 cnow_tx48 = __cil_tmp57;
17472#line 2234
17473 cnow_rx47 = __cil_tmp58;
17474#line 2234
17475 cnow_frame46 = __cil_tmp59;
17476#line 2234
17477 cnow_parity45 = __cil_tmp60;
17478#line 2234
17479 cnow_overrun44 = __cil_tmp61;
17480#line 2234
17481 cnow_brk43 = __cil_tmp62;
17482#line 2234
17483 cnow_buf_overrun42 = __cil_tmp63;
17484#line 2236
17485 __asm__ volatile ("": : : "memory");
17486#line 2237
17487 *((int *)icount) = (int )cnow_cts52;
17488#line 2238
17489 __cil_tmp11 = (unsigned long )icount;
17490#line 2238
17491 __cil_tmp12 = __cil_tmp11 + 4;
17492#line 2238
17493 *((int *)__cil_tmp12) = (int )cnow_dsr51;
17494#line 2239
17495 __cil_tmp13 = (unsigned long )icount;
17496#line 2239
17497 __cil_tmp14 = __cil_tmp13 + 8;
17498#line 2239
17499 *((int *)__cil_tmp14) = (int )cnow_rng50;
17500#line 2240
17501 __cil_tmp15 = (unsigned long )icount;
17502#line 2240
17503 __cil_tmp16 = __cil_tmp15 + 12;
17504#line 2240
17505 *((int *)__cil_tmp16) = (int )cnow_dcd49;
17506#line 2241
17507 __cil_tmp17 = (unsigned long )icount;
17508#line 2241
17509 __cil_tmp18 = __cil_tmp17 + 16;
17510#line 2241
17511 *((int *)__cil_tmp18) = (int )cnow_rx47;
17512#line 2242
17513 __cil_tmp19 = (unsigned long )icount;
17514#line 2242
17515 __cil_tmp20 = __cil_tmp19 + 20;
17516#line 2242
17517 *((int *)__cil_tmp20) = (int )cnow_tx48;
17518#line 2243
17519 __cil_tmp21 = (unsigned long )icount;
17520#line 2243
17521 __cil_tmp22 = __cil_tmp21 + 24;
17522#line 2243
17523 *((int *)__cil_tmp22) = (int )cnow_frame46;
17524#line 2244
17525 __cil_tmp23 = (unsigned long )icount;
17526#line 2244
17527 __cil_tmp24 = __cil_tmp23 + 28;
17528#line 2244
17529 *((int *)__cil_tmp24) = (int )cnow_overrun44;
17530#line 2245
17531 __cil_tmp25 = (unsigned long )icount;
17532#line 2245
17533 __cil_tmp26 = __cil_tmp25 + 32;
17534#line 2245
17535 *((int *)__cil_tmp26) = (int )cnow_parity45;
17536#line 2246
17537 __cil_tmp27 = (unsigned long )icount;
17538#line 2246
17539 __cil_tmp28 = __cil_tmp27 + 36;
17540#line 2246
17541 *((int *)__cil_tmp28) = (int )cnow_brk43;
17542#line 2247
17543 __cil_tmp29 = (unsigned long )icount;
17544#line 2247
17545 __cil_tmp30 = __cil_tmp29 + 40;
17546#line 2247
17547 *((int *)__cil_tmp30) = (int )cnow_buf_overrun42;
17548 }
17549 {
17550#line 2249
17551 while (1) {
17552 while_continue: ;
17553 {
17554#line 2249
17555 __cil_tmp31 = & debug;
17556#line 2249
17557 if (*__cil_tmp31) {
17558 {
17559#line 2249
17560 __cil_tmp32 = (unsigned long )port;
17561#line 2249
17562 __cil_tmp33 = __cil_tmp32 + 384;
17563#line 2249
17564 __cil_tmp34 = *((unsigned char *)__cil_tmp33);
17565#line 2249
17566 __cil_tmp35 = (int )__cil_tmp34;
17567#line 2249
17568 __cil_tmp36 = (unsigned long )icount;
17569#line 2249
17570 __cil_tmp37 = __cil_tmp36 + 16;
17571#line 2249
17572 __cil_tmp38 = *((int *)__cil_tmp37);
17573#line 2249
17574 __cil_tmp39 = (unsigned long )icount;
17575#line 2249
17576 __cil_tmp40 = __cil_tmp39 + 20;
17577#line 2249
17578 __cil_tmp41 = *((int *)__cil_tmp40);
17579#line 2249
17580 printk("<7>%s: %s (%d) TIOCGICOUNT RX=%d, TX=%d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
17581 "mos7840_get_icount", __cil_tmp35, __cil_tmp38, __cil_tmp41);
17582 }
17583 } else {
17584
17585 }
17586 }
17587#line 2249
17588 goto while_break;
17589 }
17590 while_break: ;
17591 }
17592#line 2251
17593 return (0);
17594}
17595}
17596#line 2259 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
17597static int mos7840_ioctl(struct tty_struct *tty , unsigned int cmd , unsigned long arg )
17598{ struct usb_serial_port *port ;
17599 void *argp ;
17600 struct moschip_port *mos7840_port ;
17601 struct async_icount cnow ;
17602 struct async_icount cprev ;
17603 int tmp___7 ;
17604 int tmp___8 ;
17605 int tmp___9 ;
17606 int __ret ;
17607 wait_queue_t __wait ;
17608 struct task_struct *tmp___10 ;
17609 struct task_struct *tmp___11 ;
17610 int tmp___12 ;
17611 struct task_struct *tmp___13 ;
17612 int tmp___14 ;
17613 unsigned long __cil_tmp19 ;
17614 unsigned long __cil_tmp20 ;
17615 void *__cil_tmp21 ;
17616 bool *__cil_tmp22 ;
17617 void *__cil_tmp23 ;
17618 unsigned long __cil_tmp24 ;
17619 unsigned long __cil_tmp25 ;
17620 bool *__cil_tmp26 ;
17621 unsigned long __cil_tmp27 ;
17622 unsigned long __cil_tmp28 ;
17623 unsigned char __cil_tmp29 ;
17624 int __cil_tmp30 ;
17625 bool *__cil_tmp31 ;
17626 unsigned long __cil_tmp32 ;
17627 unsigned long __cil_tmp33 ;
17628 unsigned char __cil_tmp34 ;
17629 int __cil_tmp35 ;
17630 unsigned int *__cil_tmp36 ;
17631 bool *__cil_tmp37 ;
17632 unsigned long __cil_tmp38 ;
17633 unsigned long __cil_tmp39 ;
17634 unsigned char __cil_tmp40 ;
17635 int __cil_tmp41 ;
17636 struct serial_struct *__cil_tmp42 ;
17637 bool *__cil_tmp43 ;
17638 unsigned long __cil_tmp44 ;
17639 unsigned long __cil_tmp45 ;
17640 unsigned char __cil_tmp46 ;
17641 int __cil_tmp47 ;
17642 bool *__cil_tmp48 ;
17643 unsigned long __cil_tmp49 ;
17644 unsigned long __cil_tmp50 ;
17645 unsigned char __cil_tmp51 ;
17646 int __cil_tmp52 ;
17647 unsigned long __cil_tmp53 ;
17648 unsigned long __cil_tmp54 ;
17649 unsigned long __cil_tmp55 ;
17650 unsigned long __cil_tmp56 ;
17651 unsigned long __cil_tmp57 ;
17652 unsigned long __cil_tmp58 ;
17653 int __cil_tmp59 ;
17654 int __cil_tmp60 ;
17655 wait_queue_t *__cil_tmp61 ;
17656 unsigned long __cil_tmp62 ;
17657 unsigned long __cil_tmp63 ;
17658 unsigned long __cil_tmp64 ;
17659 unsigned long __cil_tmp65 ;
17660 unsigned long __cil_tmp66 ;
17661 unsigned long __cil_tmp67 ;
17662 unsigned long __cil_tmp68 ;
17663 unsigned long __cil_tmp69 ;
17664 unsigned long __cil_tmp70 ;
17665 wait_queue_head_t *__cil_tmp71 ;
17666 unsigned long __cil_tmp72 ;
17667 unsigned long __cil_tmp73 ;
17668 int __cil_tmp74 ;
17669 unsigned long __cil_tmp75 ;
17670 unsigned long __cil_tmp76 ;
17671 wait_queue_head_t *__cil_tmp77 ;
17672 unsigned long __cil_tmp78 ;
17673 unsigned long __cil_tmp79 ;
17674 __u32 cnow_buf_overrun80 ;
17675 __u32 cnow_brk81 ;
17676 __u32 cnow_overrun82 ;
17677 __u32 cnow_parity83 ;
17678 __u32 cnow_frame84 ;
17679 __u32 cnow_rx85 ;
17680 __u32 cnow_tx86 ;
17681 __u32 cnow_dcd87 ;
17682 __u32 cnow_rng88 ;
17683 __u32 cnow_dsr89 ;
17684 __u32 cnow_cts90 ;
17685 __u32 cprev_buf_overrun91 ;
17686 __u32 cprev_brk92 ;
17687 __u32 cprev_overrun93 ;
17688 __u32 cprev_parity94 ;
17689 __u32 cprev_frame95 ;
17690 __u32 cprev_rx96 ;
17691 __u32 cprev_tx97 ;
17692 __u32 cprev_dcd98 ;
17693 __u32 cprev_rng99 ;
17694 __u32 cprev_dsr100 ;
17695 __u32 cprev_cts101 ;
17696 __u32 __cil_tmp102 ;
17697 __u32 __cil_tmp103 ;
17698 __u32 __cil_tmp104 ;
17699 __u32 __cil_tmp105 ;
17700 __u32 __cil_tmp106 ;
17701 __u32 __cil_tmp107 ;
17702 __u32 __cil_tmp108 ;
17703 __u32 __cil_tmp109 ;
17704 __u32 __cil_tmp110 ;
17705 __u32 __cil_tmp111 ;
17706 __u32 __cil_tmp112 ;
17707 __u32 __cil_tmp113 ;
17708 __u32 __cil_tmp114 ;
17709 __u32 __cil_tmp115 ;
17710 __u32 __cil_tmp116 ;
17711 __u32 __cil_tmp117 ;
17712 __u32 __cil_tmp118 ;
17713 __u32 __cil_tmp119 ;
17714 __u32 __cil_tmp120 ;
17715 __u32 __cil_tmp121 ;
17716 __u32 __cil_tmp122 ;
17717 __u32 __cil_tmp123 ;
17718
17719 {
17720 {
17721#line 2262
17722 __cil_tmp19 = (unsigned long )tty;
17723#line 2262
17724 __cil_tmp20 = __cil_tmp19 + 584;
17725#line 2262
17726 __cil_tmp21 = *((void **)__cil_tmp20);
17727#line 2262
17728 port = (struct usb_serial_port *)__cil_tmp21;
17729#line 2263
17730 argp = (void *)arg;
17731#line 2269
17732 tmp___7 = mos7840_port_paranoia_check(port, "mos7840_ioctl");
17733 }
17734#line 2269
17735 if (tmp___7) {
17736 {
17737#line 2270
17738 while (1) {
17739 while_continue: ;
17740 {
17741#line 2270
17742 __cil_tmp22 = & debug;
17743#line 2270
17744 if (*__cil_tmp22) {
17745 {
17746#line 2270
17747 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
17748 "Invalid port");
17749 }
17750 } else {
17751
17752 }
17753 }
17754#line 2270
17755 goto while_break;
17756 }
17757 while_break: ;
17758 }
17759#line 2271
17760 return (-1);
17761 } else {
17762
17763 }
17764 {
17765#line 2274
17766 mos7840_port = mos7840_get_port_private(port);
17767 }
17768 {
17769#line 2276
17770 __cil_tmp23 = (void *)0;
17771#line 2276
17772 __cil_tmp24 = (unsigned long )__cil_tmp23;
17773#line 2276
17774 __cil_tmp25 = (unsigned long )mos7840_port;
17775#line 2276
17776 if (__cil_tmp25 == __cil_tmp24) {
17777#line 2277
17778 return (-1);
17779 } else {
17780
17781 }
17782 }
17783 {
17784#line 2279
17785 while (1) {
17786 while_continue___0: ;
17787 {
17788#line 2279
17789 __cil_tmp26 = & debug;
17790#line 2279
17791 if (*__cil_tmp26) {
17792 {
17793#line 2279
17794 __cil_tmp27 = (unsigned long )port;
17795#line 2279
17796 __cil_tmp28 = __cil_tmp27 + 384;
17797#line 2279
17798 __cil_tmp29 = *((unsigned char *)__cil_tmp28);
17799#line 2279
17800 __cil_tmp30 = (int )__cil_tmp29;
17801#line 2279
17802 printk("<7>%s: %s - port %d, cmd = 0x%x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
17803 "mos7840_ioctl", __cil_tmp30, cmd);
17804 }
17805 } else {
17806
17807 }
17808 }
17809#line 2279
17810 goto while_break___0;
17811 }
17812 while_break___0: ;
17813 }
17814#line 2284
17815 if ((int )cmd == 21593) {
17816#line 2284
17817 goto case_21593;
17818 } else
17819#line 2288
17820 if ((int )cmd == 21534) {
17821#line 2288
17822 goto case_21534;
17823 } else
17824#line 2292
17825 if ((int )cmd == 21535) {
17826#line 2292
17827 goto case_21535;
17828 } else
17829#line 2296
17830 if ((int )cmd == 21596) {
17831#line 2296
17832 goto case_21596;
17833 } else {
17834 {
17835#line 2325
17836 goto switch_default;
17837#line 2281
17838 if (0) {
17839 case_21593:
17840 {
17841#line 2285
17842 while (1) {
17843 while_continue___1: ;
17844 {
17845#line 2285
17846 __cil_tmp31 = & debug;
17847#line 2285
17848 if (*__cil_tmp31) {
17849 {
17850#line 2285
17851 __cil_tmp32 = (unsigned long )port;
17852#line 2285
17853 __cil_tmp33 = __cil_tmp32 + 384;
17854#line 2285
17855 __cil_tmp34 = *((unsigned char *)__cil_tmp33);
17856#line 2285
17857 __cil_tmp35 = (int )__cil_tmp34;
17858#line 2285
17859 printk("<7>%s: %s (%d) TIOCSERGETLSR\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
17860 "mos7840_ioctl", __cil_tmp35);
17861 }
17862 } else {
17863
17864 }
17865 }
17866#line 2285
17867 goto while_break___1;
17868 }
17869 while_break___1: ;
17870 }
17871 {
17872#line 2286
17873 __cil_tmp36 = (unsigned int *)argp;
17874#line 2286
17875 tmp___8 = mos7840_get_lsr_info(tty, __cil_tmp36);
17876 }
17877#line 2286
17878 return (tmp___8);
17879 case_21534:
17880 {
17881#line 2289
17882 while (1) {
17883 while_continue___2: ;
17884 {
17885#line 2289
17886 __cil_tmp37 = & debug;
17887#line 2289
17888 if (*__cil_tmp37) {
17889 {
17890#line 2289
17891 __cil_tmp38 = (unsigned long )port;
17892#line 2289
17893 __cil_tmp39 = __cil_tmp38 + 384;
17894#line 2289
17895 __cil_tmp40 = *((unsigned char *)__cil_tmp39);
17896#line 2289
17897 __cil_tmp41 = (int )__cil_tmp40;
17898#line 2289
17899 printk("<7>%s: %s (%d) TIOCGSERIAL\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
17900 "mos7840_ioctl", __cil_tmp41);
17901 }
17902 } else {
17903
17904 }
17905 }
17906#line 2289
17907 goto while_break___2;
17908 }
17909 while_break___2: ;
17910 }
17911 {
17912#line 2290
17913 __cil_tmp42 = (struct serial_struct *)argp;
17914#line 2290
17915 tmp___9 = mos7840_get_serial_info(mos7840_port, __cil_tmp42);
17916 }
17917#line 2290
17918 return (tmp___9);
17919 case_21535:
17920 {
17921#line 2293
17922 while (1) {
17923 while_continue___3: ;
17924 {
17925#line 2293
17926 __cil_tmp43 = & debug;
17927#line 2293
17928 if (*__cil_tmp43) {
17929 {
17930#line 2293
17931 __cil_tmp44 = (unsigned long )port;
17932#line 2293
17933 __cil_tmp45 = __cil_tmp44 + 384;
17934#line 2293
17935 __cil_tmp46 = *((unsigned char *)__cil_tmp45);
17936#line 2293
17937 __cil_tmp47 = (int )__cil_tmp46;
17938#line 2293
17939 printk("<7>%s: %s (%d) TIOCSSERIAL\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
17940 "mos7840_ioctl", __cil_tmp47);
17941 }
17942 } else {
17943
17944 }
17945 }
17946#line 2293
17947 goto while_break___3;
17948 }
17949 while_break___3: ;
17950 }
17951#line 2294
17952 goto switch_break;
17953 case_21596:
17954 {
17955#line 2297
17956 while (1) {
17957 while_continue___4: ;
17958 {
17959#line 2297
17960 __cil_tmp48 = & debug;
17961#line 2297
17962 if (*__cil_tmp48) {
17963 {
17964#line 2297
17965 __cil_tmp49 = (unsigned long )port;
17966#line 2297
17967 __cil_tmp50 = __cil_tmp49 + 384;
17968#line 2297
17969 __cil_tmp51 = *((unsigned char *)__cil_tmp50);
17970#line 2297
17971 __cil_tmp52 = (int )__cil_tmp51;
17972#line 2297
17973 printk("<7>%s: %s (%d) TIOCMIWAIT\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
17974 "mos7840_ioctl", __cil_tmp52);
17975 }
17976 } else {
17977
17978 }
17979 }
17980#line 2297
17981 goto while_break___4;
17982 }
17983 while_break___4: ;
17984 }
17985#line 2298
17986 __cil_tmp53 = (unsigned long )mos7840_port;
17987#line 2298
17988 __cil_tmp54 = __cil_tmp53 + 124;
17989#line 2298
17990 __cil_tmp102 = ((struct async_icount *)__cil_tmp54)->cts;
17991#line 2298
17992 __cil_tmp103 = ((struct async_icount *)__cil_tmp54)->dsr;
17993#line 2298
17994 __cil_tmp104 = ((struct async_icount *)__cil_tmp54)->rng;
17995#line 2298
17996 __cil_tmp105 = ((struct async_icount *)__cil_tmp54)->dcd;
17997#line 2298
17998 __cil_tmp106 = ((struct async_icount *)__cil_tmp54)->tx;
17999#line 2298
18000 __cil_tmp107 = ((struct async_icount *)__cil_tmp54)->rx;
18001#line 2298
18002 __cil_tmp108 = ((struct async_icount *)__cil_tmp54)->frame;
18003#line 2298
18004 __cil_tmp109 = ((struct async_icount *)__cil_tmp54)->parity;
18005#line 2298
18006 __cil_tmp110 = ((struct async_icount *)__cil_tmp54)->overrun;
18007#line 2298
18008 __cil_tmp111 = ((struct async_icount *)__cil_tmp54)->brk;
18009#line 2298
18010 __cil_tmp112 = ((struct async_icount *)__cil_tmp54)->buf_overrun;
18011#line 2298
18012 cprev_cts101 = __cil_tmp102;
18013#line 2298
18014 cprev_dsr100 = __cil_tmp103;
18015#line 2298
18016 cprev_rng99 = __cil_tmp104;
18017#line 2298
18018 cprev_dcd98 = __cil_tmp105;
18019#line 2298
18020 cprev_tx97 = __cil_tmp106;
18021#line 2298
18022 cprev_rx96 = __cil_tmp107;
18023#line 2298
18024 cprev_frame95 = __cil_tmp108;
18025#line 2298
18026 cprev_parity94 = __cil_tmp109;
18027#line 2298
18028 cprev_overrun93 = __cil_tmp110;
18029#line 2298
18030 cprev_brk92 = __cil_tmp111;
18031#line 2298
18032 cprev_buf_overrun91 = __cil_tmp112;
18033 {
18034#line 2299
18035 while (1) {
18036 while_continue___5: ;
18037#line 2301
18038 __cil_tmp55 = (unsigned long )mos7840_port;
18039#line 2301
18040 __cil_tmp56 = __cil_tmp55 + 120;
18041#line 2301
18042 *((int *)__cil_tmp56) = 0;
18043#line 2302
18044 __ret = 0;
18045 {
18046#line 2302
18047 __cil_tmp57 = (unsigned long )mos7840_port;
18048#line 2302
18049 __cil_tmp58 = __cil_tmp57 + 120;
18050#line 2302
18051 __cil_tmp59 = *((int *)__cil_tmp58);
18052#line 2302
18053 __cil_tmp60 = __cil_tmp59 == 1;
18054#line 2302
18055 if (! __cil_tmp60) {
18056 {
18057#line 2302
18058 while (1) {
18059 while_continue___6: ;
18060 {
18061#line 2302
18062 tmp___10 = get_current();
18063#line 2302
18064 __cil_tmp61 = & __wait;
18065#line 2302
18066 *((unsigned int *)__cil_tmp61) = 0U;
18067#line 2302
18068 __cil_tmp62 = (unsigned long )(& __wait) + 8;
18069#line 2302
18070 *((void **)__cil_tmp62) = (void *)tmp___10;
18071#line 2302
18072 __cil_tmp63 = (unsigned long )(& __wait) + 16;
18073#line 2302
18074 *((int (**)(wait_queue_t *wait , unsigned int mode , int flags , void *key ))__cil_tmp63) = & autoremove_wake_function;
18075#line 2302
18076 __cil_tmp64 = (unsigned long )(& __wait) + 24;
18077#line 2302
18078 __cil_tmp65 = (unsigned long )(& __wait) + 24;
18079#line 2302
18080 *((struct list_head **)__cil_tmp64) = (struct list_head *)__cil_tmp65;
18081#line 2302
18082 __cil_tmp66 = 24 + 8;
18083#line 2302
18084 __cil_tmp67 = (unsigned long )(& __wait) + __cil_tmp66;
18085#line 2302
18086 __cil_tmp68 = (unsigned long )(& __wait) + 24;
18087#line 2302
18088 *((struct list_head **)__cil_tmp67) = (struct list_head *)__cil_tmp68;
18089 }
18090 {
18091#line 2302
18092 while (1) {
18093 while_continue___7: ;
18094 {
18095#line 2302
18096 __cil_tmp69 = (unsigned long )mos7840_port;
18097#line 2302
18098 __cil_tmp70 = __cil_tmp69 + 80;
18099#line 2302
18100 __cil_tmp71 = (wait_queue_head_t *)__cil_tmp70;
18101#line 2302
18102 prepare_to_wait(__cil_tmp71, & __wait, 1);
18103 }
18104 {
18105#line 2302
18106 __cil_tmp72 = (unsigned long )mos7840_port;
18107#line 2302
18108 __cil_tmp73 = __cil_tmp72 + 120;
18109#line 2302
18110 __cil_tmp74 = *((int *)__cil_tmp73);
18111#line 2302
18112 if (__cil_tmp74 == 1) {
18113#line 2302
18114 goto while_break___7;
18115 } else {
18116
18117 }
18118 }
18119 {
18120#line 2302
18121 tmp___11 = get_current();
18122#line 2302
18123 tmp___12 = signal_pending(tmp___11);
18124 }
18125#line 2302
18126 if (tmp___12) {
18127
18128 } else {
18129 {
18130#line 2302
18131 schedule();
18132 }
18133#line 2302
18134 goto __Cont;
18135 }
18136#line 2302
18137 __ret = -512;
18138#line 2302
18139 goto while_break___7;
18140 __Cont: ;
18141 }
18142 while_break___7: ;
18143 }
18144 {
18145#line 2302
18146 __cil_tmp75 = (unsigned long )mos7840_port;
18147#line 2302
18148 __cil_tmp76 = __cil_tmp75 + 80;
18149#line 2302
18150 __cil_tmp77 = (wait_queue_head_t *)__cil_tmp76;
18151#line 2302
18152 finish_wait(__cil_tmp77, & __wait);
18153 }
18154#line 2302
18155 goto while_break___6;
18156 }
18157 while_break___6: ;
18158 }
18159 } else {
18160
18161 }
18162 }
18163 {
18164#line 2307
18165 tmp___13 = get_current();
18166#line 2307
18167 tmp___14 = signal_pending(tmp___13);
18168 }
18169#line 2307
18170 if (tmp___14) {
18171#line 2308
18172 return (-512);
18173 } else {
18174
18175 }
18176#line 2309
18177 __cil_tmp78 = (unsigned long )mos7840_port;
18178#line 2309
18179 __cil_tmp79 = __cil_tmp78 + 124;
18180#line 2309
18181 __cil_tmp113 = ((struct async_icount *)__cil_tmp79)->cts;
18182#line 2309
18183 __cil_tmp114 = ((struct async_icount *)__cil_tmp79)->dsr;
18184#line 2309
18185 __cil_tmp115 = ((struct async_icount *)__cil_tmp79)->rng;
18186#line 2309
18187 __cil_tmp116 = ((struct async_icount *)__cil_tmp79)->dcd;
18188#line 2309
18189 __cil_tmp117 = ((struct async_icount *)__cil_tmp79)->tx;
18190#line 2309
18191 __cil_tmp118 = ((struct async_icount *)__cil_tmp79)->rx;
18192#line 2309
18193 __cil_tmp119 = ((struct async_icount *)__cil_tmp79)->frame;
18194#line 2309
18195 __cil_tmp120 = ((struct async_icount *)__cil_tmp79)->parity;
18196#line 2309
18197 __cil_tmp121 = ((struct async_icount *)__cil_tmp79)->overrun;
18198#line 2309
18199 __cil_tmp122 = ((struct async_icount *)__cil_tmp79)->brk;
18200#line 2309
18201 __cil_tmp123 = ((struct async_icount *)__cil_tmp79)->buf_overrun;
18202#line 2309
18203 cnow_cts90 = __cil_tmp113;
18204#line 2309
18205 cnow_dsr89 = __cil_tmp114;
18206#line 2309
18207 cnow_rng88 = __cil_tmp115;
18208#line 2309
18209 cnow_dcd87 = __cil_tmp116;
18210#line 2309
18211 cnow_tx86 = __cil_tmp117;
18212#line 2309
18213 cnow_rx85 = __cil_tmp118;
18214#line 2309
18215 cnow_frame84 = __cil_tmp119;
18216#line 2309
18217 cnow_parity83 = __cil_tmp120;
18218#line 2309
18219 cnow_overrun82 = __cil_tmp121;
18220#line 2309
18221 cnow_brk81 = __cil_tmp122;
18222#line 2309
18223 cnow_buf_overrun80 = __cil_tmp123;
18224#line 2310
18225 __asm__ volatile ("": : : "memory");
18226#line 2311
18227 if (cnow_rng88 == cprev_rng99) {
18228#line 2311
18229 if (cnow_dsr89 == cprev_dsr100) {
18230#line 2311
18231 if (cnow_dcd87 == cprev_dcd98) {
18232#line 2311
18233 if (cnow_cts90 == cprev_cts101) {
18234#line 2313
18235 return (-5);
18236 } else {
18237
18238 }
18239 } else {
18240
18241 }
18242 } else {
18243
18244 }
18245 } else {
18246
18247 }
18248#line 2314
18249 if (arg & 128UL) {
18250#line 2314
18251 if (cnow_rng88 != cprev_rng99) {
18252#line 2318
18253 return (0);
18254 } else {
18255#line 2314
18256 goto _L___1;
18257 }
18258 } else
18259 _L___1:
18260#line 2314
18261 if (arg & 256UL) {
18262#line 2314
18263 if (cnow_dsr89 != cprev_dsr100) {
18264#line 2318
18265 return (0);
18266 } else {
18267#line 2314
18268 goto _L___0;
18269 }
18270 } else
18271 _L___0:
18272#line 2314
18273 if (arg & 64UL) {
18274#line 2314
18275 if (cnow_dcd87 != cprev_dcd98) {
18276#line 2318
18277 return (0);
18278 } else {
18279#line 2314
18280 goto _L;
18281 }
18282 } else
18283 _L:
18284#line 2314
18285 if (arg & 32UL) {
18286#line 2314
18287 if (cnow_cts90 != cprev_cts101) {
18288#line 2318
18289 return (0);
18290 } else {
18291
18292 }
18293 } else {
18294
18295 }
18296#line 2320
18297 cprev_cts101 = cnow_cts90;
18298#line 2320
18299 cprev_dsr100 = cnow_dsr89;
18300#line 2320
18301 cprev_rng99 = cnow_rng88;
18302#line 2320
18303 cprev_dcd98 = cnow_dcd87;
18304#line 2320
18305 cprev_tx97 = cnow_tx86;
18306#line 2320
18307 cprev_rx96 = cnow_rx85;
18308#line 2320
18309 cprev_frame95 = cnow_frame84;
18310#line 2320
18311 cprev_parity94 = cnow_parity83;
18312#line 2320
18313 cprev_overrun93 = cnow_overrun82;
18314#line 2320
18315 cprev_brk92 = cnow_brk81;
18316#line 2320
18317 cprev_buf_overrun91 = cnow_buf_overrun80;
18318 }
18319 while_break___5: ;
18320 }
18321#line 2323
18322 goto switch_break;
18323 switch_default:
18324#line 2326
18325 goto switch_break;
18326 } else {
18327 switch_break: ;
18328 }
18329 }
18330 }
18331#line 2328
18332 return (-515);
18333}
18334}
18335#line 2331 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
18336static int mos7840_calc_num_ports(struct usb_serial *serial )
18337{ __u16 Data ;
18338 int ret ;
18339 int mos7840_num_ports ;
18340 unsigned int tmp___7 ;
18341 __u16 *__cil_tmp6 ;
18342 struct usb_device *__cil_tmp7 ;
18343 struct usb_device *__cil_tmp8 ;
18344 int __cil_tmp9 ;
18345 unsigned int __cil_tmp10 ;
18346 unsigned int __cil_tmp11 ;
18347 unsigned int __cil_tmp12 ;
18348 __u8 __cil_tmp13 ;
18349 __u8 __cil_tmp14 ;
18350 __u16 __cil_tmp15 ;
18351 __u16 __cil_tmp16 ;
18352 void *__cil_tmp17 ;
18353 __u16 __cil_tmp18 ;
18354 __u16 *__cil_tmp19 ;
18355 __u16 __cil_tmp20 ;
18356 int __cil_tmp21 ;
18357 int __cil_tmp22 ;
18358 unsigned long __cil_tmp23 ;
18359 unsigned long __cil_tmp24 ;
18360 unsigned long __cil_tmp25 ;
18361 unsigned long __cil_tmp26 ;
18362 unsigned long __cil_tmp27 ;
18363 unsigned long __cil_tmp28 ;
18364 unsigned long __cil_tmp29 ;
18365 unsigned long __cil_tmp30 ;
18366 unsigned long __cil_tmp31 ;
18367 unsigned long __cil_tmp32 ;
18368 unsigned long __cil_tmp33 ;
18369 unsigned long __cil_tmp34 ;
18370
18371 {
18372 {
18373#line 2333
18374 __cil_tmp6 = & Data;
18375#line 2333
18376 *__cil_tmp6 = (__u16 )0;
18377#line 2334
18378 ret = 0;
18379#line 2337
18380 __cil_tmp7 = *((struct usb_device **)serial);
18381#line 2337
18382 tmp___7 = __create_pipe(__cil_tmp7, 0U);
18383#line 2337
18384 __cil_tmp8 = *((struct usb_device **)serial);
18385#line 2337
18386 __cil_tmp9 = 2 << 30;
18387#line 2337
18388 __cil_tmp10 = (unsigned int )__cil_tmp9;
18389#line 2337
18390 __cil_tmp11 = __cil_tmp10 | tmp___7;
18391#line 2337
18392 __cil_tmp12 = __cil_tmp11 | 128U;
18393#line 2337
18394 __cil_tmp13 = (__u8 )13;
18395#line 2337
18396 __cil_tmp14 = (__u8 )192;
18397#line 2337
18398 __cil_tmp15 = (__u16 )0;
18399#line 2337
18400 __cil_tmp16 = (__u16 )7;
18401#line 2337
18402 __cil_tmp17 = (void *)(& Data);
18403#line 2337
18404 __cil_tmp18 = (__u16 )1;
18405#line 2337
18406 ret = usb_control_msg(__cil_tmp8, __cil_tmp12, __cil_tmp13, __cil_tmp14, __cil_tmp15,
18407 __cil_tmp16, __cil_tmp17, __cil_tmp18, 1250);
18408 }
18409 {
18410#line 2341
18411 __cil_tmp19 = & Data;
18412#line 2341
18413 __cil_tmp20 = *__cil_tmp19;
18414#line 2341
18415 __cil_tmp21 = (int )__cil_tmp20;
18416#line 2341
18417 __cil_tmp22 = __cil_tmp21 & 1;
18418#line 2341
18419 if (__cil_tmp22 == 0) {
18420#line 2342
18421 mos7840_num_ports = 2;
18422#line 2343
18423 __cil_tmp23 = (unsigned long )serial;
18424#line 2343
18425 __cil_tmp24 = __cil_tmp23 + 30;
18426#line 2343
18427 *((char *)__cil_tmp24) = (char)2;
18428#line 2344
18429 __cil_tmp25 = (unsigned long )serial;
18430#line 2344
18431 __cil_tmp26 = __cil_tmp25 + 31;
18432#line 2344
18433 *((char *)__cil_tmp26) = (char)2;
18434#line 2345
18435 __cil_tmp27 = (unsigned long )serial;
18436#line 2345
18437 __cil_tmp28 = __cil_tmp27 + 26;
18438#line 2345
18439 *((unsigned char *)__cil_tmp28) = (unsigned char)2;
18440 } else {
18441#line 2347
18442 mos7840_num_ports = 4;
18443#line 2348
18444 __cil_tmp29 = (unsigned long )serial;
18445#line 2348
18446 __cil_tmp30 = __cil_tmp29 + 30;
18447#line 2348
18448 *((char *)__cil_tmp30) = (char)4;
18449#line 2349
18450 __cil_tmp31 = (unsigned long )serial;
18451#line 2349
18452 __cil_tmp32 = __cil_tmp31 + 31;
18453#line 2349
18454 *((char *)__cil_tmp32) = (char)4;
18455#line 2350
18456 __cil_tmp33 = (unsigned long )serial;
18457#line 2350
18458 __cil_tmp34 = __cil_tmp33 + 26;
18459#line 2350
18460 *((unsigned char *)__cil_tmp34) = (unsigned char)4;
18461 }
18462 }
18463#line 2353
18464 return (mos7840_num_ports);
18465}
18466}
18467#line 2399 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
18468static struct lock_class_key __key___8 ;
18469#line 2360 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
18470static int mos7840_startup(struct usb_serial *serial )
18471{ struct moschip_port *mos7840_port ;
18472 struct usb_device *dev ;
18473 int i ;
18474 int status ;
18475 __u16 Data ;
18476 void *tmp___7 ;
18477 void *tmp___8 ;
18478 void *tmp___9 ;
18479 unsigned int tmp___10 ;
18480 bool *__cil_tmp11 ;
18481 bool *__cil_tmp12 ;
18482 bool *__cil_tmp13 ;
18483 bool *__cil_tmp14 ;
18484 unsigned long __cil_tmp15 ;
18485 unsigned long __cil_tmp16 ;
18486 unsigned char __cil_tmp17 ;
18487 int __cil_tmp18 ;
18488 bool *__cil_tmp19 ;
18489 void *__cil_tmp20 ;
18490 unsigned long __cil_tmp21 ;
18491 unsigned long __cil_tmp22 ;
18492 unsigned long __cil_tmp23 ;
18493 unsigned long __cil_tmp24 ;
18494 struct device *__cil_tmp25 ;
18495 struct device const *__cil_tmp26 ;
18496 unsigned long __cil_tmp27 ;
18497 unsigned long __cil_tmp28 ;
18498 unsigned long __cil_tmp29 ;
18499 unsigned long __cil_tmp30 ;
18500 unsigned long __cil_tmp31 ;
18501 unsigned long __cil_tmp32 ;
18502 unsigned long __cil_tmp33 ;
18503 unsigned long __cil_tmp34 ;
18504 unsigned long __cil_tmp35 ;
18505 unsigned long __cil_tmp36 ;
18506 struct usb_serial_port *__cil_tmp37 ;
18507 unsigned long __cil_tmp38 ;
18508 unsigned long __cil_tmp39 ;
18509 spinlock_t *__cil_tmp40 ;
18510 unsigned long __cil_tmp41 ;
18511 unsigned long __cil_tmp42 ;
18512 struct raw_spinlock *__cil_tmp43 ;
18513 bool *__cil_tmp44 ;
18514 unsigned long __cil_tmp45 ;
18515 unsigned long __cil_tmp46 ;
18516 unsigned long __cil_tmp47 ;
18517 unsigned long __cil_tmp48 ;
18518 struct usb_serial_port *__cil_tmp49 ;
18519 unsigned long __cil_tmp50 ;
18520 unsigned long __cil_tmp51 ;
18521 unsigned char __cil_tmp52 ;
18522 int __cil_tmp53 ;
18523 bool *__cil_tmp54 ;
18524 unsigned long __cil_tmp55 ;
18525 unsigned long __cil_tmp56 ;
18526 unsigned long __cil_tmp57 ;
18527 unsigned long __cil_tmp58 ;
18528 struct usb_serial_port *__cil_tmp59 ;
18529 struct usb_serial *__cil_tmp60 ;
18530 unsigned long __cil_tmp61 ;
18531 unsigned long __cil_tmp62 ;
18532 unsigned char __cil_tmp63 ;
18533 int __cil_tmp64 ;
18534 bool *__cil_tmp65 ;
18535 int __cil_tmp66 ;
18536 bool *__cil_tmp67 ;
18537 unsigned long __cil_tmp68 ;
18538 unsigned long __cil_tmp69 ;
18539 unsigned char __cil_tmp70 ;
18540 int __cil_tmp71 ;
18541 int __cil_tmp72 ;
18542 unsigned long __cil_tmp73 ;
18543 unsigned long __cil_tmp74 ;
18544 unsigned long __cil_tmp75 ;
18545 unsigned long __cil_tmp76 ;
18546 unsigned long __cil_tmp77 ;
18547 unsigned long __cil_tmp78 ;
18548 int __cil_tmp79 ;
18549 unsigned long __cil_tmp80 ;
18550 unsigned long __cil_tmp81 ;
18551 unsigned char __cil_tmp82 ;
18552 int __cil_tmp83 ;
18553 unsigned long __cil_tmp84 ;
18554 unsigned long __cil_tmp85 ;
18555 unsigned long __cil_tmp86 ;
18556 unsigned long __cil_tmp87 ;
18557 unsigned long __cil_tmp88 ;
18558 unsigned long __cil_tmp89 ;
18559 int __cil_tmp90 ;
18560 unsigned long __cil_tmp91 ;
18561 unsigned long __cil_tmp92 ;
18562 unsigned char __cil_tmp93 ;
18563 int __cil_tmp94 ;
18564 unsigned long __cil_tmp95 ;
18565 unsigned long __cil_tmp96 ;
18566 unsigned long __cil_tmp97 ;
18567 unsigned long __cil_tmp98 ;
18568 unsigned long __cil_tmp99 ;
18569 unsigned long __cil_tmp100 ;
18570 int __cil_tmp101 ;
18571 unsigned long __cil_tmp102 ;
18572 unsigned long __cil_tmp103 ;
18573 unsigned char __cil_tmp104 ;
18574 int __cil_tmp105 ;
18575 unsigned long __cil_tmp106 ;
18576 unsigned long __cil_tmp107 ;
18577 unsigned long __cil_tmp108 ;
18578 unsigned long __cil_tmp109 ;
18579 unsigned long __cil_tmp110 ;
18580 unsigned long __cil_tmp111 ;
18581 int __cil_tmp112 ;
18582 unsigned long __cil_tmp113 ;
18583 unsigned long __cil_tmp114 ;
18584 unsigned char __cil_tmp115 ;
18585 int __cil_tmp116 ;
18586 unsigned long __cil_tmp117 ;
18587 unsigned long __cil_tmp118 ;
18588 unsigned long __cil_tmp119 ;
18589 unsigned long __cil_tmp120 ;
18590 unsigned long __cil_tmp121 ;
18591 unsigned long __cil_tmp122 ;
18592 unsigned long __cil_tmp123 ;
18593 unsigned long __cil_tmp124 ;
18594 unsigned long __cil_tmp125 ;
18595 unsigned long __cil_tmp126 ;
18596 struct usb_serial_port *__cil_tmp127 ;
18597 unsigned long __cil_tmp128 ;
18598 unsigned long __cil_tmp129 ;
18599 unsigned long __cil_tmp130 ;
18600 unsigned long __cil_tmp131 ;
18601 struct usb_serial_port *__cil_tmp132 ;
18602 unsigned long __cil_tmp133 ;
18603 unsigned long __cil_tmp134 ;
18604 __u8 __cil_tmp135 ;
18605 __u16 __cil_tmp136 ;
18606 bool *__cil_tmp137 ;
18607 bool *__cil_tmp138 ;
18608 __u16 *__cil_tmp139 ;
18609 __u16 __cil_tmp140 ;
18610 int __cil_tmp141 ;
18611 __u16 *__cil_tmp142 ;
18612 __u16 *__cil_tmp143 ;
18613 __u16 __cil_tmp144 ;
18614 int __cil_tmp145 ;
18615 int __cil_tmp146 ;
18616 __u16 *__cil_tmp147 ;
18617 __u16 *__cil_tmp148 ;
18618 __u16 __cil_tmp149 ;
18619 int __cil_tmp150 ;
18620 int __cil_tmp151 ;
18621 unsigned long __cil_tmp152 ;
18622 unsigned long __cil_tmp153 ;
18623 unsigned long __cil_tmp154 ;
18624 unsigned long __cil_tmp155 ;
18625 struct usb_serial_port *__cil_tmp156 ;
18626 unsigned long __cil_tmp157 ;
18627 unsigned long __cil_tmp158 ;
18628 __u8 __cil_tmp159 ;
18629 __u16 __cil_tmp160 ;
18630 __u16 *__cil_tmp161 ;
18631 __u16 __cil_tmp162 ;
18632 bool *__cil_tmp163 ;
18633 bool *__cil_tmp164 ;
18634 __u16 *__cil_tmp165 ;
18635 unsigned long __cil_tmp166 ;
18636 unsigned long __cil_tmp167 ;
18637 unsigned long __cil_tmp168 ;
18638 unsigned long __cil_tmp169 ;
18639 struct usb_serial_port *__cil_tmp170 ;
18640 unsigned long __cil_tmp171 ;
18641 unsigned long __cil_tmp172 ;
18642 __u8 __cil_tmp173 ;
18643 int __cil_tmp174 ;
18644 __u16 __cil_tmp175 ;
18645 __u16 *__cil_tmp176 ;
18646 __u16 __cil_tmp177 ;
18647 bool *__cil_tmp178 ;
18648 bool *__cil_tmp179 ;
18649 __u16 *__cil_tmp180 ;
18650 unsigned long __cil_tmp181 ;
18651 unsigned long __cil_tmp182 ;
18652 unsigned long __cil_tmp183 ;
18653 unsigned long __cil_tmp184 ;
18654 struct usb_serial_port *__cil_tmp185 ;
18655 unsigned long __cil_tmp186 ;
18656 unsigned long __cil_tmp187 ;
18657 __u8 __cil_tmp188 ;
18658 int __cil_tmp189 ;
18659 int __cil_tmp190 ;
18660 __u16 __cil_tmp191 ;
18661 __u16 *__cil_tmp192 ;
18662 __u16 __cil_tmp193 ;
18663 bool *__cil_tmp194 ;
18664 bool *__cil_tmp195 ;
18665 __u16 *__cil_tmp196 ;
18666 unsigned long __cil_tmp197 ;
18667 unsigned long __cil_tmp198 ;
18668 unsigned long __cil_tmp199 ;
18669 unsigned long __cil_tmp200 ;
18670 struct usb_serial_port *__cil_tmp201 ;
18671 unsigned long __cil_tmp202 ;
18672 unsigned long __cil_tmp203 ;
18673 __u8 __cil_tmp204 ;
18674 int __cil_tmp205 ;
18675 int __cil_tmp206 ;
18676 __u16 __cil_tmp207 ;
18677 __u16 *__cil_tmp208 ;
18678 __u16 __cil_tmp209 ;
18679 bool *__cil_tmp210 ;
18680 bool *__cil_tmp211 ;
18681 __u16 *__cil_tmp212 ;
18682 unsigned long __cil_tmp213 ;
18683 unsigned long __cil_tmp214 ;
18684 unsigned long __cil_tmp215 ;
18685 unsigned long __cil_tmp216 ;
18686 struct usb_serial_port *__cil_tmp217 ;
18687 __u16 __cil_tmp218 ;
18688 __u16 *__cil_tmp219 ;
18689 __u16 __cil_tmp220 ;
18690 bool *__cil_tmp221 ;
18691 bool *__cil_tmp222 ;
18692 __u16 *__cil_tmp223 ;
18693 unsigned long __cil_tmp224 ;
18694 unsigned long __cil_tmp225 ;
18695 unsigned long __cil_tmp226 ;
18696 unsigned long __cil_tmp227 ;
18697 struct usb_serial_port *__cil_tmp228 ;
18698 __u16 __cil_tmp229 ;
18699 __u16 *__cil_tmp230 ;
18700 __u16 __cil_tmp231 ;
18701 bool *__cil_tmp232 ;
18702 bool *__cil_tmp233 ;
18703 __u16 *__cil_tmp234 ;
18704 unsigned long __cil_tmp235 ;
18705 unsigned long __cil_tmp236 ;
18706 unsigned long __cil_tmp237 ;
18707 unsigned long __cil_tmp238 ;
18708 struct usb_serial_port *__cil_tmp239 ;
18709 __u16 __cil_tmp240 ;
18710 __u16 *__cil_tmp241 ;
18711 __u16 __cil_tmp242 ;
18712 bool *__cil_tmp243 ;
18713 bool *__cil_tmp244 ;
18714 int __cil_tmp245 ;
18715 unsigned long __cil_tmp246 ;
18716 unsigned long __cil_tmp247 ;
18717 unsigned char __cil_tmp248 ;
18718 int __cil_tmp249 ;
18719 __u16 *__cil_tmp250 ;
18720 unsigned long __cil_tmp251 ;
18721 unsigned long __cil_tmp252 ;
18722 unsigned long __cil_tmp253 ;
18723 unsigned long __cil_tmp254 ;
18724 struct usb_serial_port *__cil_tmp255 ;
18725 int __cil_tmp256 ;
18726 __u16 __cil_tmp257 ;
18727 int __cil_tmp258 ;
18728 int __cil_tmp259 ;
18729 __u16 __cil_tmp260 ;
18730 __u16 *__cil_tmp261 ;
18731 __u16 __cil_tmp262 ;
18732 bool *__cil_tmp263 ;
18733 int __cil_tmp264 ;
18734 __u16 __cil_tmp265 ;
18735 int __cil_tmp266 ;
18736 int __cil_tmp267 ;
18737 __u16 __cil_tmp268 ;
18738 int __cil_tmp269 ;
18739 bool *__cil_tmp270 ;
18740 int __cil_tmp271 ;
18741 bool *__cil_tmp272 ;
18742 int __cil_tmp273 ;
18743 __u16 *__cil_tmp274 ;
18744 unsigned long __cil_tmp275 ;
18745 unsigned long __cil_tmp276 ;
18746 unsigned long __cil_tmp277 ;
18747 unsigned long __cil_tmp278 ;
18748 struct usb_serial_port *__cil_tmp279 ;
18749 int __cil_tmp280 ;
18750 __u16 __cil_tmp281 ;
18751 int __cil_tmp282 ;
18752 int __cil_tmp283 ;
18753 int __cil_tmp284 ;
18754 __u16 __cil_tmp285 ;
18755 __u16 *__cil_tmp286 ;
18756 __u16 __cil_tmp287 ;
18757 bool *__cil_tmp288 ;
18758 int __cil_tmp289 ;
18759 __u16 __cil_tmp290 ;
18760 int __cil_tmp291 ;
18761 int __cil_tmp292 ;
18762 int __cil_tmp293 ;
18763 __u16 __cil_tmp294 ;
18764 int __cil_tmp295 ;
18765 bool *__cil_tmp296 ;
18766 int __cil_tmp297 ;
18767 bool *__cil_tmp298 ;
18768 int __cil_tmp299 ;
18769 unsigned long __cil_tmp300 ;
18770 unsigned long __cil_tmp301 ;
18771 size_t __cil_tmp302 ;
18772 unsigned long __cil_tmp303 ;
18773 unsigned long __cil_tmp304 ;
18774 unsigned long __cil_tmp305 ;
18775 unsigned long __cil_tmp306 ;
18776 unsigned long __cil_tmp307 ;
18777 unsigned long __cil_tmp308 ;
18778 struct urb *__cil_tmp309 ;
18779 unsigned long __cil_tmp310 ;
18780 unsigned long __cil_tmp311 ;
18781 char *__cil_tmp312 ;
18782 unsigned long __cil_tmp313 ;
18783 unsigned long __cil_tmp314 ;
18784 struct usb_ctrlrequest *__cil_tmp315 ;
18785 bool *__cil_tmp316 ;
18786 __u16 *__cil_tmp317 ;
18787 unsigned long __cil_tmp318 ;
18788 unsigned long __cil_tmp319 ;
18789 unsigned long __cil_tmp320 ;
18790 unsigned long __cil_tmp321 ;
18791 struct usb_serial_port *__cil_tmp322 ;
18792 __u16 __cil_tmp323 ;
18793 __u16 *__cil_tmp324 ;
18794 __u16 __cil_tmp325 ;
18795 bool *__cil_tmp326 ;
18796 bool *__cil_tmp327 ;
18797 struct usb_device *__cil_tmp328 ;
18798 struct usb_device *__cil_tmp329 ;
18799 int __cil_tmp330 ;
18800 unsigned int __cil_tmp331 ;
18801 unsigned int __cil_tmp332 ;
18802 __u8 __cil_tmp333 ;
18803 __u8 __cil_tmp334 ;
18804 __u16 __cil_tmp335 ;
18805 __u16 __cil_tmp336 ;
18806 void *__cil_tmp337 ;
18807 __u16 __cil_tmp338 ;
18808 unsigned long __cil_tmp339 ;
18809 unsigned long __cil_tmp340 ;
18810 unsigned long __cil_tmp341 ;
18811 unsigned long __cil_tmp342 ;
18812 struct usb_serial_port *__cil_tmp343 ;
18813 unsigned long __cil_tmp344 ;
18814 unsigned long __cil_tmp345 ;
18815 struct usb_ctrlrequest *__cil_tmp346 ;
18816 void const *__cil_tmp347 ;
18817 unsigned long __cil_tmp348 ;
18818 unsigned long __cil_tmp349 ;
18819 char *__cil_tmp350 ;
18820 void const *__cil_tmp351 ;
18821 unsigned long __cil_tmp352 ;
18822 unsigned long __cil_tmp353 ;
18823 struct urb *__cil_tmp354 ;
18824 void const *__cil_tmp355 ;
18825 unsigned long __cil_tmp356 ;
18826 unsigned long __cil_tmp357 ;
18827 unsigned long __cil_tmp358 ;
18828 unsigned long __cil_tmp359 ;
18829 void *__cil_tmp360 ;
18830
18831 {
18832 {
18833#line 2367
18834 while (1) {
18835 while_continue: ;
18836 {
18837#line 2367
18838 __cil_tmp11 = & debug;
18839#line 2367
18840 if (*__cil_tmp11) {
18841 {
18842#line 2367
18843 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
18844 "mos7840_startup :Entering..........");
18845 }
18846 } else {
18847
18848 }
18849 }
18850#line 2367
18851 goto while_break;
18852 }
18853 while_break: ;
18854 }
18855#line 2369
18856 if (! serial) {
18857 {
18858#line 2370
18859 while (1) {
18860 while_continue___0: ;
18861 {
18862#line 2370
18863 __cil_tmp12 = & debug;
18864#line 2370
18865 if (*__cil_tmp12) {
18866 {
18867#line 2370
18868 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
18869 "Invalid Handler");
18870 }
18871 } else {
18872
18873 }
18874 }
18875#line 2370
18876 goto while_break___0;
18877 }
18878 while_break___0: ;
18879 }
18880#line 2371
18881 return (-1);
18882 } else {
18883
18884 }
18885#line 2374
18886 dev = *((struct usb_device **)serial);
18887 {
18888#line 2376
18889 while (1) {
18890 while_continue___1: ;
18891 {
18892#line 2376
18893 __cil_tmp13 = & debug;
18894#line 2376
18895 if (*__cil_tmp13) {
18896 {
18897#line 2376
18898 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
18899 "Entering...");
18900 }
18901 } else {
18902
18903 }
18904 }
18905#line 2376
18906 goto while_break___1;
18907 }
18908 while_break___1: ;
18909 }
18910 {
18911#line 2377
18912 while (1) {
18913 while_continue___2: ;
18914 {
18915#line 2377
18916 __cil_tmp14 = & debug;
18917#line 2377
18918 if (*__cil_tmp14) {
18919 {
18920#line 2377
18921 printk("<7>%s: mos7840_startup: serial = %p\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
18922 serial);
18923 }
18924 } else {
18925
18926 }
18927 }
18928#line 2377
18929 goto while_break___2;
18930 }
18931 while_break___2: ;
18932 }
18933#line 2383
18934 i = 0;
18935 {
18936#line 2383
18937 while (1) {
18938 while_continue___3: ;
18939 {
18940#line 2383
18941 __cil_tmp15 = (unsigned long )serial;
18942#line 2383
18943 __cil_tmp16 = __cil_tmp15 + 26;
18944#line 2383
18945 __cil_tmp17 = *((unsigned char *)__cil_tmp16);
18946#line 2383
18947 __cil_tmp18 = (int )__cil_tmp17;
18948#line 2383
18949 if (i < __cil_tmp18) {
18950
18951 } else {
18952#line 2383
18953 goto while_break___3;
18954 }
18955 }
18956 {
18957#line 2384
18958 while (1) {
18959 while_continue___4: ;
18960 {
18961#line 2384
18962 __cil_tmp19 = & debug;
18963#line 2384
18964 if (*__cil_tmp19) {
18965 {
18966#line 2384
18967 printk("<7>%s: mos7840_startup: configuring port %d............\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
18968 i);
18969 }
18970 } else {
18971
18972 }
18973 }
18974#line 2384
18975 goto while_break___4;
18976 }
18977 while_break___4: ;
18978 }
18979 {
18980#line 2385
18981 tmp___7 = kzalloc(392UL, 208U);
18982#line 2385
18983 mos7840_port = (struct moschip_port *)tmp___7;
18984 }
18985 {
18986#line 2386
18987 __cil_tmp20 = (void *)0;
18988#line 2386
18989 __cil_tmp21 = (unsigned long )__cil_tmp20;
18990#line 2386
18991 __cil_tmp22 = (unsigned long )mos7840_port;
18992#line 2386
18993 if (__cil_tmp22 == __cil_tmp21) {
18994 {
18995#line 2387
18996 __cil_tmp23 = (unsigned long )dev;
18997#line 2387
18998 __cil_tmp24 = __cil_tmp23 + 136;
18999#line 2387
19000 __cil_tmp25 = (struct device *)__cil_tmp24;
19001#line 2387
19002 __cil_tmp26 = (struct device const *)__cil_tmp25;
19003#line 2387
19004 dev_err(__cil_tmp26, "%s - Out of memory\n", "mos7840_startup");
19005#line 2388
19006 status = -12;
19007#line 2389
19008 i = i - 1;
19009 }
19010#line 2390
19011 goto error;
19012 } else {
19013
19014 }
19015 }
19016 {
19017#line 2397
19018 __cil_tmp27 = (unsigned long )mos7840_port;
19019#line 2397
19020 __cil_tmp28 = __cil_tmp27 + 168;
19021#line 2397
19022 __cil_tmp29 = i * 8UL;
19023#line 2397
19024 __cil_tmp30 = 32 + __cil_tmp29;
19025#line 2397
19026 __cil_tmp31 = (unsigned long )serial;
19027#line 2397
19028 __cil_tmp32 = __cil_tmp31 + __cil_tmp30;
19029#line 2397
19030 *((struct usb_serial_port **)__cil_tmp28) = *((struct usb_serial_port **)__cil_tmp32);
19031#line 2398
19032 __cil_tmp33 = i * 8UL;
19033#line 2398
19034 __cil_tmp34 = 32 + __cil_tmp33;
19035#line 2398
19036 __cil_tmp35 = (unsigned long )serial;
19037#line 2398
19038 __cil_tmp36 = __cil_tmp35 + __cil_tmp34;
19039#line 2398
19040 __cil_tmp37 = *((struct usb_serial_port **)__cil_tmp36);
19041#line 2398
19042 mos7840_set_port_private(__cil_tmp37, mos7840_port);
19043 }
19044 {
19045#line 2399
19046 while (1) {
19047 while_continue___5: ;
19048 {
19049#line 2399
19050 __cil_tmp38 = (unsigned long )mos7840_port;
19051#line 2399
19052 __cil_tmp39 = __cil_tmp38 + 216;
19053#line 2399
19054 __cil_tmp40 = (spinlock_t *)__cil_tmp39;
19055#line 2399
19056 spinlock_check(__cil_tmp40);
19057 }
19058 {
19059#line 2399
19060 while (1) {
19061 while_continue___6: ;
19062 {
19063#line 2399
19064 __cil_tmp41 = (unsigned long )mos7840_port;
19065#line 2399
19066 __cil_tmp42 = __cil_tmp41 + 216;
19067#line 2399
19068 __cil_tmp43 = (struct raw_spinlock *)__cil_tmp42;
19069#line 2399
19070 __raw_spin_lock_init(__cil_tmp43, "&(&mos7840_port->pool_lock)->rlock", & __key___8);
19071 }
19072#line 2399
19073 goto while_break___6;
19074 }
19075 while_break___6: ;
19076 }
19077#line 2399
19078 goto while_break___5;
19079 }
19080 while_break___5: ;
19081 }
19082#line 2404
19083 *((int *)mos7840_port) = i + 1;
19084 {
19085#line 2405
19086 while (1) {
19087 while_continue___7: ;
19088 {
19089#line 2405
19090 __cil_tmp44 = & debug;
19091#line 2405
19092 if (*__cil_tmp44) {
19093 {
19094#line 2405
19095 __cil_tmp45 = i * 8UL;
19096#line 2405
19097 __cil_tmp46 = 32 + __cil_tmp45;
19098#line 2405
19099 __cil_tmp47 = (unsigned long )serial;
19100#line 2405
19101 __cil_tmp48 = __cil_tmp47 + __cil_tmp46;
19102#line 2405
19103 __cil_tmp49 = *((struct usb_serial_port **)__cil_tmp48);
19104#line 2405
19105 __cil_tmp50 = (unsigned long )__cil_tmp49;
19106#line 2405
19107 __cil_tmp51 = __cil_tmp50 + 384;
19108#line 2405
19109 __cil_tmp52 = *((unsigned char *)__cil_tmp51);
19110#line 2405
19111 __cil_tmp53 = (int )__cil_tmp52;
19112#line 2405
19113 printk("<7>%s: serial->port[i]->number = %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
19114 __cil_tmp53);
19115 }
19116 } else {
19117
19118 }
19119 }
19120#line 2405
19121 goto while_break___7;
19122 }
19123 while_break___7: ;
19124 }
19125 {
19126#line 2406
19127 while (1) {
19128 while_continue___8: ;
19129 {
19130#line 2406
19131 __cil_tmp54 = & debug;
19132#line 2406
19133 if (*__cil_tmp54) {
19134 {
19135#line 2406
19136 __cil_tmp55 = i * 8UL;
19137#line 2406
19138 __cil_tmp56 = 32 + __cil_tmp55;
19139#line 2406
19140 __cil_tmp57 = (unsigned long )serial;
19141#line 2406
19142 __cil_tmp58 = __cil_tmp57 + __cil_tmp56;
19143#line 2406
19144 __cil_tmp59 = *((struct usb_serial_port **)__cil_tmp58);
19145#line 2406
19146 __cil_tmp60 = *((struct usb_serial **)__cil_tmp59);
19147#line 2406
19148 __cil_tmp61 = (unsigned long )__cil_tmp60;
19149#line 2406
19150 __cil_tmp62 = __cil_tmp61 + 25;
19151#line 2406
19152 __cil_tmp63 = *((unsigned char *)__cil_tmp62);
19153#line 2406
19154 __cil_tmp64 = (int )__cil_tmp63;
19155#line 2406
19156 printk("<7>%s: serial->port[i]->serial->minor = %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
19157 __cil_tmp64);
19158 }
19159 } else {
19160
19161 }
19162 }
19163#line 2406
19164 goto while_break___8;
19165 }
19166 while_break___8: ;
19167 }
19168 {
19169#line 2407
19170 while (1) {
19171 while_continue___9: ;
19172 {
19173#line 2407
19174 __cil_tmp65 = & debug;
19175#line 2407
19176 if (*__cil_tmp65) {
19177 {
19178#line 2407
19179 __cil_tmp66 = *((int *)mos7840_port);
19180#line 2407
19181 printk("<7>%s: mos7840_port->port_num = %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
19182 __cil_tmp66);
19183 }
19184 } else {
19185
19186 }
19187 }
19188#line 2407
19189 goto while_break___9;
19190 }
19191 while_break___9: ;
19192 }
19193 {
19194#line 2408
19195 while (1) {
19196 while_continue___10: ;
19197 {
19198#line 2408
19199 __cil_tmp67 = & debug;
19200#line 2408
19201 if (*__cil_tmp67) {
19202 {
19203#line 2408
19204 __cil_tmp68 = (unsigned long )serial;
19205#line 2408
19206 __cil_tmp69 = __cil_tmp68 + 25;
19207#line 2408
19208 __cil_tmp70 = *((unsigned char *)__cil_tmp69);
19209#line 2408
19210 __cil_tmp71 = (int )__cil_tmp70;
19211#line 2408
19212 printk("<7>%s: serial->minor = %d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
19213 __cil_tmp71);
19214 }
19215 } else {
19216
19217 }
19218 }
19219#line 2408
19220 goto while_break___10;
19221 }
19222 while_break___10: ;
19223 }
19224 {
19225#line 2410
19226 __cil_tmp72 = *((int *)mos7840_port);
19227#line 2410
19228 if (__cil_tmp72 == 1) {
19229#line 2411
19230 __cil_tmp73 = (unsigned long )mos7840_port;
19231#line 2411
19232 __cil_tmp74 = __cil_tmp73 + 176;
19233#line 2411
19234 *((__u8 *)__cil_tmp74) = (__u8 )0;
19235#line 2412
19236 __cil_tmp75 = (unsigned long )mos7840_port;
19237#line 2412
19238 __cil_tmp76 = __cil_tmp75 + 177;
19239#line 2412
19240 *((__u8 *)__cil_tmp76) = (__u8 )1;
19241#line 2413
19242 __cil_tmp77 = (unsigned long )mos7840_port;
19243#line 2413
19244 __cil_tmp78 = __cil_tmp77 + 178;
19245#line 2413
19246 *((__u8 *)__cil_tmp78) = (__u8 )4;
19247 } else {
19248 {
19249#line 2414
19250 __cil_tmp79 = *((int *)mos7840_port);
19251#line 2414
19252 if (__cil_tmp79 == 2) {
19253 {
19254#line 2414
19255 __cil_tmp80 = (unsigned long )serial;
19256#line 2414
19257 __cil_tmp81 = __cil_tmp80 + 26;
19258#line 2414
19259 __cil_tmp82 = *((unsigned char *)__cil_tmp81);
19260#line 2414
19261 __cil_tmp83 = (int )__cil_tmp82;
19262#line 2414
19263 if (__cil_tmp83 == 4) {
19264#line 2416
19265 __cil_tmp84 = (unsigned long )mos7840_port;
19266#line 2416
19267 __cil_tmp85 = __cil_tmp84 + 176;
19268#line 2416
19269 *((__u8 *)__cil_tmp85) = (__u8 )8;
19270#line 2417
19271 __cil_tmp86 = (unsigned long )mos7840_port;
19272#line 2417
19273 __cil_tmp87 = __cil_tmp86 + 177;
19274#line 2417
19275 *((__u8 *)__cil_tmp87) = (__u8 )9;
19276#line 2418
19277 __cil_tmp88 = (unsigned long )mos7840_port;
19278#line 2418
19279 __cil_tmp89 = __cil_tmp88 + 178;
19280#line 2418
19281 *((__u8 *)__cil_tmp89) = (__u8 )22;
19282 } else {
19283#line 2414
19284 goto _L___1;
19285 }
19286 }
19287 } else {
19288 _L___1:
19289 {
19290#line 2419
19291 __cil_tmp90 = *((int *)mos7840_port);
19292#line 2419
19293 if (__cil_tmp90 == 2) {
19294 {
19295#line 2419
19296 __cil_tmp91 = (unsigned long )serial;
19297#line 2419
19298 __cil_tmp92 = __cil_tmp91 + 26;
19299#line 2419
19300 __cil_tmp93 = *((unsigned char *)__cil_tmp92);
19301#line 2419
19302 __cil_tmp94 = (int )__cil_tmp93;
19303#line 2419
19304 if (__cil_tmp94 == 2) {
19305#line 2421
19306 __cil_tmp95 = (unsigned long )mos7840_port;
19307#line 2421
19308 __cil_tmp96 = __cil_tmp95 + 176;
19309#line 2421
19310 *((__u8 *)__cil_tmp96) = (__u8 )10;
19311#line 2422
19312 __cil_tmp97 = (unsigned long )mos7840_port;
19313#line 2422
19314 __cil_tmp98 = __cil_tmp97 + 177;
19315#line 2422
19316 *((__u8 *)__cil_tmp98) = (__u8 )11;
19317#line 2423
19318 __cil_tmp99 = (unsigned long )mos7840_port;
19319#line 2423
19320 __cil_tmp100 = __cil_tmp99 + 178;
19321#line 2423
19322 *((__u8 *)__cil_tmp100) = (__u8 )25;
19323 } else {
19324#line 2419
19325 goto _L___0;
19326 }
19327 }
19328 } else {
19329 _L___0:
19330 {
19331#line 2424
19332 __cil_tmp101 = *((int *)mos7840_port);
19333#line 2424
19334 if (__cil_tmp101 == 3) {
19335 {
19336#line 2424
19337 __cil_tmp102 = (unsigned long )serial;
19338#line 2424
19339 __cil_tmp103 = __cil_tmp102 + 26;
19340#line 2424
19341 __cil_tmp104 = *((unsigned char *)__cil_tmp103);
19342#line 2424
19343 __cil_tmp105 = (int )__cil_tmp104;
19344#line 2424
19345 if (__cil_tmp105 == 4) {
19346#line 2426
19347 __cil_tmp106 = (unsigned long )mos7840_port;
19348#line 2426
19349 __cil_tmp107 = __cil_tmp106 + 176;
19350#line 2426
19351 *((__u8 *)__cil_tmp107) = (__u8 )10;
19352#line 2427
19353 __cil_tmp108 = (unsigned long )mos7840_port;
19354#line 2427
19355 __cil_tmp109 = __cil_tmp108 + 177;
19356#line 2427
19357 *((__u8 *)__cil_tmp109) = (__u8 )11;
19358#line 2428
19359 __cil_tmp110 = (unsigned long )mos7840_port;
19360#line 2428
19361 __cil_tmp111 = __cil_tmp110 + 178;
19362#line 2428
19363 *((__u8 *)__cil_tmp111) = (__u8 )25;
19364 } else {
19365#line 2424
19366 goto _L;
19367 }
19368 }
19369 } else {
19370 _L:
19371 {
19372#line 2429
19373 __cil_tmp112 = *((int *)mos7840_port);
19374#line 2429
19375 if (__cil_tmp112 == 4) {
19376 {
19377#line 2429
19378 __cil_tmp113 = (unsigned long )serial;
19379#line 2429
19380 __cil_tmp114 = __cil_tmp113 + 26;
19381#line 2429
19382 __cil_tmp115 = *((unsigned char *)__cil_tmp114);
19383#line 2429
19384 __cil_tmp116 = (int )__cil_tmp115;
19385#line 2429
19386 if (__cil_tmp116 == 4) {
19387#line 2431
19388 __cil_tmp117 = (unsigned long )mos7840_port;
19389#line 2431
19390 __cil_tmp118 = __cil_tmp117 + 176;
19391#line 2431
19392 *((__u8 *)__cil_tmp118) = (__u8 )12;
19393#line 2432
19394 __cil_tmp119 = (unsigned long )mos7840_port;
19395#line 2432
19396 __cil_tmp120 = __cil_tmp119 + 177;
19397#line 2432
19398 *((__u8 *)__cil_tmp120) = (__u8 )13;
19399#line 2433
19400 __cil_tmp121 = (unsigned long )mos7840_port;
19401#line 2433
19402 __cil_tmp122 = __cil_tmp121 + 178;
19403#line 2433
19404 *((__u8 *)__cil_tmp122) = (__u8 )28;
19405 } else {
19406
19407 }
19408 }
19409 } else {
19410
19411 }
19412 }
19413 }
19414 }
19415 }
19416 }
19417 }
19418 }
19419 }
19420 }
19421 {
19422#line 2435
19423 mos7840_dump_serial_port(mos7840_port);
19424#line 2436
19425 __cil_tmp123 = i * 8UL;
19426#line 2436
19427 __cil_tmp124 = 32 + __cil_tmp123;
19428#line 2436
19429 __cil_tmp125 = (unsigned long )serial;
19430#line 2436
19431 __cil_tmp126 = __cil_tmp125 + __cil_tmp124;
19432#line 2436
19433 __cil_tmp127 = *((struct usb_serial_port **)__cil_tmp126);
19434#line 2436
19435 mos7840_set_port_private(__cil_tmp127, mos7840_port);
19436#line 2439
19437 __cil_tmp128 = i * 8UL;
19438#line 2439
19439 __cil_tmp129 = 32 + __cil_tmp128;
19440#line 2439
19441 __cil_tmp130 = (unsigned long )serial;
19442#line 2439
19443 __cil_tmp131 = __cil_tmp130 + __cil_tmp129;
19444#line 2439
19445 __cil_tmp132 = *((struct usb_serial_port **)__cil_tmp131);
19446#line 2439
19447 __cil_tmp133 = (unsigned long )mos7840_port;
19448#line 2439
19449 __cil_tmp134 = __cil_tmp133 + 177;
19450#line 2439
19451 __cil_tmp135 = *((__u8 *)__cil_tmp134);
19452#line 2439
19453 __cil_tmp136 = (__u16 )__cil_tmp135;
19454#line 2439
19455 status = mos7840_get_reg_sync(__cil_tmp132, __cil_tmp136, & Data);
19456 }
19457#line 2441
19458 if (status < 0) {
19459 {
19460#line 2442
19461 while (1) {
19462 while_continue___11: ;
19463 {
19464#line 2442
19465 __cil_tmp137 = & debug;
19466#line 2442
19467 if (*__cil_tmp137) {
19468 {
19469#line 2442
19470 printk("<7>%s: Reading ControlReg failed status-0x%x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
19471 status);
19472 }
19473 } else {
19474
19475 }
19476 }
19477#line 2442
19478 goto while_break___11;
19479 }
19480 while_break___11: ;
19481 }
19482#line 2443
19483 goto while_break___3;
19484 } else {
19485 {
19486#line 2445
19487 while (1) {
19488 while_continue___12: ;
19489 {
19490#line 2445
19491 __cil_tmp138 = & debug;
19492#line 2445
19493 if (*__cil_tmp138) {
19494 {
19495#line 2445
19496 __cil_tmp139 = & Data;
19497#line 2445
19498 __cil_tmp140 = *__cil_tmp139;
19499#line 2445
19500 __cil_tmp141 = (int )__cil_tmp140;
19501#line 2445
19502 printk("<7>%s: ControlReg Reading success val is %x, status%d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
19503 __cil_tmp141, status);
19504 }
19505 } else {
19506
19507 }
19508 }
19509#line 2445
19510 goto while_break___12;
19511 }
19512 while_break___12: ;
19513 }
19514 }
19515 {
19516#line 2447
19517 __cil_tmp142 = & Data;
19518#line 2447
19519 __cil_tmp143 = & Data;
19520#line 2447
19521 __cil_tmp144 = *__cil_tmp143;
19522#line 2447
19523 __cil_tmp145 = (int )__cil_tmp144;
19524#line 2447
19525 __cil_tmp146 = __cil_tmp145 | 8;
19526#line 2447
19527 *__cil_tmp142 = (__u16 )__cil_tmp146;
19528#line 2448
19529 __cil_tmp147 = & Data;
19530#line 2448
19531 __cil_tmp148 = & Data;
19532#line 2448
19533 __cil_tmp149 = *__cil_tmp148;
19534#line 2448
19535 __cil_tmp150 = (int )__cil_tmp149;
19536#line 2448
19537 __cil_tmp151 = __cil_tmp150 | 4;
19538#line 2448
19539 *__cil_tmp147 = (__u16 )__cil_tmp151;
19540#line 2452
19541 __cil_tmp152 = i * 8UL;
19542#line 2452
19543 __cil_tmp153 = 32 + __cil_tmp152;
19544#line 2452
19545 __cil_tmp154 = (unsigned long )serial;
19546#line 2452
19547 __cil_tmp155 = __cil_tmp154 + __cil_tmp153;
19548#line 2452
19549 __cil_tmp156 = *((struct usb_serial_port **)__cil_tmp155);
19550#line 2452
19551 __cil_tmp157 = (unsigned long )mos7840_port;
19552#line 2452
19553 __cil_tmp158 = __cil_tmp157 + 177;
19554#line 2452
19555 __cil_tmp159 = *((__u8 *)__cil_tmp158);
19556#line 2452
19557 __cil_tmp160 = (__u16 )__cil_tmp159;
19558#line 2452
19559 __cil_tmp161 = & Data;
19560#line 2452
19561 __cil_tmp162 = *__cil_tmp161;
19562#line 2452
19563 status = mos7840_set_reg_sync(__cil_tmp156, __cil_tmp160, __cil_tmp162);
19564 }
19565#line 2454
19566 if (status < 0) {
19567 {
19568#line 2455
19569 while (1) {
19570 while_continue___13: ;
19571 {
19572#line 2455
19573 __cil_tmp163 = & debug;
19574#line 2455
19575 if (*__cil_tmp163) {
19576 {
19577#line 2455
19578 printk("<7>%s: Writing ControlReg failed(rx_disable) status-0x%x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
19579 status);
19580 }
19581 } else {
19582
19583 }
19584 }
19585#line 2455
19586 goto while_break___13;
19587 }
19588 while_break___13: ;
19589 }
19590#line 2456
19591 goto while_break___3;
19592 } else {
19593 {
19594#line 2458
19595 while (1) {
19596 while_continue___14: ;
19597 {
19598#line 2458
19599 __cil_tmp164 = & debug;
19600#line 2458
19601 if (*__cil_tmp164) {
19602 {
19603#line 2458
19604 printk("<7>%s: ControlReg Writing success(rx_disable) status%d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
19605 status);
19606 }
19607 } else {
19608
19609 }
19610 }
19611#line 2458
19612 goto while_break___14;
19613 }
19614 while_break___14: ;
19615 }
19616 }
19617 {
19618#line 2463
19619 __cil_tmp165 = & Data;
19620#line 2463
19621 *__cil_tmp165 = (__u16 )1;
19622#line 2464
19623 __cil_tmp166 = i * 8UL;
19624#line 2464
19625 __cil_tmp167 = 32 + __cil_tmp166;
19626#line 2464
19627 __cil_tmp168 = (unsigned long )serial;
19628#line 2464
19629 __cil_tmp169 = __cil_tmp168 + __cil_tmp167;
19630#line 2464
19631 __cil_tmp170 = *((struct usb_serial_port **)__cil_tmp169);
19632#line 2464
19633 __cil_tmp171 = (unsigned long )mos7840_port;
19634#line 2464
19635 __cil_tmp172 = __cil_tmp171 + 178;
19636#line 2464
19637 __cil_tmp173 = *((__u8 *)__cil_tmp172);
19638#line 2464
19639 __cil_tmp174 = (int )__cil_tmp173;
19640#line 2464
19641 __cil_tmp175 = (__u16 )__cil_tmp174;
19642#line 2464
19643 __cil_tmp176 = & Data;
19644#line 2464
19645 __cil_tmp177 = *__cil_tmp176;
19646#line 2464
19647 status = mos7840_set_reg_sync(__cil_tmp170, __cil_tmp175, __cil_tmp177);
19648 }
19649#line 2466
19650 if (status < 0) {
19651 {
19652#line 2467
19653 while (1) {
19654 while_continue___15: ;
19655 {
19656#line 2467
19657 __cil_tmp178 = & debug;
19658#line 2467
19659 if (*__cil_tmp178) {
19660 {
19661#line 2467
19662 printk("<7>%s: Writing DCR0 failed status-0x%x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
19663 status);
19664 }
19665 } else {
19666
19667 }
19668 }
19669#line 2467
19670 goto while_break___15;
19671 }
19672 while_break___15: ;
19673 }
19674#line 2468
19675 goto while_break___3;
19676 } else {
19677 {
19678#line 2470
19679 while (1) {
19680 while_continue___16: ;
19681 {
19682#line 2470
19683 __cil_tmp179 = & debug;
19684#line 2470
19685 if (*__cil_tmp179) {
19686 {
19687#line 2470
19688 printk("<7>%s: DCR0 Writing success status%d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
19689 status);
19690 }
19691 } else {
19692
19693 }
19694 }
19695#line 2470
19696 goto while_break___16;
19697 }
19698 while_break___16: ;
19699 }
19700 }
19701 {
19702#line 2472
19703 __cil_tmp180 = & Data;
19704#line 2472
19705 *__cil_tmp180 = (__u16 )5;
19706#line 2473
19707 __cil_tmp181 = i * 8UL;
19708#line 2473
19709 __cil_tmp182 = 32 + __cil_tmp181;
19710#line 2473
19711 __cil_tmp183 = (unsigned long )serial;
19712#line 2473
19713 __cil_tmp184 = __cil_tmp183 + __cil_tmp182;
19714#line 2473
19715 __cil_tmp185 = *((struct usb_serial_port **)__cil_tmp184);
19716#line 2473
19717 __cil_tmp186 = (unsigned long )mos7840_port;
19718#line 2473
19719 __cil_tmp187 = __cil_tmp186 + 178;
19720#line 2473
19721 __cil_tmp188 = *((__u8 *)__cil_tmp187);
19722#line 2473
19723 __cil_tmp189 = (int )__cil_tmp188;
19724#line 2473
19725 __cil_tmp190 = __cil_tmp189 + 1;
19726#line 2473
19727 __cil_tmp191 = (__u16 )__cil_tmp190;
19728#line 2473
19729 __cil_tmp192 = & Data;
19730#line 2473
19731 __cil_tmp193 = *__cil_tmp192;
19732#line 2473
19733 status = mos7840_set_reg_sync(__cil_tmp185, __cil_tmp191, __cil_tmp193);
19734 }
19735#line 2475
19736 if (status < 0) {
19737 {
19738#line 2476
19739 while (1) {
19740 while_continue___17: ;
19741 {
19742#line 2476
19743 __cil_tmp194 = & debug;
19744#line 2476
19745 if (*__cil_tmp194) {
19746 {
19747#line 2476
19748 printk("<7>%s: Writing DCR1 failed status-0x%x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
19749 status);
19750 }
19751 } else {
19752
19753 }
19754 }
19755#line 2476
19756 goto while_break___17;
19757 }
19758 while_break___17: ;
19759 }
19760#line 2477
19761 goto while_break___3;
19762 } else {
19763 {
19764#line 2479
19765 while (1) {
19766 while_continue___18: ;
19767 {
19768#line 2479
19769 __cil_tmp195 = & debug;
19770#line 2479
19771 if (*__cil_tmp195) {
19772 {
19773#line 2479
19774 printk("<7>%s: DCR1 Writing success status%d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
19775 status);
19776 }
19777 } else {
19778
19779 }
19780 }
19781#line 2479
19782 goto while_break___18;
19783 }
19784 while_break___18: ;
19785 }
19786 }
19787 {
19788#line 2481
19789 __cil_tmp196 = & Data;
19790#line 2481
19791 *__cil_tmp196 = (__u16 )36;
19792#line 2482
19793 __cil_tmp197 = i * 8UL;
19794#line 2482
19795 __cil_tmp198 = 32 + __cil_tmp197;
19796#line 2482
19797 __cil_tmp199 = (unsigned long )serial;
19798#line 2482
19799 __cil_tmp200 = __cil_tmp199 + __cil_tmp198;
19800#line 2482
19801 __cil_tmp201 = *((struct usb_serial_port **)__cil_tmp200);
19802#line 2482
19803 __cil_tmp202 = (unsigned long )mos7840_port;
19804#line 2482
19805 __cil_tmp203 = __cil_tmp202 + 178;
19806#line 2482
19807 __cil_tmp204 = *((__u8 *)__cil_tmp203);
19808#line 2482
19809 __cil_tmp205 = (int )__cil_tmp204;
19810#line 2482
19811 __cil_tmp206 = __cil_tmp205 + 2;
19812#line 2482
19813 __cil_tmp207 = (__u16 )__cil_tmp206;
19814#line 2482
19815 __cil_tmp208 = & Data;
19816#line 2482
19817 __cil_tmp209 = *__cil_tmp208;
19818#line 2482
19819 status = mos7840_set_reg_sync(__cil_tmp201, __cil_tmp207, __cil_tmp209);
19820 }
19821#line 2484
19822 if (status < 0) {
19823 {
19824#line 2485
19825 while (1) {
19826 while_continue___19: ;
19827 {
19828#line 2485
19829 __cil_tmp210 = & debug;
19830#line 2485
19831 if (*__cil_tmp210) {
19832 {
19833#line 2485
19834 printk("<7>%s: Writing DCR2 failed status-0x%x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
19835 status);
19836 }
19837 } else {
19838
19839 }
19840 }
19841#line 2485
19842 goto while_break___19;
19843 }
19844 while_break___19: ;
19845 }
19846#line 2486
19847 goto while_break___3;
19848 } else {
19849 {
19850#line 2488
19851 while (1) {
19852 while_continue___20: ;
19853 {
19854#line 2488
19855 __cil_tmp211 = & debug;
19856#line 2488
19857 if (*__cil_tmp211) {
19858 {
19859#line 2488
19860 printk("<7>%s: DCR2 Writing success status%d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
19861 status);
19862 }
19863 } else {
19864
19865 }
19866 }
19867#line 2488
19868 goto while_break___20;
19869 }
19870 while_break___20: ;
19871 }
19872 }
19873 {
19874#line 2491
19875 __cil_tmp212 = & Data;
19876#line 2491
19877 *__cil_tmp212 = (__u16 )0;
19878#line 2492
19879 __cil_tmp213 = i * 8UL;
19880#line 2492
19881 __cil_tmp214 = 32 + __cil_tmp213;
19882#line 2492
19883 __cil_tmp215 = (unsigned long )serial;
19884#line 2492
19885 __cil_tmp216 = __cil_tmp215 + __cil_tmp214;
19886#line 2492
19887 __cil_tmp217 = *((struct usb_serial_port **)__cil_tmp216);
19888#line 2492
19889 __cil_tmp218 = (__u16 )3;
19890#line 2492
19891 __cil_tmp219 = & Data;
19892#line 2492
19893 __cil_tmp220 = *__cil_tmp219;
19894#line 2492
19895 status = mos7840_set_reg_sync(__cil_tmp217, __cil_tmp218, __cil_tmp220);
19896 }
19897#line 2494
19898 if (status < 0) {
19899 {
19900#line 2495
19901 while (1) {
19902 while_continue___21: ;
19903 {
19904#line 2495
19905 __cil_tmp221 = & debug;
19906#line 2495
19907 if (*__cil_tmp221) {
19908 {
19909#line 2495
19910 printk("<7>%s: Writing CLK_START_VALUE_REGISTER failed status-0x%x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
19911 status);
19912 }
19913 } else {
19914
19915 }
19916 }
19917#line 2495
19918 goto while_break___21;
19919 }
19920 while_break___21: ;
19921 }
19922#line 2496
19923 goto while_break___3;
19924 } else {
19925 {
19926#line 2498
19927 while (1) {
19928 while_continue___22: ;
19929 {
19930#line 2498
19931 __cil_tmp222 = & debug;
19932#line 2498
19933 if (*__cil_tmp222) {
19934 {
19935#line 2498
19936 printk("<7>%s: CLK_START_VALUE_REGISTER Writing success status%d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
19937 status);
19938 }
19939 } else {
19940
19941 }
19942 }
19943#line 2498
19944 goto while_break___22;
19945 }
19946 while_break___22: ;
19947 }
19948 }
19949 {
19950#line 2500
19951 __cil_tmp223 = & Data;
19952#line 2500
19953 *__cil_tmp223 = (__u16 )32;
19954#line 2501
19955 __cil_tmp224 = i * 8UL;
19956#line 2501
19957 __cil_tmp225 = 32 + __cil_tmp224;
19958#line 2501
19959 __cil_tmp226 = (unsigned long )serial;
19960#line 2501
19961 __cil_tmp227 = __cil_tmp226 + __cil_tmp225;
19962#line 2501
19963 __cil_tmp228 = *((struct usb_serial_port **)__cil_tmp227);
19964#line 2501
19965 __cil_tmp229 = (__u16 )2;
19966#line 2501
19967 __cil_tmp230 = & Data;
19968#line 2501
19969 __cil_tmp231 = *__cil_tmp230;
19970#line 2501
19971 status = mos7840_set_reg_sync(__cil_tmp228, __cil_tmp229, __cil_tmp231);
19972 }
19973#line 2503
19974 if (status < 0) {
19975 {
19976#line 2504
19977 while (1) {
19978 while_continue___23: ;
19979 {
19980#line 2504
19981 __cil_tmp232 = & debug;
19982#line 2504
19983 if (*__cil_tmp232) {
19984 {
19985#line 2504
19986 printk("<7>%s: Writing CLK_MULTI_REGISTER failed status-0x%x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
19987 status);
19988 }
19989 } else {
19990
19991 }
19992 }
19993#line 2504
19994 goto while_break___23;
19995 }
19996 while_break___23: ;
19997 }
19998#line 2506
19999 goto error;
20000 } else {
20001 {
20002#line 2508
20003 while (1) {
20004 while_continue___24: ;
20005 {
20006#line 2508
20007 __cil_tmp233 = & debug;
20008#line 2508
20009 if (*__cil_tmp233) {
20010 {
20011#line 2508
20012 printk("<7>%s: CLK_MULTI_REGISTER Writing success status%d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
20013 status);
20014 }
20015 } else {
20016
20017 }
20018 }
20019#line 2508
20020 goto while_break___24;
20021 }
20022 while_break___24: ;
20023 }
20024 }
20025 {
20026#line 2512
20027 __cil_tmp234 = & Data;
20028#line 2512
20029 *__cil_tmp234 = (__u16 )0;
20030#line 2513
20031 __cil_tmp235 = i * 8UL;
20032#line 2513
20033 __cil_tmp236 = 32 + __cil_tmp235;
20034#line 2513
20035 __cil_tmp237 = (unsigned long )serial;
20036#line 2513
20037 __cil_tmp238 = __cil_tmp237 + __cil_tmp236;
20038#line 2513
20039 __cil_tmp239 = *((struct usb_serial_port **)__cil_tmp238);
20040#line 2513
20041 __cil_tmp240 = (__u16 )7;
20042#line 2513
20043 __cil_tmp241 = & Data;
20044#line 2513
20045 __cil_tmp242 = *__cil_tmp241;
20046#line 2513
20047 status = mos7840_set_uart_reg(__cil_tmp239, __cil_tmp240, __cil_tmp242);
20048 }
20049#line 2515
20050 if (status < 0) {
20051 {
20052#line 2516
20053 while (1) {
20054 while_continue___25: ;
20055 {
20056#line 2516
20057 __cil_tmp243 = & debug;
20058#line 2516
20059 if (*__cil_tmp243) {
20060 {
20061#line 2516
20062 printk("<7>%s: Writing SCRATCH_PAD_REGISTER failed status-0x%x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
20063 status);
20064 }
20065 } else {
20066
20067 }
20068 }
20069#line 2516
20070 goto while_break___25;
20071 }
20072 while_break___25: ;
20073 }
20074#line 2518
20075 goto while_break___3;
20076 } else {
20077 {
20078#line 2520
20079 while (1) {
20080 while_continue___26: ;
20081 {
20082#line 2520
20083 __cil_tmp244 = & debug;
20084#line 2520
20085 if (*__cil_tmp244) {
20086 {
20087#line 2520
20088 printk("<7>%s: SCRATCH_PAD_REGISTER Writing success status%d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
20089 status);
20090 }
20091 } else {
20092
20093 }
20094 }
20095#line 2520
20096 goto while_break___26;
20097 }
20098 while_break___26: ;
20099 }
20100 }
20101 {
20102#line 2524
20103 __cil_tmp245 = *((int *)mos7840_port);
20104#line 2524
20105 if (__cil_tmp245 != 1) {
20106 {
20107#line 2524
20108 __cil_tmp246 = (unsigned long )serial;
20109#line 2524
20110 __cil_tmp247 = __cil_tmp246 + 26;
20111#line 2524
20112 __cil_tmp248 = *((unsigned char *)__cil_tmp247);
20113#line 2524
20114 __cil_tmp249 = (int )__cil_tmp248;
20115#line 2524
20116 if (__cil_tmp249 == 2) {
20117 {
20118#line 2527
20119 __cil_tmp250 = & Data;
20120#line 2527
20121 *__cil_tmp250 = (__u16 )255;
20122#line 2528
20123 __cil_tmp251 = i * 8UL;
20124#line 2528
20125 __cil_tmp252 = 32 + __cil_tmp251;
20126#line 2528
20127 __cil_tmp253 = (unsigned long )serial;
20128#line 2528
20129 __cil_tmp254 = __cil_tmp253 + __cil_tmp252;
20130#line 2528
20131 __cil_tmp255 = *((struct usb_serial_port **)__cil_tmp254);
20132#line 2528
20133 __cil_tmp256 = *((int *)mos7840_port);
20134#line 2528
20135 __cil_tmp257 = (__u16 )__cil_tmp256;
20136#line 2528
20137 __cil_tmp258 = (int )__cil_tmp257;
20138#line 2528
20139 __cil_tmp259 = 58 + __cil_tmp258;
20140#line 2528
20141 __cil_tmp260 = (__u16 )__cil_tmp259;
20142#line 2528
20143 __cil_tmp261 = & Data;
20144#line 2528
20145 __cil_tmp262 = *__cil_tmp261;
20146#line 2528
20147 status = mos7840_set_reg_sync(__cil_tmp255, __cil_tmp260, __cil_tmp262);
20148 }
20149 {
20150#line 2531
20151 while (1) {
20152 while_continue___27: ;
20153 {
20154#line 2531
20155 __cil_tmp263 = & debug;
20156#line 2531
20157 if (*__cil_tmp263) {
20158 {
20159#line 2531
20160 __cil_tmp264 = *((int *)mos7840_port);
20161#line 2531
20162 __cil_tmp265 = (__u16 )__cil_tmp264;
20163#line 2531
20164 __cil_tmp266 = (int )__cil_tmp265;
20165#line 2531
20166 __cil_tmp267 = 58 + __cil_tmp266;
20167#line 2531
20168 __cil_tmp268 = (__u16 )__cil_tmp267;
20169#line 2531
20170 __cil_tmp269 = (int )__cil_tmp268;
20171#line 2531
20172 printk("<7>%s: ZLIP offset %x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
20173 __cil_tmp269);
20174 }
20175 } else {
20176
20177 }
20178 }
20179#line 2531
20180 goto while_break___27;
20181 }
20182 while_break___27: ;
20183 }
20184#line 2534
20185 if (status < 0) {
20186 {
20187#line 2535
20188 while (1) {
20189 while_continue___28: ;
20190 {
20191#line 2535
20192 __cil_tmp270 = & debug;
20193#line 2535
20194 if (*__cil_tmp270) {
20195 {
20196#line 2535
20197 __cil_tmp271 = i + 2;
20198#line 2535
20199 printk("<7>%s: Writing ZLP_REG%d failed status-0x%x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
20200 __cil_tmp271, status);
20201 }
20202 } else {
20203
20204 }
20205 }
20206#line 2535
20207 goto while_break___28;
20208 }
20209 while_break___28: ;
20210 }
20211#line 2537
20212 goto while_break___3;
20213 } else {
20214 {
20215#line 2539
20216 while (1) {
20217 while_continue___29: ;
20218 {
20219#line 2539
20220 __cil_tmp272 = & debug;
20221#line 2539
20222 if (*__cil_tmp272) {
20223 {
20224#line 2539
20225 __cil_tmp273 = i + 2;
20226#line 2539
20227 printk("<7>%s: ZLP_REG%d Writing success status%d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
20228 __cil_tmp273, status);
20229 }
20230 } else {
20231
20232 }
20233 }
20234#line 2539
20235 goto while_break___29;
20236 }
20237 while_break___29: ;
20238 }
20239 }
20240 } else {
20241#line 2524
20242 goto _L___2;
20243 }
20244 }
20245 } else {
20246 _L___2:
20247 {
20248#line 2542
20249 __cil_tmp274 = & Data;
20250#line 2542
20251 *__cil_tmp274 = (__u16 )255;
20252#line 2543
20253 __cil_tmp275 = i * 8UL;
20254#line 2543
20255 __cil_tmp276 = 32 + __cil_tmp275;
20256#line 2543
20257 __cil_tmp277 = (unsigned long )serial;
20258#line 2543
20259 __cil_tmp278 = __cil_tmp277 + __cil_tmp276;
20260#line 2543
20261 __cil_tmp279 = *((struct usb_serial_port **)__cil_tmp278);
20262#line 2543
20263 __cil_tmp280 = *((int *)mos7840_port);
20264#line 2543
20265 __cil_tmp281 = (__u16 )__cil_tmp280;
20266#line 2543
20267 __cil_tmp282 = (int )__cil_tmp281;
20268#line 2543
20269 __cil_tmp283 = 58 + __cil_tmp282;
20270#line 2543
20271 __cil_tmp284 = __cil_tmp283 - 1;
20272#line 2543
20273 __cil_tmp285 = (__u16 )__cil_tmp284;
20274#line 2543
20275 __cil_tmp286 = & Data;
20276#line 2543
20277 __cil_tmp287 = *__cil_tmp286;
20278#line 2543
20279 status = mos7840_set_reg_sync(__cil_tmp279, __cil_tmp285, __cil_tmp287);
20280 }
20281 {
20282#line 2546
20283 while (1) {
20284 while_continue___30: ;
20285 {
20286#line 2546
20287 __cil_tmp288 = & debug;
20288#line 2546
20289 if (*__cil_tmp288) {
20290 {
20291#line 2546
20292 __cil_tmp289 = *((int *)mos7840_port);
20293#line 2546
20294 __cil_tmp290 = (__u16 )__cil_tmp289;
20295#line 2546
20296 __cil_tmp291 = (int )__cil_tmp290;
20297#line 2546
20298 __cil_tmp292 = 58 + __cil_tmp291;
20299#line 2546
20300 __cil_tmp293 = __cil_tmp292 - 1;
20301#line 2546
20302 __cil_tmp294 = (__u16 )__cil_tmp293;
20303#line 2546
20304 __cil_tmp295 = (int )__cil_tmp294;
20305#line 2546
20306 printk("<7>%s: ZLIP offset %x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
20307 __cil_tmp295);
20308 }
20309 } else {
20310
20311 }
20312 }
20313#line 2546
20314 goto while_break___30;
20315 }
20316 while_break___30: ;
20317 }
20318#line 2549
20319 if (status < 0) {
20320 {
20321#line 2550
20322 while (1) {
20323 while_continue___31: ;
20324 {
20325#line 2550
20326 __cil_tmp296 = & debug;
20327#line 2550
20328 if (*__cil_tmp296) {
20329 {
20330#line 2550
20331 __cil_tmp297 = i + 1;
20332#line 2550
20333 printk("<7>%s: Writing ZLP_REG%d failed status-0x%x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
20334 __cil_tmp297, status);
20335 }
20336 } else {
20337
20338 }
20339 }
20340#line 2550
20341 goto while_break___31;
20342 }
20343 while_break___31: ;
20344 }
20345#line 2552
20346 goto while_break___3;
20347 } else {
20348 {
20349#line 2554
20350 while (1) {
20351 while_continue___32: ;
20352 {
20353#line 2554
20354 __cil_tmp298 = & debug;
20355#line 2554
20356 if (*__cil_tmp298) {
20357 {
20358#line 2554
20359 __cil_tmp299 = i + 1;
20360#line 2554
20361 printk("<7>%s: ZLP_REG%d Writing success status%d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
20362 __cil_tmp299, status);
20363 }
20364 } else {
20365
20366 }
20367 }
20368#line 2554
20369 goto while_break___32;
20370 }
20371 while_break___32: ;
20372 }
20373 }
20374 }
20375 }
20376 {
20377#line 2558
20378 __cil_tmp300 = (unsigned long )mos7840_port;
20379#line 2558
20380 __cil_tmp301 = __cil_tmp300 + 184;
20381#line 2558
20382 *((struct urb **)__cil_tmp301) = usb_alloc_urb(0, 208U);
20383#line 2559
20384 __cil_tmp302 = (size_t )16;
20385#line 2559
20386 tmp___8 = kmalloc(__cil_tmp302, 208U);
20387#line 2559
20388 __cil_tmp303 = (unsigned long )mos7840_port;
20389#line 2559
20390 __cil_tmp304 = __cil_tmp303 + 200;
20391#line 2559
20392 *((char **)__cil_tmp304) = (char *)tmp___8;
20393#line 2560
20394 tmp___9 = kmalloc(8UL, 208U);
20395#line 2560
20396 __cil_tmp305 = (unsigned long )mos7840_port;
20397#line 2560
20398 __cil_tmp306 = __cil_tmp305 + 192;
20399#line 2560
20400 *((struct usb_ctrlrequest **)__cil_tmp306) = (struct usb_ctrlrequest *)tmp___9;
20401 }
20402 {
20403#line 2562
20404 __cil_tmp307 = (unsigned long )mos7840_port;
20405#line 2562
20406 __cil_tmp308 = __cil_tmp307 + 184;
20407#line 2562
20408 __cil_tmp309 = *((struct urb **)__cil_tmp308);
20409#line 2562
20410 if (! __cil_tmp309) {
20411#line 2564
20412 status = -12;
20413#line 2565
20414 goto error;
20415 } else {
20416 {
20417#line 2562
20418 __cil_tmp310 = (unsigned long )mos7840_port;
20419#line 2562
20420 __cil_tmp311 = __cil_tmp310 + 200;
20421#line 2562
20422 __cil_tmp312 = *((char **)__cil_tmp311);
20423#line 2562
20424 if (! __cil_tmp312) {
20425#line 2564
20426 status = -12;
20427#line 2565
20428 goto error;
20429 } else {
20430 {
20431#line 2562
20432 __cil_tmp313 = (unsigned long )mos7840_port;
20433#line 2562
20434 __cil_tmp314 = __cil_tmp313 + 192;
20435#line 2562
20436 __cil_tmp315 = *((struct usb_ctrlrequest **)__cil_tmp314);
20437#line 2562
20438 if (! __cil_tmp315) {
20439#line 2564
20440 status = -12;
20441#line 2565
20442 goto error;
20443 } else {
20444
20445 }
20446 }
20447 }
20448 }
20449 }
20450 }
20451#line 2383
20452 i = i + 1;
20453 }
20454 while_break___3: ;
20455 }
20456 {
20457#line 2568
20458 while (1) {
20459 while_continue___33: ;
20460 {
20461#line 2568
20462 __cil_tmp316 = & debug;
20463#line 2568
20464 if (*__cil_tmp316) {
20465 {
20466#line 2568
20467 printk("<7>%s: mos7840_startup: all ports configured...........\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c");
20468 }
20469 } else {
20470
20471 }
20472 }
20473#line 2568
20474 goto while_break___33;
20475 }
20476 while_break___33: ;
20477 }
20478 {
20479#line 2571
20480 __cil_tmp317 = & Data;
20481#line 2571
20482 *__cil_tmp317 = (__u16 )15;
20483#line 2572
20484 __cil_tmp318 = 0 * 8UL;
20485#line 2572
20486 __cil_tmp319 = 32 + __cil_tmp318;
20487#line 2572
20488 __cil_tmp320 = (unsigned long )serial;
20489#line 2572
20490 __cil_tmp321 = __cil_tmp320 + __cil_tmp319;
20491#line 2572
20492 __cil_tmp322 = *((struct usb_serial_port **)__cil_tmp321);
20493#line 2572
20494 __cil_tmp323 = (__u16 )62;
20495#line 2572
20496 __cil_tmp324 = & Data;
20497#line 2572
20498 __cil_tmp325 = *__cil_tmp324;
20499#line 2572
20500 status = mos7840_set_reg_sync(__cil_tmp322, __cil_tmp323, __cil_tmp325);
20501 }
20502#line 2573
20503 if (status < 0) {
20504 {
20505#line 2574
20506 while (1) {
20507 while_continue___34: ;
20508 {
20509#line 2574
20510 __cil_tmp326 = & debug;
20511#line 2574
20512 if (*__cil_tmp326) {
20513 {
20514#line 2574
20515 printk("<7>%s: Writing ZLP_REG5 failed status-0x%x\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
20516 status);
20517 }
20518 } else {
20519
20520 }
20521 }
20522#line 2574
20523 goto while_break___34;
20524 }
20525 while_break___34: ;
20526 }
20527#line 2575
20528 goto error;
20529 } else {
20530 {
20531#line 2577
20532 while (1) {
20533 while_continue___35: ;
20534 {
20535#line 2577
20536 __cil_tmp327 = & debug;
20537#line 2577
20538 if (*__cil_tmp327) {
20539 {
20540#line 2577
20541 printk("<7>%s: ZLP_REG5 Writing success status%d\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
20542 status);
20543 }
20544 } else {
20545
20546 }
20547 }
20548#line 2577
20549 goto while_break___35;
20550 }
20551 while_break___35: ;
20552 }
20553 }
20554 {
20555#line 2580
20556 __cil_tmp328 = *((struct usb_device **)serial);
20557#line 2580
20558 tmp___10 = __create_pipe(__cil_tmp328, 0U);
20559#line 2580
20560 __cil_tmp329 = *((struct usb_device **)serial);
20561#line 2580
20562 __cil_tmp330 = 2 << 30;
20563#line 2580
20564 __cil_tmp331 = (unsigned int )__cil_tmp330;
20565#line 2580
20566 __cil_tmp332 = __cil_tmp331 | tmp___10;
20567#line 2580
20568 __cil_tmp333 = (__u8 )3;
20569#line 2580
20570 __cil_tmp334 = (__u8 )0;
20571#line 2580
20572 __cil_tmp335 = (__u16 )1;
20573#line 2580
20574 __cil_tmp336 = (__u16 )0;
20575#line 2580
20576 __cil_tmp337 = (void *)0;
20577#line 2580
20578 __cil_tmp338 = (__u16 )0;
20579#line 2580
20580 usb_control_msg(__cil_tmp329, __cil_tmp332, __cil_tmp333, __cil_tmp334, __cil_tmp335,
20581 __cil_tmp336, __cil_tmp337, __cil_tmp338, 1250);
20582 }
20583#line 2582
20584 return (0);
20585 error:
20586 {
20587#line 2584
20588 while (1) {
20589 while_continue___36: ;
20590#line 2584
20591 if (i >= 0) {
20592
20593 } else {
20594#line 2584
20595 goto while_break___36;
20596 }
20597 {
20598#line 2585
20599 __cil_tmp339 = i * 8UL;
20600#line 2585
20601 __cil_tmp340 = 32 + __cil_tmp339;
20602#line 2585
20603 __cil_tmp341 = (unsigned long )serial;
20604#line 2585
20605 __cil_tmp342 = __cil_tmp341 + __cil_tmp340;
20606#line 2585
20607 __cil_tmp343 = *((struct usb_serial_port **)__cil_tmp342);
20608#line 2585
20609 mos7840_port = mos7840_get_port_private(__cil_tmp343);
20610#line 2587
20611 __cil_tmp344 = (unsigned long )mos7840_port;
20612#line 2587
20613 __cil_tmp345 = __cil_tmp344 + 192;
20614#line 2587
20615 __cil_tmp346 = *((struct usb_ctrlrequest **)__cil_tmp345);
20616#line 2587
20617 __cil_tmp347 = (void const *)__cil_tmp346;
20618#line 2587
20619 kfree(__cil_tmp347);
20620#line 2588
20621 __cil_tmp348 = (unsigned long )mos7840_port;
20622#line 2588
20623 __cil_tmp349 = __cil_tmp348 + 200;
20624#line 2588
20625 __cil_tmp350 = *((char **)__cil_tmp349);
20626#line 2588
20627 __cil_tmp351 = (void const *)__cil_tmp350;
20628#line 2588
20629 kfree(__cil_tmp351);
20630#line 2589
20631 __cil_tmp352 = (unsigned long )mos7840_port;
20632#line 2589
20633 __cil_tmp353 = __cil_tmp352 + 184;
20634#line 2589
20635 __cil_tmp354 = *((struct urb **)__cil_tmp353);
20636#line 2589
20637 usb_free_urb(__cil_tmp354);
20638#line 2590
20639 __cil_tmp355 = (void const *)mos7840_port;
20640#line 2590
20641 kfree(__cil_tmp355);
20642#line 2591
20643 __cil_tmp356 = i * 8UL;
20644#line 2591
20645 __cil_tmp357 = 32 + __cil_tmp356;
20646#line 2591
20647 __cil_tmp358 = (unsigned long )serial;
20648#line 2591
20649 __cil_tmp359 = __cil_tmp358 + __cil_tmp357;
20650#line 2591
20651 __cil_tmp360 = (void *)0;
20652#line 2591
20653 *((struct usb_serial_port **)__cil_tmp359) = (struct usb_serial_port *)__cil_tmp360;
20654#line 2584
20655 i = i - 1;
20656 }
20657 }
20658 while_break___36: ;
20659 }
20660#line 2593
20661 return (status);
20662}
20663}
20664#line 2601 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
20665static void mos7840_disconnect(struct usb_serial *serial )
20666{ int i ;
20667 unsigned long flags ;
20668 struct moschip_port *mos7840_port ;
20669 raw_spinlock_t *tmp___7 ;
20670 bool *__cil_tmp8 ;
20671 bool *__cil_tmp9 ;
20672 unsigned long __cil_tmp10 ;
20673 unsigned long __cil_tmp11 ;
20674 unsigned char __cil_tmp12 ;
20675 int __cil_tmp13 ;
20676 unsigned long __cil_tmp14 ;
20677 unsigned long __cil_tmp15 ;
20678 unsigned long __cil_tmp16 ;
20679 unsigned long __cil_tmp17 ;
20680 struct usb_serial_port *__cil_tmp18 ;
20681 bool *__cil_tmp19 ;
20682 unsigned long __cil_tmp20 ;
20683 unsigned long __cil_tmp21 ;
20684 spinlock_t *__cil_tmp22 ;
20685 unsigned long __cil_tmp23 ;
20686 unsigned long __cil_tmp24 ;
20687 unsigned long __cil_tmp25 ;
20688 unsigned long __cil_tmp26 ;
20689 spinlock_t *__cil_tmp27 ;
20690 unsigned long __cil_tmp28 ;
20691 unsigned long __cil_tmp29 ;
20692 struct urb *__cil_tmp30 ;
20693 bool *__cil_tmp31 ;
20694
20695 {
20696 {
20697#line 2606
20698 while (1) {
20699 while_continue: ;
20700 {
20701#line 2606
20702 __cil_tmp8 = & debug;
20703#line 2606
20704 if (*__cil_tmp8) {
20705 {
20706#line 2606
20707 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
20708 " disconnect :entering..........");
20709 }
20710 } else {
20711
20712 }
20713 }
20714#line 2606
20715 goto while_break;
20716 }
20717 while_break: ;
20718 }
20719#line 2608
20720 if (! serial) {
20721 {
20722#line 2609
20723 while (1) {
20724 while_continue___0: ;
20725 {
20726#line 2609
20727 __cil_tmp9 = & debug;
20728#line 2609
20729 if (*__cil_tmp9) {
20730 {
20731#line 2609
20732 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
20733 "Invalid Handler");
20734 }
20735 } else {
20736
20737 }
20738 }
20739#line 2609
20740 goto while_break___0;
20741 }
20742 while_break___0: ;
20743 }
20744#line 2610
20745 return;
20746 } else {
20747
20748 }
20749#line 2618
20750 i = 0;
20751 {
20752#line 2618
20753 while (1) {
20754 while_continue___1: ;
20755 {
20756#line 2618
20757 __cil_tmp10 = (unsigned long )serial;
20758#line 2618
20759 __cil_tmp11 = __cil_tmp10 + 26;
20760#line 2618
20761 __cil_tmp12 = *((unsigned char *)__cil_tmp11);
20762#line 2618
20763 __cil_tmp13 = (int )__cil_tmp12;
20764#line 2618
20765 if (i < __cil_tmp13) {
20766
20767 } else {
20768#line 2618
20769 goto while_break___1;
20770 }
20771 }
20772 {
20773#line 2619
20774 __cil_tmp14 = i * 8UL;
20775#line 2619
20776 __cil_tmp15 = 32 + __cil_tmp14;
20777#line 2619
20778 __cil_tmp16 = (unsigned long )serial;
20779#line 2619
20780 __cil_tmp17 = __cil_tmp16 + __cil_tmp15;
20781#line 2619
20782 __cil_tmp18 = *((struct usb_serial_port **)__cil_tmp17);
20783#line 2619
20784 mos7840_port = mos7840_get_port_private(__cil_tmp18);
20785 }
20786 {
20787#line 2620
20788 while (1) {
20789 while_continue___2: ;
20790 {
20791#line 2620
20792 __cil_tmp19 = & debug;
20793#line 2620
20794 if (*__cil_tmp19) {
20795 {
20796#line 2620
20797 printk("<7>%s: mos7840_port %d = %p\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
20798 i, mos7840_port);
20799 }
20800 } else {
20801
20802 }
20803 }
20804#line 2620
20805 goto while_break___2;
20806 }
20807 while_break___2: ;
20808 }
20809#line 2621
20810 if (mos7840_port) {
20811 {
20812#line 2622
20813 while (1) {
20814 while_continue___3: ;
20815 {
20816#line 2622
20817 while (1) {
20818 while_continue___4: ;
20819 {
20820#line 2622
20821 __cil_tmp20 = (unsigned long )mos7840_port;
20822#line 2622
20823 __cil_tmp21 = __cil_tmp20 + 216;
20824#line 2622
20825 __cil_tmp22 = (spinlock_t *)__cil_tmp21;
20826#line 2622
20827 tmp___7 = spinlock_check(__cil_tmp22);
20828#line 2622
20829 flags = _raw_spin_lock_irqsave(tmp___7);
20830 }
20831#line 2622
20832 goto while_break___4;
20833 }
20834 while_break___4: ;
20835 }
20836#line 2622
20837 goto while_break___3;
20838 }
20839 while_break___3: ;
20840 }
20841 {
20842#line 2623
20843 __cil_tmp23 = (unsigned long )mos7840_port;
20844#line 2623
20845 __cil_tmp24 = __cil_tmp23 + 36;
20846#line 2623
20847 *((char *)__cil_tmp24) = (char)1;
20848#line 2624
20849 __cil_tmp25 = (unsigned long )mos7840_port;
20850#line 2624
20851 __cil_tmp26 = __cil_tmp25 + 216;
20852#line 2624
20853 __cil_tmp27 = (spinlock_t *)__cil_tmp26;
20854#line 2624
20855 spin_unlock_irqrestore(__cil_tmp27, flags);
20856#line 2625
20857 __cil_tmp28 = (unsigned long )mos7840_port;
20858#line 2625
20859 __cil_tmp29 = __cil_tmp28 + 184;
20860#line 2625
20861 __cil_tmp30 = *((struct urb **)__cil_tmp29);
20862#line 2625
20863 usb_kill_urb(__cil_tmp30);
20864 }
20865 } else {
20866
20867 }
20868#line 2618
20869 i = i + 1;
20870 }
20871 while_break___1: ;
20872 }
20873 {
20874#line 2629
20875 while (1) {
20876 while_continue___5: ;
20877 {
20878#line 2629
20879 __cil_tmp31 = & debug;
20880#line 2629
20881 if (*__cil_tmp31) {
20882 {
20883#line 2629
20884 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
20885 "Thank u :: ");
20886 }
20887 } else {
20888
20889 }
20890 }
20891#line 2629
20892 goto while_break___5;
20893 }
20894 while_break___5: ;
20895 }
20896#line 2631
20897 return;
20898}
20899}
20900#line 2638 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
20901static void mos7840_release(struct usb_serial *serial )
20902{ int i ;
20903 struct moschip_port *mos7840_port ;
20904 bool *__cil_tmp4 ;
20905 bool *__cil_tmp5 ;
20906 unsigned long __cil_tmp6 ;
20907 unsigned long __cil_tmp7 ;
20908 unsigned char __cil_tmp8 ;
20909 int __cil_tmp9 ;
20910 unsigned long __cil_tmp10 ;
20911 unsigned long __cil_tmp11 ;
20912 unsigned long __cil_tmp12 ;
20913 unsigned long __cil_tmp13 ;
20914 struct usb_serial_port *__cil_tmp14 ;
20915 bool *__cil_tmp15 ;
20916 unsigned long __cil_tmp16 ;
20917 unsigned long __cil_tmp17 ;
20918 char *__cil_tmp18 ;
20919 void const *__cil_tmp19 ;
20920 unsigned long __cil_tmp20 ;
20921 unsigned long __cil_tmp21 ;
20922 struct usb_ctrlrequest *__cil_tmp22 ;
20923 void const *__cil_tmp23 ;
20924 void const *__cil_tmp24 ;
20925 bool *__cil_tmp25 ;
20926
20927 {
20928 {
20929#line 2642
20930 while (1) {
20931 while_continue: ;
20932 {
20933#line 2642
20934 __cil_tmp4 = & debug;
20935#line 2642
20936 if (*__cil_tmp4) {
20937 {
20938#line 2642
20939 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
20940 " release :entering..........");
20941 }
20942 } else {
20943
20944 }
20945 }
20946#line 2642
20947 goto while_break;
20948 }
20949 while_break: ;
20950 }
20951#line 2644
20952 if (! serial) {
20953 {
20954#line 2645
20955 while (1) {
20956 while_continue___0: ;
20957 {
20958#line 2645
20959 __cil_tmp5 = & debug;
20960#line 2645
20961 if (*__cil_tmp5) {
20962 {
20963#line 2645
20964 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
20965 "Invalid Handler");
20966 }
20967 } else {
20968
20969 }
20970 }
20971#line 2645
20972 goto while_break___0;
20973 }
20974 while_break___0: ;
20975 }
20976#line 2646
20977 return;
20978 } else {
20979
20980 }
20981#line 2654
20982 i = 0;
20983 {
20984#line 2654
20985 while (1) {
20986 while_continue___1: ;
20987 {
20988#line 2654
20989 __cil_tmp6 = (unsigned long )serial;
20990#line 2654
20991 __cil_tmp7 = __cil_tmp6 + 26;
20992#line 2654
20993 __cil_tmp8 = *((unsigned char *)__cil_tmp7);
20994#line 2654
20995 __cil_tmp9 = (int )__cil_tmp8;
20996#line 2654
20997 if (i < __cil_tmp9) {
20998
20999 } else {
21000#line 2654
21001 goto while_break___1;
21002 }
21003 }
21004 {
21005#line 2655
21006 __cil_tmp10 = i * 8UL;
21007#line 2655
21008 __cil_tmp11 = 32 + __cil_tmp10;
21009#line 2655
21010 __cil_tmp12 = (unsigned long )serial;
21011#line 2655
21012 __cil_tmp13 = __cil_tmp12 + __cil_tmp11;
21013#line 2655
21014 __cil_tmp14 = *((struct usb_serial_port **)__cil_tmp13);
21015#line 2655
21016 mos7840_port = mos7840_get_port_private(__cil_tmp14);
21017 }
21018 {
21019#line 2656
21020 while (1) {
21021 while_continue___2: ;
21022 {
21023#line 2656
21024 __cil_tmp15 = & debug;
21025#line 2656
21026 if (*__cil_tmp15) {
21027 {
21028#line 2656
21029 printk("<7>%s: mos7840_port %d = %p\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
21030 i, mos7840_port);
21031 }
21032 } else {
21033
21034 }
21035 }
21036#line 2656
21037 goto while_break___2;
21038 }
21039 while_break___2: ;
21040 }
21041#line 2657
21042 if (mos7840_port) {
21043 {
21044#line 2658
21045 __cil_tmp16 = (unsigned long )mos7840_port;
21046#line 2658
21047 __cil_tmp17 = __cil_tmp16 + 200;
21048#line 2658
21049 __cil_tmp18 = *((char **)__cil_tmp17);
21050#line 2658
21051 __cil_tmp19 = (void const *)__cil_tmp18;
21052#line 2658
21053 kfree(__cil_tmp19);
21054#line 2659
21055 __cil_tmp20 = (unsigned long )mos7840_port;
21056#line 2659
21057 __cil_tmp21 = __cil_tmp20 + 192;
21058#line 2659
21059 __cil_tmp22 = *((struct usb_ctrlrequest **)__cil_tmp21);
21060#line 2659
21061 __cil_tmp23 = (void const *)__cil_tmp22;
21062#line 2659
21063 kfree(__cil_tmp23);
21064#line 2660
21065 __cil_tmp24 = (void const *)mos7840_port;
21066#line 2660
21067 kfree(__cil_tmp24);
21068 }
21069 } else {
21070
21071 }
21072#line 2654
21073 i = i + 1;
21074 }
21075 while_break___1: ;
21076 }
21077 {
21078#line 2664
21079 while (1) {
21080 while_continue___3: ;
21081 {
21082#line 2664
21083 __cil_tmp25 = & debug;
21084#line 2664
21085 if (*__cil_tmp25) {
21086 {
21087#line 2664
21088 printk("<7>%s: %s\n", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c",
21089 "Thank u :: ");
21090 }
21091 } else {
21092
21093 }
21094 }
21095#line 2664
21096 goto while_break___3;
21097 }
21098 while_break___3: ;
21099 }
21100#line 2666
21101 return;
21102}
21103}
21104#line 2668 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
21105static struct usb_driver io_driver =
21106#line 2668
21107 {"mos7840", & usb_serial_probe, & usb_serial_disconnect, (int (*)(struct usb_interface *intf ,
21108 unsigned int code ,
21109 void *buf ))0,
21110 (int (*)(struct usb_interface *intf , pm_message_t message ))0, (int (*)(struct usb_interface *intf ))0,
21111 (int (*)(struct usb_interface *intf ))0, (int (*)(struct usb_interface *intf ))0,
21112 (int (*)(struct usb_interface *intf ))0, moschip_id_table_combined, {{{{{{0U}},
21113 0U, 0U,
21114 (void *)0}}},
21115 {(struct list_head *)0,
21116 (struct list_head *)0}},
21117 {{(char const *)0, (struct bus_type *)0, (struct module *)0, (char const *)0,
21118 (_Bool)0, (struct of_device_id const *)0, (int (*)(struct device *dev ))0,
21119 (int (*)(struct device *dev ))0, (void (*)(struct device *dev ))0, (int (*)(struct device *dev ,
21120 pm_message_t state ))0,
21121 (int (*)(struct device *dev ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
21122 (struct driver_private *)0}, 0}, 0U, 0U, 0U};
21123#line 2675 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
21124static struct usb_serial_driver moschip7840_4port_device =
21125#line 2675
21126 {"Moschip 7840/7820 USB Serial Driver", moschip_port_id_table, (char)4, {(struct list_head *)0,
21127 (struct list_head *)0},
21128 {"mos7840", (struct bus_type *)0, & __this_module, (char const *)0, (_Bool)0,
21129 (struct of_device_id const *)0, (int (*)(struct device *dev ))0, (int (*)(struct device *dev ))0,
21130 (void (*)(struct device *dev ))0, (int (*)(struct device *dev , pm_message_t state ))0,
21131 (int (*)(struct device *dev ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
21132 (struct driver_private *)0}, (struct usb_driver *)0, {{{{{{0U}}, 0U, 0U, (void *)0}}},
21133 {(struct list_head *)0,
21134 (struct list_head *)0}},
21135 0UL, 0UL, (int (*)(struct usb_serial *serial , struct usb_device_id const *id ))0,
21136 & mos7840_startup, & mos7840_calc_num_ports, & mos7840_disconnect, & mos7840_release,
21137 (int (*)(struct usb_serial_port *port ))0, (int (*)(struct usb_serial_port *port ))0,
21138 (int (*)(struct usb_serial *serial , pm_message_t message ))0, (int (*)(struct usb_serial *serial ))0,
21139 & mos7840_open, & mos7840_close, & mos7840_write, & mos7840_write_room, & mos7840_ioctl,
21140 & mos7840_set_termios, & mos7840_break, & mos7840_chars_in_buffer, & mos7840_throttle,
21141 & mos7840_unthrottle, & mos7840_tiocmget, & mos7840_tiocmset, & mos7840_get_icount,
21142 (void (*)(struct usb_serial_port *port , int on ))0, (int (*)(struct usb_serial_port *port ))0,
21143 (void (*)(struct tty_struct *tty ))0, & mos7840_interrupt_callback, (void (*)(struct urb *urb ))0,
21144 & mos7840_bulk_in_callback, (void (*)(struct urb *urb ))0, (void (*)(struct urb *urb ))0,
21145 (int (*)(struct usb_serial_port *port , void *dest , size_t size ))0};
21146#line 2707 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
21147static struct usb_serial_driver * const serial_drivers[2] = { (struct usb_serial_driver * const )(& moschip7840_4port_device), (struct usb_serial_driver * const )((void *)0)};
21148#line 2711
21149static int io_driver_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
21150#line 2711 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
21151static int io_driver_init(void)
21152{ int tmp___7 ;
21153 unsigned long __cil_tmp2 ;
21154 unsigned long __cil_tmp3 ;
21155 struct usb_serial_driver * const *__cil_tmp4 ;
21156
21157 {
21158 {
21159#line 2711
21160 __cil_tmp2 = 0 * 8UL;
21161#line 2711
21162 __cil_tmp3 = (unsigned long )(serial_drivers) + __cil_tmp2;
21163#line 2711
21164 __cil_tmp4 = (struct usb_serial_driver * const *)__cil_tmp3;
21165#line 2711
21166 tmp___7 = usb_serial_register_drivers(& io_driver, __cil_tmp4);
21167 }
21168#line 2711
21169 return (tmp___7);
21170}
21171}
21172#line 2711 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
21173int init_module(void)
21174{ int tmp___7 ;
21175
21176 {
21177 {
21178#line 2711
21179 tmp___7 = io_driver_init();
21180 }
21181#line 2711
21182 return (tmp___7);
21183}
21184}
21185#line 2711
21186static void io_driver_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
21187#line 2711 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
21188static void io_driver_exit(void)
21189{ unsigned long __cil_tmp1 ;
21190 unsigned long __cil_tmp2 ;
21191 struct usb_serial_driver * const *__cil_tmp3 ;
21192
21193 {
21194 {
21195#line 2711
21196 __cil_tmp1 = 0 * 8UL;
21197#line 2711
21198 __cil_tmp2 = (unsigned long )(serial_drivers) + __cil_tmp1;
21199#line 2711
21200 __cil_tmp3 = (struct usb_serial_driver * const *)__cil_tmp2;
21201#line 2711
21202 usb_serial_deregister_drivers(& io_driver, __cil_tmp3);
21203 }
21204#line 2711
21205 return;
21206}
21207}
21208#line 2711 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
21209void cleanup_module(void)
21210{
21211
21212 {
21213 {
21214#line 2711
21215 io_driver_exit();
21216 }
21217#line 2711
21218 return;
21219}
21220}
21221#line 2713 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
21222static char const __mod_description2713[48] __attribute__((__used__, __unused__,
21223__section__(".modinfo"), __aligned__(1))) =
21224#line 2713
21225 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
21226 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
21227 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
21228 (char const )'M', (char const )'o', (char const )'s', (char const )'c',
21229 (char const )'h', (char const )'i', (char const )'p', (char const )' ',
21230 (char const )'7', (char const )'8', (char const )'4', (char const )'0',
21231 (char const )'/', (char const )'7', (char const )'8', (char const )'2',
21232 (char const )'0', (char const )' ', (char const )'U', (char const )'S',
21233 (char const )'B', (char const )' ', (char const )'S', (char const )'e',
21234 (char const )'r', (char const )'i', (char const )'a', (char const )'l',
21235 (char const )' ', (char const )'D', (char const )'r', (char const )'i',
21236 (char const )'v', (char const )'e', (char const )'r', (char const )'\000'};
21237#line 2714 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
21238static char const __mod_license2714[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
21239__aligned__(1))) =
21240#line 2714
21241 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
21242 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
21243 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
21244#line 2716 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
21245static char const __param_str_debug[6] = { (char const )'d', (char const )'e', (char const )'b', (char const )'u',
21246 (char const )'g', (char const )'\000'};
21247#line 2716 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
21248static struct kernel_param const __param_debug __attribute__((__used__, __unused__,
21249__section__("__param"), __aligned__(sizeof(void *)))) = {__param_str_debug, (struct kernel_param_ops const *)(& param_ops_bool), (u16 )420,
21250 (s16 )0, {(void *)(& debug)}};
21251#line 2716 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
21252static char const __mod_debugtype2716[20] __attribute__((__used__, __unused__,
21253__section__(".modinfo"), __aligned__(1))) =
21254#line 2716
21255 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
21256 (char const )'t', (char const )'y', (char const )'p', (char const )'e',
21257 (char const )'=', (char const )'d', (char const )'e', (char const )'b',
21258 (char const )'u', (char const )'g', (char const )':', (char const )'b',
21259 (char const )'o', (char const )'o', (char const )'l', (char const )'\000'};
21260#line 2717 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
21261static char const __mod_debug2717[32] __attribute__((__used__, __unused__, __section__(".modinfo"),
21262__aligned__(1))) =
21263#line 2717
21264 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
21265 (char const )'=', (char const )'d', (char const )'e', (char const )'b',
21266 (char const )'u', (char const )'g', (char const )':', (char const )'D',
21267 (char const )'e', (char const )'b', (char const )'u', (char const )'g',
21268 (char const )' ', (char const )'e', (char const )'n', (char const )'a',
21269 (char const )'b', (char const )'l', (char const )'e', (char const )'d',
21270 (char const )' ', (char const )'o', (char const )'r', (char const )' ',
21271 (char const )'n', (char const )'o', (char const )'t', (char const )'\000'};
21272#line 2735
21273void ldv_check_final_state(void) ;
21274#line 2738
21275extern void ldv_check_return_value(int res ) ;
21276#line 2741
21277extern void ldv_initialize(void) ;
21278#line 2744
21279extern int __VERIFIER_nondet_int(void) ;
21280#line 2747 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
21281int LDV_IN_INTERRUPT ;
21282#line 2860 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
21283static int res_mos7840_open_18 ;
21284#line 2750 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
21285void main(void)
21286{ struct tty_struct *var_group1 ;
21287 struct usb_serial_port *var_group2 ;
21288 unsigned char const *var_mos7840_write_24_p2 ;
21289 int var_mos7840_write_24_p3 ;
21290 struct usb_serial *var_group3 ;
21291 unsigned int var_mos7840_ioctl_36_p1 ;
21292 unsigned long var_mos7840_ioctl_36_p2 ;
21293 struct ktermios *var_mos7840_set_termios_32_p2 ;
21294 int var_mos7840_break_22_p1 ;
21295 unsigned int var_mos7840_tiocmset_28_p1 ;
21296 unsigned int var_mos7840_tiocmset_28_p2 ;
21297 struct serial_icounter_struct *var_group4 ;
21298 struct urb *var_group5 ;
21299 int ldv_s_moschip7840_4port_device_usb_serial_driver ;
21300 int tmp___7 ;
21301 int tmp___8 ;
21302 int __cil_tmp17 ;
21303
21304 {
21305 {
21306#line 4994
21307 LDV_IN_INTERRUPT = 1;
21308#line 5003
21309 ldv_initialize();
21310#line 5004
21311 ldv_s_moschip7840_4port_device_usb_serial_driver = 0;
21312 }
21313 {
21314#line 5008
21315 while (1) {
21316 while_continue: ;
21317 {
21318#line 5008
21319 tmp___8 = __VERIFIER_nondet_int();
21320 }
21321#line 5008
21322 if (tmp___8) {
21323
21324 } else {
21325 {
21326#line 5008
21327 __cil_tmp17 = ldv_s_moschip7840_4port_device_usb_serial_driver == 0;
21328#line 5008
21329 if (! __cil_tmp17) {
21330
21331 } else {
21332#line 5008
21333 goto while_break;
21334 }
21335 }
21336 }
21337 {
21338#line 5012
21339 tmp___7 = __VERIFIER_nondet_int();
21340 }
21341#line 5014
21342 if (tmp___7 == 0) {
21343#line 5014
21344 goto case_0;
21345 } else
21346#line 5141
21347 if (tmp___7 == 1) {
21348#line 5141
21349 goto case_1;
21350 } else
21351#line 5268
21352 if (tmp___7 == 2) {
21353#line 5268
21354 goto case_2;
21355 } else
21356#line 5392
21357 if (tmp___7 == 3) {
21358#line 5392
21359 goto case_3;
21360 } else
21361#line 5516
21362 if (tmp___7 == 4) {
21363#line 5516
21364 goto case_4;
21365 } else
21366#line 5640
21367 if (tmp___7 == 5) {
21368#line 5640
21369 goto case_5;
21370 } else
21371#line 5762
21372 if (tmp___7 == 6) {
21373#line 5762
21374 goto case_6;
21375 } else
21376#line 5886
21377 if (tmp___7 == 7) {
21378#line 5886
21379 goto case_7;
21380 } else
21381#line 6010
21382 if (tmp___7 == 8) {
21383#line 6010
21384 goto case_8;
21385 } else
21386#line 6134
21387 if (tmp___7 == 9) {
21388#line 6134
21389 goto case_9;
21390 } else
21391#line 6258
21392 if (tmp___7 == 10) {
21393#line 6258
21394 goto case_10;
21395 } else
21396#line 6382
21397 if (tmp___7 == 11) {
21398#line 6382
21399 goto case_11;
21400 } else
21401#line 6506
21402 if (tmp___7 == 12) {
21403#line 6506
21404 goto case_12;
21405 } else
21406#line 6630
21407 if (tmp___7 == 13) {
21408#line 6630
21409 goto case_13;
21410 } else
21411#line 6754
21412 if (tmp___7 == 14) {
21413#line 6754
21414 goto case_14;
21415 } else
21416#line 6878
21417 if (tmp___7 == 15) {
21418#line 6878
21419 goto case_15;
21420 } else
21421#line 7002
21422 if (tmp___7 == 16) {
21423#line 7002
21424 goto case_16;
21425 } else
21426#line 7126
21427 if (tmp___7 == 17) {
21428#line 7126
21429 goto case_17;
21430 } else
21431#line 7250
21432 if (tmp___7 == 18) {
21433#line 7250
21434 goto case_18;
21435 } else
21436#line 7374
21437 if (tmp___7 == 19) {
21438#line 7374
21439 goto case_19;
21440 } else {
21441 {
21442#line 7498
21443 goto switch_default;
21444#line 5012
21445 if (0) {
21446 case_0:
21447#line 5017
21448 if (ldv_s_moschip7840_4port_device_usb_serial_driver == 0) {
21449 {
21450#line 5118
21451 res_mos7840_open_18 = mos7840_open(var_group1, var_group2);
21452#line 5119
21453 ldv_check_return_value(res_mos7840_open_18);
21454 }
21455#line 5120
21456 if (res_mos7840_open_18) {
21457#line 5121
21458 goto ldv_module_exit;
21459 } else {
21460
21461 }
21462#line 5134
21463 ldv_s_moschip7840_4port_device_usb_serial_driver = ldv_s_moschip7840_4port_device_usb_serial_driver + 1;
21464 } else {
21465
21466 }
21467#line 5140
21468 goto switch_break;
21469 case_1:
21470#line 5144
21471 if (ldv_s_moschip7840_4port_device_usb_serial_driver == 1) {
21472#line 5261
21473 ldv_s_moschip7840_4port_device_usb_serial_driver = ldv_s_moschip7840_4port_device_usb_serial_driver + 1;
21474 } else {
21475
21476 }
21477#line 5267
21478 goto switch_break;
21479 case_2:
21480#line 5271
21481 if (ldv_s_moschip7840_4port_device_usb_serial_driver == 2) {
21482 {
21483#line 5372
21484 mos7840_close(var_group2);
21485#line 5385
21486 ldv_s_moschip7840_4port_device_usb_serial_driver = ldv_s_moschip7840_4port_device_usb_serial_driver + 1;
21487 }
21488 } else {
21489
21490 }
21491#line 5391
21492 goto switch_break;
21493 case_3:
21494#line 5395
21495 if (ldv_s_moschip7840_4port_device_usb_serial_driver == 3) {
21496 {
21497#line 5504
21498 mos7840_release(var_group3);
21499#line 5509
21500 ldv_s_moschip7840_4port_device_usb_serial_driver = ldv_s_moschip7840_4port_device_usb_serial_driver + 1;
21501 }
21502 } else {
21503
21504 }
21505#line 5515
21506 goto switch_break;
21507 case_4:
21508#line 5519
21509 if (ldv_s_moschip7840_4port_device_usb_serial_driver == 4) {
21510 {
21511#line 5628
21512 mos7840_disconnect(var_group3);
21513#line 5633
21514 ldv_s_moschip7840_4port_device_usb_serial_driver = 0;
21515 }
21516 } else {
21517
21518 }
21519#line 5639
21520 goto switch_break;
21521 case_5:
21522 {
21523#line 5744
21524 mos7840_write(var_group1, var_group2, var_mos7840_write_24_p2, var_mos7840_write_24_p3);
21525 }
21526#line 5761
21527 goto switch_break;
21528 case_6:
21529 {
21530#line 5866
21531 mos7840_write_room(var_group1);
21532 }
21533#line 5885
21534 goto switch_break;
21535 case_7:
21536 {
21537#line 5990
21538 mos7840_chars_in_buffer(var_group1);
21539 }
21540#line 6009
21541 goto switch_break;
21542 case_8:
21543 {
21544#line 6116
21545 mos7840_throttle(var_group1);
21546 }
21547#line 6133
21548 goto switch_break;
21549 case_9:
21550 {
21551#line 6240
21552 mos7840_unthrottle(var_group1);
21553 }
21554#line 6257
21555 goto switch_break;
21556 case_10:
21557 {
21558#line 6370
21559 mos7840_calc_num_ports(var_group3);
21560 }
21561#line 6381
21562 goto switch_break;
21563 case_11:
21564 {
21565#line 6494
21566 mos7840_ioctl(var_group1, var_mos7840_ioctl_36_p1, var_mos7840_ioctl_36_p2);
21567 }
21568#line 6505
21569 goto switch_break;
21570 case_12:
21571 {
21572#line 6618
21573 mos7840_set_termios(var_group1, var_group2, var_mos7840_set_termios_32_p2);
21574 }
21575#line 6629
21576 goto switch_break;
21577 case_13:
21578 {
21579#line 6734
21580 mos7840_break(var_group1, var_mos7840_break_22_p1);
21581 }
21582#line 6753
21583 goto switch_break;
21584 case_14:
21585 {
21586#line 6860
21587 mos7840_tiocmget(var_group1);
21588 }
21589#line 6877
21590 goto switch_break;
21591 case_15:
21592 {
21593#line 6984
21594 mos7840_tiocmset(var_group1, var_mos7840_tiocmset_28_p1, var_mos7840_tiocmset_28_p2);
21595 }
21596#line 7001
21597 goto switch_break;
21598 case_16:
21599 {
21600#line 7114
21601 mos7840_get_icount(var_group1, var_group4);
21602 }
21603#line 7125
21604 goto switch_break;
21605 case_17:
21606 {
21607#line 7238
21608 mos7840_startup(var_group3);
21609 }
21610#line 7249
21611 goto switch_break;
21612 case_18:
21613 {
21614#line 7352
21615 mos7840_bulk_in_callback(var_group5);
21616 }
21617#line 7373
21618 goto switch_break;
21619 case_19:
21620 {
21621#line 7476
21622 mos7840_interrupt_callback(var_group5);
21623 }
21624#line 7497
21625 goto switch_break;
21626 switch_default:
21627#line 7498
21628 goto switch_break;
21629 } else {
21630 switch_break: ;
21631 }
21632 }
21633 }
21634 }
21635 while_break: ;
21636 }
21637 ldv_module_exit:
21638 {
21639#line 7507
21640 ldv_check_final_state();
21641 }
21642#line 7510
21643 return;
21644}
21645}
21646#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
21647void ldv_blast_assert(void)
21648{
21649
21650 {
21651 ERROR:
21652#line 6
21653 goto ERROR;
21654}
21655}
21656#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
21657extern int __VERIFIER_nondet_int(void) ;
21658#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
21659int ldv_mutex = 1;
21660#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
21661int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
21662{ int nondetermined ;
21663
21664 {
21665#line 29
21666 if (ldv_mutex == 1) {
21667
21668 } else {
21669 {
21670#line 29
21671 ldv_blast_assert();
21672 }
21673 }
21674 {
21675#line 32
21676 nondetermined = __VERIFIER_nondet_int();
21677 }
21678#line 35
21679 if (nondetermined) {
21680#line 38
21681 ldv_mutex = 2;
21682#line 40
21683 return (0);
21684 } else {
21685#line 45
21686 return (-4);
21687 }
21688}
21689}
21690#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
21691int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
21692{ int nondetermined ;
21693
21694 {
21695#line 57
21696 if (ldv_mutex == 1) {
21697
21698 } else {
21699 {
21700#line 57
21701 ldv_blast_assert();
21702 }
21703 }
21704 {
21705#line 60
21706 nondetermined = __VERIFIER_nondet_int();
21707 }
21708#line 63
21709 if (nondetermined) {
21710#line 66
21711 ldv_mutex = 2;
21712#line 68
21713 return (0);
21714 } else {
21715#line 73
21716 return (-4);
21717 }
21718}
21719}
21720#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
21721int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
21722{ int atomic_value_after_dec ;
21723
21724 {
21725#line 83
21726 if (ldv_mutex == 1) {
21727
21728 } else {
21729 {
21730#line 83
21731 ldv_blast_assert();
21732 }
21733 }
21734 {
21735#line 86
21736 atomic_value_after_dec = __VERIFIER_nondet_int();
21737 }
21738#line 89
21739 if (atomic_value_after_dec == 0) {
21740#line 92
21741 ldv_mutex = 2;
21742#line 94
21743 return (1);
21744 } else {
21745
21746 }
21747#line 98
21748 return (0);
21749}
21750}
21751#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
21752void mutex_lock(struct mutex *lock )
21753{
21754
21755 {
21756#line 108
21757 if (ldv_mutex == 1) {
21758
21759 } else {
21760 {
21761#line 108
21762 ldv_blast_assert();
21763 }
21764 }
21765#line 110
21766 ldv_mutex = 2;
21767#line 111
21768 return;
21769}
21770}
21771#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
21772int mutex_trylock(struct mutex *lock )
21773{ int nondetermined ;
21774
21775 {
21776#line 121
21777 if (ldv_mutex == 1) {
21778
21779 } else {
21780 {
21781#line 121
21782 ldv_blast_assert();
21783 }
21784 }
21785 {
21786#line 124
21787 nondetermined = __VERIFIER_nondet_int();
21788 }
21789#line 127
21790 if (nondetermined) {
21791#line 130
21792 ldv_mutex = 2;
21793#line 132
21794 return (1);
21795 } else {
21796#line 137
21797 return (0);
21798 }
21799}
21800}
21801#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
21802void mutex_unlock(struct mutex *lock )
21803{
21804
21805 {
21806#line 147
21807 if (ldv_mutex == 2) {
21808
21809 } else {
21810 {
21811#line 147
21812 ldv_blast_assert();
21813 }
21814 }
21815#line 149
21816 ldv_mutex = 1;
21817#line 150
21818 return;
21819}
21820}
21821#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
21822void ldv_check_final_state(void)
21823{
21824
21825 {
21826#line 156
21827 if (ldv_mutex == 1) {
21828
21829 } else {
21830 {
21831#line 156
21832 ldv_blast_assert();
21833 }
21834 }
21835#line 157
21836 return;
21837}
21838}
21839#line 7519 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7545/dscv_tempdir/dscv/ri/32_1/drivers/usb/serial/mos7840.c.common.c"
21840long s__builtin_expect(long val , long res )
21841{
21842
21843 {
21844#line 7520
21845 return (val);
21846}
21847}