Showing error 690

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/32_1_cilled_safe_ok_nondet_linux-3.4-32_1-drivers--usb--serial--mos7840.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 21651
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

    1/* Generated by CIL v. 1.3.7 */
    2/* print_CIL_Input is true */
    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 ( /* format attribute */  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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 4447#line 196
 4448      goto while_break___0;
 4449    }
 4450    while_break___0: /* CIL Label */ ;
 4451    }
 4452#line 196
 4453    goto while_break;
 4454  }
 4455  while_break: /* CIL Label */ ;
 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: /* CIL Label */ 
 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: /* CIL Label */ 
 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: /* CIL Label */ 
 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: /* CIL Label */ 
 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: /* CIL Label */ 
 4546      {
 4547#line 14
 4548      __bad_percpu_size();
 4549      }
 4550    } else {
 4551      switch_break: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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 ( /* format attribute */  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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 6295  }
 6296  {
 6297#line 404
 6298  while (1) {
 6299    while_continue___0: /* CIL Label */ ;
 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: /* CIL Label */ ;
 6326  }
 6327  {
 6328#line 405
 6329  while (1) {
 6330    while_continue___1: /* CIL Label */ ;
 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: /* CIL Label */ ;
 6357  }
 6358  {
 6359#line 406
 6360  while (1) {
 6361    while_continue___2: /* CIL Label */ ;
 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: /* CIL Label */ ;
 6388  }
 6389  {
 6390#line 407
 6391  while (1) {
 6392    while_continue___3: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ 
 6867#line 517
 6868      goto switch_break;
 6869      case_neg_104: /* CIL Label */ 
 6870      case_neg_2: /* CIL Label */ 
 6871      case_neg_108: /* CIL Label */ 
 6872      {
 6873#line 522
 6874      while (1) {
 6875        while_continue: /* CIL Label */ ;
 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: /* CIL Label */ ;
 6894      }
 6895#line 524
 6896      return;
 6897      switch_default: /* CIL Label */ 
 6898      {
 6899#line 526
 6900      while (1) {
 6901        while_continue___0: /* CIL Label */ ;
 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: /* CIL Label */ ;
 6920      }
 6921#line 528
 6922      goto exit;
 6923    } else {
 6924      switch_break: /* CIL Label */ ;
 6925    }
 6926    }
 6927  }
 6928  {
 6929#line 531
 6930  while (1) {
 6931    while_continue___1: /* CIL Label */ ;
 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: /* CIL Label */ ;
 6956  }
 6957  {
 6958#line 532
 6959  while (1) {
 6960    while_continue___2: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ 
 7444#line 600
 7445      goto switch_break;
 7446      case_neg_104: /* CIL Label */ 
 7447      case_neg_2: /* CIL Label */ 
 7448      case_neg_108: /* CIL Label */ 
 7449      {
 7450#line 605
 7451      while (1) {
 7452        while_continue___0: /* CIL Label */ ;
 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: /* CIL Label */ ;
 7471      }
 7472#line 607
 7473      return;
 7474      switch_default: /* CIL Label */ 
 7475      {
 7476#line 609
 7477      while (1) {
 7478        while_continue___1: /* CIL Label */ ;
 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: /* CIL Label */ ;
 7497      }
 7498#line 611
 7499      goto exit;
 7500    } else {
 7501      switch_break: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ 
 7739          {
 7740#line 648
 7741          while (1) {
 7742            while_continue___5: /* CIL Label */ ;
 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: /* CIL Label */ ;
 7761          }
 7762          {
 7763#line 649
 7764          while (1) {
 7765            while_continue___6: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ 
 7795          {
 7796#line 654
 7797          while (1) {
 7798            while_continue___7: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 8865    }
 8866#line 836
 8867    return;
 8868  } else {
 8869
 8870  }
 8871  {
 8872#line 839
 8873  while (1) {
 8874    while_continue___2: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ 
 9750#line 907
 9751    j = j + 1;
 9752  }
 9753  while_break___2: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
 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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
10690  }
10691  {
10692#line 1098
10693  while (1) {
10694    while_continue___12: /* CIL Label */ ;
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: /* CIL Label */ ;
10723  }
10724  {
10725#line 1099
10726  while (1) {
10727    while_continue___13: /* CIL Label */ ;
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: /* CIL Label */ ;
10754  }
10755  {
10756#line 1100
10757  while (1) {
10758    while_continue___14: /* CIL Label */ ;
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: /* CIL Label */ ;
10785  }
10786  {
10787#line 1101
10788  while (1) {
10789    while_continue___15: /* CIL Label */ ;
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: /* CIL Label */ ;
10816  }
10817  {
10818#line 1102
10819  while (1) {
10820    while_continue___16: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
11162  }
11163  {
11164#line 1138
11165  while (1) {
11166    while_continue___19: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
11245  }
11246  {
11247#line 1155
11248  while (1) {
11249    while_continue___21: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
11406    }
11407#line 1189
11408    return (0);
11409  } else {
11410
11411  }
11412  }
11413  {
11414#line 1192
11415  while (1) {
11416    while_continue___2: /* CIL Label */ ;
11417    {
11418#line 1192
11419    while (1) {
11420      while_continue___3: /* CIL Label */ ;
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: /* CIL Label */ ;
11437    }
11438#line 1192
11439    goto while_break___2;
11440  }
11441  while_break___2: /* CIL Label */ ;
11442  }
11443#line 1193
11444  i = 0;
11445  {
11446#line 1193
11447  while (1) {
11448    while_continue___4: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
11815  }
11816#line 1238
11817  j = 0;
11818  {
11819#line 1238
11820  while (1) {
11821    while_continue___3: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
12353      }
12354#line 1327
12355      return;
12356    } else {
12357#line 1330
12358      wait = 10;
12359    }
12360  }
12361  while_break: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
12436  }
12437  {
12438#line 1348
12439  while (1) {
12440    while_continue___0: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
12733    }
12734    {
12735#line 1403
12736    while (1) {
12737      while_continue___1: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
12797    }
12798#line 1410
12799    return (-1);
12800  } else {
12801
12802  }
12803  }
12804  {
12805#line 1413
12806  while (1) {
12807    while_continue___3: /* CIL Label */ ;
12808    {
12809#line 1413
12810    while (1) {
12811      while_continue___4: /* CIL Label */ ;
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: /* CIL Label */ ;
12828    }
12829#line 1413
12830    goto while_break___3;
12831  }
12832  while_break___3: /* CIL Label */ ;
12833  }
12834#line 1414
12835  i = 0;
12836  {
12837#line 1414
12838  while (1) {
12839    while_continue___5: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
13262    {
13263#line 1504
13264    while (1) {
13265      while_continue___4: /* CIL Label */ ;
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: /* CIL Label */ ;
13282    }
13283#line 1504
13284    goto while_break___3;
13285  }
13286  while_break___3: /* CIL Label */ ;
13287  }
13288#line 1505
13289  i = 0;
13290  {
13291#line 1505
13292  while (1) {
13293    while_continue___5: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
13990    }
13991#line 1591
13992    return;
13993  } else {
13994
13995  }
13996  {
13997#line 1594
13998  while (1) {
13999    while_continue___0: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
14077    }
14078#line 1603
14079    return;
14080  } else {
14081
14082  }
14083  }
14084  {
14085#line 1606
14086  while (1) {
14087    while_continue___2: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
14358    }
14359#line 1647
14360    return;
14361  } else {
14362
14363  }
14364  }
14365  {
14366#line 1650
14367  while (1) {
14368    while_continue___1: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
15307    }
15308#line 1840
15309    return (-1);
15310  } else {
15311
15312  }
15313  {
15314#line 1843
15315  while (1) {
15316    while_continue___1: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
16020    }
16021#line 1967
16022    return;
16023  } else {
16024
16025  }
16026  }
16027  {
16028#line 1970
16029  while (1) {
16030    while_continue___3: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ 
16102#line 1983
16103        lData = (__u8 )0;
16104#line 1984
16105        goto switch_break;
16106        case_16: /* CIL Label */ 
16107#line 1987
16108        lData = (__u8 )1;
16109#line 1988
16110        goto switch_break;
16111        case_32: /* CIL Label */ 
16112#line 1991
16113        lData = (__u8 )2;
16114#line 1992
16115        goto switch_break;
16116        switch_default: /* CIL Label */ 
16117#line 1995
16118        lData = (__u8 )3;
16119#line 1996
16120        goto switch_break;
16121      } else {
16122        switch_break: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
16158      }
16159    } else {
16160#line 2005
16161      lParity = (__u8 )24;
16162      {
16163#line 2006
16164      while (1) {
16165        while_continue___5: /* CIL Label */ ;
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: /* CIL Label */ ;
16184      }
16185    }
16186  } else {
16187    {
16188#line 2010
16189    while (1) {
16190      while_continue___6: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
16248    }
16249  } else {
16250#line 2021
16251    lStop = (__u8 )0;
16252    {
16253#line 2022
16254    while (1) {
16255      while_continue___8: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
16505    }
16506#line 2073
16507    baud = 9600;
16508  } else {
16509
16510  }
16511  {
16512#line 2076
16513  while (1) {
16514    while_continue___11: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
16871    }
16872#line 2132
16873    return;
16874  } else {
16875
16876  }
16877  }
16878  {
16879#line 2135
16880  while (1) {
16881    while_continue___3: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
16957  }
16958  {
16959#line 2141
16960  while (1) {
16961    while_continue___5: /* CIL Label */ ;
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: /* CIL Label */ ;
16990  }
16991  {
16992#line 2143
16993  while (1) {
16994    while_continue___6: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ 
17840      {
17841#line 2285
17842      while (1) {
17843        while_continue___1: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ 
17880      {
17881#line 2289
17882      while (1) {
17883        while_continue___2: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ 
17920      {
17921#line 2293
17922      while (1) {
17923        while_continue___3: /* CIL Label */ ;
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: /* CIL Label */ ;
17950      }
17951#line 2294
17952      goto switch_break;
17953      case_21596: /* CIL Label */ 
17954      {
17955#line 2297
17956      while (1) {
17957        while_continue___4: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
18141            }
18142            while_break___7: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ ;
18320      }
18321#line 2323
18322      goto switch_break;
18323      switch_default: /* CIL Label */ 
18324#line 2326
18325      goto switch_break;
18326    } else {
18327      switch_break: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
18854  }
18855#line 2369
18856  if (! serial) {
18857    {
18858#line 2370
18859    while (1) {
18860      while_continue___0: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
18909  }
18910  {
18911#line 2377
18912  while (1) {
18913    while_continue___2: /* CIL Label */ ;
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: /* CIL Label */ ;
18932  }
18933#line 2383
18934  i = 0;
18935  {
18936#line 2383
18937  while (1) {
18938    while_continue___3: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
19076      }
19077#line 2399
19078      goto while_break___5;
19079    }
19080    while_break___5: /* CIL Label */ ;
19081    }
19082#line 2404
19083    *((int *)mos7840_port) = i + 1;
19084    {
19085#line 2405
19086    while (1) {
19087      while_continue___7: /* CIL Label */ ;
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: /* CIL Label */ ;
19124    }
19125    {
19126#line 2406
19127    while (1) {
19128      while_continue___8: /* CIL Label */ ;
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: /* CIL Label */ ;
19167    }
19168    {
19169#line 2407
19170    while (1) {
19171      while_continue___9: /* CIL Label */ ;
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: /* CIL Label */ ;
19192    }
19193    {
19194#line 2408
19195    while (1) {
19196      while_continue___10: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ ;
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: /* CIL Label */ ;
19481      }
19482#line 2443
19483      goto while_break___3;
19484    } else {
19485      {
19486#line 2445
19487      while (1) {
19488        while_continue___12: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
19589      }
19590#line 2456
19591      goto while_break___3;
19592    } else {
19593      {
19594#line 2458
19595      while (1) {
19596        while_continue___14: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
19673      }
19674#line 2468
19675      goto while_break___3;
19676    } else {
19677      {
19678#line 2470
19679      while (1) {
19680        while_continue___16: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
19759      }
19760#line 2477
19761      goto while_break___3;
19762    } else {
19763      {
19764#line 2479
19765      while (1) {
19766        while_continue___18: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
19845      }
19846#line 2486
19847      goto while_break___3;
19848    } else {
19849      {
19850#line 2488
19851      while (1) {
19852        while_continue___20: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
19921      }
19922#line 2496
19923      goto while_break___3;
19924    } else {
19925      {
19926#line 2498
19927      while (1) {
19928        while_continue___22: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
19997      }
19998#line 2506
19999      goto error;
20000    } else {
20001      {
20002#line 2508
20003      while (1) {
20004        while_continue___24: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
20073      }
20074#line 2518
20075      goto while_break___3;
20076    } else {
20077      {
20078#line 2520
20079      while (1) {
20080        while_continue___26: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
20183        }
20184#line 2534
20185        if (status < 0) {
20186          {
20187#line 2535
20188          while (1) {
20189            while_continue___28: /* CIL Label */ ;
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: /* CIL Label */ ;
20210          }
20211#line 2537
20212          goto while_break___3;
20213        } else {
20214          {
20215#line 2539
20216          while (1) {
20217            while_continue___29: /* CIL Label */ ;
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: /* CIL Label */ ;
20238          }
20239        }
20240      } else {
20241#line 2524
20242        goto _L___2;
20243      }
20244      }
20245    } else {
20246      _L___2: /* CIL Label */ 
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: /* CIL Label */ ;
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: /* CIL Label */ ;
20317      }
20318#line 2549
20319      if (status < 0) {
20320        {
20321#line 2550
20322        while (1) {
20323          while_continue___31: /* CIL Label */ ;
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: /* CIL Label */ ;
20344        }
20345#line 2552
20346        goto while_break___3;
20347      } else {
20348        {
20349#line 2554
20350        while (1) {
20351          while_continue___32: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
20455  }
20456  {
20457#line 2568
20458  while (1) {
20459    while_continue___33: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
20526    }
20527#line 2575
20528    goto error;
20529  } else {
20530    {
20531#line 2577
20532    while (1) {
20533      while_continue___35: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
20718  }
20719#line 2608
20720  if (! serial) {
20721    {
20722#line 2609
20723    while (1) {
20724      while_continue___0: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
20808    }
20809#line 2621
20810    if (mos7840_port) {
20811      {
20812#line 2622
20813      while (1) {
20814        while_continue___3: /* CIL Label */ ;
20815        {
20816#line 2622
20817        while (1) {
20818          while_continue___4: /* CIL Label */ ;
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: /* CIL Label */ ;
20835        }
20836#line 2622
20837        goto while_break___3;
20838      }
20839      while_break___3: /* CIL Label */ ;
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: /* CIL Label */ ;
20872  }
20873  {
20874#line 2629
20875  while (1) {
20876    while_continue___5: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
20950  }
20951#line 2644
20952  if (! serial) {
20953    {
20954#line 2645
20955    while (1) {
20956      while_continue___0: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
21076  }
21077  {
21078#line 2664
21079  while (1) {
21080    while_continue___3: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
21529        {
21530#line 5866
21531        mos7840_write_room(var_group1);
21532        }
21533#line 5885
21534        goto switch_break;
21535        case_7: /* CIL Label */ 
21536        {
21537#line 5990
21538        mos7840_chars_in_buffer(var_group1);
21539        }
21540#line 6009
21541        goto switch_break;
21542        case_8: /* CIL Label */ 
21543        {
21544#line 6116
21545        mos7840_throttle(var_group1);
21546        }
21547#line 6133
21548        goto switch_break;
21549        case_9: /* CIL Label */ 
21550        {
21551#line 6240
21552        mos7840_unthrottle(var_group1);
21553        }
21554#line 6257
21555        goto switch_break;
21556        case_10: /* CIL Label */ 
21557        {
21558#line 6370
21559        mos7840_calc_num_ports(var_group3);
21560        }
21561#line 6381
21562        goto switch_break;
21563        case_11: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
21585        {
21586#line 6860
21587        mos7840_tiocmget(var_group1);
21588        }
21589#line 6877
21590        goto switch_break;
21591        case_15: /* CIL Label */ 
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: /* CIL Label */ 
21599        {
21600#line 7114
21601        mos7840_get_icount(var_group1, var_group4);
21602        }
21603#line 7125
21604        goto switch_break;
21605        case_17: /* CIL Label */ 
21606        {
21607#line 7238
21608        mos7840_startup(var_group3);
21609        }
21610#line 7249
21611        goto switch_break;
21612        case_18: /* CIL Label */ 
21613        {
21614#line 7352
21615        mos7840_bulk_in_callback(var_group5);
21616        }
21617#line 7373
21618        goto switch_break;
21619        case_19: /* CIL Label */ 
21620        {
21621#line 7476
21622        mos7840_interrupt_callback(var_group5);
21623        }
21624#line 7497
21625        goto switch_break;
21626        switch_default: /* CIL Label */ 
21627#line 7498
21628        goto switch_break;
21629      } else {
21630        switch_break: /* CIL Label */ ;
21631      }
21632      }
21633    }
21634  }
21635  while_break: /* CIL Label */ ;
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}