Showing error 208

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-drivers/usb_urb-drivers-uwb-i1480-dfu-i1480-dfu-usb.ko-safe.cil.out.i.pp.cil.c
Line in file: 4489
Project: SV-COMP 2012
Tools: Manual Work
Entered: 2012-11-19 13:47:39 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 46 "include/asm-generic/int-ll64.h"
  23typedef unsigned short u16;
  24#line 49 "include/asm-generic/int-ll64.h"
  25typedef unsigned int u32;
  26#line 51 "include/asm-generic/int-ll64.h"
  27typedef long long s64;
  28#line 52 "include/asm-generic/int-ll64.h"
  29typedef unsigned long long u64;
  30#line 11 "include/asm-generic/types.h"
  31typedef unsigned short umode_t;
  32#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  33typedef unsigned int __kernel_mode_t;
  34#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  35typedef int __kernel_pid_t;
  36#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  37typedef unsigned int __kernel_uid_t;
  38#line 17 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  39typedef unsigned int __kernel_gid_t;
  40#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  41typedef unsigned long __kernel_size_t;
  42#line 19 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  43typedef long __kernel_ssize_t;
  44#line 21 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  45typedef long __kernel_time_t;
  46#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  47typedef long __kernel_clock_t;
  48#line 24 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  49typedef int __kernel_timer_t;
  50#line 25 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  51typedef int __kernel_clockid_t;
  52#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  53typedef long long __kernel_loff_t;
  54#line 41 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  55typedef __kernel_uid_t __kernel_uid32_t;
  56#line 42 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  57typedef __kernel_gid_t __kernel_gid32_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 26 "include/linux/types.h"
  63typedef __kernel_mode_t mode_t;
  64#line 29 "include/linux/types.h"
  65typedef __kernel_pid_t pid_t;
  66#line 34 "include/linux/types.h"
  67typedef __kernel_clockid_t clockid_t;
  68#line 37 "include/linux/types.h"
  69typedef _Bool bool;
  70#line 39 "include/linux/types.h"
  71typedef __kernel_uid32_t uid_t;
  72#line 40 "include/linux/types.h"
  73typedef __kernel_gid32_t gid_t;
  74#line 53 "include/linux/types.h"
  75typedef __kernel_loff_t loff_t;
  76#line 62 "include/linux/types.h"
  77typedef __kernel_size_t size_t;
  78#line 67 "include/linux/types.h"
  79typedef __kernel_ssize_t ssize_t;
  80#line 77 "include/linux/types.h"
  81typedef __kernel_time_t time_t;
  82#line 110 "include/linux/types.h"
  83typedef __s32 int32_t;
  84#line 116 "include/linux/types.h"
  85typedef __u32 uint32_t;
  86#line 141 "include/linux/types.h"
  87typedef unsigned long sector_t;
  88#line 142 "include/linux/types.h"
  89typedef unsigned long blkcnt_t;
  90#line 154 "include/linux/types.h"
  91typedef u64 dma_addr_t;
  92#line 177 "include/linux/types.h"
  93typedef __u16 __le16;
  94#line 201 "include/linux/types.h"
  95typedef unsigned int gfp_t;
  96#line 202 "include/linux/types.h"
  97typedef unsigned int fmode_t;
  98#line 212 "include/linux/types.h"
  99struct __anonstruct_atomic_t_7 {
 100   int counter ;
 101};
 102#line 212 "include/linux/types.h"
 103typedef struct __anonstruct_atomic_t_7 atomic_t;
 104#line 217 "include/linux/types.h"
 105struct __anonstruct_atomic64_t_8 {
 106   long counter ;
 107};
 108#line 217 "include/linux/types.h"
 109typedef struct __anonstruct_atomic64_t_8 atomic64_t;
 110#line 222 "include/linux/types.h"
 111struct list_head {
 112   struct list_head *next ;
 113   struct list_head *prev ;
 114};
 115#line 226
 116struct hlist_node;
 117#line 226
 118struct hlist_node;
 119#line 226 "include/linux/types.h"
 120struct hlist_head {
 121   struct hlist_node *first ;
 122};
 123#line 230 "include/linux/types.h"
 124struct hlist_node {
 125   struct hlist_node *next ;
 126   struct hlist_node **pprev ;
 127};
 128#line 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
 129struct module;
 130#line 59
 131struct module;
 132#line 145 "include/linux/init.h"
 133typedef void (*ctor_fn_t)(void);
 134#line 10 "include/asm-generic/bug.h"
 135struct bug_entry {
 136   int bug_addr_disp ;
 137   int file_disp ;
 138   unsigned short line ;
 139   unsigned short flags ;
 140};
 141#line 113 "include/linux/kernel.h"
 142struct completion;
 143#line 113
 144struct completion;
 145#line 114
 146struct pt_regs;
 147#line 114
 148struct pt_regs;
 149#line 322
 150struct pid;
 151#line 322
 152struct pid;
 153#line 476 "include/linux/uwb/spec.h"
 154struct uwb_rccb {
 155   u8 bCommandType ;
 156   __le16 wCommand ;
 157   u8 bCommandContext ;
 158} __attribute__((__packed__)) ;
 159#line 484 "include/linux/uwb/spec.h"
 160struct uwb_rceb {
 161   u8 bEventType ;
 162   __le16 wEvent ;
 163   u8 bEventContext ;
 164} __attribute__((__packed__)) ;
 165#line 12 "include/linux/thread_info.h"
 166struct timespec;
 167#line 12
 168struct timespec;
 169#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page.h"
 170struct page;
 171#line 18
 172struct page;
 173#line 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
 174struct task_struct;
 175#line 20
 176struct task_struct;
 177#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 178struct mm_struct;
 179#line 8
 180struct mm_struct;
 181#line 99 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/ptrace.h"
 182struct pt_regs {
 183   unsigned long r15 ;
 184   unsigned long r14 ;
 185   unsigned long r13 ;
 186   unsigned long r12 ;
 187   unsigned long bp ;
 188   unsigned long bx ;
 189   unsigned long r11 ;
 190   unsigned long r10 ;
 191   unsigned long r9 ;
 192   unsigned long r8 ;
 193   unsigned long ax ;
 194   unsigned long cx ;
 195   unsigned long dx ;
 196   unsigned long si ;
 197   unsigned long di ;
 198   unsigned long orig_ax ;
 199   unsigned long ip ;
 200   unsigned long cs ;
 201   unsigned long flags ;
 202   unsigned long sp ;
 203   unsigned long ss ;
 204};
 205#line 141 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
 206struct kernel_vm86_regs {
 207   struct pt_regs pt ;
 208   unsigned short es ;
 209   unsigned short __esh ;
 210   unsigned short ds ;
 211   unsigned short __dsh ;
 212   unsigned short fs ;
 213   unsigned short __fsh ;
 214   unsigned short gs ;
 215   unsigned short __gsh ;
 216};
 217#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/math_emu.h"
 218union __anonunion____missing_field_name_25 {
 219   struct pt_regs *regs ;
 220   struct kernel_vm86_regs *vm86 ;
 221};
 222#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/math_emu.h"
 223struct math_emu_info {
 224   long ___orig_eip ;
 225   union __anonunion____missing_field_name_25 __annonCompField5 ;
 226};
 227#line 13 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
 228typedef unsigned long pgdval_t;
 229#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
 230typedef unsigned long pgprotval_t;
 231#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 232struct pgprot {
 233   pgprotval_t pgprot ;
 234};
 235#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 236typedef struct pgprot pgprot_t;
 237#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 238struct __anonstruct_pgd_t_28 {
 239   pgdval_t pgd ;
 240};
 241#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 242typedef struct __anonstruct_pgd_t_28 pgd_t;
 243#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 244typedef struct page *pgtable_t;
 245#line 293
 246struct file;
 247#line 293
 248struct file;
 249#line 311
 250struct seq_file;
 251#line 311
 252struct seq_file;
 253#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
 254struct __anonstruct____missing_field_name_33 {
 255   unsigned int a ;
 256   unsigned int b ;
 257};
 258#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
 259struct __anonstruct____missing_field_name_34 {
 260   u16 limit0 ;
 261   u16 base0 ;
 262   unsigned int base1 : 8 ;
 263   unsigned int type : 4 ;
 264   unsigned int s : 1 ;
 265   unsigned int dpl : 2 ;
 266   unsigned int p : 1 ;
 267   unsigned int limit : 4 ;
 268   unsigned int avl : 1 ;
 269   unsigned int l : 1 ;
 270   unsigned int d : 1 ;
 271   unsigned int g : 1 ;
 272   unsigned int base2 : 8 ;
 273};
 274#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
 275union __anonunion____missing_field_name_32 {
 276   struct __anonstruct____missing_field_name_33 __annonCompField7 ;
 277   struct __anonstruct____missing_field_name_34 __annonCompField8 ;
 278};
 279#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
 280struct desc_struct {
 281   union __anonunion____missing_field_name_32 __annonCompField9 ;
 282} __attribute__((__packed__)) ;
 283#line 46 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 284struct thread_struct;
 285#line 46
 286struct thread_struct;
 287#line 52
 288struct cpumask;
 289#line 52
 290struct cpumask;
 291#line 322
 292struct arch_spinlock;
 293#line 322
 294struct arch_spinlock;
 295#line 13 "include/linux/cpumask.h"
 296struct cpumask {
 297   unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 298};
 299#line 13 "include/linux/cpumask.h"
 300typedef struct cpumask cpumask_t;
 301#line 622 "include/linux/cpumask.h"
 302typedef struct cpumask *cpumask_var_t;
 303#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 304struct i387_fsave_struct {
 305   u32 cwd ;
 306   u32 swd ;
 307   u32 twd ;
 308   u32 fip ;
 309   u32 fcs ;
 310   u32 foo ;
 311   u32 fos ;
 312   u32 st_space[20] ;
 313   u32 status ;
 314};
 315#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 316struct __anonstruct____missing_field_name_42 {
 317   u64 rip ;
 318   u64 rdp ;
 319};
 320#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 321struct __anonstruct____missing_field_name_43 {
 322   u32 fip ;
 323   u32 fcs ;
 324   u32 foo ;
 325   u32 fos ;
 326};
 327#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 328union __anonunion____missing_field_name_41 {
 329   struct __anonstruct____missing_field_name_42 __annonCompField12 ;
 330   struct __anonstruct____missing_field_name_43 __annonCompField13 ;
 331};
 332#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 333union __anonunion____missing_field_name_44 {
 334   u32 padding1[12] ;
 335   u32 sw_reserved[12] ;
 336};
 337#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 338struct i387_fxsave_struct {
 339   u16 cwd ;
 340   u16 swd ;
 341   u16 twd ;
 342   u16 fop ;
 343   union __anonunion____missing_field_name_41 __annonCompField14 ;
 344   u32 mxcsr ;
 345   u32 mxcsr_mask ;
 346   u32 st_space[32] ;
 347   u32 xmm_space[64] ;
 348   u32 padding[12] ;
 349   union __anonunion____missing_field_name_44 __annonCompField15 ;
 350} __attribute__((__aligned__(16))) ;
 351#line 331 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 352struct i387_soft_struct {
 353   u32 cwd ;
 354   u32 swd ;
 355   u32 twd ;
 356   u32 fip ;
 357   u32 fcs ;
 358   u32 foo ;
 359   u32 fos ;
 360   u32 st_space[20] ;
 361   u8 ftop ;
 362   u8 changed ;
 363   u8 lookahead ;
 364   u8 no_update ;
 365   u8 rm ;
 366   u8 alimit ;
 367   struct math_emu_info *info ;
 368   u32 entry_eip ;
 369};
 370#line 351 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 371struct ymmh_struct {
 372   u32 ymmh_space[64] ;
 373};
 374#line 356 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 375struct xsave_hdr_struct {
 376   u64 xstate_bv ;
 377   u64 reserved1[2] ;
 378   u64 reserved2[5] ;
 379} __attribute__((__packed__)) ;
 380#line 362 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 381struct xsave_struct {
 382   struct i387_fxsave_struct i387 ;
 383   struct xsave_hdr_struct xsave_hdr ;
 384   struct ymmh_struct ymmh ;
 385} __attribute__((__packed__, __aligned__(64))) ;
 386#line 369 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 387union thread_xstate {
 388   struct i387_fsave_struct fsave ;
 389   struct i387_fxsave_struct fxsave ;
 390   struct i387_soft_struct soft ;
 391   struct xsave_struct xsave ;
 392};
 393#line 376 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 394struct fpu {
 395   union thread_xstate *state ;
 396};
 397#line 421
 398struct kmem_cache;
 399#line 421
 400struct kmem_cache;
 401#line 423
 402struct perf_event;
 403#line 423
 404struct perf_event;
 405#line 425 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 406struct thread_struct {
 407   struct desc_struct tls_array[3] ;
 408   unsigned long sp0 ;
 409   unsigned long sp ;
 410   unsigned long usersp ;
 411   unsigned short es ;
 412   unsigned short ds ;
 413   unsigned short fsindex ;
 414   unsigned short gsindex ;
 415   unsigned long fs ;
 416   unsigned long gs ;
 417   struct perf_event *ptrace_bps[4] ;
 418   unsigned long debugreg6 ;
 419   unsigned long ptrace_dr7 ;
 420   unsigned long cr2 ;
 421   unsigned long trap_no ;
 422   unsigned long error_code ;
 423   struct fpu fpu ;
 424   unsigned long *io_bitmap_ptr ;
 425   unsigned long iopl ;
 426   unsigned int io_bitmap_max ;
 427};
 428#line 23 "include/asm-generic/atomic-long.h"
 429typedef atomic64_t atomic_long_t;
 430#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
 431struct arch_spinlock {
 432   unsigned int slock ;
 433};
 434#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
 435typedef struct arch_spinlock arch_spinlock_t;
 436#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
 437struct __anonstruct_arch_rwlock_t_47 {
 438   unsigned int lock ;
 439};
 440#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
 441typedef struct __anonstruct_arch_rwlock_t_47 arch_rwlock_t;
 442#line 13 "include/linux/lockdep.h"
 443struct lockdep_map;
 444#line 13
 445struct lockdep_map;
 446#line 10 "include/linux/stacktrace.h"
 447struct stack_trace {
 448   unsigned int nr_entries ;
 449   unsigned int max_entries ;
 450   unsigned long *entries ;
 451   int skip ;
 452};
 453#line 50 "include/linux/lockdep.h"
 454struct lockdep_subclass_key {
 455   char __one_byte ;
 456} __attribute__((__packed__)) ;
 457#line 54 "include/linux/lockdep.h"
 458struct lock_class_key {
 459   struct lockdep_subclass_key subkeys[8UL] ;
 460};
 461#line 65 "include/linux/lockdep.h"
 462struct lock_class {
 463   struct list_head hash_entry ;
 464   struct list_head lock_entry ;
 465   struct lockdep_subclass_key *key ;
 466   unsigned int subclass ;
 467   unsigned int dep_gen_id ;
 468   unsigned long usage_mask ;
 469   struct stack_trace usage_traces[13] ;
 470   struct list_head locks_after ;
 471   struct list_head locks_before ;
 472   unsigned int version ;
 473   unsigned long ops ;
 474   char const   *name ;
 475   int name_version ;
 476   unsigned long contention_point[4] ;
 477   unsigned long contending_point[4] ;
 478};
 479#line 150 "include/linux/lockdep.h"
 480struct lockdep_map {
 481   struct lock_class_key *key ;
 482   struct lock_class *class_cache[2] ;
 483   char const   *name ;
 484   int cpu ;
 485   unsigned long ip ;
 486};
 487#line 196 "include/linux/lockdep.h"
 488struct held_lock {
 489   u64 prev_chain_key ;
 490   unsigned long acquire_ip ;
 491   struct lockdep_map *instance ;
 492   struct lockdep_map *nest_lock ;
 493   u64 waittime_stamp ;
 494   u64 holdtime_stamp ;
 495   unsigned int class_idx : 13 ;
 496   unsigned int irq_context : 2 ;
 497   unsigned int trylock : 1 ;
 498   unsigned int read : 2 ;
 499   unsigned int check : 2 ;
 500   unsigned int hardirqs_off : 1 ;
 501   unsigned int references : 11 ;
 502};
 503#line 20 "include/linux/spinlock_types.h"
 504struct raw_spinlock {
 505   arch_spinlock_t raw_lock ;
 506   unsigned int magic ;
 507   unsigned int owner_cpu ;
 508   void *owner ;
 509   struct lockdep_map dep_map ;
 510};
 511#line 20 "include/linux/spinlock_types.h"
 512typedef struct raw_spinlock raw_spinlock_t;
 513#line 64 "include/linux/spinlock_types.h"
 514struct __anonstruct____missing_field_name_49 {
 515   u8 __padding[(unsigned int )(& ((struct raw_spinlock *)0)->dep_map)] ;
 516   struct lockdep_map dep_map ;
 517};
 518#line 64 "include/linux/spinlock_types.h"
 519union __anonunion____missing_field_name_48 {
 520   struct raw_spinlock rlock ;
 521   struct __anonstruct____missing_field_name_49 __annonCompField17 ;
 522};
 523#line 64 "include/linux/spinlock_types.h"
 524struct spinlock {
 525   union __anonunion____missing_field_name_48 __annonCompField18 ;
 526};
 527#line 64 "include/linux/spinlock_types.h"
 528typedef struct spinlock spinlock_t;
 529#line 11 "include/linux/rwlock_types.h"
 530struct __anonstruct_rwlock_t_50 {
 531   arch_rwlock_t raw_lock ;
 532   unsigned int magic ;
 533   unsigned int owner_cpu ;
 534   void *owner ;
 535   struct lockdep_map dep_map ;
 536};
 537#line 11 "include/linux/rwlock_types.h"
 538typedef struct __anonstruct_rwlock_t_50 rwlock_t;
 539#line 50 "include/linux/wait.h"
 540struct __wait_queue_head {
 541   spinlock_t lock ;
 542   struct list_head task_list ;
 543};
 544#line 54 "include/linux/wait.h"
 545typedef struct __wait_queue_head wait_queue_head_t;
 546#line 25 "include/linux/completion.h"
 547struct completion {
 548   unsigned int done ;
 549   wait_queue_head_t wait ;
 550};
 551#line 113 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/uwb/i1480/dfu/i1480-dfu.h"
 552struct device;
 553#line 113
 554struct device;
 555#line 113 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/uwb/i1480/dfu/i1480-dfu.h"
 556struct i1480 {
 557   struct device *dev ;
 558   int (*write)(struct i1480 * , u32 addr , void const   * , size_t  ) ;
 559   int (*read)(struct i1480 * , u32 addr , size_t  ) ;
 560   int (*rc_setup)(struct i1480 * ) ;
 561   void (*rc_release)(struct i1480 * ) ;
 562   int (*wait_init_done)(struct i1480 * ) ;
 563   int (*cmd)(struct i1480 * , char const   *cmd_name , size_t cmd_size ) ;
 564   char const   *pre_fw_name ;
 565   char const   *mac_fw_name ;
 566   char const   *mac_fw_name_deprecate ;
 567   char const   *phy_fw_name ;
 568   u8 hw_rev ;
 569   size_t buf_size ;
 570   void *evt_buf ;
 571   void *cmd_buf ;
 572   ssize_t evt_result ;
 573   struct completion evt_complete ;
 574};
 575#line 219 "include/linux/mod_devicetable.h"
 576struct of_device_id {
 577   char name[32] ;
 578   char type[32] ;
 579   char compatible[128] ;
 580   void *data ;
 581};
 582#line 20 "include/linux/kobject_ns.h"
 583struct sock;
 584#line 20
 585struct sock;
 586#line 21
 587struct kobject;
 588#line 21
 589struct kobject;
 590#line 27
 591enum kobj_ns_type {
 592    KOBJ_NS_TYPE_NONE = 0,
 593    KOBJ_NS_TYPE_NET = 1,
 594    KOBJ_NS_TYPES = 2
 595} ;
 596#line 40 "include/linux/kobject_ns.h"
 597struct kobj_ns_type_operations {
 598   enum kobj_ns_type type ;
 599   void *(*grab_current_ns)(void) ;
 600   void const   *(*netlink_ns)(struct sock *sk ) ;
 601   void const   *(*initial_ns)(void) ;
 602   void (*drop_ns)(void * ) ;
 603};
 604#line 24 "include/linux/sysfs.h"
 605enum kobj_ns_type;
 606#line 26 "include/linux/sysfs.h"
 607struct attribute {
 608   char const   *name ;
 609   mode_t mode ;
 610   struct lock_class_key *key ;
 611   struct lock_class_key skey ;
 612};
 613#line 56 "include/linux/sysfs.h"
 614struct attribute_group {
 615   char const   *name ;
 616   mode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 617   struct attribute **attrs ;
 618};
 619#line 86
 620struct vm_area_struct;
 621#line 86
 622struct vm_area_struct;
 623#line 88 "include/linux/sysfs.h"
 624struct bin_attribute {
 625   struct attribute attr ;
 626   size_t size ;
 627   void *private ;
 628   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 629                   loff_t  , size_t  ) ;
 630   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 631                    loff_t  , size_t  ) ;
 632   int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
 633};
 634#line 112 "include/linux/sysfs.h"
 635struct sysfs_ops {
 636   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 637   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 638};
 639#line 117
 640struct sysfs_dirent;
 641#line 117
 642struct sysfs_dirent;
 643#line 20 "include/linux/kref.h"
 644struct kref {
 645   atomic_t refcount ;
 646};
 647#line 60 "include/linux/kobject.h"
 648struct kset;
 649#line 60
 650struct kset;
 651#line 60
 652struct kobj_type;
 653#line 60
 654struct kobj_type;
 655#line 60 "include/linux/kobject.h"
 656struct kobject {
 657   char const   *name ;
 658   struct list_head entry ;
 659   struct kobject *parent ;
 660   struct kset *kset ;
 661   struct kobj_type *ktype ;
 662   struct sysfs_dirent *sd ;
 663   struct kref kref ;
 664   unsigned int state_initialized : 1 ;
 665   unsigned int state_in_sysfs : 1 ;
 666   unsigned int state_add_uevent_sent : 1 ;
 667   unsigned int state_remove_uevent_sent : 1 ;
 668   unsigned int uevent_suppress : 1 ;
 669};
 670#line 110 "include/linux/kobject.h"
 671struct kobj_type {
 672   void (*release)(struct kobject *kobj ) ;
 673   struct sysfs_ops  const  *sysfs_ops ;
 674   struct attribute **default_attrs ;
 675   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject *kobj ) ;
 676   void const   *(*namespace)(struct kobject *kobj ) ;
 677};
 678#line 118 "include/linux/kobject.h"
 679struct kobj_uevent_env {
 680   char *envp[32] ;
 681   int envp_idx ;
 682   char buf[2048] ;
 683   int buflen ;
 684};
 685#line 125 "include/linux/kobject.h"
 686struct kset_uevent_ops {
 687   int (* const  filter)(struct kset *kset , struct kobject *kobj ) ;
 688   char const   *(* const  name)(struct kset *kset , struct kobject *kobj ) ;
 689   int (* const  uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
 690};
 691#line 161 "include/linux/kobject.h"
 692struct kset {
 693   struct list_head list ;
 694   spinlock_t list_lock ;
 695   struct kobject kobj ;
 696   struct kset_uevent_ops  const  *uevent_ops ;
 697};
 698#line 19 "include/linux/klist.h"
 699struct klist_node;
 700#line 19
 701struct klist_node;
 702#line 39 "include/linux/klist.h"
 703struct klist_node {
 704   void *n_klist ;
 705   struct list_head n_node ;
 706   struct kref n_ref ;
 707};
 708#line 119 "include/linux/seqlock.h"
 709struct seqcount {
 710   unsigned int sequence ;
 711};
 712#line 119 "include/linux/seqlock.h"
 713typedef struct seqcount seqcount_t;
 714#line 14 "include/linux/time.h"
 715struct timespec {
 716   __kernel_time_t tv_sec ;
 717   long tv_nsec ;
 718};
 719#line 62 "include/linux/stat.h"
 720struct kstat {
 721   u64 ino ;
 722   dev_t dev ;
 723   umode_t mode ;
 724   unsigned int nlink ;
 725   uid_t uid ;
 726   gid_t gid ;
 727   dev_t rdev ;
 728   loff_t size ;
 729   struct timespec atime ;
 730   struct timespec mtime ;
 731   struct timespec ctime ;
 732   unsigned long blksize ;
 733   unsigned long long blocks ;
 734};
 735#line 96 "include/linux/nodemask.h"
 736struct __anonstruct_nodemask_t_56 {
 737   unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 738};
 739#line 96 "include/linux/nodemask.h"
 740typedef struct __anonstruct_nodemask_t_56 nodemask_t;
 741#line 48 "include/linux/mutex.h"
 742struct mutex {
 743   atomic_t count ;
 744   spinlock_t wait_lock ;
 745   struct list_head wait_list ;
 746   struct task_struct *owner ;
 747   char const   *name ;
 748   void *magic ;
 749   struct lockdep_map dep_map ;
 750};
 751#line 69 "include/linux/mutex.h"
 752struct mutex_waiter {
 753   struct list_head list ;
 754   struct task_struct *task ;
 755   void *magic ;
 756};
 757#line 20 "include/linux/rwsem.h"
 758struct rw_semaphore;
 759#line 20
 760struct rw_semaphore;
 761#line 26 "include/linux/rwsem.h"
 762struct rw_semaphore {
 763   long count ;
 764   spinlock_t wait_lock ;
 765   struct list_head wait_list ;
 766   struct lockdep_map dep_map ;
 767};
 768#line 46 "include/linux/ktime.h"
 769union ktime {
 770   s64 tv64 ;
 771};
 772#line 59 "include/linux/ktime.h"
 773typedef union ktime ktime_t;
 774#line 10 "include/linux/timer.h"
 775struct tvec_base;
 776#line 10
 777struct tvec_base;
 778#line 12 "include/linux/timer.h"
 779struct timer_list {
 780   struct list_head entry ;
 781   unsigned long expires ;
 782   struct tvec_base *base ;
 783   void (*function)(unsigned long  ) ;
 784   unsigned long data ;
 785   int slack ;
 786   int start_pid ;
 787   void *start_site ;
 788   char start_comm[16] ;
 789   struct lockdep_map lockdep_map ;
 790};
 791#line 289
 792struct hrtimer;
 793#line 289
 794struct hrtimer;
 795#line 290
 796enum hrtimer_restart;
 797#line 290
 798enum hrtimer_restart;
 799#line 290
 800enum hrtimer_restart;
 801#line 17 "include/linux/workqueue.h"
 802struct work_struct;
 803#line 17
 804struct work_struct;
 805#line 79 "include/linux/workqueue.h"
 806struct work_struct {
 807   atomic_long_t data ;
 808   struct list_head entry ;
 809   void (*func)(struct work_struct *work ) ;
 810   struct lockdep_map lockdep_map ;
 811};
 812#line 92 "include/linux/workqueue.h"
 813struct delayed_work {
 814   struct work_struct work ;
 815   struct timer_list timer ;
 816};
 817#line 50 "include/linux/pm.h"
 818struct pm_message {
 819   int event ;
 820};
 821#line 50 "include/linux/pm.h"
 822typedef struct pm_message pm_message_t;
 823#line 204 "include/linux/pm.h"
 824struct dev_pm_ops {
 825   int (*prepare)(struct device *dev ) ;
 826   void (*complete)(struct device *dev ) ;
 827   int (*suspend)(struct device *dev ) ;
 828   int (*resume)(struct device *dev ) ;
 829   int (*freeze)(struct device *dev ) ;
 830   int (*thaw)(struct device *dev ) ;
 831   int (*poweroff)(struct device *dev ) ;
 832   int (*restore)(struct device *dev ) ;
 833   int (*suspend_noirq)(struct device *dev ) ;
 834   int (*resume_noirq)(struct device *dev ) ;
 835   int (*freeze_noirq)(struct device *dev ) ;
 836   int (*thaw_noirq)(struct device *dev ) ;
 837   int (*poweroff_noirq)(struct device *dev ) ;
 838   int (*restore_noirq)(struct device *dev ) ;
 839   int (*runtime_suspend)(struct device *dev ) ;
 840   int (*runtime_resume)(struct device *dev ) ;
 841   int (*runtime_idle)(struct device *dev ) ;
 842};
 843#line 392
 844enum rpm_status {
 845    RPM_ACTIVE = 0,
 846    RPM_RESUMING = 1,
 847    RPM_SUSPENDED = 2,
 848    RPM_SUSPENDING = 3
 849} ;
 850#line 414
 851enum rpm_request {
 852    RPM_REQ_NONE = 0,
 853    RPM_REQ_IDLE = 1,
 854    RPM_REQ_SUSPEND = 2,
 855    RPM_REQ_AUTOSUSPEND = 3,
 856    RPM_REQ_RESUME = 4
 857} ;
 858#line 422
 859struct wakeup_source;
 860#line 422
 861struct wakeup_source;
 862#line 424 "include/linux/pm.h"
 863struct dev_pm_info {
 864   pm_message_t power_state ;
 865   unsigned int can_wakeup : 1 ;
 866   unsigned int async_suspend : 1 ;
 867   bool is_prepared : 1 ;
 868   bool is_suspended : 1 ;
 869   spinlock_t lock ;
 870   struct list_head entry ;
 871   struct completion completion ;
 872   struct wakeup_source *wakeup ;
 873   struct timer_list suspend_timer ;
 874   unsigned long timer_expires ;
 875   struct work_struct work ;
 876   wait_queue_head_t wait_queue ;
 877   atomic_t usage_count ;
 878   atomic_t child_count ;
 879   unsigned int disable_depth : 3 ;
 880   unsigned int ignore_children : 1 ;
 881   unsigned int idle_notification : 1 ;
 882   unsigned int request_pending : 1 ;
 883   unsigned int deferred_resume : 1 ;
 884   unsigned int run_wake : 1 ;
 885   unsigned int runtime_auto : 1 ;
 886   unsigned int no_callbacks : 1 ;
 887   unsigned int irq_safe : 1 ;
 888   unsigned int use_autosuspend : 1 ;
 889   unsigned int timer_autosuspends : 1 ;
 890   enum rpm_request request ;
 891   enum rpm_status runtime_status ;
 892   int runtime_error ;
 893   int autosuspend_delay ;
 894   unsigned long last_busy ;
 895   unsigned long active_jiffies ;
 896   unsigned long suspended_jiffies ;
 897   unsigned long accounting_timestamp ;
 898   void *subsys_data ;
 899};
 900#line 475 "include/linux/pm.h"
 901struct dev_power_domain {
 902   struct dev_pm_ops ops ;
 903};
 904#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
 905struct __anonstruct_mm_context_t_126 {
 906   void *ldt ;
 907   int size ;
 908   unsigned short ia32_compat ;
 909   struct mutex lock ;
 910   void *vdso ;
 911};
 912#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
 913typedef struct __anonstruct_mm_context_t_126 mm_context_t;
 914#line 72 "include/linux/rcupdate.h"
 915struct rcu_head {
 916   struct rcu_head *next ;
 917   void (*func)(struct rcu_head *head ) ;
 918};
 919#line 937 "include/linux/sysctl.h"
 920struct nsproxy;
 921#line 937
 922struct nsproxy;
 923#line 48 "include/linux/kmod.h"
 924struct cred;
 925#line 48
 926struct cred;
 927#line 27 "include/linux/elf.h"
 928typedef __u64 Elf64_Addr;
 929#line 28 "include/linux/elf.h"
 930typedef __u16 Elf64_Half;
 931#line 32 "include/linux/elf.h"
 932typedef __u32 Elf64_Word;
 933#line 33 "include/linux/elf.h"
 934typedef __u64 Elf64_Xword;
 935#line 203 "include/linux/elf.h"
 936struct elf64_sym {
 937   Elf64_Word st_name ;
 938   unsigned char st_info ;
 939   unsigned char st_other ;
 940   Elf64_Half st_shndx ;
 941   Elf64_Addr st_value ;
 942   Elf64_Xword st_size ;
 943};
 944#line 203 "include/linux/elf.h"
 945typedef struct elf64_sym Elf64_Sym;
 946#line 34 "include/linux/moduleparam.h"
 947struct kernel_param;
 948#line 34
 949struct kernel_param;
 950#line 36 "include/linux/moduleparam.h"
 951struct kernel_param_ops {
 952   int (*set)(char const   *val , struct kernel_param  const  *kp ) ;
 953   int (*get)(char *buffer , struct kernel_param  const  *kp ) ;
 954   void (*free)(void *arg ) ;
 955};
 956#line 48
 957struct kparam_string;
 958#line 48
 959struct kparam_string;
 960#line 48
 961struct kparam_array;
 962#line 48
 963struct kparam_array;
 964#line 48 "include/linux/moduleparam.h"
 965union __anonunion____missing_field_name_210 {
 966   void *arg ;
 967   struct kparam_string  const  *str ;
 968   struct kparam_array  const  *arr ;
 969};
 970#line 48 "include/linux/moduleparam.h"
 971struct kernel_param {
 972   char const   *name ;
 973   struct kernel_param_ops  const  *ops ;
 974   u16 perm ;
 975   u16 flags ;
 976   union __anonunion____missing_field_name_210 __annonCompField31 ;
 977};
 978#line 61 "include/linux/moduleparam.h"
 979struct kparam_string {
 980   unsigned int maxlen ;
 981   char *string ;
 982};
 983#line 67 "include/linux/moduleparam.h"
 984struct kparam_array {
 985   unsigned int max ;
 986   unsigned int elemsize ;
 987   unsigned int *num ;
 988   struct kernel_param_ops  const  *ops ;
 989   void *elem ;
 990};
 991#line 61 "include/linux/jump_label.h"
 992struct jump_label_key {
 993   atomic_t enabled ;
 994};
 995#line 23 "include/linux/tracepoint.h"
 996struct tracepoint;
 997#line 23
 998struct tracepoint;
 999#line 25 "include/linux/tracepoint.h"
1000struct tracepoint_func {
1001   void *func ;
1002   void *data ;
1003};
1004#line 30 "include/linux/tracepoint.h"
1005struct tracepoint {
1006   char const   *name ;
1007   struct jump_label_key key ;
1008   void (*regfunc)(void) ;
1009   void (*unregfunc)(void) ;
1010   struct tracepoint_func *funcs ;
1011};
1012#line 8 "include/asm-generic/module.h"
1013struct mod_arch_specific {
1014
1015};
1016#line 37 "include/linux/module.h"
1017struct kernel_symbol {
1018   unsigned long value ;
1019   char const   *name ;
1020};
1021#line 51 "include/linux/module.h"
1022struct module_attribute {
1023   struct attribute attr ;
1024   ssize_t (*show)(struct module_attribute * , struct module * , char * ) ;
1025   ssize_t (*store)(struct module_attribute * , struct module * , char const   * ,
1026                    size_t count ) ;
1027   void (*setup)(struct module * , char const   * ) ;
1028   int (*test)(struct module * ) ;
1029   void (*free)(struct module * ) ;
1030};
1031#line 70
1032struct module_param_attrs;
1033#line 70
1034struct module_param_attrs;
1035#line 70 "include/linux/module.h"
1036struct module_kobject {
1037   struct kobject kobj ;
1038   struct module *mod ;
1039   struct kobject *drivers_dir ;
1040   struct module_param_attrs *mp ;
1041};
1042#line 83
1043struct exception_table_entry;
1044#line 83
1045struct exception_table_entry;
1046#line 265
1047enum module_state {
1048    MODULE_STATE_LIVE = 0,
1049    MODULE_STATE_COMING = 1,
1050    MODULE_STATE_GOING = 2
1051} ;
1052#line 272
1053struct module_sect_attrs;
1054#line 272
1055struct module_sect_attrs;
1056#line 272
1057struct module_notes_attrs;
1058#line 272
1059struct module_notes_attrs;
1060#line 272
1061struct ftrace_event_call;
1062#line 272
1063struct ftrace_event_call;
1064#line 272 "include/linux/module.h"
1065struct module_ref {
1066   unsigned int incs ;
1067   unsigned int decs ;
1068};
1069#line 272 "include/linux/module.h"
1070struct module {
1071   enum module_state state ;
1072   struct list_head list ;
1073   char name[64UL - sizeof(unsigned long )] ;
1074   struct module_kobject mkobj ;
1075   struct module_attribute *modinfo_attrs ;
1076   char const   *version ;
1077   char const   *srcversion ;
1078   struct kobject *holders_dir ;
1079   struct kernel_symbol  const  *syms ;
1080   unsigned long const   *crcs ;
1081   unsigned int num_syms ;
1082   struct kernel_param *kp ;
1083   unsigned int num_kp ;
1084   unsigned int num_gpl_syms ;
1085   struct kernel_symbol  const  *gpl_syms ;
1086   unsigned long const   *gpl_crcs ;
1087   struct kernel_symbol  const  *unused_syms ;
1088   unsigned long const   *unused_crcs ;
1089   unsigned int num_unused_syms ;
1090   unsigned int num_unused_gpl_syms ;
1091   struct kernel_symbol  const  *unused_gpl_syms ;
1092   unsigned long const   *unused_gpl_crcs ;
1093   struct kernel_symbol  const  *gpl_future_syms ;
1094   unsigned long const   *gpl_future_crcs ;
1095   unsigned int num_gpl_future_syms ;
1096   unsigned int num_exentries ;
1097   struct exception_table_entry *extable ;
1098   int (*init)(void) ;
1099   void *module_init ;
1100   void *module_core ;
1101   unsigned int init_size ;
1102   unsigned int core_size ;
1103   unsigned int init_text_size ;
1104   unsigned int core_text_size ;
1105   unsigned int init_ro_size ;
1106   unsigned int core_ro_size ;
1107   struct mod_arch_specific arch ;
1108   unsigned int taints ;
1109   unsigned int num_bugs ;
1110   struct list_head bug_list ;
1111   struct bug_entry *bug_table ;
1112   Elf64_Sym *symtab ;
1113   Elf64_Sym *core_symtab ;
1114   unsigned int num_symtab ;
1115   unsigned int core_num_syms ;
1116   char *strtab ;
1117   char *core_strtab ;
1118   struct module_sect_attrs *sect_attrs ;
1119   struct module_notes_attrs *notes_attrs ;
1120   char *args ;
1121   void *percpu ;
1122   unsigned int percpu_size ;
1123   unsigned int num_tracepoints ;
1124   struct tracepoint * const  *tracepoints_ptrs ;
1125   unsigned int num_trace_bprintk_fmt ;
1126   char const   **trace_bprintk_fmt_start ;
1127   struct ftrace_event_call **trace_events ;
1128   unsigned int num_trace_events ;
1129   unsigned int num_ftrace_callsites ;
1130   unsigned long *ftrace_callsites ;
1131   struct list_head source_list ;
1132   struct list_head target_list ;
1133   struct task_struct *waiter ;
1134   void (*exit)(void) ;
1135   struct module_ref *refptr ;
1136   ctor_fn_t *ctors ;
1137   unsigned int num_ctors ;
1138};
1139#line 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
1140struct dma_map_ops;
1141#line 4
1142struct dma_map_ops;
1143#line 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
1144struct dev_archdata {
1145   void *acpi_handle ;
1146   struct dma_map_ops *dma_ops ;
1147   void *iommu ;
1148};
1149#line 29 "include/linux/device.h"
1150struct device_private;
1151#line 29
1152struct device_private;
1153#line 30
1154struct device_driver;
1155#line 30
1156struct device_driver;
1157#line 31
1158struct driver_private;
1159#line 31
1160struct driver_private;
1161#line 32
1162struct class;
1163#line 32
1164struct class;
1165#line 33
1166struct subsys_private;
1167#line 33
1168struct subsys_private;
1169#line 34
1170struct bus_type;
1171#line 34
1172struct bus_type;
1173#line 35
1174struct device_node;
1175#line 35
1176struct device_node;
1177#line 37 "include/linux/device.h"
1178struct bus_attribute {
1179   struct attribute attr ;
1180   ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1181   ssize_t (*store)(struct bus_type *bus , char const   *buf , size_t count ) ;
1182};
1183#line 82
1184struct device_attribute;
1185#line 82
1186struct device_attribute;
1187#line 82
1188struct driver_attribute;
1189#line 82
1190struct driver_attribute;
1191#line 82 "include/linux/device.h"
1192struct bus_type {
1193   char const   *name ;
1194   struct bus_attribute *bus_attrs ;
1195   struct device_attribute *dev_attrs ;
1196   struct driver_attribute *drv_attrs ;
1197   int (*match)(struct device *dev , struct device_driver *drv ) ;
1198   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1199   int (*probe)(struct device *dev ) ;
1200   int (*remove)(struct device *dev ) ;
1201   void (*shutdown)(struct device *dev ) ;
1202   int (*suspend)(struct device *dev , pm_message_t state ) ;
1203   int (*resume)(struct device *dev ) ;
1204   struct dev_pm_ops  const  *pm ;
1205   struct subsys_private *p ;
1206};
1207#line 185 "include/linux/device.h"
1208struct device_driver {
1209   char const   *name ;
1210   struct bus_type *bus ;
1211   struct module *owner ;
1212   char const   *mod_name ;
1213   bool suppress_bind_attrs ;
1214   struct of_device_id  const  *of_match_table ;
1215   int (*probe)(struct device *dev ) ;
1216   int (*remove)(struct device *dev ) ;
1217   void (*shutdown)(struct device *dev ) ;
1218   int (*suspend)(struct device *dev , pm_message_t state ) ;
1219   int (*resume)(struct device *dev ) ;
1220   struct attribute_group  const  **groups ;
1221   struct dev_pm_ops  const  *pm ;
1222   struct driver_private *p ;
1223};
1224#line 222 "include/linux/device.h"
1225struct driver_attribute {
1226   struct attribute attr ;
1227   ssize_t (*show)(struct device_driver *driver , char *buf ) ;
1228   ssize_t (*store)(struct device_driver *driver , char const   *buf , size_t count ) ;
1229};
1230#line 280
1231struct class_attribute;
1232#line 280
1233struct class_attribute;
1234#line 280 "include/linux/device.h"
1235struct class {
1236   char const   *name ;
1237   struct module *owner ;
1238   struct class_attribute *class_attrs ;
1239   struct device_attribute *dev_attrs ;
1240   struct bin_attribute *dev_bin_attrs ;
1241   struct kobject *dev_kobj ;
1242   int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1243   char *(*devnode)(struct device *dev , mode_t *mode ) ;
1244   void (*class_release)(struct class *class ) ;
1245   void (*dev_release)(struct device *dev ) ;
1246   int (*suspend)(struct device *dev , pm_message_t state ) ;
1247   int (*resume)(struct device *dev ) ;
1248   struct kobj_ns_type_operations  const  *ns_type ;
1249   void const   *(*namespace)(struct device *dev ) ;
1250   struct dev_pm_ops  const  *pm ;
1251   struct subsys_private *p ;
1252};
1253#line 306
1254struct device_type;
1255#line 306
1256struct device_type;
1257#line 347 "include/linux/device.h"
1258struct class_attribute {
1259   struct attribute attr ;
1260   ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
1261   ssize_t (*store)(struct class *class , struct class_attribute *attr , char const   *buf ,
1262                    size_t count ) ;
1263};
1264#line 413 "include/linux/device.h"
1265struct device_type {
1266   char const   *name ;
1267   struct attribute_group  const  **groups ;
1268   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1269   char *(*devnode)(struct device *dev , mode_t *mode ) ;
1270   void (*release)(struct device *dev ) ;
1271   struct dev_pm_ops  const  *pm ;
1272};
1273#line 424 "include/linux/device.h"
1274struct device_attribute {
1275   struct attribute attr ;
1276   ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
1277   ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const   *buf ,
1278                    size_t count ) ;
1279};
1280#line 484 "include/linux/device.h"
1281struct device_dma_parameters {
1282   unsigned int max_segment_size ;
1283   unsigned long segment_boundary_mask ;
1284};
1285#line 551
1286struct dma_coherent_mem;
1287#line 551
1288struct dma_coherent_mem;
1289#line 551 "include/linux/device.h"
1290struct device {
1291   struct device *parent ;
1292   struct device_private *p ;
1293   struct kobject kobj ;
1294   char const   *init_name ;
1295   struct device_type  const  *type ;
1296   struct mutex mutex ;
1297   struct bus_type *bus ;
1298   struct device_driver *driver ;
1299   void *platform_data ;
1300   struct dev_pm_info power ;
1301   struct dev_power_domain *pwr_domain ;
1302   int numa_node ;
1303   u64 *dma_mask ;
1304   u64 coherent_dma_mask ;
1305   struct device_dma_parameters *dma_parms ;
1306   struct list_head dma_pools ;
1307   struct dma_coherent_mem *dma_mem ;
1308   struct dev_archdata archdata ;
1309   struct device_node *of_node ;
1310   dev_t devt ;
1311   spinlock_t devres_lock ;
1312   struct list_head devres_head ;
1313   struct klist_node knode_class ;
1314   struct class *class ;
1315   struct attribute_group  const  **groups ;
1316   void (*release)(struct device *dev ) ;
1317};
1318#line 43 "include/linux/pm_wakeup.h"
1319struct wakeup_source {
1320   char *name ;
1321   struct list_head entry ;
1322   spinlock_t lock ;
1323   struct timer_list timer ;
1324   unsigned long timer_expires ;
1325   ktime_t total_time ;
1326   ktime_t max_time ;
1327   ktime_t last_time ;
1328   unsigned long event_count ;
1329   unsigned long active_count ;
1330   unsigned long relax_count ;
1331   unsigned long hit_count ;
1332   unsigned int active : 1 ;
1333};
1334#line 10 "include/linux/irqreturn.h"
1335enum irqreturn {
1336    IRQ_NONE = 0,
1337    IRQ_HANDLED = 1,
1338    IRQ_WAKE_THREAD = 2
1339} ;
1340#line 16 "include/linux/irqreturn.h"
1341typedef enum irqreturn irqreturn_t;
1342#line 236 "include/linux/pci.h"
1343struct proc_dir_entry;
1344#line 236
1345struct proc_dir_entry;
1346#line 6 "include/asm-generic/scatterlist.h"
1347struct scatterlist {
1348   unsigned long sg_magic ;
1349   unsigned long page_link ;
1350   unsigned int offset ;
1351   unsigned int length ;
1352   dma_addr_t dma_address ;
1353   unsigned int dma_length ;
1354};
1355#line 100 "include/linux/rbtree.h"
1356struct rb_node {
1357   unsigned long rb_parent_color ;
1358   struct rb_node *rb_right ;
1359   struct rb_node *rb_left ;
1360} __attribute__((__aligned__(sizeof(long )))) ;
1361#line 110 "include/linux/rbtree.h"
1362struct rb_root {
1363   struct rb_node *rb_node ;
1364};
1365#line 14 "include/linux/prio_tree.h"
1366struct prio_tree_node;
1367#line 14
1368struct prio_tree_node;
1369#line 14 "include/linux/prio_tree.h"
1370struct raw_prio_tree_node {
1371   struct prio_tree_node *left ;
1372   struct prio_tree_node *right ;
1373   struct prio_tree_node *parent ;
1374};
1375#line 20 "include/linux/prio_tree.h"
1376struct prio_tree_node {
1377   struct prio_tree_node *left ;
1378   struct prio_tree_node *right ;
1379   struct prio_tree_node *parent ;
1380   unsigned long start ;
1381   unsigned long last ;
1382};
1383#line 28 "include/linux/prio_tree.h"
1384struct prio_tree_root {
1385   struct prio_tree_node *prio_tree_node ;
1386   unsigned short index_bits ;
1387   unsigned short raw ;
1388};
1389#line 23 "include/linux/mm_types.h"
1390struct address_space;
1391#line 23
1392struct address_space;
1393#line 34 "include/linux/mm_types.h"
1394struct __anonstruct____missing_field_name_215 {
1395   u16 inuse ;
1396   u16 objects ;
1397};
1398#line 34 "include/linux/mm_types.h"
1399union __anonunion____missing_field_name_214 {
1400   atomic_t _mapcount ;
1401   struct __anonstruct____missing_field_name_215 __annonCompField33 ;
1402};
1403#line 34 "include/linux/mm_types.h"
1404struct __anonstruct____missing_field_name_217 {
1405   unsigned long private ;
1406   struct address_space *mapping ;
1407};
1408#line 34 "include/linux/mm_types.h"
1409union __anonunion____missing_field_name_216 {
1410   struct __anonstruct____missing_field_name_217 __annonCompField35 ;
1411   struct kmem_cache *slab ;
1412   struct page *first_page ;
1413};
1414#line 34 "include/linux/mm_types.h"
1415union __anonunion____missing_field_name_218 {
1416   unsigned long index ;
1417   void *freelist ;
1418};
1419#line 34 "include/linux/mm_types.h"
1420struct page {
1421   unsigned long flags ;
1422   atomic_t _count ;
1423   union __anonunion____missing_field_name_214 __annonCompField34 ;
1424   union __anonunion____missing_field_name_216 __annonCompField36 ;
1425   union __anonunion____missing_field_name_218 __annonCompField37 ;
1426   struct list_head lru ;
1427};
1428#line 132 "include/linux/mm_types.h"
1429struct __anonstruct_vm_set_220 {
1430   struct list_head list ;
1431   void *parent ;
1432   struct vm_area_struct *head ;
1433};
1434#line 132 "include/linux/mm_types.h"
1435union __anonunion_shared_219 {
1436   struct __anonstruct_vm_set_220 vm_set ;
1437   struct raw_prio_tree_node prio_tree_node ;
1438};
1439#line 132
1440struct anon_vma;
1441#line 132
1442struct anon_vma;
1443#line 132
1444struct vm_operations_struct;
1445#line 132
1446struct vm_operations_struct;
1447#line 132
1448struct mempolicy;
1449#line 132
1450struct mempolicy;
1451#line 132 "include/linux/mm_types.h"
1452struct vm_area_struct {
1453   struct mm_struct *vm_mm ;
1454   unsigned long vm_start ;
1455   unsigned long vm_end ;
1456   struct vm_area_struct *vm_next ;
1457   struct vm_area_struct *vm_prev ;
1458   pgprot_t vm_page_prot ;
1459   unsigned long vm_flags ;
1460   struct rb_node vm_rb ;
1461   union __anonunion_shared_219 shared ;
1462   struct list_head anon_vma_chain ;
1463   struct anon_vma *anon_vma ;
1464   struct vm_operations_struct  const  *vm_ops ;
1465   unsigned long vm_pgoff ;
1466   struct file *vm_file ;
1467   void *vm_private_data ;
1468   struct mempolicy *vm_policy ;
1469};
1470#line 189 "include/linux/mm_types.h"
1471struct core_thread {
1472   struct task_struct *task ;
1473   struct core_thread *next ;
1474};
1475#line 194 "include/linux/mm_types.h"
1476struct core_state {
1477   atomic_t nr_threads ;
1478   struct core_thread dumper ;
1479   struct completion startup ;
1480};
1481#line 216 "include/linux/mm_types.h"
1482struct mm_rss_stat {
1483   atomic_long_t count[3] ;
1484};
1485#line 220
1486struct linux_binfmt;
1487#line 220
1488struct linux_binfmt;
1489#line 220
1490struct mmu_notifier_mm;
1491#line 220
1492struct mmu_notifier_mm;
1493#line 220 "include/linux/mm_types.h"
1494struct mm_struct {
1495   struct vm_area_struct *mmap ;
1496   struct rb_root mm_rb ;
1497   struct vm_area_struct *mmap_cache ;
1498   unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1499                                      unsigned long pgoff , unsigned long flags ) ;
1500   void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1501   unsigned long mmap_base ;
1502   unsigned long task_size ;
1503   unsigned long cached_hole_size ;
1504   unsigned long free_area_cache ;
1505   pgd_t *pgd ;
1506   atomic_t mm_users ;
1507   atomic_t mm_count ;
1508   int map_count ;
1509   spinlock_t page_table_lock ;
1510   struct rw_semaphore mmap_sem ;
1511   struct list_head mmlist ;
1512   unsigned long hiwater_rss ;
1513   unsigned long hiwater_vm ;
1514   unsigned long total_vm ;
1515   unsigned long locked_vm ;
1516   unsigned long shared_vm ;
1517   unsigned long exec_vm ;
1518   unsigned long stack_vm ;
1519   unsigned long reserved_vm ;
1520   unsigned long def_flags ;
1521   unsigned long nr_ptes ;
1522   unsigned long start_code ;
1523   unsigned long end_code ;
1524   unsigned long start_data ;
1525   unsigned long end_data ;
1526   unsigned long start_brk ;
1527   unsigned long brk ;
1528   unsigned long start_stack ;
1529   unsigned long arg_start ;
1530   unsigned long arg_end ;
1531   unsigned long env_start ;
1532   unsigned long env_end ;
1533   unsigned long saved_auxv[44] ;
1534   struct mm_rss_stat rss_stat ;
1535   struct linux_binfmt *binfmt ;
1536   cpumask_var_t cpu_vm_mask_var ;
1537   mm_context_t context ;
1538   unsigned int faultstamp ;
1539   unsigned int token_priority ;
1540   unsigned int last_interval ;
1541   atomic_t oom_disable_count ;
1542   unsigned long flags ;
1543   struct core_state *core_state ;
1544   spinlock_t ioctx_lock ;
1545   struct hlist_head ioctx_list ;
1546   struct task_struct *owner ;
1547   struct file *exe_file ;
1548   unsigned long num_exe_file_vmas ;
1549   struct mmu_notifier_mm *mmu_notifier_mm ;
1550   pgtable_t pmd_huge_pte ;
1551   struct cpumask cpumask_allocation ;
1552};
1553#line 21 "include/linux/mm.h"
1554struct file_ra_state;
1555#line 21
1556struct file_ra_state;
1557#line 22
1558struct user_struct;
1559#line 22
1560struct user_struct;
1561#line 23
1562struct writeback_control;
1563#line 23
1564struct writeback_control;
1565#line 185 "include/linux/mm.h"
1566struct vm_fault {
1567   unsigned int flags ;
1568   unsigned long pgoff ;
1569   void *virtual_address ;
1570   struct page *page ;
1571};
1572#line 202 "include/linux/mm.h"
1573struct vm_operations_struct {
1574   void (*open)(struct vm_area_struct *area ) ;
1575   void (*close)(struct vm_area_struct *area ) ;
1576   int (*fault)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
1577   int (*page_mkwrite)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
1578   int (*access)(struct vm_area_struct *vma , unsigned long addr , void *buf , int len ,
1579                 int write ) ;
1580   int (*set_policy)(struct vm_area_struct *vma , struct mempolicy *new ) ;
1581   struct mempolicy *(*get_policy)(struct vm_area_struct *vma , unsigned long addr ) ;
1582   int (*migrate)(struct vm_area_struct *vma , nodemask_t const   *from , nodemask_t const   *to ,
1583                  unsigned long flags ) ;
1584};
1585#line 244
1586struct inode;
1587#line 244
1588struct inode;
1589#line 38 "include/linux/slub_def.h"
1590struct kmem_cache_cpu {
1591   void **freelist ;
1592   unsigned long tid ;
1593   struct page *page ;
1594   int node ;
1595   unsigned int stat[19] ;
1596};
1597#line 48 "include/linux/slub_def.h"
1598struct kmem_cache_node {
1599   spinlock_t list_lock ;
1600   unsigned long nr_partial ;
1601   struct list_head partial ;
1602   atomic_long_t nr_slabs ;
1603   atomic_long_t total_objects ;
1604   struct list_head full ;
1605};
1606#line 64 "include/linux/slub_def.h"
1607struct kmem_cache_order_objects {
1608   unsigned long x ;
1609};
1610#line 71 "include/linux/slub_def.h"
1611struct kmem_cache {
1612   struct kmem_cache_cpu *cpu_slab ;
1613   unsigned long flags ;
1614   unsigned long min_partial ;
1615   int size ;
1616   int objsize ;
1617   int offset ;
1618   struct kmem_cache_order_objects oo ;
1619   struct kmem_cache_order_objects max ;
1620   struct kmem_cache_order_objects min ;
1621   gfp_t allocflags ;
1622   int refcount ;
1623   void (*ctor)(void * ) ;
1624   int inuse ;
1625   int align ;
1626   int reserved ;
1627   char const   *name ;
1628   struct list_head list ;
1629   struct kobject kobj ;
1630   int remote_node_defrag_ratio ;
1631   struct kmem_cache_node *node[1 << 10] ;
1632};
1633#line 25 "include/linux/dma-attrs.h"
1634struct dma_attrs {
1635   unsigned long flags[((2UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
1636};
1637#line 11 "include/linux/dma-mapping.h"
1638enum dma_data_direction {
1639    DMA_BIDIRECTIONAL = 0,
1640    DMA_TO_DEVICE = 1,
1641    DMA_FROM_DEVICE = 2,
1642    DMA_NONE = 3
1643} ;
1644#line 18 "include/linux/dma-mapping.h"
1645struct dma_map_ops {
1646   void *(*alloc_coherent)(struct device *dev , size_t size , dma_addr_t *dma_handle ,
1647                           gfp_t gfp ) ;
1648   void (*free_coherent)(struct device *dev , size_t size , void *vaddr , dma_addr_t dma_handle ) ;
1649   dma_addr_t (*map_page)(struct device *dev , struct page *page , unsigned long offset ,
1650                          size_t size , enum dma_data_direction dir , struct dma_attrs *attrs ) ;
1651   void (*unmap_page)(struct device *dev , dma_addr_t dma_handle , size_t size , enum dma_data_direction dir ,
1652                      struct dma_attrs *attrs ) ;
1653   int (*map_sg)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ,
1654                 struct dma_attrs *attrs ) ;
1655   void (*unmap_sg)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ,
1656                    struct dma_attrs *attrs ) ;
1657   void (*sync_single_for_cpu)(struct device *dev , dma_addr_t dma_handle , size_t size ,
1658                               enum dma_data_direction dir ) ;
1659   void (*sync_single_for_device)(struct device *dev , dma_addr_t dma_handle , size_t size ,
1660                                  enum dma_data_direction dir ) ;
1661   void (*sync_sg_for_cpu)(struct device *dev , struct scatterlist *sg , int nents ,
1662                           enum dma_data_direction dir ) ;
1663   void (*sync_sg_for_device)(struct device *dev , struct scatterlist *sg , int nents ,
1664                              enum dma_data_direction dir ) ;
1665   int (*mapping_error)(struct device *dev , dma_addr_t dma_addr ) ;
1666   int (*dma_supported)(struct device *dev , u64 mask ) ;
1667   int (*set_dma_mask)(struct device *dev , u64 mask ) ;
1668   int is_phys ;
1669};
1670#line 452 "include/linux/uwb.h"
1671struct dentry;
1672#line 452
1673struct dentry;
1674#line 244 "include/linux/usb/ch9.h"
1675struct usb_device_descriptor {
1676   __u8 bLength ;
1677   __u8 bDescriptorType ;
1678   __le16 bcdUSB ;
1679   __u8 bDeviceClass ;
1680   __u8 bDeviceSubClass ;
1681   __u8 bDeviceProtocol ;
1682   __u8 bMaxPacketSize0 ;
1683   __le16 idVendor ;
1684   __le16 idProduct ;
1685   __le16 bcdDevice ;
1686   __u8 iManufacturer ;
1687   __u8 iProduct ;
1688   __u8 iSerialNumber ;
1689   __u8 bNumConfigurations ;
1690} __attribute__((__packed__)) ;
1691#line 300 "include/linux/usb/ch9.h"
1692struct usb_config_descriptor {
1693   __u8 bLength ;
1694   __u8 bDescriptorType ;
1695   __le16 wTotalLength ;
1696   __u8 bNumInterfaces ;
1697   __u8 bConfigurationValue ;
1698   __u8 iConfiguration ;
1699   __u8 bmAttributes ;
1700   __u8 bMaxPower ;
1701} __attribute__((__packed__)) ;
1702#line 337 "include/linux/usb/ch9.h"
1703struct usb_interface_descriptor {
1704   __u8 bLength ;
1705   __u8 bDescriptorType ;
1706   __u8 bInterfaceNumber ;
1707   __u8 bAlternateSetting ;
1708   __u8 bNumEndpoints ;
1709   __u8 bInterfaceClass ;
1710   __u8 bInterfaceSubClass ;
1711   __u8 bInterfaceProtocol ;
1712   __u8 iInterface ;
1713} __attribute__((__packed__)) ;
1714#line 355 "include/linux/usb/ch9.h"
1715struct usb_endpoint_descriptor {
1716   __u8 bLength ;
1717   __u8 bDescriptorType ;
1718   __u8 bEndpointAddress ;
1719   __u8 bmAttributes ;
1720   __le16 wMaxPacketSize ;
1721   __u8 bInterval ;
1722   __u8 bRefresh ;
1723   __u8 bSynchAddress ;
1724} __attribute__((__packed__)) ;
1725#line 576 "include/linux/usb/ch9.h"
1726struct usb_ss_ep_comp_descriptor {
1727   __u8 bLength ;
1728   __u8 bDescriptorType ;
1729   __u8 bMaxBurst ;
1730   __u8 bmAttributes ;
1731   __le16 wBytesPerInterval ;
1732} __attribute__((__packed__)) ;
1733#line 637 "include/linux/usb/ch9.h"
1734struct usb_interface_assoc_descriptor {
1735   __u8 bLength ;
1736   __u8 bDescriptorType ;
1737   __u8 bFirstInterface ;
1738   __u8 bInterfaceCount ;
1739   __u8 bFunctionClass ;
1740   __u8 bFunctionSubClass ;
1741   __u8 bFunctionProtocol ;
1742   __u8 iFunction ;
1743} __attribute__((__packed__)) ;
1744#line 846
1745enum usb_device_speed {
1746    USB_SPEED_UNKNOWN = 0,
1747    USB_SPEED_LOW = 1,
1748    USB_SPEED_FULL = 2,
1749    USB_SPEED_HIGH = 3,
1750    USB_SPEED_WIRELESS = 4,
1751    USB_SPEED_SUPER = 5
1752} ;
1753#line 854
1754enum usb_device_state {
1755    USB_STATE_NOTATTACHED = 0,
1756    USB_STATE_ATTACHED = 1,
1757    USB_STATE_POWERED = 2,
1758    USB_STATE_RECONNECTING = 3,
1759    USB_STATE_UNAUTHENTICATED = 4,
1760    USB_STATE_DEFAULT = 5,
1761    USB_STATE_ADDRESS = 6,
1762    USB_STATE_CONFIGURED = 7,
1763    USB_STATE_SUSPENDED = 8
1764} ;
1765#line 39 "include/linux/irqdesc.h"
1766struct irqaction;
1767#line 39
1768struct irqaction;
1769#line 94 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess.h"
1770struct exception_table_entry {
1771   unsigned long insn ;
1772   unsigned long fixup ;
1773};
1774#line 8 "include/linux/timerqueue.h"
1775struct timerqueue_node {
1776   struct rb_node node ;
1777   ktime_t expires ;
1778};
1779#line 13 "include/linux/timerqueue.h"
1780struct timerqueue_head {
1781   struct rb_root head ;
1782   struct timerqueue_node *next ;
1783};
1784#line 27 "include/linux/hrtimer.h"
1785struct hrtimer_clock_base;
1786#line 27
1787struct hrtimer_clock_base;
1788#line 28
1789struct hrtimer_cpu_base;
1790#line 28
1791struct hrtimer_cpu_base;
1792#line 44
1793enum hrtimer_restart {
1794    HRTIMER_NORESTART = 0,
1795    HRTIMER_RESTART = 1
1796} ;
1797#line 108 "include/linux/hrtimer.h"
1798struct hrtimer {
1799   struct timerqueue_node node ;
1800   ktime_t _softexpires ;
1801   enum hrtimer_restart (*function)(struct hrtimer * ) ;
1802   struct hrtimer_clock_base *base ;
1803   unsigned long state ;
1804   int start_pid ;
1805   void *start_site ;
1806   char start_comm[16] ;
1807};
1808#line 145 "include/linux/hrtimer.h"
1809struct hrtimer_clock_base {
1810   struct hrtimer_cpu_base *cpu_base ;
1811   int index ;
1812   clockid_t clockid ;
1813   struct timerqueue_head active ;
1814   ktime_t resolution ;
1815   ktime_t (*get_time)(void) ;
1816   ktime_t softirq_time ;
1817   ktime_t offset ;
1818};
1819#line 178 "include/linux/hrtimer.h"
1820struct hrtimer_cpu_base {
1821   raw_spinlock_t lock ;
1822   unsigned long active_bases ;
1823   ktime_t expires_next ;
1824   int hres_active ;
1825   int hang_detected ;
1826   unsigned long nr_events ;
1827   unsigned long nr_retries ;
1828   unsigned long nr_hangs ;
1829   ktime_t max_hang_time ;
1830   struct hrtimer_clock_base clock_base[3] ;
1831};
1832#line 106 "include/linux/interrupt.h"
1833struct irqaction {
1834   irqreturn_t (*handler)(int  , void * ) ;
1835   unsigned long flags ;
1836   void *dev_id ;
1837   struct irqaction *next ;
1838   int irq ;
1839   irqreturn_t (*thread_fn)(int  , void * ) ;
1840   struct task_struct *thread ;
1841   unsigned long thread_flags ;
1842   unsigned long thread_mask ;
1843   char const   *name ;
1844   struct proc_dir_entry *dir ;
1845} __attribute__((__aligned__((1) <<  (12) ))) ;
1846#line 16 "include/linux/blk_types.h"
1847struct block_device;
1848#line 16
1849struct block_device;
1850#line 33 "include/linux/list_bl.h"
1851struct hlist_bl_node;
1852#line 33
1853struct hlist_bl_node;
1854#line 33 "include/linux/list_bl.h"
1855struct hlist_bl_head {
1856   struct hlist_bl_node *first ;
1857};
1858#line 37 "include/linux/list_bl.h"
1859struct hlist_bl_node {
1860   struct hlist_bl_node *next ;
1861   struct hlist_bl_node **pprev ;
1862};
1863#line 13 "include/linux/dcache.h"
1864struct nameidata;
1865#line 13
1866struct nameidata;
1867#line 14
1868struct path;
1869#line 14
1870struct path;
1871#line 15
1872struct vfsmount;
1873#line 15
1874struct vfsmount;
1875#line 35 "include/linux/dcache.h"
1876struct qstr {
1877   unsigned int hash ;
1878   unsigned int len ;
1879   unsigned char const   *name ;
1880};
1881#line 116
1882struct dentry_operations;
1883#line 116
1884struct dentry_operations;
1885#line 116
1886struct super_block;
1887#line 116
1888struct super_block;
1889#line 116 "include/linux/dcache.h"
1890union __anonunion_d_u_234 {
1891   struct list_head d_child ;
1892   struct rcu_head d_rcu ;
1893};
1894#line 116 "include/linux/dcache.h"
1895struct dentry {
1896   unsigned int d_flags ;
1897   seqcount_t d_seq ;
1898   struct hlist_bl_node d_hash ;
1899   struct dentry *d_parent ;
1900   struct qstr d_name ;
1901   struct inode *d_inode ;
1902   unsigned char d_iname[32] ;
1903   unsigned int d_count ;
1904   spinlock_t d_lock ;
1905   struct dentry_operations  const  *d_op ;
1906   struct super_block *d_sb ;
1907   unsigned long d_time ;
1908   void *d_fsdata ;
1909   struct list_head d_lru ;
1910   union __anonunion_d_u_234 d_u ;
1911   struct list_head d_subdirs ;
1912   struct list_head d_alias ;
1913};
1914#line 159 "include/linux/dcache.h"
1915struct dentry_operations {
1916   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1917   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
1918   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
1919                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
1920   int (*d_delete)(struct dentry  const  * ) ;
1921   void (*d_release)(struct dentry * ) ;
1922   void (*d_iput)(struct dentry * , struct inode * ) ;
1923   char *(*d_dname)(struct dentry * , char * , int  ) ;
1924   struct vfsmount *(*d_automount)(struct path * ) ;
1925   int (*d_manage)(struct dentry * , bool  ) ;
1926} __attribute__((__aligned__((1) <<  (6) ))) ;
1927#line 7 "include/linux/path.h"
1928struct path {
1929   struct vfsmount *mnt ;
1930   struct dentry *dentry ;
1931};
1932#line 57 "include/linux/radix-tree.h"
1933struct radix_tree_node;
1934#line 57
1935struct radix_tree_node;
1936#line 57 "include/linux/radix-tree.h"
1937struct radix_tree_root {
1938   unsigned int height ;
1939   gfp_t gfp_mask ;
1940   struct radix_tree_node *rnode ;
1941};
1942#line 6 "include/linux/pid.h"
1943enum pid_type {
1944    PIDTYPE_PID = 0,
1945    PIDTYPE_PGID = 1,
1946    PIDTYPE_SID = 2,
1947    PIDTYPE_MAX = 3
1948} ;
1949#line 50
1950struct pid_namespace;
1951#line 50
1952struct pid_namespace;
1953#line 50 "include/linux/pid.h"
1954struct upid {
1955   int nr ;
1956   struct pid_namespace *ns ;
1957   struct hlist_node pid_chain ;
1958};
1959#line 57 "include/linux/pid.h"
1960struct pid {
1961   atomic_t count ;
1962   unsigned int level ;
1963   struct hlist_head tasks[3] ;
1964   struct rcu_head rcu ;
1965   struct upid numbers[1] ;
1966};
1967#line 69 "include/linux/pid.h"
1968struct pid_link {
1969   struct hlist_node node ;
1970   struct pid *pid ;
1971};
1972#line 94 "include/linux/capability.h"
1973struct kernel_cap_struct {
1974   __u32 cap[2] ;
1975};
1976#line 94 "include/linux/capability.h"
1977typedef struct kernel_cap_struct kernel_cap_t;
1978#line 377
1979struct user_namespace;
1980#line 377
1981struct user_namespace;
1982#line 16 "include/linux/fiemap.h"
1983struct fiemap_extent {
1984   __u64 fe_logical ;
1985   __u64 fe_physical ;
1986   __u64 fe_length ;
1987   __u64 fe_reserved64[2] ;
1988   __u32 fe_flags ;
1989   __u32 fe_reserved[3] ;
1990};
1991#line 399 "include/linux/fs.h"
1992struct export_operations;
1993#line 399
1994struct export_operations;
1995#line 401
1996struct iovec;
1997#line 401
1998struct iovec;
1999#line 403
2000struct kiocb;
2001#line 403
2002struct kiocb;
2003#line 405
2004struct pipe_inode_info;
2005#line 405
2006struct pipe_inode_info;
2007#line 406
2008struct poll_table_struct;
2009#line 406
2010struct poll_table_struct;
2011#line 407
2012struct kstatfs;
2013#line 407
2014struct kstatfs;
2015#line 460 "include/linux/fs.h"
2016struct iattr {
2017   unsigned int ia_valid ;
2018   umode_t ia_mode ;
2019   uid_t ia_uid ;
2020   gid_t ia_gid ;
2021   loff_t ia_size ;
2022   struct timespec ia_atime ;
2023   struct timespec ia_mtime ;
2024   struct timespec ia_ctime ;
2025   struct file *ia_file ;
2026};
2027#line 129 "include/linux/quota.h"
2028struct if_dqinfo {
2029   __u64 dqi_bgrace ;
2030   __u64 dqi_igrace ;
2031   __u32 dqi_flags ;
2032   __u32 dqi_valid ;
2033};
2034#line 50 "include/linux/dqblk_xfs.h"
2035struct fs_disk_quota {
2036   __s8 d_version ;
2037   __s8 d_flags ;
2038   __u16 d_fieldmask ;
2039   __u32 d_id ;
2040   __u64 d_blk_hardlimit ;
2041   __u64 d_blk_softlimit ;
2042   __u64 d_ino_hardlimit ;
2043   __u64 d_ino_softlimit ;
2044   __u64 d_bcount ;
2045   __u64 d_icount ;
2046   __s32 d_itimer ;
2047   __s32 d_btimer ;
2048   __u16 d_iwarns ;
2049   __u16 d_bwarns ;
2050   __s32 d_padding2 ;
2051   __u64 d_rtb_hardlimit ;
2052   __u64 d_rtb_softlimit ;
2053   __u64 d_rtbcount ;
2054   __s32 d_rtbtimer ;
2055   __u16 d_rtbwarns ;
2056   __s16 d_padding3 ;
2057   char d_padding4[8] ;
2058};
2059#line 146 "include/linux/dqblk_xfs.h"
2060struct fs_qfilestat {
2061   __u64 qfs_ino ;
2062   __u64 qfs_nblks ;
2063   __u32 qfs_nextents ;
2064};
2065#line 146 "include/linux/dqblk_xfs.h"
2066typedef struct fs_qfilestat fs_qfilestat_t;
2067#line 152 "include/linux/dqblk_xfs.h"
2068struct fs_quota_stat {
2069   __s8 qs_version ;
2070   __u16 qs_flags ;
2071   __s8 qs_pad ;
2072   fs_qfilestat_t qs_uquota ;
2073   fs_qfilestat_t qs_gquota ;
2074   __u32 qs_incoredqs ;
2075   __s32 qs_btimelimit ;
2076   __s32 qs_itimelimit ;
2077   __s32 qs_rtbtimelimit ;
2078   __u16 qs_bwarnlimit ;
2079   __u16 qs_iwarnlimit ;
2080};
2081#line 17 "include/linux/dqblk_qtree.h"
2082struct dquot;
2083#line 17
2084struct dquot;
2085#line 185 "include/linux/quota.h"
2086typedef __kernel_uid32_t qid_t;
2087#line 186 "include/linux/quota.h"
2088typedef long long qsize_t;
2089#line 200 "include/linux/quota.h"
2090struct mem_dqblk {
2091   qsize_t dqb_bhardlimit ;
2092   qsize_t dqb_bsoftlimit ;
2093   qsize_t dqb_curspace ;
2094   qsize_t dqb_rsvspace ;
2095   qsize_t dqb_ihardlimit ;
2096   qsize_t dqb_isoftlimit ;
2097   qsize_t dqb_curinodes ;
2098   time_t dqb_btime ;
2099   time_t dqb_itime ;
2100};
2101#line 215
2102struct quota_format_type;
2103#line 215
2104struct quota_format_type;
2105#line 217 "include/linux/quota.h"
2106struct mem_dqinfo {
2107   struct quota_format_type *dqi_format ;
2108   int dqi_fmt_id ;
2109   struct list_head dqi_dirty_list ;
2110   unsigned long dqi_flags ;
2111   unsigned int dqi_bgrace ;
2112   unsigned int dqi_igrace ;
2113   qsize_t dqi_maxblimit ;
2114   qsize_t dqi_maxilimit ;
2115   void *dqi_priv ;
2116};
2117#line 284 "include/linux/quota.h"
2118struct dquot {
2119   struct hlist_node dq_hash ;
2120   struct list_head dq_inuse ;
2121   struct list_head dq_free ;
2122   struct list_head dq_dirty ;
2123   struct mutex dq_lock ;
2124   atomic_t dq_count ;
2125   wait_queue_head_t dq_wait_unused ;
2126   struct super_block *dq_sb ;
2127   unsigned int dq_id ;
2128   loff_t dq_off ;
2129   unsigned long dq_flags ;
2130   short dq_type ;
2131   struct mem_dqblk dq_dqb ;
2132};
2133#line 301 "include/linux/quota.h"
2134struct quota_format_ops {
2135   int (*check_quota_file)(struct super_block *sb , int type ) ;
2136   int (*read_file_info)(struct super_block *sb , int type ) ;
2137   int (*write_file_info)(struct super_block *sb , int type ) ;
2138   int (*free_file_info)(struct super_block *sb , int type ) ;
2139   int (*read_dqblk)(struct dquot *dquot ) ;
2140   int (*commit_dqblk)(struct dquot *dquot ) ;
2141   int (*release_dqblk)(struct dquot *dquot ) ;
2142};
2143#line 312 "include/linux/quota.h"
2144struct dquot_operations {
2145   int (*write_dquot)(struct dquot * ) ;
2146   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
2147   void (*destroy_dquot)(struct dquot * ) ;
2148   int (*acquire_dquot)(struct dquot * ) ;
2149   int (*release_dquot)(struct dquot * ) ;
2150   int (*mark_dirty)(struct dquot * ) ;
2151   int (*write_info)(struct super_block * , int  ) ;
2152   qsize_t *(*get_reserved_space)(struct inode * ) ;
2153};
2154#line 328 "include/linux/quota.h"
2155struct quotactl_ops {
2156   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
2157   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
2158   int (*quota_off)(struct super_block * , int  ) ;
2159   int (*quota_sync)(struct super_block * , int  , int  ) ;
2160   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
2161   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
2162   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
2163   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
2164   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
2165   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
2166};
2167#line 341 "include/linux/quota.h"
2168struct quota_format_type {
2169   int qf_fmt_id ;
2170   struct quota_format_ops  const  *qf_ops ;
2171   struct module *qf_owner ;
2172   struct quota_format_type *qf_next ;
2173};
2174#line 395 "include/linux/quota.h"
2175struct quota_info {
2176   unsigned int flags ;
2177   struct mutex dqio_mutex ;
2178   struct mutex dqonoff_mutex ;
2179   struct rw_semaphore dqptr_sem ;
2180   struct inode *files[2] ;
2181   struct mem_dqinfo info[2] ;
2182   struct quota_format_ops  const  *ops[2] ;
2183};
2184#line 568 "include/linux/fs.h"
2185union __anonunion_arg_242 {
2186   char *buf ;
2187   void *data ;
2188};
2189#line 568 "include/linux/fs.h"
2190struct __anonstruct_read_descriptor_t_241 {
2191   size_t written ;
2192   size_t count ;
2193   union __anonunion_arg_242 arg ;
2194   int error ;
2195};
2196#line 568 "include/linux/fs.h"
2197typedef struct __anonstruct_read_descriptor_t_241 read_descriptor_t;
2198#line 581 "include/linux/fs.h"
2199struct address_space_operations {
2200   int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
2201   int (*readpage)(struct file * , struct page * ) ;
2202   int (*writepages)(struct address_space * , struct writeback_control * ) ;
2203   int (*set_page_dirty)(struct page *page ) ;
2204   int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
2205                    unsigned int nr_pages ) ;
2206   int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
2207                      unsigned int len , unsigned int flags , struct page **pagep ,
2208                      void **fsdata ) ;
2209   int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
2210                    unsigned int copied , struct page *page , void *fsdata ) ;
2211   sector_t (*bmap)(struct address_space * , sector_t  ) ;
2212   void (*invalidatepage)(struct page * , unsigned long  ) ;
2213   int (*releasepage)(struct page * , gfp_t  ) ;
2214   void (*freepage)(struct page * ) ;
2215   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  *iov , loff_t offset ,
2216                        unsigned long nr_segs ) ;
2217   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
2218   int (*migratepage)(struct address_space * , struct page * , struct page * ) ;
2219   int (*launder_page)(struct page * ) ;
2220   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
2221   int (*error_remove_page)(struct address_space * , struct page * ) ;
2222};
2223#line 633
2224struct backing_dev_info;
2225#line 633
2226struct backing_dev_info;
2227#line 634 "include/linux/fs.h"
2228struct address_space {
2229   struct inode *host ;
2230   struct radix_tree_root page_tree ;
2231   spinlock_t tree_lock ;
2232   unsigned int i_mmap_writable ;
2233   struct prio_tree_root i_mmap ;
2234   struct list_head i_mmap_nonlinear ;
2235   struct mutex i_mmap_mutex ;
2236   unsigned long nrpages ;
2237   unsigned long writeback_index ;
2238   struct address_space_operations  const  *a_ops ;
2239   unsigned long flags ;
2240   struct backing_dev_info *backing_dev_info ;
2241   spinlock_t private_lock ;
2242   struct list_head private_list ;
2243   struct address_space *assoc_mapping ;
2244} __attribute__((__aligned__(sizeof(long )))) ;
2245#line 658
2246struct hd_struct;
2247#line 658
2248struct hd_struct;
2249#line 658
2250struct gendisk;
2251#line 658
2252struct gendisk;
2253#line 658 "include/linux/fs.h"
2254struct block_device {
2255   dev_t bd_dev ;
2256   int bd_openers ;
2257   struct inode *bd_inode ;
2258   struct super_block *bd_super ;
2259   struct mutex bd_mutex ;
2260   struct list_head bd_inodes ;
2261   void *bd_claiming ;
2262   void *bd_holder ;
2263   int bd_holders ;
2264   bool bd_write_holder ;
2265   struct list_head bd_holder_disks ;
2266   struct block_device *bd_contains ;
2267   unsigned int bd_block_size ;
2268   struct hd_struct *bd_part ;
2269   unsigned int bd_part_count ;
2270   int bd_invalidated ;
2271   struct gendisk *bd_disk ;
2272   struct list_head bd_list ;
2273   unsigned long bd_private ;
2274   int bd_fsfreeze_count ;
2275   struct mutex bd_fsfreeze_mutex ;
2276};
2277#line 735
2278struct posix_acl;
2279#line 735
2280struct posix_acl;
2281#line 738
2282struct inode_operations;
2283#line 738
2284struct inode_operations;
2285#line 738 "include/linux/fs.h"
2286union __anonunion____missing_field_name_243 {
2287   struct list_head i_dentry ;
2288   struct rcu_head i_rcu ;
2289};
2290#line 738
2291struct file_operations;
2292#line 738
2293struct file_operations;
2294#line 738
2295struct file_lock;
2296#line 738
2297struct file_lock;
2298#line 738
2299struct cdev;
2300#line 738
2301struct cdev;
2302#line 738 "include/linux/fs.h"
2303union __anonunion____missing_field_name_244 {
2304   struct pipe_inode_info *i_pipe ;
2305   struct block_device *i_bdev ;
2306   struct cdev *i_cdev ;
2307};
2308#line 738 "include/linux/fs.h"
2309struct inode {
2310   umode_t i_mode ;
2311   uid_t i_uid ;
2312   gid_t i_gid ;
2313   struct inode_operations  const  *i_op ;
2314   struct super_block *i_sb ;
2315   spinlock_t i_lock ;
2316   unsigned int i_flags ;
2317   unsigned long i_state ;
2318   void *i_security ;
2319   struct mutex i_mutex ;
2320   unsigned long dirtied_when ;
2321   struct hlist_node i_hash ;
2322   struct list_head i_wb_list ;
2323   struct list_head i_lru ;
2324   struct list_head i_sb_list ;
2325   union __anonunion____missing_field_name_243 __annonCompField39 ;
2326   unsigned long i_ino ;
2327   atomic_t i_count ;
2328   unsigned int i_nlink ;
2329   dev_t i_rdev ;
2330   unsigned int i_blkbits ;
2331   u64 i_version ;
2332   loff_t i_size ;
2333   struct timespec i_atime ;
2334   struct timespec i_mtime ;
2335   struct timespec i_ctime ;
2336   blkcnt_t i_blocks ;
2337   unsigned short i_bytes ;
2338   struct rw_semaphore i_alloc_sem ;
2339   struct file_operations  const  *i_fop ;
2340   struct file_lock *i_flock ;
2341   struct address_space *i_mapping ;
2342   struct address_space i_data ;
2343   struct dquot *i_dquot[2] ;
2344   struct list_head i_devices ;
2345   union __anonunion____missing_field_name_244 __annonCompField40 ;
2346   __u32 i_generation ;
2347   __u32 i_fsnotify_mask ;
2348   struct hlist_head i_fsnotify_marks ;
2349   atomic_t i_readcount ;
2350   atomic_t i_writecount ;
2351   struct posix_acl *i_acl ;
2352   struct posix_acl *i_default_acl ;
2353   void *i_private ;
2354};
2355#line 903 "include/linux/fs.h"
2356struct fown_struct {
2357   rwlock_t lock ;
2358   struct pid *pid ;
2359   enum pid_type pid_type ;
2360   uid_t uid ;
2361   uid_t euid ;
2362   int signum ;
2363};
2364#line 914 "include/linux/fs.h"
2365struct file_ra_state {
2366   unsigned long start ;
2367   unsigned int size ;
2368   unsigned int async_size ;
2369   unsigned int ra_pages ;
2370   unsigned int mmap_miss ;
2371   loff_t prev_pos ;
2372};
2373#line 937 "include/linux/fs.h"
2374union __anonunion_f_u_245 {
2375   struct list_head fu_list ;
2376   struct rcu_head fu_rcuhead ;
2377};
2378#line 937 "include/linux/fs.h"
2379struct file {
2380   union __anonunion_f_u_245 f_u ;
2381   struct path f_path ;
2382   struct file_operations  const  *f_op ;
2383   spinlock_t f_lock ;
2384   int f_sb_list_cpu ;
2385   atomic_long_t f_count ;
2386   unsigned int f_flags ;
2387   fmode_t f_mode ;
2388   loff_t f_pos ;
2389   struct fown_struct f_owner ;
2390   struct cred  const  *f_cred ;
2391   struct file_ra_state f_ra ;
2392   u64 f_version ;
2393   void *f_security ;
2394   void *private_data ;
2395   struct list_head f_ep_links ;
2396   struct address_space *f_mapping ;
2397   unsigned long f_mnt_write_state ;
2398};
2399#line 1064
2400struct files_struct;
2401#line 1064
2402struct files_struct;
2403#line 1064 "include/linux/fs.h"
2404typedef struct files_struct *fl_owner_t;
2405#line 1066 "include/linux/fs.h"
2406struct file_lock_operations {
2407   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
2408   void (*fl_release_private)(struct file_lock * ) ;
2409};
2410#line 1071 "include/linux/fs.h"
2411struct lock_manager_operations {
2412   int (*fl_compare_owner)(struct file_lock * , struct file_lock * ) ;
2413   void (*fl_notify)(struct file_lock * ) ;
2414   int (*fl_grant)(struct file_lock * , struct file_lock * , int  ) ;
2415   void (*fl_release_private)(struct file_lock * ) ;
2416   void (*fl_break)(struct file_lock * ) ;
2417   int (*fl_change)(struct file_lock ** , int  ) ;
2418};
2419#line 8 "include/linux/nfs_fs_i.h"
2420struct nlm_lockowner;
2421#line 8
2422struct nlm_lockowner;
2423#line 13 "include/linux/nfs_fs_i.h"
2424struct nfs_lock_info {
2425   u32 state ;
2426   struct nlm_lockowner *owner ;
2427   struct list_head list ;
2428};
2429#line 19
2430struct nfs4_lock_state;
2431#line 19
2432struct nfs4_lock_state;
2433#line 20 "include/linux/nfs_fs_i.h"
2434struct nfs4_lock_info {
2435   struct nfs4_lock_state *owner ;
2436};
2437#line 1091 "include/linux/fs.h"
2438struct fasync_struct;
2439#line 1091
2440struct fasync_struct;
2441#line 1091 "include/linux/fs.h"
2442struct __anonstruct_afs_247 {
2443   struct list_head link ;
2444   int state ;
2445};
2446#line 1091 "include/linux/fs.h"
2447union __anonunion_fl_u_246 {
2448   struct nfs_lock_info nfs_fl ;
2449   struct nfs4_lock_info nfs4_fl ;
2450   struct __anonstruct_afs_247 afs ;
2451};
2452#line 1091 "include/linux/fs.h"
2453struct file_lock {
2454   struct file_lock *fl_next ;
2455   struct list_head fl_link ;
2456   struct list_head fl_block ;
2457   fl_owner_t fl_owner ;
2458   unsigned char fl_flags ;
2459   unsigned char fl_type ;
2460   unsigned int fl_pid ;
2461   struct pid *fl_nspid ;
2462   wait_queue_head_t fl_wait ;
2463   struct file *fl_file ;
2464   loff_t fl_start ;
2465   loff_t fl_end ;
2466   struct fasync_struct *fl_fasync ;
2467   unsigned long fl_break_time ;
2468   struct file_lock_operations  const  *fl_ops ;
2469   struct lock_manager_operations  const  *fl_lmops ;
2470   union __anonunion_fl_u_246 fl_u ;
2471};
2472#line 1324 "include/linux/fs.h"
2473struct fasync_struct {
2474   spinlock_t fa_lock ;
2475   int magic ;
2476   int fa_fd ;
2477   struct fasync_struct *fa_next ;
2478   struct file *fa_file ;
2479   struct rcu_head fa_rcu ;
2480};
2481#line 1364
2482struct file_system_type;
2483#line 1364
2484struct file_system_type;
2485#line 1364
2486struct super_operations;
2487#line 1364
2488struct super_operations;
2489#line 1364
2490struct xattr_handler;
2491#line 1364
2492struct xattr_handler;
2493#line 1364
2494struct mtd_info;
2495#line 1364
2496struct mtd_info;
2497#line 1364 "include/linux/fs.h"
2498struct super_block {
2499   struct list_head s_list ;
2500   dev_t s_dev ;
2501   unsigned char s_dirt ;
2502   unsigned char s_blocksize_bits ;
2503   unsigned long s_blocksize ;
2504   loff_t s_maxbytes ;
2505   struct file_system_type *s_type ;
2506   struct super_operations  const  *s_op ;
2507   struct dquot_operations  const  *dq_op ;
2508   struct quotactl_ops  const  *s_qcop ;
2509   struct export_operations  const  *s_export_op ;
2510   unsigned long s_flags ;
2511   unsigned long s_magic ;
2512   struct dentry *s_root ;
2513   struct rw_semaphore s_umount ;
2514   struct mutex s_lock ;
2515   int s_count ;
2516   atomic_t s_active ;
2517   void *s_security ;
2518   struct xattr_handler  const  **s_xattr ;
2519   struct list_head s_inodes ;
2520   struct hlist_bl_head s_anon ;
2521   struct list_head *s_files ;
2522   struct list_head s_dentry_lru ;
2523   int s_nr_dentry_unused ;
2524   struct block_device *s_bdev ;
2525   struct backing_dev_info *s_bdi ;
2526   struct mtd_info *s_mtd ;
2527   struct list_head s_instances ;
2528   struct quota_info s_dquot ;
2529   int s_frozen ;
2530   wait_queue_head_t s_wait_unfrozen ;
2531   char s_id[32] ;
2532   u8 s_uuid[16] ;
2533   void *s_fs_info ;
2534   fmode_t s_mode ;
2535   u32 s_time_gran ;
2536   struct mutex s_vfs_rename_mutex ;
2537   char *s_subtype ;
2538   char *s_options ;
2539   struct dentry_operations  const  *s_d_op ;
2540   int cleancache_poolid ;
2541};
2542#line 1499 "include/linux/fs.h"
2543struct fiemap_extent_info {
2544   unsigned int fi_flags ;
2545   unsigned int fi_extents_mapped ;
2546   unsigned int fi_extents_max ;
2547   struct fiemap_extent *fi_extents_start ;
2548};
2549#line 1546 "include/linux/fs.h"
2550struct file_operations {
2551   struct module *owner ;
2552   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
2553   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
2554   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
2555   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
2556                       loff_t  ) ;
2557   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
2558                        loff_t  ) ;
2559   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
2560                                                   loff_t  , u64  , unsigned int  ) ) ;
2561   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
2562   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
2563   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
2564   int (*mmap)(struct file * , struct vm_area_struct * ) ;
2565   int (*open)(struct inode * , struct file * ) ;
2566   int (*flush)(struct file * , fl_owner_t id ) ;
2567   int (*release)(struct inode * , struct file * ) ;
2568   int (*fsync)(struct file * , int datasync ) ;
2569   int (*aio_fsync)(struct kiocb * , int datasync ) ;
2570   int (*fasync)(int  , struct file * , int  ) ;
2571   int (*lock)(struct file * , int  , struct file_lock * ) ;
2572   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
2573                       int  ) ;
2574   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
2575                                      unsigned long  , unsigned long  ) ;
2576   int (*check_flags)(int  ) ;
2577   int (*flock)(struct file * , int  , struct file_lock * ) ;
2578   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
2579                           unsigned int  ) ;
2580   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
2581                          unsigned int  ) ;
2582   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
2583   long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
2584};
2585#line 1578 "include/linux/fs.h"
2586struct inode_operations {
2587   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
2588   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
2589   int (*permission)(struct inode * , int  , unsigned int  ) ;
2590   int (*check_acl)(struct inode * , int  , unsigned int  ) ;
2591   int (*readlink)(struct dentry * , char * , int  ) ;
2592   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
2593   int (*create)(struct inode * , struct dentry * , int  , struct nameidata * ) ;
2594   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
2595   int (*unlink)(struct inode * , struct dentry * ) ;
2596   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
2597   int (*mkdir)(struct inode * , struct dentry * , int  ) ;
2598   int (*rmdir)(struct inode * , struct dentry * ) ;
2599   int (*mknod)(struct inode * , struct dentry * , int  , dev_t  ) ;
2600   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
2601   void (*truncate)(struct inode * ) ;
2602   int (*setattr)(struct dentry * , struct iattr * ) ;
2603   int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
2604   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
2605   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
2606   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
2607   int (*removexattr)(struct dentry * , char const   * ) ;
2608   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
2609   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
2610} __attribute__((__aligned__((1) <<  (6) ))) ;
2611#line 1622 "include/linux/fs.h"
2612struct super_operations {
2613   struct inode *(*alloc_inode)(struct super_block *sb ) ;
2614   void (*destroy_inode)(struct inode * ) ;
2615   void (*dirty_inode)(struct inode * , int flags ) ;
2616   int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
2617   int (*drop_inode)(struct inode * ) ;
2618   void (*evict_inode)(struct inode * ) ;
2619   void (*put_super)(struct super_block * ) ;
2620   void (*write_super)(struct super_block * ) ;
2621   int (*sync_fs)(struct super_block *sb , int wait ) ;
2622   int (*freeze_fs)(struct super_block * ) ;
2623   int (*unfreeze_fs)(struct super_block * ) ;
2624   int (*statfs)(struct dentry * , struct kstatfs * ) ;
2625   int (*remount_fs)(struct super_block * , int * , char * ) ;
2626   void (*umount_begin)(struct super_block * ) ;
2627   int (*show_options)(struct seq_file * , struct vfsmount * ) ;
2628   int (*show_devname)(struct seq_file * , struct vfsmount * ) ;
2629   int (*show_path)(struct seq_file * , struct vfsmount * ) ;
2630   int (*show_stats)(struct seq_file * , struct vfsmount * ) ;
2631   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
2632   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
2633                          loff_t  ) ;
2634   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
2635};
2636#line 1802 "include/linux/fs.h"
2637struct file_system_type {
2638   char const   *name ;
2639   int fs_flags ;
2640   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
2641   void (*kill_sb)(struct super_block * ) ;
2642   struct module *owner ;
2643   struct file_system_type *next ;
2644   struct list_head fs_supers ;
2645   struct lock_class_key s_lock_key ;
2646   struct lock_class_key s_umount_key ;
2647   struct lock_class_key s_vfs_rename_key ;
2648   struct lock_class_key i_lock_key ;
2649   struct lock_class_key i_mutex_key ;
2650   struct lock_class_key i_mutex_dir_key ;
2651   struct lock_class_key i_alloc_sem_key ;
2652};
2653#line 7 "include/asm-generic/cputime.h"
2654typedef unsigned long cputime_t;
2655#line 122 "include/linux/sem.h"
2656struct sem_undo_list;
2657#line 122
2658struct sem_undo_list;
2659#line 135 "include/linux/sem.h"
2660struct sem_undo_list {
2661   atomic_t refcnt ;
2662   spinlock_t lock ;
2663   struct list_head list_proc ;
2664};
2665#line 141 "include/linux/sem.h"
2666struct sysv_sem {
2667   struct sem_undo_list *undo_list ;
2668};
2669#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
2670struct siginfo;
2671#line 10
2672struct siginfo;
2673#line 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
2674struct __anonstruct_sigset_t_250 {
2675   unsigned long sig[1] ;
2676};
2677#line 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
2678typedef struct __anonstruct_sigset_t_250 sigset_t;
2679#line 17 "include/asm-generic/signal-defs.h"
2680typedef void __signalfn_t(int  );
2681#line 18 "include/asm-generic/signal-defs.h"
2682typedef __signalfn_t *__sighandler_t;
2683#line 20 "include/asm-generic/signal-defs.h"
2684typedef void __restorefn_t(void);
2685#line 21 "include/asm-generic/signal-defs.h"
2686typedef __restorefn_t *__sigrestore_t;
2687#line 167 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
2688struct sigaction {
2689   __sighandler_t sa_handler ;
2690   unsigned long sa_flags ;
2691   __sigrestore_t sa_restorer ;
2692   sigset_t sa_mask ;
2693};
2694#line 174 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
2695struct k_sigaction {
2696   struct sigaction sa ;
2697};
2698#line 7 "include/asm-generic/siginfo.h"
2699union sigval {
2700   int sival_int ;
2701   void *sival_ptr ;
2702};
2703#line 7 "include/asm-generic/siginfo.h"
2704typedef union sigval sigval_t;
2705#line 40 "include/asm-generic/siginfo.h"
2706struct __anonstruct__kill_252 {
2707   __kernel_pid_t _pid ;
2708   __kernel_uid32_t _uid ;
2709};
2710#line 40 "include/asm-generic/siginfo.h"
2711struct __anonstruct__timer_253 {
2712   __kernel_timer_t _tid ;
2713   int _overrun ;
2714   char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
2715   sigval_t _sigval ;
2716   int _sys_private ;
2717};
2718#line 40 "include/asm-generic/siginfo.h"
2719struct __anonstruct__rt_254 {
2720   __kernel_pid_t _pid ;
2721   __kernel_uid32_t _uid ;
2722   sigval_t _sigval ;
2723};
2724#line 40 "include/asm-generic/siginfo.h"
2725struct __anonstruct__sigchld_255 {
2726   __kernel_pid_t _pid ;
2727   __kernel_uid32_t _uid ;
2728   int _status ;
2729   __kernel_clock_t _utime ;
2730   __kernel_clock_t _stime ;
2731};
2732#line 40 "include/asm-generic/siginfo.h"
2733struct __anonstruct__sigfault_256 {
2734   void *_addr ;
2735   short _addr_lsb ;
2736};
2737#line 40 "include/asm-generic/siginfo.h"
2738struct __anonstruct__sigpoll_257 {
2739   long _band ;
2740   int _fd ;
2741};
2742#line 40 "include/asm-generic/siginfo.h"
2743union __anonunion__sifields_251 {
2744   int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
2745   struct __anonstruct__kill_252 _kill ;
2746   struct __anonstruct__timer_253 _timer ;
2747   struct __anonstruct__rt_254 _rt ;
2748   struct __anonstruct__sigchld_255 _sigchld ;
2749   struct __anonstruct__sigfault_256 _sigfault ;
2750   struct __anonstruct__sigpoll_257 _sigpoll ;
2751};
2752#line 40 "include/asm-generic/siginfo.h"
2753struct siginfo {
2754   int si_signo ;
2755   int si_errno ;
2756   int si_code ;
2757   union __anonunion__sifields_251 _sifields ;
2758};
2759#line 40 "include/asm-generic/siginfo.h"
2760typedef struct siginfo siginfo_t;
2761#line 28 "include/linux/signal.h"
2762struct sigpending {
2763   struct list_head list ;
2764   sigset_t signal ;
2765};
2766#line 97 "include/linux/proportions.h"
2767struct prop_local_single {
2768   unsigned long events ;
2769   unsigned long period ;
2770   int shift ;
2771   spinlock_t lock ;
2772};
2773#line 10 "include/linux/seccomp.h"
2774struct __anonstruct_seccomp_t_260 {
2775   int mode ;
2776};
2777#line 10 "include/linux/seccomp.h"
2778typedef struct __anonstruct_seccomp_t_260 seccomp_t;
2779#line 82 "include/linux/plist.h"
2780struct plist_head {
2781   struct list_head node_list ;
2782   raw_spinlock_t *rawlock ;
2783   spinlock_t *spinlock ;
2784};
2785#line 90 "include/linux/plist.h"
2786struct plist_node {
2787   int prio ;
2788   struct list_head prio_list ;
2789   struct list_head node_list ;
2790};
2791#line 40 "include/linux/rtmutex.h"
2792struct rt_mutex_waiter;
2793#line 40
2794struct rt_mutex_waiter;
2795#line 42 "include/linux/resource.h"
2796struct rlimit {
2797   unsigned long rlim_cur ;
2798   unsigned long rlim_max ;
2799};
2800#line 11 "include/linux/task_io_accounting.h"
2801struct task_io_accounting {
2802   u64 rchar ;
2803   u64 wchar ;
2804   u64 syscr ;
2805   u64 syscw ;
2806   u64 read_bytes ;
2807   u64 write_bytes ;
2808   u64 cancelled_write_bytes ;
2809};
2810#line 18 "include/linux/latencytop.h"
2811struct latency_record {
2812   unsigned long backtrace[12] ;
2813   unsigned int count ;
2814   unsigned long time ;
2815   unsigned long max ;
2816};
2817#line 29 "include/linux/key.h"
2818typedef int32_t key_serial_t;
2819#line 32 "include/linux/key.h"
2820typedef uint32_t key_perm_t;
2821#line 34
2822struct key;
2823#line 34
2824struct key;
2825#line 76
2826struct signal_struct;
2827#line 76
2828struct signal_struct;
2829#line 79
2830struct key_type;
2831#line 79
2832struct key_type;
2833#line 81
2834struct keyring_list;
2835#line 81
2836struct keyring_list;
2837#line 124
2838struct key_user;
2839#line 124
2840struct key_user;
2841#line 124 "include/linux/key.h"
2842union __anonunion____missing_field_name_261 {
2843   time_t expiry ;
2844   time_t revoked_at ;
2845};
2846#line 124 "include/linux/key.h"
2847union __anonunion_type_data_262 {
2848   struct list_head link ;
2849   unsigned long x[2] ;
2850   void *p[2] ;
2851   int reject_error ;
2852};
2853#line 124 "include/linux/key.h"
2854union __anonunion_payload_263 {
2855   unsigned long value ;
2856   void *rcudata ;
2857   void *data ;
2858   struct keyring_list *subscriptions ;
2859};
2860#line 124 "include/linux/key.h"
2861struct key {
2862   atomic_t usage ;
2863   key_serial_t serial ;
2864   struct rb_node serial_node ;
2865   struct key_type *type ;
2866   struct rw_semaphore sem ;
2867   struct key_user *user ;
2868   void *security ;
2869   union __anonunion____missing_field_name_261 __annonCompField41 ;
2870   uid_t uid ;
2871   gid_t gid ;
2872   key_perm_t perm ;
2873   unsigned short quotalen ;
2874   unsigned short datalen ;
2875   unsigned long flags ;
2876   char *description ;
2877   union __anonunion_type_data_262 type_data ;
2878   union __anonunion_payload_263 payload ;
2879};
2880#line 18 "include/linux/selinux.h"
2881struct audit_context;
2882#line 18
2883struct audit_context;
2884#line 31 "include/linux/cred.h"
2885struct group_info {
2886   atomic_t usage ;
2887   int ngroups ;
2888   int nblocks ;
2889   gid_t small_block[32] ;
2890   gid_t *blocks[0] ;
2891};
2892#line 83 "include/linux/cred.h"
2893struct thread_group_cred {
2894   atomic_t usage ;
2895   pid_t tgid ;
2896   spinlock_t lock ;
2897   struct key *session_keyring ;
2898   struct key *process_keyring ;
2899   struct rcu_head rcu ;
2900};
2901#line 116 "include/linux/cred.h"
2902struct cred {
2903   atomic_t usage ;
2904   atomic_t subscribers ;
2905   void *put_addr ;
2906   unsigned int magic ;
2907   uid_t uid ;
2908   gid_t gid ;
2909   uid_t suid ;
2910   gid_t sgid ;
2911   uid_t euid ;
2912   gid_t egid ;
2913   uid_t fsuid ;
2914   gid_t fsgid ;
2915   unsigned int securebits ;
2916   kernel_cap_t cap_inheritable ;
2917   kernel_cap_t cap_permitted ;
2918   kernel_cap_t cap_effective ;
2919   kernel_cap_t cap_bset ;
2920   unsigned char jit_keyring ;
2921   struct key *thread_keyring ;
2922   struct key *request_key_auth ;
2923   struct thread_group_cred *tgcred ;
2924   void *security ;
2925   struct user_struct *user ;
2926   struct user_namespace *user_ns ;
2927   struct group_info *group_info ;
2928   struct rcu_head rcu ;
2929};
2930#line 97 "include/linux/sched.h"
2931struct futex_pi_state;
2932#line 97
2933struct futex_pi_state;
2934#line 98
2935struct robust_list_head;
2936#line 98
2937struct robust_list_head;
2938#line 99
2939struct bio_list;
2940#line 99
2941struct bio_list;
2942#line 100
2943struct fs_struct;
2944#line 100
2945struct fs_struct;
2946#line 101
2947struct perf_event_context;
2948#line 101
2949struct perf_event_context;
2950#line 102
2951struct blk_plug;
2952#line 102
2953struct blk_plug;
2954#line 151
2955struct cfs_rq;
2956#line 151
2957struct cfs_rq;
2958#line 58 "include/linux/aio_abi.h"
2959struct io_event {
2960   __u64 data ;
2961   __u64 obj ;
2962   __s64 res ;
2963   __s64 res2 ;
2964};
2965#line 16 "include/linux/uio.h"
2966struct iovec {
2967   void *iov_base ;
2968   __kernel_size_t iov_len ;
2969};
2970#line 15 "include/linux/aio.h"
2971struct kioctx;
2972#line 15
2973struct kioctx;
2974#line 87 "include/linux/aio.h"
2975union __anonunion_ki_obj_265 {
2976   void *user ;
2977   struct task_struct *tsk ;
2978};
2979#line 87
2980struct eventfd_ctx;
2981#line 87
2982struct eventfd_ctx;
2983#line 87 "include/linux/aio.h"
2984struct kiocb {
2985   struct list_head ki_run_list ;
2986   unsigned long ki_flags ;
2987   int ki_users ;
2988   unsigned int ki_key ;
2989   struct file *ki_filp ;
2990   struct kioctx *ki_ctx ;
2991   int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
2992   ssize_t (*ki_retry)(struct kiocb * ) ;
2993   void (*ki_dtor)(struct kiocb * ) ;
2994   union __anonunion_ki_obj_265 ki_obj ;
2995   __u64 ki_user_data ;
2996   loff_t ki_pos ;
2997   void *private ;
2998   unsigned short ki_opcode ;
2999   size_t ki_nbytes ;
3000   char *ki_buf ;
3001   size_t ki_left ;
3002   struct iovec ki_inline_vec ;
3003   struct iovec *ki_iovec ;
3004   unsigned long ki_nr_segs ;
3005   unsigned long ki_cur_seg ;
3006   struct list_head ki_list ;
3007   struct eventfd_ctx *ki_eventfd ;
3008};
3009#line 165 "include/linux/aio.h"
3010struct aio_ring_info {
3011   unsigned long mmap_base ;
3012   unsigned long mmap_size ;
3013   struct page **ring_pages ;
3014   spinlock_t ring_lock ;
3015   long nr_pages ;
3016   unsigned int nr ;
3017   unsigned int tail ;
3018   struct page *internal_pages[8] ;
3019};
3020#line 178 "include/linux/aio.h"
3021struct kioctx {
3022   atomic_t users ;
3023   int dead ;
3024   struct mm_struct *mm ;
3025   unsigned long user_id ;
3026   struct hlist_node list ;
3027   wait_queue_head_t wait ;
3028   spinlock_t ctx_lock ;
3029   int reqs_active ;
3030   struct list_head active_reqs ;
3031   struct list_head run_list ;
3032   unsigned int max_reqs ;
3033   struct aio_ring_info ring_info ;
3034   struct delayed_work wq ;
3035   struct rcu_head rcu_head ;
3036};
3037#line 441 "include/linux/sched.h"
3038struct sighand_struct {
3039   atomic_t count ;
3040   struct k_sigaction action[64] ;
3041   spinlock_t siglock ;
3042   wait_queue_head_t signalfd_wqh ;
3043};
3044#line 448 "include/linux/sched.h"
3045struct pacct_struct {
3046   int ac_flag ;
3047   long ac_exitcode ;
3048   unsigned long ac_mem ;
3049   cputime_t ac_utime ;
3050   cputime_t ac_stime ;
3051   unsigned long ac_minflt ;
3052   unsigned long ac_majflt ;
3053};
3054#line 456 "include/linux/sched.h"
3055struct cpu_itimer {
3056   cputime_t expires ;
3057   cputime_t incr ;
3058   u32 error ;
3059   u32 incr_error ;
3060};
3061#line 474 "include/linux/sched.h"
3062struct task_cputime {
3063   cputime_t utime ;
3064   cputime_t stime ;
3065   unsigned long long sum_exec_runtime ;
3066};
3067#line 510 "include/linux/sched.h"
3068struct thread_group_cputimer {
3069   struct task_cputime cputime ;
3070   int running ;
3071   spinlock_t lock ;
3072};
3073#line 517
3074struct autogroup;
3075#line 517
3076struct autogroup;
3077#line 526
3078struct tty_struct;
3079#line 526
3080struct tty_struct;
3081#line 526
3082struct taskstats;
3083#line 526
3084struct taskstats;
3085#line 526
3086struct tty_audit_buf;
3087#line 526
3088struct tty_audit_buf;
3089#line 526 "include/linux/sched.h"
3090struct signal_struct {
3091   atomic_t sigcnt ;
3092   atomic_t live ;
3093   int nr_threads ;
3094   wait_queue_head_t wait_chldexit ;
3095   struct task_struct *curr_target ;
3096   struct sigpending shared_pending ;
3097   int group_exit_code ;
3098   int notify_count ;
3099   struct task_struct *group_exit_task ;
3100   int group_stop_count ;
3101   unsigned int flags ;
3102   struct list_head posix_timers ;
3103   struct hrtimer real_timer ;
3104   struct pid *leader_pid ;
3105   ktime_t it_real_incr ;
3106   struct cpu_itimer it[2] ;
3107   struct thread_group_cputimer cputimer ;
3108   struct task_cputime cputime_expires ;
3109   struct list_head cpu_timers[3] ;
3110   struct pid *tty_old_pgrp ;
3111   int leader ;
3112   struct tty_struct *tty ;
3113   struct autogroup *autogroup ;
3114   cputime_t utime ;
3115   cputime_t stime ;
3116   cputime_t cutime ;
3117   cputime_t cstime ;
3118   cputime_t gtime ;
3119   cputime_t cgtime ;
3120   cputime_t prev_utime ;
3121   cputime_t prev_stime ;
3122   unsigned long nvcsw ;
3123   unsigned long nivcsw ;
3124   unsigned long cnvcsw ;
3125   unsigned long cnivcsw ;
3126   unsigned long min_flt ;
3127   unsigned long maj_flt ;
3128   unsigned long cmin_flt ;
3129   unsigned long cmaj_flt ;
3130   unsigned long inblock ;
3131   unsigned long oublock ;
3132   unsigned long cinblock ;
3133   unsigned long coublock ;
3134   unsigned long maxrss ;
3135   unsigned long cmaxrss ;
3136   struct task_io_accounting ioac ;
3137   unsigned long long sum_sched_runtime ;
3138   struct rlimit rlim[16] ;
3139   struct pacct_struct pacct ;
3140   struct taskstats *stats ;
3141   unsigned int audit_tty ;
3142   struct tty_audit_buf *tty_audit_buf ;
3143   struct rw_semaphore threadgroup_fork_lock ;
3144   int oom_adj ;
3145   int oom_score_adj ;
3146   int oom_score_adj_min ;
3147   struct mutex cred_guard_mutex ;
3148};
3149#line 687 "include/linux/sched.h"
3150struct user_struct {
3151   atomic_t __count ;
3152   atomic_t processes ;
3153   atomic_t files ;
3154   atomic_t sigpending ;
3155   atomic_t inotify_watches ;
3156   atomic_t inotify_devs ;
3157   atomic_t fanotify_listeners ;
3158   atomic_long_t epoll_watches ;
3159   unsigned long mq_bytes ;
3160   unsigned long locked_shm ;
3161   struct key *uid_keyring ;
3162   struct key *session_keyring ;
3163   struct hlist_node uidhash_node ;
3164   uid_t uid ;
3165   struct user_namespace *user_ns ;
3166   atomic_long_t locked_vm ;
3167};
3168#line 732
3169struct reclaim_state;
3170#line 732
3171struct reclaim_state;
3172#line 735 "include/linux/sched.h"
3173struct sched_info {
3174   unsigned long pcount ;
3175   unsigned long long run_delay ;
3176   unsigned long long last_arrival ;
3177   unsigned long long last_queued ;
3178};
3179#line 747 "include/linux/sched.h"
3180struct task_delay_info {
3181   spinlock_t lock ;
3182   unsigned int flags ;
3183   struct timespec blkio_start ;
3184   struct timespec blkio_end ;
3185   u64 blkio_delay ;
3186   u64 swapin_delay ;
3187   u32 blkio_count ;
3188   u32 swapin_count ;
3189   struct timespec freepages_start ;
3190   struct timespec freepages_end ;
3191   u64 freepages_delay ;
3192   u32 freepages_count ;
3193};
3194#line 1050
3195struct io_context;
3196#line 1050
3197struct io_context;
3198#line 1064
3199struct rq;
3200#line 1064
3201struct rq;
3202#line 1084 "include/linux/sched.h"
3203struct sched_class {
3204   struct sched_class  const  *next ;
3205   void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
3206   void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
3207   void (*yield_task)(struct rq *rq ) ;
3208   bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
3209   void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
3210   struct task_struct *(*pick_next_task)(struct rq *rq ) ;
3211   void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
3212   int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
3213   void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
3214   void (*post_schedule)(struct rq *this_rq ) ;
3215   void (*task_waking)(struct task_struct *task ) ;
3216   void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
3217   void (*set_cpus_allowed)(struct task_struct *p , struct cpumask  const  *newmask ) ;
3218   void (*rq_online)(struct rq *rq ) ;
3219   void (*rq_offline)(struct rq *rq ) ;
3220   void (*set_curr_task)(struct rq *rq ) ;
3221   void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
3222   void (*task_fork)(struct task_struct *p ) ;
3223   void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
3224   void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
3225   void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
3226   unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
3227   void (*task_move_group)(struct task_struct *p , int on_rq ) ;
3228};
3229#line 1129 "include/linux/sched.h"
3230struct load_weight {
3231   unsigned long weight ;
3232   unsigned long inv_weight ;
3233};
3234#line 1134 "include/linux/sched.h"
3235struct sched_statistics {
3236   u64 wait_start ;
3237   u64 wait_max ;
3238   u64 wait_count ;
3239   u64 wait_sum ;
3240   u64 iowait_count ;
3241   u64 iowait_sum ;
3242   u64 sleep_start ;
3243   u64 sleep_max ;
3244   s64 sum_sleep_runtime ;
3245   u64 block_start ;
3246   u64 block_max ;
3247   u64 exec_max ;
3248   u64 slice_max ;
3249   u64 nr_migrations_cold ;
3250   u64 nr_failed_migrations_affine ;
3251   u64 nr_failed_migrations_running ;
3252   u64 nr_failed_migrations_hot ;
3253   u64 nr_forced_migrations ;
3254   u64 nr_wakeups ;
3255   u64 nr_wakeups_sync ;
3256   u64 nr_wakeups_migrate ;
3257   u64 nr_wakeups_local ;
3258   u64 nr_wakeups_remote ;
3259   u64 nr_wakeups_affine ;
3260   u64 nr_wakeups_affine_attempts ;
3261   u64 nr_wakeups_passive ;
3262   u64 nr_wakeups_idle ;
3263};
3264#line 1169 "include/linux/sched.h"
3265struct sched_entity {
3266   struct load_weight load ;
3267   struct rb_node run_node ;
3268   struct list_head group_node ;
3269   unsigned int on_rq ;
3270   u64 exec_start ;
3271   u64 sum_exec_runtime ;
3272   u64 vruntime ;
3273   u64 prev_sum_exec_runtime ;
3274   u64 nr_migrations ;
3275   struct sched_statistics statistics ;
3276   struct sched_entity *parent ;
3277   struct cfs_rq *cfs_rq ;
3278   struct cfs_rq *my_q ;
3279};
3280#line 1195
3281struct rt_rq;
3282#line 1195
3283struct rt_rq;
3284#line 1195 "include/linux/sched.h"
3285struct sched_rt_entity {
3286   struct list_head run_list ;
3287   unsigned long timeout ;
3288   unsigned int time_slice ;
3289   int nr_cpus_allowed ;
3290   struct sched_rt_entity *back ;
3291   struct sched_rt_entity *parent ;
3292   struct rt_rq *rt_rq ;
3293   struct rt_rq *my_q ;
3294};
3295#line 1220
3296struct css_set;
3297#line 1220
3298struct css_set;
3299#line 1220
3300struct compat_robust_list_head;
3301#line 1220
3302struct compat_robust_list_head;
3303#line 1220
3304struct ftrace_ret_stack;
3305#line 1220
3306struct ftrace_ret_stack;
3307#line 1220
3308struct mem_cgroup;
3309#line 1220
3310struct mem_cgroup;
3311#line 1220 "include/linux/sched.h"
3312struct memcg_batch_info {
3313   int do_batch ;
3314   struct mem_cgroup *memcg ;
3315   unsigned long nr_pages ;
3316   unsigned long memsw_nr_pages ;
3317};
3318#line 1220 "include/linux/sched.h"
3319struct task_struct {
3320   long volatile   state ;
3321   void *stack ;
3322   atomic_t usage ;
3323   unsigned int flags ;
3324   unsigned int ptrace ;
3325   struct task_struct *wake_entry ;
3326   int on_cpu ;
3327   int on_rq ;
3328   int prio ;
3329   int static_prio ;
3330   int normal_prio ;
3331   unsigned int rt_priority ;
3332   struct sched_class  const  *sched_class ;
3333   struct sched_entity se ;
3334   struct sched_rt_entity rt ;
3335   struct hlist_head preempt_notifiers ;
3336   unsigned char fpu_counter ;
3337   unsigned int btrace_seq ;
3338   unsigned int policy ;
3339   cpumask_t cpus_allowed ;
3340   struct sched_info sched_info ;
3341   struct list_head tasks ;
3342   struct plist_node pushable_tasks ;
3343   struct mm_struct *mm ;
3344   struct mm_struct *active_mm ;
3345   unsigned int brk_randomized : 1 ;
3346   int exit_state ;
3347   int exit_code ;
3348   int exit_signal ;
3349   int pdeath_signal ;
3350   unsigned int group_stop ;
3351   unsigned int personality ;
3352   unsigned int did_exec : 1 ;
3353   unsigned int in_execve : 1 ;
3354   unsigned int in_iowait : 1 ;
3355   unsigned int sched_reset_on_fork : 1 ;
3356   unsigned int sched_contributes_to_load : 1 ;
3357   pid_t pid ;
3358   pid_t tgid ;
3359   unsigned long stack_canary ;
3360   struct task_struct *real_parent ;
3361   struct task_struct *parent ;
3362   struct list_head children ;
3363   struct list_head sibling ;
3364   struct task_struct *group_leader ;
3365   struct list_head ptraced ;
3366   struct list_head ptrace_entry ;
3367   struct pid_link pids[3] ;
3368   struct list_head thread_group ;
3369   struct completion *vfork_done ;
3370   int *set_child_tid ;
3371   int *clear_child_tid ;
3372   cputime_t utime ;
3373   cputime_t stime ;
3374   cputime_t utimescaled ;
3375   cputime_t stimescaled ;
3376   cputime_t gtime ;
3377   cputime_t prev_utime ;
3378   cputime_t prev_stime ;
3379   unsigned long nvcsw ;
3380   unsigned long nivcsw ;
3381   struct timespec start_time ;
3382   struct timespec real_start_time ;
3383   unsigned long min_flt ;
3384   unsigned long maj_flt ;
3385   struct task_cputime cputime_expires ;
3386   struct list_head cpu_timers[3] ;
3387   struct cred  const  *real_cred ;
3388   struct cred  const  *cred ;
3389   struct cred *replacement_session_keyring ;
3390   char comm[16] ;
3391   int link_count ;
3392   int total_link_count ;
3393   struct sysv_sem sysvsem ;
3394   unsigned long last_switch_count ;
3395   struct thread_struct thread ;
3396   struct fs_struct *fs ;
3397   struct files_struct *files ;
3398   struct nsproxy *nsproxy ;
3399   struct signal_struct *signal ;
3400   struct sighand_struct *sighand ;
3401   sigset_t blocked ;
3402   sigset_t real_blocked ;
3403   sigset_t saved_sigmask ;
3404   struct sigpending pending ;
3405   unsigned long sas_ss_sp ;
3406   size_t sas_ss_size ;
3407   int (*notifier)(void *priv ) ;
3408   void *notifier_data ;
3409   sigset_t *notifier_mask ;
3410   struct audit_context *audit_context ;
3411   uid_t loginuid ;
3412   unsigned int sessionid ;
3413   seccomp_t seccomp ;
3414   u32 parent_exec_id ;
3415   u32 self_exec_id ;
3416   spinlock_t alloc_lock ;
3417   struct irqaction *irqaction ;
3418   raw_spinlock_t pi_lock ;
3419   struct plist_head pi_waiters ;
3420   struct rt_mutex_waiter *pi_blocked_on ;
3421   struct mutex_waiter *blocked_on ;
3422   unsigned int irq_events ;
3423   unsigned long hardirq_enable_ip ;
3424   unsigned long hardirq_disable_ip ;
3425   unsigned int hardirq_enable_event ;
3426   unsigned int hardirq_disable_event ;
3427   int hardirqs_enabled ;
3428   int hardirq_context ;
3429   unsigned long softirq_disable_ip ;
3430   unsigned long softirq_enable_ip ;
3431   unsigned int softirq_disable_event ;
3432   unsigned int softirq_enable_event ;
3433   int softirqs_enabled ;
3434   int softirq_context ;
3435   u64 curr_chain_key ;
3436   int lockdep_depth ;
3437   unsigned int lockdep_recursion ;
3438   struct held_lock held_locks[48UL] ;
3439   gfp_t lockdep_reclaim_gfp ;
3440   void *journal_info ;
3441   struct bio_list *bio_list ;
3442   struct blk_plug *plug ;
3443   struct reclaim_state *reclaim_state ;
3444   struct backing_dev_info *backing_dev_info ;
3445   struct io_context *io_context ;
3446   unsigned long ptrace_message ;
3447   siginfo_t *last_siginfo ;
3448   struct task_io_accounting ioac ;
3449   u64 acct_rss_mem1 ;
3450   u64 acct_vm_mem1 ;
3451   cputime_t acct_timexpd ;
3452   nodemask_t mems_allowed ;
3453   int mems_allowed_change_disable ;
3454   int cpuset_mem_spread_rotor ;
3455   int cpuset_slab_spread_rotor ;
3456   struct css_set *cgroups ;
3457   struct list_head cg_list ;
3458   struct robust_list_head *robust_list ;
3459   struct compat_robust_list_head *compat_robust_list ;
3460   struct list_head pi_state_list ;
3461   struct futex_pi_state *pi_state_cache ;
3462   struct perf_event_context *perf_event_ctxp[2] ;
3463   struct mutex perf_event_mutex ;
3464   struct list_head perf_event_list ;
3465   struct mempolicy *mempolicy ;
3466   short il_next ;
3467   short pref_node_fork ;
3468   atomic_t fs_excl ;
3469   struct rcu_head rcu ;
3470   struct pipe_inode_info *splice_pipe ;
3471   struct task_delay_info *delays ;
3472   int make_it_fail ;
3473   struct prop_local_single dirties ;
3474   int latency_record_count ;
3475   struct latency_record latency_record[32] ;
3476   unsigned long timer_slack_ns ;
3477   unsigned long default_timer_slack_ns ;
3478   struct list_head *scm_work_list ;
3479   int curr_ret_stack ;
3480   struct ftrace_ret_stack *ret_stack ;
3481   unsigned long long ftrace_timestamp ;
3482   atomic_t trace_overrun ;
3483   atomic_t tracing_graph_pause ;
3484   unsigned long trace ;
3485   unsigned long trace_recursion ;
3486   struct memcg_batch_info memcg_batch ;
3487   atomic_t ptrace_bp_refcnt ;
3488};
3489#line 25 "include/linux/usb.h"
3490struct usb_device;
3491#line 25
3492struct usb_device;
3493#line 27
3494struct wusb_dev;
3495#line 27
3496struct wusb_dev;
3497#line 47
3498struct ep_device;
3499#line 47
3500struct ep_device;
3501#line 64 "include/linux/usb.h"
3502struct usb_host_endpoint {
3503   struct usb_endpoint_descriptor desc ;
3504   struct usb_ss_ep_comp_descriptor ss_ep_comp ;
3505   struct list_head urb_list ;
3506   void *hcpriv ;
3507   struct ep_device *ep_dev ;
3508   unsigned char *extra ;
3509   int extralen ;
3510   int enabled ;
3511};
3512#line 77 "include/linux/usb.h"
3513struct usb_host_interface {
3514   struct usb_interface_descriptor desc ;
3515   struct usb_host_endpoint *endpoint ;
3516   char *string ;
3517   unsigned char *extra ;
3518   int extralen ;
3519};
3520#line 90
3521enum usb_interface_condition {
3522    USB_INTERFACE_UNBOUND = 0,
3523    USB_INTERFACE_BINDING = 1,
3524    USB_INTERFACE_BOUND = 2,
3525    USB_INTERFACE_UNBINDING = 3
3526} ;
3527#line 159 "include/linux/usb.h"
3528struct usb_interface {
3529   struct usb_host_interface *altsetting ;
3530   struct usb_host_interface *cur_altsetting ;
3531   unsigned int num_altsetting ;
3532   struct usb_interface_assoc_descriptor *intf_assoc ;
3533   int minor ;
3534   enum usb_interface_condition condition ;
3535   unsigned int sysfs_files_created : 1 ;
3536   unsigned int ep_devs_created : 1 ;
3537   unsigned int unregistering : 1 ;
3538   unsigned int needs_remote_wakeup : 1 ;
3539   unsigned int needs_altsetting0 : 1 ;
3540   unsigned int needs_binding : 1 ;
3541   unsigned int reset_running : 1 ;
3542   unsigned int resetting_device : 1 ;
3543   struct device dev ;
3544   struct device *usb_dev ;
3545   atomic_t pm_usage_cnt ;
3546   struct work_struct reset_ws ;
3547};
3548#line 222 "include/linux/usb.h"
3549struct usb_interface_cache {
3550   unsigned int num_altsetting ;
3551   struct kref ref ;
3552   struct usb_host_interface altsetting[0] ;
3553};
3554#line 274 "include/linux/usb.h"
3555struct usb_host_config {
3556   struct usb_config_descriptor desc ;
3557   char *string ;
3558   struct usb_interface_assoc_descriptor *intf_assoc[16] ;
3559   struct usb_interface *interface[32] ;
3560   struct usb_interface_cache *intf_cache[32] ;
3561   unsigned char *extra ;
3562   int extralen ;
3563};
3564#line 305 "include/linux/usb.h"
3565struct usb_devmap {
3566   unsigned long devicemap[128UL / (8UL * sizeof(unsigned long ))] ;
3567};
3568#line 312
3569struct mon_bus;
3570#line 312
3571struct mon_bus;
3572#line 312 "include/linux/usb.h"
3573struct usb_bus {
3574   struct device *controller ;
3575   int busnum ;
3576   char const   *bus_name ;
3577   u8 uses_dma ;
3578   u8 uses_pio_for_control ;
3579   u8 otg_port ;
3580   unsigned int is_b_host : 1 ;
3581   unsigned int b_hnp_enable : 1 ;
3582   unsigned int sg_tablesize ;
3583   int devnum_next ;
3584   struct usb_devmap devmap ;
3585   struct usb_device *root_hub ;
3586   struct usb_bus *hs_companion ;
3587   struct list_head bus_list ;
3588   int bandwidth_allocated ;
3589   int bandwidth_int_reqs ;
3590   int bandwidth_isoc_reqs ;
3591   struct dentry *usbfs_dentry ;
3592   struct mon_bus *mon_bus ;
3593   int monitored ;
3594};
3595#line 367
3596struct usb_tt;
3597#line 367
3598struct usb_tt;
3599#line 426 "include/linux/usb.h"
3600struct usb_device {
3601   int devnum ;
3602   char devpath[16] ;
3603   u32 route ;
3604   enum usb_device_state state ;
3605   enum usb_device_speed speed ;
3606   struct usb_tt *tt ;
3607   int ttport ;
3608   unsigned int toggle[2] ;
3609   struct usb_device *parent ;
3610   struct usb_bus *bus ;
3611   struct usb_host_endpoint ep0 ;
3612   struct device dev ;
3613   struct usb_device_descriptor descriptor ;
3614   struct usb_host_config *config ;
3615   struct usb_host_config *actconfig ;
3616   struct usb_host_endpoint *ep_in[16] ;
3617   struct usb_host_endpoint *ep_out[16] ;
3618   char **rawdescriptors ;
3619   unsigned short bus_mA ;
3620   u8 portnum ;
3621   u8 level ;
3622   unsigned int can_submit : 1 ;
3623   unsigned int persist_enabled : 1 ;
3624   unsigned int have_langid : 1 ;
3625   unsigned int authorized : 1 ;
3626   unsigned int authenticated : 1 ;
3627   unsigned int wusb : 1 ;
3628   int string_langid ;
3629   char *product ;
3630   char *manufacturer ;
3631   char *serial ;
3632   struct list_head filelist ;
3633   struct device *usb_classdev ;
3634   struct dentry *usbfs_dentry ;
3635   int maxchild ;
3636   struct usb_device *children[31] ;
3637   u32 quirks ;
3638   atomic_t urbnum ;
3639   unsigned long active_duration ;
3640   unsigned long connect_time ;
3641   unsigned int do_remote_wakeup : 1 ;
3642   unsigned int reset_resume : 1 ;
3643   struct wusb_dev *wusb_dev ;
3644   int slot_id ;
3645};
3646#line 983 "include/linux/usb.h"
3647struct usb_iso_packet_descriptor {
3648   unsigned int offset ;
3649   unsigned int length ;
3650   unsigned int actual_length ;
3651   int status ;
3652};
3653#line 990
3654struct urb;
3655#line 990
3656struct urb;
3657#line 992 "include/linux/usb.h"
3658struct usb_anchor {
3659   struct list_head urb_list ;
3660   wait_queue_head_t wait ;
3661   spinlock_t lock ;
3662   unsigned int poisoned : 1 ;
3663};
3664#line 1183 "include/linux/usb.h"
3665struct urb {
3666   struct kref kref ;
3667   void *hcpriv ;
3668   atomic_t use_count ;
3669   atomic_t reject ;
3670   int unlinked ;
3671   struct list_head urb_list ;
3672   struct list_head anchor_list ;
3673   struct usb_anchor *anchor ;
3674   struct usb_device *dev ;
3675   struct usb_host_endpoint *ep ;
3676   unsigned int pipe ;
3677   unsigned int stream_id ;
3678   int status ;
3679   unsigned int transfer_flags ;
3680   void *transfer_buffer ;
3681   dma_addr_t transfer_dma ;
3682   struct scatterlist *sg ;
3683   int num_sgs ;
3684   u32 transfer_buffer_length ;
3685   u32 actual_length ;
3686   unsigned char *setup_packet ;
3687   dma_addr_t setup_dma ;
3688   int start_frame ;
3689   int number_of_packets ;
3690   int interval ;
3691   int error_count ;
3692   void *context ;
3693   void (*complete)(struct urb * ) ;
3694   struct usb_iso_packet_descriptor iso_frame_desc[0] ;
3695};
3696#line 179 "include/linux/types.h"
3697typedef __u32 __le32;
3698#line 16 "include/linux/dynamic_debug.h"
3699struct _ddebug {
3700   char const   *modname ;
3701   char const   *function ;
3702   char const   *filename ;
3703   char const   *format ;
3704   unsigned int lineno : 24 ;
3705   unsigned int flags : 8 ;
3706   char enabled ;
3707} __attribute__((__aligned__(8))) ;
3708#line 24 "include/linux/sysfs.h"
3709enum kobj_ns_type;
3710#line 12 "include/linux/firmware.h"
3711struct firmware {
3712   size_t size ;
3713   u8 const   *data ;
3714   struct page **pages ;
3715};
3716#line 186 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/uwb/i1480/dfu/i1480-dfu.h"
3717struct i1480_rceb {
3718   struct uwb_rceb rceb ;
3719   __le16 wParamLength ;
3720} __attribute__((__packed__)) ;
3721#line 38 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/mac.c"
3722struct fw_hdr {
3723   unsigned long address ;
3724   size_t length ;
3725   u32 const   *bin ;
3726   struct fw_hdr *next ;
3727};
3728#line 392 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/mac.c"
3729struct i1480_evt_reset {
3730   struct uwb_rceb rceb ;
3731   u8 bResultCode ;
3732} __attribute__((__packed__)) ;
3733#line 24 "include/linux/sysfs.h"
3734enum kobj_ns_type;
3735#line 177 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/uwb/i1480/dfu/i1480-dfu.h"
3736struct i1480_evt_confirm {
3737   struct uwb_rceb rceb ;
3738   __le16 wParamLength ;
3739   u8 bResultCode ;
3740} __attribute__((__packed__)) ;
3741#line 231 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/uwb/i1480/dfu/i1480-dfu.h"
3742struct i1480_cmd_mpi_write {
3743   struct uwb_rccb rccb ;
3744   __le16 size ;
3745   u8 data[] ;
3746};
3747#line 238 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/uwb/i1480/dfu/i1480-dfu.h"
3748struct __anonstruct_data_213 {
3749   u8 page ;
3750   u8 offset ;
3751} __attribute__((__packed__)) ;
3752#line 238 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/uwb/i1480/dfu/i1480-dfu.h"
3753struct i1480_cmd_mpi_read {
3754   struct uwb_rccb rccb ;
3755   __le16 size ;
3756   struct __anonstruct_data_213 data[] ;
3757} __attribute__((__packed__)) ;
3758#line 247 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/uwb/i1480/dfu/i1480-dfu.h"
3759struct __anonstruct_data_214 {
3760   u8 page ;
3761   u8 offset ;
3762   u8 value ;
3763} __attribute__((__packed__)) ;
3764#line 247 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/uwb/i1480/dfu/i1480-dfu.h"
3765struct i1480_evt_mpi_read {
3766   struct uwb_rceb rceb ;
3767   __le16 wParamLength ;
3768   u8 bResultCode ;
3769   __le16 size ;
3770   struct __anonstruct_data_214 data[] ;
3771} __attribute__((__packed__)) ;
3772#line 290 "include/linux/timer.h"
3773enum hrtimer_restart;
3774#line 290
3775enum hrtimer_restart;
3776#line 24 "include/linux/sysfs.h"
3777enum kobj_ns_type;
3778#line 12 "include/linux/mod_devicetable.h"
3779typedef unsigned long kernel_ulong_t;
3780#line 98 "include/linux/mod_devicetable.h"
3781struct usb_device_id {
3782   __u16 match_flags ;
3783   __u16 idVendor ;
3784   __u16 idProduct ;
3785   __u16 bcdDevice_lo ;
3786   __u16 bcdDevice_hi ;
3787   __u8 bDeviceClass ;
3788   __u8 bDeviceSubClass ;
3789   __u8 bDeviceProtocol ;
3790   __u8 bInterfaceClass ;
3791   __u8 bInterfaceSubClass ;
3792   __u8 bInterfaceProtocol ;
3793   kernel_ulong_t driver_info ;
3794};
3795#line 26 "include/linux/usb.h"
3796struct usb_driver;
3797#line 26
3798struct usb_driver;
3799#line 763 "include/linux/usb.h"
3800struct usb_dynids {
3801   spinlock_t lock ;
3802   struct list_head list ;
3803};
3804#line 782 "include/linux/usb.h"
3805struct usbdrv_wrap {
3806   struct device_driver driver ;
3807   int for_devices ;
3808};
3809#line 843 "include/linux/usb.h"
3810struct usb_driver {
3811   char const   *name ;
3812   int (*probe)(struct usb_interface *intf , struct usb_device_id  const  *id ) ;
3813   void (*disconnect)(struct usb_interface *intf ) ;
3814   int (*unlocked_ioctl)(struct usb_interface *intf , unsigned int code , void *buf ) ;
3815   int (*suspend)(struct usb_interface *intf , pm_message_t message ) ;
3816   int (*resume)(struct usb_interface *intf ) ;
3817   int (*reset_resume)(struct usb_interface *intf ) ;
3818   int (*pre_reset)(struct usb_interface *intf ) ;
3819   int (*post_reset)(struct usb_interface *intf ) ;
3820   struct usb_device_id  const  *id_table ;
3821   struct usb_dynids dynids ;
3822   struct usbdrv_wrap drvwrap ;
3823   unsigned int no_dynamic_id : 1 ;
3824   unsigned int supports_autosuspend : 1 ;
3825   unsigned int soft_unbind : 1 ;
3826};
3827#line 48 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
3828struct i1480_usb {
3829   struct i1480 i1480 ;
3830   struct usb_device *usb_dev ;
3831   struct usb_interface *usb_iface ;
3832   struct urb *neep_urb ;
3833};
3834#line 1 "<compiler builtins>"
3835void *__builtin_memcpy(void * , void const   * , unsigned long  ) ;
3836#line 1
3837long __builtin_expect(long  , long  ) ;
3838#line 80 "include/linux/wait.h"
3839extern void __init_waitqueue_head(wait_queue_head_t *q , struct lock_class_key * ) ;
3840#line 76 "include/linux/completion.h"
3841static struct lock_class_key __key  ;
3842#line 73 "include/linux/completion.h"
3843__inline static void init_completion(struct completion *x ) 
3844{ wait_queue_head_t *__cil_tmp2 ;
3845
3846  {
3847#line 75
3848  x->done = 0U;
3849  {
3850#line 76
3851  while (1) {
3852    while_continue: /* CIL Label */ ;
3853    {
3854#line 76
3855    __cil_tmp2 = & x->wait;
3856#line 76
3857    __init_waitqueue_head(__cil_tmp2, & __key);
3858    }
3859#line 76
3860    goto while_break;
3861  }
3862  while_break___0: /* CIL Label */ ;
3863  }
3864
3865  while_break: ;
3866#line 77
3867  return;
3868}
3869}
3870#line 84
3871extern long wait_for_completion_interruptible_timeout(struct completion *x , unsigned long timeout ) ;
3872#line 141 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/uwb/i1480/dfu/i1480-dfu.h"
3873int i1480_fw_upload(struct i1480 *i1480 ) ;
3874#line 142
3875int i1480_pre_fw_upload(struct i1480 *i1480 ) ;
3876#line 143
3877int i1480_mac_fw_upload(struct i1480 *i1480 ) ;
3878#line 144
3879int i1480_phy_fw_upload(struct i1480 *i1480 ) ;
3880#line 145
3881ssize_t i1480_cmd(struct i1480 *i1480 , char const   *cmd_name , size_t cmd_size ,
3882                  size_t reply_size ) ;
3883#line 146
3884int i1480_rceb_check(struct i1480  const  *i1480 , struct uwb_rceb  const  *rceb ,
3885                     char const   *cmd , u8 context , u8 expected_type , unsigned int expected_event ) ;
3886#line 797 "include/linux/device.h"
3887extern int dev_err(struct device  const  *dev , char const   *fmt  , ...) ;
3888#line 803
3889extern int _dev_info(struct device  const  *dev , char const   *fmt  , ...) ;
3890#line 57 "include/linux/random.h"
3891extern void get_random_bytes(void *buf , int nbytes ) ;
3892#line 51 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/dfu.c.common.c"
3893int i1480_rceb_check(struct i1480  const  *i1480 , struct uwb_rceb  const  *rceb ,
3894                     char const   *cmd , u8 context , u8 expected_type , unsigned int expected_event ) 
3895{ int result ;
3896  struct device *dev ;
3897  struct device *__cil_tmp9 ;
3898  int __cil_tmp10 ;
3899  u8 __cil_tmp11 ;
3900  int __cil_tmp12 ;
3901  struct device  const  *__cil_tmp13 ;
3902  u8 __cil_tmp14 ;
3903  int __cil_tmp15 ;
3904  int __cil_tmp16 ;
3905  int __cil_tmp17 ;
3906  u8 __cil_tmp18 ;
3907  int __cil_tmp19 ;
3908  struct device  const  *__cil_tmp20 ;
3909  u8 __cil_tmp21 ;
3910  int __cil_tmp22 ;
3911  int __cil_tmp23 ;
3912  __le16 __cil_tmp24 ;
3913  __le16 __cil_tmp25 ;
3914  unsigned int __cil_tmp26 ;
3915  struct device  const  *__cil_tmp27 ;
3916  __le16 __cil_tmp28 ;
3917  __le16 __cil_tmp29 ;
3918  int __cil_tmp30 ;
3919
3920  {
3921#line 55
3922  result = 0;
3923#line 56
3924  __cil_tmp9 = i1480->dev;
3925#line 56
3926  dev = (struct device *)__cil_tmp9;
3927  {
3928#line 57
3929  __cil_tmp10 = (int const   )context;
3930#line 57
3931  __cil_tmp11 = rceb->bEventContext;
3932#line 57
3933  __cil_tmp12 = (int const   )__cil_tmp11;
3934#line 57
3935  if (__cil_tmp12 != __cil_tmp10) {
3936#line 58
3937    if (cmd) {
3938      {
3939#line 59
3940      __cil_tmp13 = (struct device  const  *)dev;
3941#line 59
3942      __cil_tmp14 = rceb->bEventContext;
3943#line 59
3944      __cil_tmp15 = (int const   )__cil_tmp14;
3945#line 59
3946      __cil_tmp16 = (int )context;
3947#line 59
3948      dev_err(__cil_tmp13, "%s: unexpected context id 0x%02x (expected 0x%02x)\n",
3949              cmd, __cil_tmp15, __cil_tmp16);
3950      }
3951    } else {
3952
3953    }
3954#line 62
3955    result = -22;
3956  } else {
3957
3958  }
3959  }
3960  {
3961#line 64
3962  __cil_tmp17 = (int const   )expected_type;
3963#line 64
3964  __cil_tmp18 = rceb->bEventType;
3965#line 64
3966  __cil_tmp19 = (int const   )__cil_tmp18;
3967#line 64
3968  if (__cil_tmp19 != __cil_tmp17) {
3969#line 65
3970    if (cmd) {
3971      {
3972#line 66
3973      __cil_tmp20 = (struct device  const  *)dev;
3974#line 66
3975      __cil_tmp21 = rceb->bEventType;
3976#line 66
3977      __cil_tmp22 = (int const   )__cil_tmp21;
3978#line 66
3979      __cil_tmp23 = (int )expected_type;
3980#line 66
3981      dev_err(__cil_tmp20, "%s: unexpected event type 0x%02x (expected 0x%02x)\n",
3982              cmd, __cil_tmp22, __cil_tmp23);
3983      }
3984    } else {
3985
3986    }
3987#line 69
3988    result = -22;
3989  } else {
3990
3991  }
3992  }
3993  {
3994#line 71
3995  __cil_tmp24 = rceb->wEvent;
3996#line 71
3997  __cil_tmp25 = (__le16 )__cil_tmp24;
3998#line 71
3999  __cil_tmp26 = (unsigned int )__cil_tmp25;
4000#line 71
4001  if (__cil_tmp26 != expected_event) {
4002#line 72
4003    if (cmd) {
4004      {
4005#line 73
4006      __cil_tmp27 = (struct device  const  *)dev;
4007#line 73
4008      __cil_tmp28 = rceb->wEvent;
4009#line 73
4010      __cil_tmp29 = (__le16 )__cil_tmp28;
4011#line 73
4012      __cil_tmp30 = (int )__cil_tmp29;
4013#line 73
4014      dev_err(__cil_tmp27, "%s: unexpected event 0x%04x (expected 0x%04x)\n", cmd,
4015              __cil_tmp30, expected_event);
4016      }
4017    } else {
4018
4019    }
4020#line 76
4021    result = -22;
4022  } else {
4023
4024  }
4025  }
4026#line 78
4027  return (result);
4028}
4029}
4030#line 80
4031extern void *__crc_i1480_rceb_check  __attribute__((__weak__)) ;
4032#line 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/dfu.c.common.c"
4033static unsigned long const   __kcrctab_i1480_rceb_check  __attribute__((__used__,
4034__unused__, __section__("___kcrctab_gpl+i1480_rceb_check")))  =    (unsigned long const   )((unsigned long )(& __crc_i1480_rceb_check));
4035#line 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/dfu.c.common.c"
4036static char const   __kstrtab_i1480_rceb_check[17]  __attribute__((__section__("__ksymtab_strings"),
4037__aligned__(1)))  = 
4038#line 80
4039  {      (char const   )'i',      (char const   )'1',      (char const   )'4',      (char const   )'8', 
4040        (char const   )'0',      (char const   )'_',      (char const   )'r',      (char const   )'c', 
4041        (char const   )'e',      (char const   )'b',      (char const   )'_',      (char const   )'c', 
4042        (char const   )'h',      (char const   )'e',      (char const   )'c',      (char const   )'k', 
4043        (char const   )'\000'};
4044#line 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/dfu.c.common.c"
4045static struct kernel_symbol  const  __ksymtab_i1480_rceb_check  __attribute__((__used__,
4046__unused__, __section__("___ksymtab_gpl+i1480_rceb_check")))  =    {(unsigned long )(& i1480_rceb_check), __kstrtab_i1480_rceb_check};
4047#line 91 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/dfu.c.common.c"
4048ssize_t i1480_cmd(struct i1480 *i1480 , char const   *cmd_name , size_t cmd_size ,
4049                  size_t reply_size ) 
4050{ ssize_t result ;
4051  struct uwb_rceb *reply ;
4052  struct uwb_rccb *cmd ;
4053  u16 expected_event ;
4054  u8 expected_type ;
4055  u8 context ;
4056  int tmp ;
4057  int tmp___0 ;
4058  int tmp___1 ;
4059  int tmp___2 ;
4060  void *__cil_tmp15 ;
4061  void *__cil_tmp16 ;
4062  struct completion *__cil_tmp17 ;
4063  void *__cil_tmp18 ;
4064  int __cil_tmp19 ;
4065  int __cil_tmp20 ;
4066  int (*__cil_tmp21)(struct i1480 * , char const   *cmd_name , size_t cmd_size ) ;
4067  struct completion *__cil_tmp22 ;
4068  struct device *__cil_tmp23 ;
4069  struct device  const  *__cil_tmp24 ;
4070  struct i1480  const  *__cil_tmp25 ;
4071  void *__cil_tmp26 ;
4072  struct uwb_rceb  const  *__cil_tmp27 ;
4073  void *__cil_tmp28 ;
4074  char const   *__cil_tmp29 ;
4075  u8 __cil_tmp30 ;
4076  u8 __cil_tmp31 ;
4077  int (*__cil_tmp32)(struct i1480 * ) ;
4078  size_t __cil_tmp33 ;
4079  struct device *__cil_tmp34 ;
4080  struct device  const  *__cil_tmp35 ;
4081  struct i1480  const  *__cil_tmp36 ;
4082  void *__cil_tmp37 ;
4083  struct uwb_rceb  const  *__cil_tmp38 ;
4084  unsigned int __cil_tmp39 ;
4085
4086  {
4087  {
4088#line 95
4089  __cil_tmp15 = i1480->evt_buf;
4090#line 95
4091  reply = (struct uwb_rceb *)__cil_tmp15;
4092#line 96
4093  __cil_tmp16 = i1480->cmd_buf;
4094#line 96
4095  cmd = (struct uwb_rccb *)__cil_tmp16;
4096#line 97
4097  expected_event = reply->wEvent;
4098#line 98
4099  expected_type = reply->bEventType;
4100#line 101
4101  __cil_tmp17 = & i1480->evt_complete;
4102#line 101
4103  init_completion(__cil_tmp17);
4104#line 102
4105  i1480->evt_result = (ssize_t )-115;
4106  }
4107  {
4108#line 103
4109  while (1) {
4110    while_continue: /* CIL Label */ ;
4111    {
4112#line 104
4113    __cil_tmp18 = (void *)(& context);
4114#line 104
4115    get_random_bytes(__cil_tmp18, 1);
4116    }
4117    {
4118#line 103
4119    __cil_tmp19 = (int )context;
4120#line 103
4121    if (__cil_tmp19 == 0) {
4122
4123    } else {
4124      {
4125#line 103
4126      __cil_tmp20 = (int )context;
4127#line 103
4128      if (__cil_tmp20 == 255) {
4129
4130      } else {
4131#line 103
4132        goto while_break;
4133      }
4134      }
4135    }
4136    }
4137  }
4138  while_break___0: /* CIL Label */ ;
4139  }
4140
4141  while_break: 
4142  {
4143#line 106
4144  cmd->bCommandContext = context;
4145#line 107
4146  __cil_tmp21 = i1480->cmd;
4147#line 107
4148  tmp = (*__cil_tmp21)(i1480, cmd_name, cmd_size);
4149#line 107
4150  result = (ssize_t )tmp;
4151  }
4152#line 108
4153  if (result < 0L) {
4154#line 109
4155    goto error;
4156  } else {
4157
4158  }
4159  {
4160#line 111
4161  __cil_tmp22 = & i1480->evt_complete;
4162#line 111
4163  result = wait_for_completion_interruptible_timeout(__cil_tmp22, 250UL);
4164  }
4165#line 113
4166  if (result == 0L) {
4167#line 114
4168    result = (ssize_t )-110;
4169#line 115
4170    goto error;
4171  } else {
4172
4173  }
4174#line 117
4175  if (result < 0L) {
4176#line 118
4177    goto error;
4178  } else {
4179
4180  }
4181#line 119
4182  result = i1480->evt_result;
4183#line 120
4184  if (result < 0L) {
4185    {
4186#line 121
4187    __cil_tmp23 = i1480->dev;
4188#line 121
4189    __cil_tmp24 = (struct device  const  *)__cil_tmp23;
4190#line 121
4191    dev_err(__cil_tmp24, "%s: command reply reception failed: %zd\n", cmd_name, result);
4192    }
4193#line 123
4194    goto error;
4195  } else {
4196
4197  }
4198  {
4199#line 131
4200  __cil_tmp25 = (struct i1480  const  *)i1480;
4201#line 131
4202  __cil_tmp26 = i1480->evt_buf;
4203#line 131
4204  __cil_tmp27 = (struct uwb_rceb  const  *)__cil_tmp26;
4205#line 131
4206  __cil_tmp28 = (void *)0;
4207#line 131
4208  __cil_tmp29 = (char const   *)__cil_tmp28;
4209#line 131
4210  __cil_tmp30 = (u8 )0;
4211#line 131
4212  __cil_tmp31 = (u8 )253;
4213#line 131
4214  tmp___1 = i1480_rceb_check(__cil_tmp25, __cil_tmp27, __cil_tmp29, __cil_tmp30, __cil_tmp31,
4215                             34U);
4216  }
4217#line 131
4218  if (tmp___1 == 0) {
4219    {
4220#line 134
4221    __cil_tmp32 = i1480->wait_init_done;
4222#line 134
4223    tmp___0 = (*__cil_tmp32)(i1480);
4224#line 134
4225    result = (ssize_t )tmp___0;
4226    }
4227#line 135
4228    if (result < 0L) {
4229#line 136
4230      goto error;
4231    } else {
4232
4233    }
4234#line 137
4235    result = i1480->evt_result;
4236  } else {
4237
4238  }
4239  {
4240#line 139
4241  __cil_tmp33 = (size_t )result;
4242#line 139
4243  if (__cil_tmp33 != reply_size) {
4244    {
4245#line 140
4246    __cil_tmp34 = i1480->dev;
4247#line 140
4248    __cil_tmp35 = (struct device  const  *)__cil_tmp34;
4249#line 140
4250    dev_err(__cil_tmp35, "%s returned only %zu bytes, %zu expected\n", cmd_name, result,
4251            reply_size);
4252#line 142
4253    result = (ssize_t )-22;
4254    }
4255#line 143
4256    goto error;
4257  } else {
4258
4259  }
4260  }
4261  {
4262#line 146
4263  __cil_tmp36 = (struct i1480  const  *)i1480;
4264#line 146
4265  __cil_tmp37 = i1480->evt_buf;
4266#line 146
4267  __cil_tmp38 = (struct uwb_rceb  const  *)__cil_tmp37;
4268#line 146
4269  __cil_tmp39 = (unsigned int )expected_event;
4270#line 146
4271  tmp___2 = i1480_rceb_check(__cil_tmp36, __cil_tmp38, cmd_name, context, expected_type,
4272                             __cil_tmp39);
4273#line 146
4274  result = (ssize_t )tmp___2;
4275  }
4276  error: 
4277#line 149
4278  return (result);
4279}
4280}
4281#line 151
4282extern void *__crc_i1480_cmd  __attribute__((__weak__)) ;
4283#line 151 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/dfu.c.common.c"
4284static unsigned long const   __kcrctab_i1480_cmd  __attribute__((__used__, __unused__,
4285__section__("___kcrctab_gpl+i1480_cmd")))  =    (unsigned long const   )((unsigned long )(& __crc_i1480_cmd));
4286#line 151 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/dfu.c.common.c"
4287static char const   __kstrtab_i1480_cmd[10]  __attribute__((__section__("__ksymtab_strings"),
4288__aligned__(1)))  = 
4289#line 151
4290  {      (char const   )'i',      (char const   )'1',      (char const   )'4',      (char const   )'8', 
4291        (char const   )'0',      (char const   )'_',      (char const   )'c',      (char const   )'m', 
4292        (char const   )'d',      (char const   )'\000'};
4293#line 151 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/dfu.c.common.c"
4294static struct kernel_symbol  const  __ksymtab_i1480_cmd  __attribute__((__used__,
4295__unused__, __section__("___ksymtab_gpl+i1480_cmd")))  =    {(unsigned long )(& i1480_cmd), __kstrtab_i1480_cmd};
4296#line 154 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/dfu.c.common.c"
4297static int i1480_print_state(struct i1480 *i1480 ) 
4298{ int result ;
4299  u32 *buf ;
4300  void *__cil_tmp4 ;
4301  int (*__cil_tmp5)(struct i1480 * , u32 addr , size_t  ) ;
4302  unsigned long __cil_tmp6 ;
4303  struct device *__cil_tmp7 ;
4304  struct device  const  *__cil_tmp8 ;
4305  struct device *__cil_tmp9 ;
4306  struct device  const  *__cil_tmp10 ;
4307  u32 *__cil_tmp11 ;
4308  u32 __cil_tmp12 ;
4309  u32 *__cil_tmp13 ;
4310  u32 __cil_tmp14 ;
4311
4312  {
4313  {
4314#line 158
4315  __cil_tmp4 = i1480->cmd_buf;
4316#line 158
4317  buf = (u32 *)__cil_tmp4;
4318#line 160
4319  __cil_tmp5 = i1480->read;
4320#line 160
4321  __cil_tmp6 = 2UL * 4UL;
4322#line 160
4323  result = (*__cil_tmp5)(i1480, 2148007936U, __cil_tmp6);
4324  }
4325#line 161
4326  if (result < 0) {
4327    {
4328#line 162
4329    __cil_tmp7 = i1480->dev;
4330#line 162
4331    __cil_tmp8 = (struct device  const  *)__cil_tmp7;
4332#line 162
4333    dev_err(__cil_tmp8, "cannot read U & L states: %d\n", result);
4334    }
4335#line 163
4336    goto error;
4337  } else {
4338
4339  }
4340  {
4341#line 165
4342  __cil_tmp9 = i1480->dev;
4343#line 165
4344  __cil_tmp10 = (struct device  const  *)__cil_tmp9;
4345#line 165
4346  __cil_tmp11 = buf + 0;
4347#line 165
4348  __cil_tmp12 = *__cil_tmp11;
4349#line 165
4350  __cil_tmp13 = buf + 1;
4351#line 165
4352  __cil_tmp14 = *__cil_tmp13;
4353#line 165
4354  _dev_info(__cil_tmp10, "state U 0x%08x, L 0x%08x\n", __cil_tmp12, __cil_tmp14);
4355  }
4356  error: 
4357#line 167
4358  return (result);
4359}
4360}
4361#line 176 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/dfu.c.common.c"
4362int i1480_fw_upload(struct i1480 *i1480 ) 
4363{ int result ;
4364  struct device *__cil_tmp3 ;
4365  struct device  const  *__cil_tmp4 ;
4366  char const   *__cil_tmp5 ;
4367  struct device *__cil_tmp6 ;
4368  struct device  const  *__cil_tmp7 ;
4369  void (*__cil_tmp8)(struct i1480 * ) ;
4370
4371  {
4372  {
4373#line 180
4374  result = i1480_pre_fw_upload(i1480);
4375  }
4376#line 181
4377  if (result < 0) {
4378#line 181
4379    if (result != -2) {
4380      {
4381#line 182
4382      i1480_print_state(i1480);
4383      }
4384#line 183
4385      goto error;
4386    } else {
4387
4388    }
4389  } else {
4390
4391  }
4392  {
4393#line 185
4394  result = i1480_mac_fw_upload(i1480);
4395  }
4396#line 186
4397  if (result < 0) {
4398#line 187
4399    if (result == -2) {
4400      {
4401#line 188
4402      __cil_tmp3 = i1480->dev;
4403#line 188
4404      __cil_tmp4 = (struct device  const  *)__cil_tmp3;
4405#line 188
4406      __cil_tmp5 = i1480->mac_fw_name;
4407#line 188
4408      dev_err(__cil_tmp4, "Cannot locate MAC FW file \'%s\'\n", __cil_tmp5);
4409      }
4410    } else {
4411      {
4412#line 191
4413      i1480_print_state(i1480);
4414      }
4415    }
4416#line 192
4417    goto error;
4418  } else {
4419
4420  }
4421  {
4422#line 194
4423  result = i1480_phy_fw_upload(i1480);
4424  }
4425#line 195
4426  if (result < 0) {
4427#line 195
4428    if (result != -2) {
4429      {
4430#line 196
4431      i1480_print_state(i1480);
4432      }
4433#line 197
4434      goto error_rc_release;
4435    } else {
4436
4437    }
4438  } else {
4439
4440  }
4441  {
4442#line 203
4443  __cil_tmp6 = i1480->dev;
4444#line 203
4445  __cil_tmp7 = (struct device  const  *)__cil_tmp6;
4446#line 203
4447  _dev_info(__cil_tmp7, "firmware uploaded successfully\n");
4448  }
4449  error_rc_release: 
4450#line 205
4451  if (i1480->rc_release) {
4452    {
4453#line 206
4454    __cil_tmp8 = i1480->rc_release;
4455#line 206
4456    (*__cil_tmp8)(i1480);
4457    }
4458  } else {
4459
4460  }
4461#line 207
4462  result = 0;
4463  error: 
4464#line 209
4465  return (result);
4466}
4467}
4468#line 211
4469extern void *__crc_i1480_fw_upload  __attribute__((__weak__)) ;
4470#line 211 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/dfu.c.common.c"
4471static unsigned long const   __kcrctab_i1480_fw_upload  __attribute__((__used__, __unused__,
4472__section__("___kcrctab_gpl+i1480_fw_upload")))  =    (unsigned long const   )((unsigned long )(& __crc_i1480_fw_upload));
4473#line 211 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/dfu.c.common.c"
4474static char const   __kstrtab_i1480_fw_upload[16]  __attribute__((__section__("__ksymtab_strings"),
4475__aligned__(1)))  = 
4476#line 211
4477  {      (char const   )'i',      (char const   )'1',      (char const   )'4',      (char const   )'8', 
4478        (char const   )'0',      (char const   )'_',      (char const   )'f',      (char const   )'w', 
4479        (char const   )'_',      (char const   )'u',      (char const   )'p',      (char const   )'l', 
4480        (char const   )'o',      (char const   )'a',      (char const   )'d',      (char const   )'\000'};
4481#line 211 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/dfu.c.common.c"
4482static struct kernel_symbol  const  __ksymtab_i1480_fw_upload  __attribute__((__used__,
4483__unused__, __section__("___ksymtab_gpl+i1480_fw_upload")))  =    {(unsigned long )(& i1480_fw_upload), __kstrtab_i1480_fw_upload};
4484#line 5 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast-assert.h"
4485void ldv_blast_assert(void) 
4486{ 
4487
4488  {
4489  ERROR: 
4490#line 6
4491  goto ERROR;
4492}
4493}
4494#line 7 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast.h"
4495extern void *ldv_undefined_pointer(void) ;
4496#line 1332 "include/linux/usb.h"
4497struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags )  __attribute__((__ldv_model__)) ;
4498#line 1333
4499void usb_free_urb(struct urb *urb )  __attribute__((__ldv_model__)) ;
4500#line 1377
4501void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
4502                         dma_addr_t *dma )  __attribute__((__ldv_model__)) ;
4503#line 1379
4504void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma )  __attribute__((__ldv_model__)) ;
4505#line 10 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
4506void ldv_assume_stop(void)  __attribute__((__ldv_model_inline__)) ;
4507#line 17
4508void ldv_check_final_state(void)  __attribute__((__ldv_model__)) ;
4509#line 22
4510void ldv_assume_stop(void)  __attribute__((__ldv_model_inline__)) ;
4511#line 22 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
4512void ldv_assume_stop(void) 
4513{ 
4514
4515  {
4516  LDV_STOP: 
4517#line 23
4518  goto LDV_STOP;
4519}
4520}
4521#line 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
4522int ldv_urb_state  =    0;
4523#line 31 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
4524int ldv_coherent_state  =    0;
4525#line 62
4526void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
4527                         dma_addr_t *dma )  __attribute__((__ldv_model__)) ;
4528#line 62 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
4529void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
4530                         dma_addr_t *dma ) 
4531{ void *arbitrary_memory ;
4532  void *tmp___7 ;
4533
4534  {
4535  {
4536#line 64
4537  while (1) {
4538    while_continue: /* CIL Label */ ;
4539    {
4540#line 64
4541    tmp___7 = ldv_undefined_pointer();
4542#line 64
4543    arbitrary_memory = tmp___7;
4544    }
4545#line 64
4546    if (! arbitrary_memory) {
4547#line 64
4548      return ((void *)0);
4549    } else {
4550
4551    }
4552#line 64
4553    ldv_coherent_state = ldv_coherent_state + 1;
4554#line 64
4555    return (arbitrary_memory);
4556#line 64
4557    goto while_break;
4558  }
4559  while_break___0: /* CIL Label */ ;
4560  }
4561
4562  while_break: ;
4563#line 65
4564  return ((void *)0);
4565}
4566}
4567#line 68
4568void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma )  __attribute__((__ldv_model__)) ;
4569#line 68 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
4570void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma ) 
4571{ void *__cil_tmp5 ;
4572  unsigned long __cil_tmp6 ;
4573  unsigned long __cil_tmp7 ;
4574  int __cil_tmp8 ;
4575
4576  {
4577  {
4578#line 70
4579  while (1) {
4580    while_continue: /* CIL Label */ ;
4581
4582    {
4583#line 70
4584    __cil_tmp5 = (void *)0;
4585#line 70
4586    __cil_tmp6 = (unsigned long )__cil_tmp5;
4587#line 70
4588    __cil_tmp7 = (unsigned long )addr;
4589#line 70
4590    __cil_tmp8 = __cil_tmp7 != __cil_tmp6;
4591#line 70
4592    if (! __cil_tmp8) {
4593      {
4594#line 70
4595      ldv_assume_stop();
4596      }
4597    } else {
4598
4599    }
4600    }
4601#line 70
4602    if (addr) {
4603#line 70
4604      if (ldv_coherent_state >= 1) {
4605
4606      } else {
4607        {
4608#line 70
4609        ldv_blast_assert();
4610        }
4611      }
4612#line 70
4613      ldv_coherent_state = ldv_coherent_state - 1;
4614    } else {
4615
4616    }
4617#line 70
4618    goto while_break;
4619  }
4620  while_break___0: /* CIL Label */ ;
4621  }
4622
4623  while_break: ;
4624#line 71
4625  return;
4626}
4627}
4628#line 74
4629struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags )  __attribute__((__ldv_model__)) ;
4630#line 74 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
4631struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags ) 
4632{ void *arbitrary_memory ;
4633  void *tmp___7 ;
4634  void *__cil_tmp5 ;
4635
4636  {
4637  {
4638#line 75
4639  while (1) {
4640    while_continue: /* CIL Label */ ;
4641    {
4642#line 75
4643    tmp___7 = ldv_undefined_pointer();
4644#line 75
4645    arbitrary_memory = tmp___7;
4646    }
4647#line 75
4648    if (! arbitrary_memory) {
4649      {
4650#line 75
4651      __cil_tmp5 = (void *)0;
4652#line 75
4653      return ((struct urb *)__cil_tmp5);
4654      }
4655    } else {
4656
4657    }
4658#line 75
4659    ldv_urb_state = ldv_urb_state + 1;
4660#line 75
4661    return ((struct urb *)arbitrary_memory);
4662#line 75
4663    goto while_break;
4664  }
4665  while_break___0: /* CIL Label */ ;
4666  }
4667
4668  while_break: ;
4669#line 76
4670  return ((struct urb *)0);
4671}
4672}
4673#line 79
4674void usb_free_urb(struct urb *urb )  __attribute__((__ldv_model__)) ;
4675#line 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
4676void usb_free_urb(struct urb *urb ) 
4677{ struct urb *__cil_tmp2 ;
4678  unsigned long __cil_tmp3 ;
4679  unsigned long __cil_tmp4 ;
4680  int __cil_tmp5 ;
4681
4682  {
4683  {
4684#line 80
4685  while (1) {
4686    while_continue: /* CIL Label */ ;
4687
4688    {
4689#line 80
4690    __cil_tmp2 = (struct urb *)0;
4691#line 80
4692    __cil_tmp3 = (unsigned long )__cil_tmp2;
4693#line 80
4694    __cil_tmp4 = (unsigned long )urb;
4695#line 80
4696    __cil_tmp5 = __cil_tmp4 != __cil_tmp3;
4697#line 80
4698    if (! __cil_tmp5) {
4699      {
4700#line 80
4701      ldv_assume_stop();
4702      }
4703    } else {
4704
4705    }
4706    }
4707#line 80
4708    if (urb) {
4709#line 80
4710      if (ldv_urb_state >= 1) {
4711
4712      } else {
4713        {
4714#line 80
4715        ldv_blast_assert();
4716        }
4717      }
4718#line 80
4719      ldv_urb_state = ldv_urb_state - 1;
4720    } else {
4721
4722    }
4723#line 80
4724    goto while_break;
4725  }
4726  while_break___0: /* CIL Label */ ;
4727  }
4728
4729  while_break: ;
4730#line 81
4731  return;
4732}
4733}
4734#line 84
4735void ldv_check_final_state(void)  __attribute__((__ldv_model__)) ;
4736#line 84 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
4737void ldv_check_final_state(void) 
4738{ 
4739
4740  {
4741#line 86
4742  if (ldv_urb_state == 0) {
4743
4744  } else {
4745    {
4746#line 86
4747    ldv_blast_assert();
4748    }
4749  }
4750#line 88
4751  if (ldv_coherent_state == 0) {
4752
4753  } else {
4754    {
4755#line 88
4756    ldv_blast_assert();
4757    }
4758  }
4759#line 89
4760  return;
4761}
4762}
4763#line 46 "include/linux/delay.h"
4764extern void msleep(unsigned int msecs ) ;
4765#line 60 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/string_64.h"
4766extern int memcmp(void const   *cs , void const   *ct , unsigned long count ) ;
4767#line 830 "include/linux/rcupdate.h"
4768extern void kfree(void const   * ) ;
4769#line 39 "include/linux/firmware.h"
4770extern int request_firmware(struct firmware  const  **fw , char const   *name , struct device *device ) ;
4771#line 46
4772extern void release_firmware(struct firmware  const  *fw ) ;
4773#line 221 "include/linux/slub_def.h"
4774extern void *__kmalloc(size_t size , gfp_t flags ) ;
4775#line 255 "include/linux/slub_def.h"
4776__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
4777                                                                    gfp_t flags ) 
4778{ void *tmp___2 ;
4779
4780  {
4781  {
4782#line 270
4783  tmp___2 = __kmalloc(size, flags);
4784  }
4785#line 270
4786  return (tmp___2);
4787}
4788}
4789#line 788 "include/linux/device.h"
4790extern int dev_printk(char const   *level , struct device  const  *dev , char const   *fmt 
4791                      , ...) ;
4792#line 799
4793extern int dev_warn(struct device  const  *dev , char const   *fmt  , ...) ;
4794#line 47 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/mac.c"
4795static void fw_hdrs_free(struct fw_hdr *hdr ) 
4796{ struct fw_hdr *next ;
4797  void const   *__cil_tmp3 ;
4798
4799  {
4800  {
4801#line 52
4802  while (1) {
4803    while_continue: /* CIL Label */ ;
4804
4805#line 52
4806    if (hdr) {
4807
4808    } else {
4809#line 52
4810      goto while_break;
4811    }
4812    {
4813#line 53
4814    next = hdr->next;
4815#line 54
4816    __cil_tmp3 = (void const   *)hdr;
4817#line 54
4818    kfree(__cil_tmp3);
4819#line 55
4820    hdr = next;
4821    }
4822  }
4823  while_break___0: /* CIL Label */ ;
4824  }
4825
4826  while_break: ;
4827#line 57
4828  return;
4829}
4830}
4831#line 61 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/mac.c"
4832static int fw_hdr_load(struct i1480 *i1480 , struct fw_hdr *hdr , unsigned int hdr_cnt ,
4833                       char const   *_data , u32 const   *data_itr , u32 const   *data_top ) 
4834{ size_t hdr_offset ;
4835  size_t remaining_size ;
4836  u32 const   *tmp ;
4837  u32 const   *tmp___0 ;
4838  char const   *__cil_tmp11 ;
4839  int __cil_tmp12 ;
4840  void *__cil_tmp13 ;
4841  void *__cil_tmp14 ;
4842  int __cil_tmp15 ;
4843  unsigned long __cil_tmp16 ;
4844  u32 const   *__cil_tmp17 ;
4845  unsigned long __cil_tmp18 ;
4846  struct device *__cil_tmp19 ;
4847  struct device  const  *__cil_tmp20 ;
4848  char const   *__cil_tmp21 ;
4849  char const   *__cil_tmp22 ;
4850  int __cil_tmp23 ;
4851  char const   *__cil_tmp24 ;
4852  int __cil_tmp25 ;
4853  void *__cil_tmp26 ;
4854  u32 __cil_tmp27 ;
4855  __le32 __cil_tmp28 ;
4856  u32 __cil_tmp29 ;
4857  __le32 __cil_tmp30 ;
4858  size_t __cil_tmp31 ;
4859  struct device *__cil_tmp32 ;
4860  struct device  const  *__cil_tmp33 ;
4861  size_t __cil_tmp34 ;
4862
4863  {
4864#line 65
4865  __cil_tmp11 = (char const   *)data_itr;
4866#line 65
4867  __cil_tmp12 = __cil_tmp11 - _data;
4868#line 65
4869  hdr_offset = (size_t )__cil_tmp12;
4870#line 66
4871  __cil_tmp13 = (void *)data_itr;
4872#line 66
4873  __cil_tmp14 = (void *)data_top;
4874#line 66
4875  __cil_tmp15 = __cil_tmp14 - __cil_tmp13;
4876#line 66
4877  remaining_size = (size_t )__cil_tmp15;
4878  {
4879#line 67
4880  __cil_tmp16 = (unsigned long )data_top;
4881#line 67
4882  __cil_tmp17 = data_itr + 2;
4883#line 67
4884  __cil_tmp18 = (unsigned long )__cil_tmp17;
4885#line 67
4886  if (__cil_tmp18 > __cil_tmp16) {
4887    {
4888#line 68
4889    __cil_tmp19 = i1480->dev;
4890#line 68
4891    __cil_tmp20 = (struct device  const  *)__cil_tmp19;
4892#line 68
4893    __cil_tmp21 = (char const   *)data_itr;
4894#line 68
4895    __cil_tmp22 = __cil_tmp21 + 2;
4896#line 68
4897    __cil_tmp23 = __cil_tmp22 - _data;
4898#line 68
4899    __cil_tmp24 = (char const   *)data_top;
4900#line 68
4901    __cil_tmp25 = __cil_tmp24 - _data;
4902#line 68
4903    dev_err(__cil_tmp20, "fw hdr #%u/%zu: EOF reached in header at offset %zu, limit %zu\n",
4904            hdr_cnt, hdr_offset, __cil_tmp23, __cil_tmp25);
4905    }
4906#line 73
4907    return (-22);
4908  } else {
4909
4910  }
4911  }
4912#line 75
4913  __cil_tmp26 = (void *)0;
4914#line 75
4915  hdr->next = (struct fw_hdr *)__cil_tmp26;
4916#line 76
4917  tmp = data_itr;
4918#line 76
4919  data_itr = data_itr + 1;
4920#line 76
4921  __cil_tmp27 = *tmp;
4922#line 76
4923  __cil_tmp28 = (__le32 )__cil_tmp27;
4924#line 76
4925  hdr->address = (unsigned long )__cil_tmp28;
4926#line 77
4927  tmp___0 = data_itr;
4928#line 77
4929  data_itr = data_itr + 1;
4930#line 77
4931  __cil_tmp29 = *tmp___0;
4932#line 77
4933  __cil_tmp30 = (__le32 )__cil_tmp29;
4934#line 77
4935  hdr->length = (size_t )__cil_tmp30;
4936#line 78
4937  hdr->bin = data_itr;
4938  {
4939#line 79
4940  __cil_tmp31 = hdr->length;
4941#line 79
4942  if (__cil_tmp31 > remaining_size) {
4943    {
4944#line 80
4945    __cil_tmp32 = i1480->dev;
4946#line 80
4947    __cil_tmp33 = (struct device  const  *)__cil_tmp32;
4948#line 80
4949    __cil_tmp34 = hdr->length;
4950#line 80
4951    dev_err(__cil_tmp33, "fw hdr #%u/%zu: EOF reached in data; chunk too long (%zu bytes), only %zu left\n",
4952            hdr_cnt, hdr_offset, __cil_tmp34, remaining_size);
4953    }
4954#line 83
4955    return (-22);
4956  } else {
4957
4958  }
4959  }
4960#line 85
4961  return (0);
4962}
4963}
4964#line 107 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/mac.c"
4965static int fw_hdrs_load(struct i1480 *i1480 , struct fw_hdr **phdr , char const   *_data ,
4966                        size_t data_size ) 
4967{ int result ;
4968  unsigned int hdr_cnt ;
4969  u32 *data ;
4970  u32 *data_itr ;
4971  u32 *data_top ;
4972  struct fw_hdr *hdr ;
4973  struct fw_hdr **prev_hdr ;
4974  void *tmp ;
4975  unsigned long __cil_tmp13 ;
4976  unsigned long __cil_tmp14 ;
4977  unsigned long __cil_tmp15 ;
4978  void *__cil_tmp16 ;
4979  char const   *__cil_tmp17 ;
4980  unsigned long __cil_tmp18 ;
4981  unsigned long __cil_tmp19 ;
4982  void *__cil_tmp20 ;
4983  unsigned long __cil_tmp21 ;
4984  unsigned long __cil_tmp22 ;
4985  struct device *__cil_tmp23 ;
4986  struct device  const  *__cil_tmp24 ;
4987  u32 const   *__cil_tmp25 ;
4988  u32 const   *__cil_tmp26 ;
4989  size_t __cil_tmp27 ;
4990  unsigned long __cil_tmp28 ;
4991  void *__cil_tmp29 ;
4992  void const   *__cil_tmp30 ;
4993  struct fw_hdr *__cil_tmp31 ;
4994
4995  {
4996#line 112
4997  hdr_cnt = 0U;
4998#line 113
4999  data = (u32 *)_data;
5000#line 114
5001  prev_hdr = phdr;
5002#line 116
5003  result = -22;
5004  {
5005#line 118
5006  __cil_tmp13 = data_size % 4UL;
5007#line 118
5008  if (__cil_tmp13 != 0UL) {
5009#line 119
5010    goto error;
5011  } else {
5012
5013  }
5014  }
5015  {
5016#line 120
5017  __cil_tmp14 = (unsigned long )_data;
5018#line 120
5019  __cil_tmp15 = __cil_tmp14 % 2UL;
5020#line 120
5021  if (__cil_tmp15 != 0UL) {
5022#line 121
5023    goto error;
5024  } else {
5025
5026  }
5027  }
5028#line 122
5029  __cil_tmp16 = (void *)0;
5030#line 122
5031  *phdr = (struct fw_hdr *)__cil_tmp16;
5032#line 123
5033  data_itr = data;
5034#line 124
5035  __cil_tmp17 = _data + data_size;
5036#line 124
5037  data_top = (u32 *)__cil_tmp17;
5038  {
5039#line 125
5040  while (1) {
5041    while_continue: /* CIL Label */ ;
5042
5043    {
5044#line 125
5045    __cil_tmp18 = (unsigned long )data_top;
5046#line 125
5047    __cil_tmp19 = (unsigned long )data_itr;
5048#line 125
5049    if (__cil_tmp19 < __cil_tmp18) {
5050
5051    } else {
5052#line 125
5053      goto while_break;
5054    }
5055    }
5056    {
5057#line 126
5058    result = -12;
5059#line 127
5060    tmp = kmalloc(32UL, 208U);
5061#line 127
5062    hdr = (struct fw_hdr *)tmp;
5063    }
5064    {
5065#line 128
5066    __cil_tmp20 = (void *)0;
5067#line 128
5068    __cil_tmp21 = (unsigned long )__cil_tmp20;
5069#line 128
5070    __cil_tmp22 = (unsigned long )hdr;
5071#line 128
5072    if (__cil_tmp22 == __cil_tmp21) {
5073      {
5074#line 129
5075      __cil_tmp23 = i1480->dev;
5076#line 129
5077      __cil_tmp24 = (struct device  const  *)__cil_tmp23;
5078#line 129
5079      dev_err(__cil_tmp24, "Cannot allocate fw header for chunk #%u\n", hdr_cnt);
5080      }
5081#line 131
5082      goto error_alloc;
5083    } else {
5084
5085    }
5086    }
5087    {
5088#line 133
5089    __cil_tmp25 = (u32 const   *)data_itr;
5090#line 133
5091    __cil_tmp26 = (u32 const   *)data_top;
5092#line 133
5093    result = fw_hdr_load(i1480, hdr, hdr_cnt, _data, __cil_tmp25, __cil_tmp26);
5094    }
5095#line 135
5096    if (result < 0) {
5097#line 136
5098      goto error_load;
5099    } else {
5100
5101    }
5102#line 137
5103    __cil_tmp27 = hdr->length;
5104#line 137
5105    __cil_tmp28 = 2UL + __cil_tmp27;
5106#line 137
5107    data_itr = data_itr + __cil_tmp28;
5108#line 138
5109    *prev_hdr = hdr;
5110#line 139
5111    prev_hdr = & hdr->next;
5112#line 140
5113    hdr_cnt = hdr_cnt + 1U;
5114  }
5115  while_break___0: /* CIL Label */ ;
5116  }
5117
5118  while_break: 
5119#line 142
5120  __cil_tmp29 = (void *)0;
5121#line 142
5122  *prev_hdr = (struct fw_hdr *)__cil_tmp29;
5123#line 143
5124  return (0);
5125  error_load: 
5126  {
5127#line 146
5128  __cil_tmp30 = (void const   *)hdr;
5129#line 146
5130  kfree(__cil_tmp30);
5131  }
5132  error_alloc: 
5133  {
5134#line 148
5135  __cil_tmp31 = *phdr;
5136#line 148
5137  fw_hdrs_free(__cil_tmp31);
5138  }
5139  error: 
5140#line 150
5141  return (result);
5142}
5143}
5144#line 166 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/mac.c"
5145static ssize_t i1480_fw_cmp(struct i1480 *i1480 , struct fw_hdr *hdr ) 
5146{ ssize_t result ;
5147  u32 src_itr ;
5148  u32 cnt ;
5149  size_t size ;
5150  size_t chunk_size ;
5151  u8 *bin ;
5152  int tmp ;
5153  u8 *buf ;
5154  int tmp___0 ;
5155  size_t __cil_tmp12 ;
5156  u32 const   *__cil_tmp13 ;
5157  size_t __cil_tmp14 ;
5158  int (*__cil_tmp15)(struct i1480 * , u32 addr , size_t  ) ;
5159  unsigned long __cil_tmp16 ;
5160  unsigned long __cil_tmp17 ;
5161  unsigned long __cil_tmp18 ;
5162  u32 __cil_tmp19 ;
5163  struct device *__cil_tmp20 ;
5164  struct device  const  *__cil_tmp21 ;
5165  void *__cil_tmp22 ;
5166  void const   *__cil_tmp23 ;
5167  u8 *__cil_tmp24 ;
5168  void const   *__cil_tmp25 ;
5169  unsigned long __cil_tmp26 ;
5170  void *__cil_tmp27 ;
5171  ssize_t __cil_tmp28 ;
5172  u8 *__cil_tmp29 ;
5173  u8 __cil_tmp30 ;
5174  int __cil_tmp31 ;
5175  u32 __cil_tmp32 ;
5176  u8 *__cil_tmp33 ;
5177  u8 __cil_tmp34 ;
5178  int __cil_tmp35 ;
5179  struct device *__cil_tmp36 ;
5180  struct device  const  *__cil_tmp37 ;
5181  u32 __cil_tmp38 ;
5182  u8 *__cil_tmp39 ;
5183  u8 __cil_tmp40 ;
5184  int __cil_tmp41 ;
5185  u8 *__cil_tmp42 ;
5186  u8 __cil_tmp43 ;
5187  int __cil_tmp44 ;
5188  u32 __cil_tmp45 ;
5189  u32 __cil_tmp46 ;
5190  ssize_t __cil_tmp47 ;
5191  ssize_t __cil_tmp48 ;
5192  size_t __cil_tmp49 ;
5193
5194  {
5195#line 169
5196  result = (ssize_t )0;
5197#line 170
5198  src_itr = (u32 )0;
5199#line 171
5200  __cil_tmp12 = hdr->length;
5201#line 171
5202  size = __cil_tmp12 * 4UL;
5203#line 173
5204  __cil_tmp13 = hdr->bin;
5205#line 173
5206  bin = (u8 *)__cil_tmp13;
5207  {
5208#line 175
5209  while (1) {
5210    while_continue: /* CIL Label */ ;
5211
5212#line 175
5213    if (size > 0UL) {
5214
5215    } else {
5216#line 175
5217      goto while_break;
5218    }
5219    {
5220#line 176
5221    __cil_tmp14 = i1480->buf_size;
5222#line 176
5223    if (size < __cil_tmp14) {
5224#line 176
5225      chunk_size = size;
5226    } else {
5227#line 176
5228      chunk_size = i1480->buf_size;
5229    }
5230    }
5231    {
5232#line 177
5233    __cil_tmp15 = i1480->read;
5234#line 177
5235    __cil_tmp16 = (unsigned long )src_itr;
5236#line 177
5237    __cil_tmp17 = hdr->address;
5238#line 177
5239    __cil_tmp18 = __cil_tmp17 + __cil_tmp16;
5240#line 177
5241    __cil_tmp19 = (u32 )__cil_tmp18;
5242#line 177
5243    tmp = (*__cil_tmp15)(i1480, __cil_tmp19, chunk_size);
5244#line 177
5245    result = (ssize_t )tmp;
5246    }
5247#line 178
5248    if (result < 0L) {
5249      {
5250#line 179
5251      __cil_tmp20 = i1480->dev;
5252#line 179
5253      __cil_tmp21 = (struct device  const  *)__cil_tmp20;
5254#line 179
5255      dev_err(__cil_tmp21, "error reading for verification: %zd\n", result);
5256      }
5257#line 181
5258      goto error;
5259    } else {
5260
5261    }
5262    {
5263#line 183
5264    __cil_tmp22 = i1480->cmd_buf;
5265#line 183
5266    __cil_tmp23 = (void const   *)__cil_tmp22;
5267#line 183
5268    __cil_tmp24 = bin + src_itr;
5269#line 183
5270    __cil_tmp25 = (void const   *)__cil_tmp24;
5271#line 183
5272    __cil_tmp26 = (unsigned long )result;
5273#line 183
5274    tmp___0 = memcmp(__cil_tmp23, __cil_tmp25, __cil_tmp26);
5275    }
5276#line 183
5277    if (tmp___0) {
5278#line 184
5279      __cil_tmp27 = i1480->cmd_buf;
5280#line 184
5281      buf = (u8 *)__cil_tmp27;
5282#line 185
5283      cnt = (u32 )0;
5284      {
5285#line 185
5286      while (1) {
5287        while_continue___0: /* CIL Label */ ;
5288
5289        {
5290#line 185
5291        __cil_tmp28 = (ssize_t )cnt;
5292#line 185
5293        if (__cil_tmp28 < result) {
5294
5295        } else {
5296#line 185
5297          goto while_break___0;
5298        }
5299        }
5300        {
5301#line 186
5302        __cil_tmp29 = buf + cnt;
5303#line 186
5304        __cil_tmp30 = *__cil_tmp29;
5305#line 186
5306        __cil_tmp31 = (int )__cil_tmp30;
5307#line 186
5308        __cil_tmp32 = src_itr + cnt;
5309#line 186
5310        __cil_tmp33 = bin + __cil_tmp32;
5311#line 186
5312        __cil_tmp34 = *__cil_tmp33;
5313#line 186
5314        __cil_tmp35 = (int )__cil_tmp34;
5315#line 186
5316        if (__cil_tmp35 != __cil_tmp31) {
5317          {
5318#line 187
5319          __cil_tmp36 = i1480->dev;
5320#line 187
5321          __cil_tmp37 = (struct device  const  *)__cil_tmp36;
5322#line 187
5323          __cil_tmp38 = src_itr + cnt;
5324#line 187
5325          __cil_tmp39 = bin + __cil_tmp38;
5326#line 187
5327          __cil_tmp40 = *__cil_tmp39;
5328#line 187
5329          __cil_tmp41 = (int )__cil_tmp40;
5330#line 187
5331          __cil_tmp42 = buf + cnt;
5332#line 187
5333          __cil_tmp43 = *__cil_tmp42;
5334#line 187
5335          __cil_tmp44 = (int )__cil_tmp43;
5336#line 187
5337          dev_err(__cil_tmp37, "byte failed at src_itr %u cnt %u [0x%02x vs 0x%02x]\n",
5338                  src_itr, cnt, __cil_tmp41, __cil_tmp44);
5339#line 191
5340          __cil_tmp45 = src_itr + cnt;
5341#line 191
5342          __cil_tmp46 = __cil_tmp45 + 1U;
5343#line 191
5344          result = (ssize_t )__cil_tmp46;
5345          }
5346#line 192
5347          goto error;
5348        } else {
5349
5350        }
5351        }
5352#line 185
5353        cnt = cnt + 1U;
5354      }
5355      while_break___2: /* CIL Label */ ;
5356      }
5357
5358      while_break___0: ;
5359    } else {
5360
5361    }
5362#line 195
5363    __cil_tmp47 = (ssize_t )src_itr;
5364#line 195
5365    __cil_tmp48 = __cil_tmp47 + result;
5366#line 195
5367    src_itr = (u32 )__cil_tmp48;
5368#line 196
5369    __cil_tmp49 = (size_t )result;
5370#line 196
5371    size = size - __cil_tmp49;
5372  }
5373  while_break___1: /* CIL Label */ ;
5374  }
5375
5376  while_break: 
5377#line 198
5378  result = (ssize_t )0;
5379  error: 
5380#line 201
5381  return (result);
5382}
5383}
5384#line 225
5385static int mac_fw_hdrs_push(struct i1480 *i1480 , struct fw_hdr *hdr , char const   *fw_name ,
5386                            char const   *fw_tag ) ;
5387#line 225 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/mac.c"
5388static struct _ddebug descriptor  __attribute__((__used__, __section__("__verbose"),
5389__aligned__(8)))  =    {"i1480_dfu_usb", "mac_fw_hdrs_push", "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/mac.c",
5390    "fw chunk (%zu @ 0x%08lx)\n", 227U, 0U, (char)0};
5391#line 212 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/mac.c"
5392static int mac_fw_hdrs_push(struct i1480 *i1480 , struct fw_hdr *hdr , char const   *fw_name ,
5393                            char const   *fw_tag ) 
5394{ struct device *dev ;
5395  ssize_t result ;
5396  struct fw_hdr *hdr_itr ;
5397  int verif_retry_count ;
5398  long tmp ;
5399  int tmp___0 ;
5400  void *__cil_tmp11 ;
5401  unsigned long __cil_tmp12 ;
5402  unsigned long __cil_tmp13 ;
5403  int __cil_tmp14 ;
5404  int __cil_tmp15 ;
5405  long __cil_tmp16 ;
5406  struct device  const  *__cil_tmp17 ;
5407  size_t __cil_tmp18 ;
5408  size_t __cil_tmp19 ;
5409  unsigned long __cil_tmp20 ;
5410  int (*__cil_tmp21)(struct i1480 * , u32 addr , void const   * , size_t  ) ;
5411  unsigned long __cil_tmp22 ;
5412  u32 __cil_tmp23 ;
5413  u32 const   *__cil_tmp24 ;
5414  void const   *__cil_tmp25 ;
5415  size_t __cil_tmp26 ;
5416  size_t __cil_tmp27 ;
5417  struct device  const  *__cil_tmp28 ;
5418  size_t __cil_tmp29 ;
5419  size_t __cil_tmp30 ;
5420  unsigned long __cil_tmp31 ;
5421  struct device  const  *__cil_tmp32 ;
5422  size_t __cil_tmp33 ;
5423  size_t __cil_tmp34 ;
5424  unsigned long __cil_tmp35 ;
5425  struct device  const  *__cil_tmp36 ;
5426  unsigned long __cil_tmp37 ;
5427  unsigned long __cil_tmp38 ;
5428  unsigned long __cil_tmp39 ;
5429  struct device  const  *__cil_tmp40 ;
5430  unsigned long __cil_tmp41 ;
5431  unsigned long __cil_tmp42 ;
5432  unsigned long __cil_tmp43 ;
5433
5434  {
5435#line 216
5436  dev = i1480->dev;
5437#line 217
5438  result = (ssize_t )0;
5439#line 222
5440  hdr_itr = hdr;
5441  {
5442#line 222
5443  while (1) {
5444    while_continue: /* CIL Label */ ;
5445
5446    {
5447#line 222
5448    __cil_tmp11 = (void *)0;
5449#line 222
5450    __cil_tmp12 = (unsigned long )__cil_tmp11;
5451#line 222
5452    __cil_tmp13 = (unsigned long )hdr_itr;
5453#line 222
5454    if (__cil_tmp13 != __cil_tmp12) {
5455
5456    } else {
5457#line 222
5458      goto while_break;
5459    }
5460    }
5461#line 223
5462    verif_retry_count = 0;
5463    retry: 
5464    {
5465#line 225
5466    while (1) {
5467      while_continue___0: /* CIL Label */ ;
5468
5469      {
5470#line 225
5471      while (1) {
5472        while_continue___1: /* CIL Label */ ;
5473        {
5474#line 225
5475        __cil_tmp14 = ! descriptor.enabled;
5476#line 225
5477        __cil_tmp15 = ! __cil_tmp14;
5478#line 225
5479        __cil_tmp16 = (long )__cil_tmp15;
5480#line 225
5481        tmp = __builtin_expect(__cil_tmp16, 0L);
5482        }
5483#line 225
5484        if (tmp) {
5485          {
5486#line 225
5487          __cil_tmp17 = (struct device  const  *)dev;
5488#line 225
5489          __cil_tmp18 = hdr_itr->length;
5490#line 225
5491          __cil_tmp19 = __cil_tmp18 * 4UL;
5492#line 225
5493          __cil_tmp20 = hdr_itr->address;
5494#line 225
5495          dev_printk("<7>", __cil_tmp17, "fw chunk (%zu @ 0x%08lx)\n", __cil_tmp19,
5496                     __cil_tmp20);
5497          }
5498        } else {
5499
5500        }
5501#line 225
5502        goto while_break___1;
5503      }
5504      while_break___4: /* CIL Label */ ;
5505      }
5506
5507      while_break___1: ;
5508#line 225
5509      goto while_break___0;
5510    }
5511    while_break___3: /* CIL Label */ ;
5512    }
5513
5514    while_break___0: 
5515    {
5516#line 228
5517    __cil_tmp21 = i1480->write;
5518#line 228
5519    __cil_tmp22 = hdr_itr->address;
5520#line 228
5521    __cil_tmp23 = (u32 )__cil_tmp22;
5522#line 228
5523    __cil_tmp24 = hdr_itr->bin;
5524#line 228
5525    __cil_tmp25 = (void const   *)__cil_tmp24;
5526#line 228
5527    __cil_tmp26 = hdr_itr->length;
5528#line 228
5529    __cil_tmp27 = __cil_tmp26 * 4UL;
5530#line 228
5531    tmp___0 = (*__cil_tmp21)(i1480, __cil_tmp23, __cil_tmp25, __cil_tmp27);
5532#line 228
5533    result = (ssize_t )tmp___0;
5534    }
5535#line 230
5536    if (result < 0L) {
5537      {
5538#line 231
5539      __cil_tmp28 = (struct device  const  *)dev;
5540#line 231
5541      __cil_tmp29 = hdr_itr->length;
5542#line 231
5543      __cil_tmp30 = __cil_tmp29 * 4UL;
5544#line 231
5545      __cil_tmp31 = hdr_itr->address;
5546#line 231
5547      dev_err(__cil_tmp28, "%s fw \'%s\': write failed (%zuB @ 0x%lx): %zd\n", fw_tag,
5548              fw_name, __cil_tmp30, __cil_tmp31, result);
5549      }
5550#line 235
5551      goto while_break;
5552    } else {
5553
5554    }
5555    {
5556#line 237
5557    result = i1480_fw_cmp(i1480, hdr_itr);
5558    }
5559#line 238
5560    if (result < 0L) {
5561      {
5562#line 239
5563      __cil_tmp32 = (struct device  const  *)dev;
5564#line 239
5565      __cil_tmp33 = hdr_itr->length;
5566#line 239
5567      __cil_tmp34 = __cil_tmp33 * 4UL;
5568#line 239
5569      __cil_tmp35 = hdr_itr->address;
5570#line 239
5571      dev_err(__cil_tmp32, "%s fw \'%s\': verification read failed (%zuB @ 0x%lx): %zd\n",
5572              fw_tag, fw_name, __cil_tmp34, __cil_tmp35, result);
5573      }
5574#line 244
5575      goto while_break;
5576    } else {
5577
5578    }
5579#line 246
5580    if (result > 0L) {
5581      {
5582#line 247
5583      result = result - 1L;
5584#line 248
5585      __cil_tmp36 = (struct device  const  *)dev;
5586#line 248
5587      __cil_tmp37 = (unsigned long )result;
5588#line 248
5589      __cil_tmp38 = hdr_itr->address;
5590#line 248
5591      __cil_tmp39 = __cil_tmp38 + __cil_tmp37;
5592#line 248
5593      dev_err(__cil_tmp36, "%s fw \'%s\': WARNING: verification failed at 0x%lx: retrying\n",
5594              fw_tag, fw_name, __cil_tmp39);
5595#line 251
5596      verif_retry_count = verif_retry_count + 1;
5597      }
5598#line 251
5599      if (verif_retry_count < 3) {
5600#line 252
5601        goto retry;
5602      } else {
5603
5604      }
5605      {
5606#line 253
5607      __cil_tmp40 = (struct device  const  *)dev;
5608#line 253
5609      __cil_tmp41 = (unsigned long )result;
5610#line 253
5611      __cil_tmp42 = hdr_itr->address;
5612#line 253
5613      __cil_tmp43 = __cil_tmp42 + __cil_tmp41;
5614#line 253
5615      dev_err(__cil_tmp40, "%s fw \'%s\': verification failed at 0x%lx: tried %d times\n",
5616              fw_tag, fw_name, __cil_tmp43, verif_retry_count);
5617#line 256
5618      result = (ssize_t )-22;
5619      }
5620#line 257
5621      goto while_break;
5622    } else {
5623
5624    }
5625#line 222
5626    hdr_itr = hdr_itr->next;
5627  }
5628  while_break___2: /* CIL Label */ ;
5629  }
5630
5631  while_break: ;
5632#line 260
5633  return ((int )result);
5634}
5635}
5636#line 265 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/mac.c"
5637static int mac_fw_upload_enable(struct i1480 *i1480 ) 
5638{ int result ;
5639  u32 reg ;
5640  u32 *buffer ;
5641  void *__cil_tmp5 ;
5642  u8 __cil_tmp6 ;
5643  int __cil_tmp7 ;
5644  int (*__cil_tmp8)(struct i1480 * , u32 addr , size_t  ) ;
5645  u32 __cil_tmp9 ;
5646  int (*__cil_tmp10)(struct i1480 * , u32 addr , void const   * , size_t  ) ;
5647  void const   *__cil_tmp11 ;
5648  struct device *__cil_tmp12 ;
5649  struct device  const  *__cil_tmp13 ;
5650
5651  {
5652#line 269
5653  reg = 2147483840U;
5654#line 270
5655  __cil_tmp5 = i1480->cmd_buf;
5656#line 270
5657  buffer = (u32 *)__cil_tmp5;
5658  {
5659#line 272
5660  __cil_tmp6 = i1480->hw_rev;
5661#line 272
5662  __cil_tmp7 = (int )__cil_tmp6;
5663#line 272
5664  if (__cil_tmp7 > 1) {
5665#line 273
5666    reg = 2147537108U;
5667  } else {
5668
5669  }
5670  }
5671  {
5672#line 274
5673  __cil_tmp8 = i1480->read;
5674#line 274
5675  result = (*__cil_tmp8)(i1480, reg, 4UL);
5676  }
5677#line 275
5678  if (result < 0) {
5679#line 276
5680    goto error_cmd;
5681  } else {
5682
5683  }
5684  {
5685#line 277
5686  __cil_tmp9 = *buffer;
5687#line 277
5688  *buffer = __cil_tmp9 & 4294967271U;
5689#line 278
5690  __cil_tmp10 = i1480->write;
5691#line 278
5692  __cil_tmp11 = (void const   *)buffer;
5693#line 278
5694  result = (*__cil_tmp10)(i1480, reg, __cil_tmp11, 4UL);
5695  }
5696#line 279
5697  if (result < 0) {
5698#line 280
5699    goto error_cmd;
5700  } else {
5701
5702  }
5703#line 281
5704  return (0);
5705  error_cmd: 
5706  {
5707#line 283
5708  __cil_tmp12 = i1480->dev;
5709#line 283
5710  __cil_tmp13 = (struct device  const  *)__cil_tmp12;
5711#line 283
5712  dev_err(__cil_tmp13, "can\'t enable fw upload mode: %d\n", result);
5713  }
5714#line 284
5715  return (result);
5716}
5717}
5718#line 289 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/mac.c"
5719static int mac_fw_upload_disable(struct i1480 *i1480 ) 
5720{ int result ;
5721  u32 reg ;
5722  u32 *buffer ;
5723  void *__cil_tmp5 ;
5724  u8 __cil_tmp6 ;
5725  int __cil_tmp7 ;
5726  int (*__cil_tmp8)(struct i1480 * , u32 addr , size_t  ) ;
5727  u32 __cil_tmp9 ;
5728  int (*__cil_tmp10)(struct i1480 * , u32 addr , void const   * , size_t  ) ;
5729  void const   *__cil_tmp11 ;
5730  struct device *__cil_tmp12 ;
5731  struct device  const  *__cil_tmp13 ;
5732
5733  {
5734#line 293
5735  reg = 2147483840U;
5736#line 294
5737  __cil_tmp5 = i1480->cmd_buf;
5738#line 294
5739  buffer = (u32 *)__cil_tmp5;
5740  {
5741#line 296
5742  __cil_tmp6 = i1480->hw_rev;
5743#line 296
5744  __cil_tmp7 = (int )__cil_tmp6;
5745#line 296
5746  if (__cil_tmp7 > 1) {
5747#line 297
5748    reg = 2147537108U;
5749  } else {
5750
5751  }
5752  }
5753  {
5754#line 298
5755  __cil_tmp8 = i1480->read;
5756#line 298
5757  result = (*__cil_tmp8)(i1480, reg, 4UL);
5758  }
5759#line 299
5760  if (result < 0) {
5761#line 300
5762    goto error_cmd;
5763  } else {
5764
5765  }
5766  {
5767#line 301
5768  __cil_tmp9 = *buffer;
5769#line 301
5770  *buffer = __cil_tmp9 | 24U;
5771#line 302
5772  __cil_tmp10 = i1480->write;
5773#line 302
5774  __cil_tmp11 = (void const   *)buffer;
5775#line 302
5776  result = (*__cil_tmp10)(i1480, reg, __cil_tmp11, 4UL);
5777  }
5778#line 303
5779  if (result < 0) {
5780#line 304
5781    goto error_cmd;
5782  } else {
5783
5784  }
5785#line 305
5786  return (0);
5787  error_cmd: 
5788  {
5789#line 307
5790  __cil_tmp12 = i1480->dev;
5791#line 307
5792  __cil_tmp13 = (struct device  const  *)__cil_tmp12;
5793#line 307
5794  dev_err(__cil_tmp13, "can\'t disable fw upload mode: %d\n", result);
5795  }
5796#line 308
5797  return (result);
5798}
5799}
5800#line 324 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/mac.c"
5801static int __mac_fw_upload(struct i1480 *i1480 , char const   *fw_name , char const   *fw_tag ) 
5802{ int result ;
5803  struct firmware  const  *fw ;
5804  struct fw_hdr *fw_hdrs ;
5805  struct device *__cil_tmp7 ;
5806  u8 const   *__cil_tmp8 ;
5807  char const   *__cil_tmp9 ;
5808  size_t __cil_tmp10 ;
5809  size_t __cil_tmp11 ;
5810  struct device *__cil_tmp12 ;
5811  struct device  const  *__cil_tmp13 ;
5812  struct device *__cil_tmp14 ;
5813  struct device  const  *__cil_tmp15 ;
5814  struct device *__cil_tmp16 ;
5815  struct device  const  *__cil_tmp17 ;
5816
5817  {
5818  {
5819#line 332
5820  __cil_tmp7 = i1480->dev;
5821#line 332
5822  result = request_firmware(& fw, fw_name, __cil_tmp7);
5823  }
5824#line 333
5825  if (result < 0) {
5826#line 334
5827    goto out;
5828  } else {
5829
5830  }
5831  {
5832#line 335
5833  __cil_tmp8 = fw->data;
5834#line 335
5835  __cil_tmp9 = (char const   *)__cil_tmp8;
5836#line 335
5837  __cil_tmp10 = fw->size;
5838#line 335
5839  __cil_tmp11 = (size_t )__cil_tmp10;
5840#line 335
5841  result = fw_hdrs_load(i1480, & fw_hdrs, __cil_tmp9, __cil_tmp11);
5842  }
5843#line 336
5844  if (result < 0) {
5845    {
5846#line 337
5847    __cil_tmp12 = i1480->dev;
5848#line 337
5849    __cil_tmp13 = (struct device  const  *)__cil_tmp12;
5850#line 337
5851    dev_err(__cil_tmp13, "%s fw \'%s\': failed to parse firmware file: %d\n", fw_tag,
5852            fw_name, result);
5853    }
5854#line 339
5855    goto out_release;
5856  } else {
5857
5858  }
5859  {
5860#line 341
5861  result = mac_fw_upload_enable(i1480);
5862  }
5863#line 342
5864  if (result < 0) {
5865#line 343
5866    goto out_hdrs_release;
5867  } else {
5868
5869  }
5870  {
5871#line 344
5872  result = mac_fw_hdrs_push(i1480, fw_hdrs, fw_name, fw_tag);
5873#line 345
5874  mac_fw_upload_disable(i1480);
5875  }
5876  out_hdrs_release: 
5877#line 347
5878  if (result >= 0) {
5879    {
5880#line 348
5881    __cil_tmp14 = i1480->dev;
5882#line 348
5883    __cil_tmp15 = (struct device  const  *)__cil_tmp14;
5884#line 348
5885    _dev_info(__cil_tmp15, "%s fw \'%s\': uploaded\n", fw_tag, fw_name);
5886    }
5887  } else {
5888    {
5889#line 350
5890    __cil_tmp16 = i1480->dev;
5891#line 350
5892    __cil_tmp17 = (struct device  const  *)__cil_tmp16;
5893#line 350
5894    dev_err(__cil_tmp17, "%s fw \'%s\': failed to upload (%d), power cycle device\n",
5895            fw_tag, fw_name, result);
5896    }
5897  }
5898  {
5899#line 352
5900  fw_hdrs_free(fw_hdrs);
5901  }
5902  out_release: 
5903  {
5904#line 354
5905  release_firmware(fw);
5906  }
5907  out: 
5908#line 356
5909  return (result);
5910}
5911}
5912#line 364 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/mac.c"
5913int i1480_pre_fw_upload(struct i1480 *i1480 ) 
5914{ int result ;
5915  char const   *__cil_tmp3 ;
5916
5917  {
5918  {
5919#line 367
5920  __cil_tmp3 = i1480->pre_fw_name;
5921#line 367
5922  result = __mac_fw_upload(i1480, __cil_tmp3, "PRE");
5923  }
5924#line 368
5925  if (result == 0) {
5926    {
5927#line 369
5928    msleep(400U);
5929    }
5930  } else {
5931
5932  }
5933#line 370
5934  return (result);
5935}
5936}
5937#line 387 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/mac.c"
5938static int i1480_cmd_reset(struct i1480 *i1480 ) 
5939{ int result ;
5940  struct uwb_rccb *cmd ;
5941  struct i1480_evt_reset *reply ;
5942  ssize_t tmp ;
5943  void *__cil_tmp6 ;
5944  void *__cil_tmp7 ;
5945  u8 __cil_tmp8 ;
5946  int __cil_tmp9 ;
5947  struct device *__cil_tmp10 ;
5948  struct device  const  *__cil_tmp11 ;
5949  u8 __cil_tmp12 ;
5950  int __cil_tmp13 ;
5951
5952  {
5953  {
5954#line 391
5955  __cil_tmp6 = i1480->cmd_buf;
5956#line 391
5957  cmd = (struct uwb_rccb *)__cil_tmp6;
5958#line 392
5959  __cil_tmp7 = i1480->evt_buf;
5960#line 392
5961  reply = (struct i1480_evt_reset *)__cil_tmp7;
5962#line 397
5963  result = -12;
5964#line 398
5965  cmd->bCommandType = (u8 )0;
5966#line 399
5967  cmd->wCommand = (__u16 )19;
5968#line 400
5969  reply->rceb.bEventType = (u8 )0;
5970#line 401
5971  reply->rceb.wEvent = (__le16 )19;
5972#line 402
5973  tmp = i1480_cmd(i1480, "RESET", 4UL, 5UL);
5974#line 402
5975  result = (int )tmp;
5976  }
5977#line 403
5978  if (result < 0) {
5979#line 404
5980    goto out;
5981  } else {
5982
5983  }
5984  {
5985#line 405
5986  __cil_tmp8 = reply->bResultCode;
5987#line 405
5988  __cil_tmp9 = (int )__cil_tmp8;
5989#line 405
5990  if (__cil_tmp9 != 0) {
5991    {
5992#line 406
5993    __cil_tmp10 = i1480->dev;
5994#line 406
5995    __cil_tmp11 = (struct device  const  *)__cil_tmp10;
5996#line 406
5997    __cil_tmp12 = reply->bResultCode;
5998#line 406
5999    __cil_tmp13 = (int )__cil_tmp12;
6000#line 406
6001    dev_err(__cil_tmp11, "RESET: command execution failed: %u\n", __cil_tmp13);
6002#line 408
6003    result = -5;
6004    }
6005  } else {
6006
6007  }
6008  }
6009  out: 
6010#line 411
6011  return (result);
6012}
6013}
6014#line 417 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/mac.c"
6015static int i1480_fw_is_running_q(struct i1480 *i1480 ) 
6016{ int cnt ;
6017  int result ;
6018  u32 *val ;
6019  void *__cil_tmp5 ;
6020  int (*__cil_tmp6)(struct i1480 * , u32 addr , size_t  ) ;
6021  size_t __cil_tmp7 ;
6022  struct device *__cil_tmp8 ;
6023  struct device  const  *__cil_tmp9 ;
6024  u32 __cil_tmp10 ;
6025  unsigned long __cil_tmp11 ;
6026  struct device *__cil_tmp12 ;
6027  struct device  const  *__cil_tmp13 ;
6028
6029  {
6030#line 420
6031  cnt = 0;
6032#line 422
6033  __cil_tmp5 = i1480->cmd_buf;
6034#line 422
6035  val = (u32 *)__cil_tmp5;
6036#line 424
6037  cnt = 0;
6038  {
6039#line 424
6040  while (1) {
6041    while_continue: /* CIL Label */ ;
6042
6043#line 424
6044    if (cnt < 10) {
6045
6046    } else {
6047#line 424
6048      goto while_break;
6049    }
6050    {
6051#line 425
6052    msleep(100U);
6053#line 426
6054    __cil_tmp6 = i1480->read;
6055#line 426
6056    __cil_tmp7 = (size_t )4;
6057#line 426
6058    result = (*__cil_tmp6)(i1480, 2148007936U, __cil_tmp7);
6059    }
6060#line 427
6061    if (result < 0) {
6062      {
6063#line 428
6064      __cil_tmp8 = i1480->dev;
6065#line 428
6066      __cil_tmp9 = (struct device  const  *)__cil_tmp8;
6067#line 428
6068      dev_err(__cil_tmp9, "Can\'t read 0x8008000: %d\n", result);
6069      }
6070#line 429
6071      goto out;
6072    } else {
6073
6074    }
6075    {
6076#line 431
6077    __cil_tmp10 = *val;
6078#line 431
6079    __cil_tmp11 = (unsigned long )__cil_tmp10;
6080#line 431
6081    if (__cil_tmp11 == 1431655765UL) {
6082#line 432
6083      goto out;
6084    } else {
6085
6086    }
6087    }
6088#line 424
6089    cnt = cnt + 1;
6090  }
6091  while_break___0: /* CIL Label */ ;
6092  }
6093
6094  while_break: 
6095  {
6096#line 434
6097  __cil_tmp12 = i1480->dev;
6098#line 434
6099  __cil_tmp13 = (struct device  const  *)__cil_tmp12;
6100#line 434
6101  dev_err(__cil_tmp13, "Timed out waiting for fw to start\n");
6102#line 435
6103  result = -110;
6104  }
6105  out: 
6106#line 437
6107  return (result);
6108}
6109}
6110#line 451 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/mac.c"
6111int i1480_mac_fw_upload(struct i1480 *i1480 ) 
6112{ int result ;
6113  int deprecated_name ;
6114  struct i1480_rceb *rcebe ;
6115  int tmp ;
6116  int tmp___0 ;
6117  void *__cil_tmp7 ;
6118  char const   *__cil_tmp8 ;
6119  char const   *__cil_tmp9 ;
6120  struct device *__cil_tmp10 ;
6121  struct device  const  *__cil_tmp11 ;
6122  char const   *__cil_tmp12 ;
6123  char const   *__cil_tmp13 ;
6124  int (*__cil_tmp14)(struct i1480 * ) ;
6125  struct device *__cil_tmp15 ;
6126  struct device  const  *__cil_tmp16 ;
6127  int (*__cil_tmp17)(struct i1480 * ) ;
6128  struct device *__cil_tmp18 ;
6129  struct device  const  *__cil_tmp19 ;
6130  char const   *__cil_tmp20 ;
6131  ssize_t __cil_tmp21 ;
6132  unsigned long __cil_tmp22 ;
6133  struct device *__cil_tmp23 ;
6134  struct device  const  *__cil_tmp24 ;
6135  char const   *__cil_tmp25 ;
6136  ssize_t __cil_tmp26 ;
6137  struct i1480  const  *__cil_tmp27 ;
6138  struct uwb_rceb *__cil_tmp28 ;
6139  struct uwb_rceb  const  *__cil_tmp29 ;
6140  void *__cil_tmp30 ;
6141  char const   *__cil_tmp31 ;
6142  u8 __cil_tmp32 ;
6143  u8 __cil_tmp33 ;
6144  struct device *__cil_tmp34 ;
6145  struct device  const  *__cil_tmp35 ;
6146  u8 __cil_tmp36 ;
6147  int __cil_tmp37 ;
6148  __le16 __cil_tmp38 ;
6149  int __cil_tmp39 ;
6150  u8 __cil_tmp40 ;
6151  int __cil_tmp41 ;
6152  struct device *__cil_tmp42 ;
6153  struct device  const  *__cil_tmp43 ;
6154  char const   *__cil_tmp44 ;
6155
6156  {
6157  {
6158#line 453
6159  result = 0;
6160#line 453
6161  deprecated_name = 0;
6162#line 454
6163  __cil_tmp7 = i1480->evt_buf;
6164#line 454
6165  rcebe = (struct i1480_rceb *)__cil_tmp7;
6166#line 456
6167  __cil_tmp8 = i1480->mac_fw_name;
6168#line 456
6169  result = __mac_fw_upload(i1480, __cil_tmp8, "MAC");
6170  }
6171#line 457
6172  if (result == -2) {
6173    {
6174#line 458
6175    __cil_tmp9 = i1480->mac_fw_name_deprecate;
6176#line 458
6177    result = __mac_fw_upload(i1480, __cil_tmp9, "MAC");
6178#line 460
6179    deprecated_name = 1;
6180    }
6181  } else {
6182
6183  }
6184#line 462
6185  if (result < 0) {
6186#line 463
6187    return (result);
6188  } else {
6189
6190  }
6191#line 464
6192  if (deprecated_name == 1) {
6193    {
6194#line 465
6195    __cil_tmp10 = i1480->dev;
6196#line 465
6197    __cil_tmp11 = (struct device  const  *)__cil_tmp10;
6198#line 465
6199    __cil_tmp12 = i1480->mac_fw_name_deprecate;
6200#line 465
6201    __cil_tmp13 = i1480->mac_fw_name;
6202#line 465
6203    dev_warn(__cil_tmp11, "WARNING: firmware file name %s is deprecated, please rename to %s\n",
6204             __cil_tmp12, __cil_tmp13);
6205    }
6206  } else {
6207
6208  }
6209  {
6210#line 469
6211  result = i1480_fw_is_running_q(i1480);
6212  }
6213#line 470
6214  if (result < 0) {
6215#line 471
6216    goto error_fw_not_running;
6217  } else {
6218
6219  }
6220#line 472
6221  if (i1480->rc_setup) {
6222    {
6223#line 472
6224    __cil_tmp14 = i1480->rc_setup;
6225#line 472
6226    tmp = (*__cil_tmp14)(i1480);
6227#line 472
6228    result = tmp;
6229    }
6230  } else {
6231#line 472
6232    result = 0;
6233  }
6234#line 473
6235  if (result < 0) {
6236    {
6237#line 474
6238    __cil_tmp15 = i1480->dev;
6239#line 474
6240    __cil_tmp16 = (struct device  const  *)__cil_tmp15;
6241#line 474
6242    dev_err(__cil_tmp16, "Cannot setup after MAC fw upload: %d\n", result);
6243    }
6244#line 476
6245    goto error_fw_not_running;
6246  } else {
6247
6248  }
6249  {
6250#line 478
6251  __cil_tmp17 = i1480->wait_init_done;
6252#line 478
6253  result = (*__cil_tmp17)(i1480);
6254  }
6255#line 479
6256  if (result < 0) {
6257    {
6258#line 480
6259    __cil_tmp18 = i1480->dev;
6260#line 480
6261    __cil_tmp19 = (struct device  const  *)__cil_tmp18;
6262#line 480
6263    __cil_tmp20 = i1480->mac_fw_name;
6264#line 480
6265    dev_err(__cil_tmp19, "MAC fw \'%s\': Initialization timed out (%d)\n", __cil_tmp20,
6266            result);
6267    }
6268#line 482
6269    goto error_fw_not_running;
6270  } else {
6271
6272  }
6273  {
6274#line 485
6275  __cil_tmp21 = i1480->evt_result;
6276#line 485
6277  __cil_tmp22 = (unsigned long )__cil_tmp21;
6278#line 485
6279  if (__cil_tmp22 != 6UL) {
6280    {
6281#line 486
6282    __cil_tmp23 = i1480->dev;
6283#line 486
6284    __cil_tmp24 = (struct device  const  *)__cil_tmp23;
6285#line 486
6286    __cil_tmp25 = i1480->mac_fw_name;
6287#line 486
6288    __cil_tmp26 = i1480->evt_result;
6289#line 486
6290    dev_err(__cil_tmp24, "MAC fw \'%s\': initialization event returns wrong size (%zu bytes vs %zu needed)\n",
6291            __cil_tmp25, __cil_tmp26, 6UL);
6292    }
6293#line 489
6294    goto error_fw_not_running;
6295  } else {
6296
6297  }
6298  }
6299  {
6300#line 491
6301  result = -5;
6302#line 492
6303  __cil_tmp27 = (struct i1480  const  *)i1480;
6304#line 492
6305  __cil_tmp28 = & rcebe->rceb;
6306#line 492
6307  __cil_tmp29 = (struct uwb_rceb  const  *)__cil_tmp28;
6308#line 492
6309  __cil_tmp30 = (void *)0;
6310#line 492
6311  __cil_tmp31 = (char const   *)__cil_tmp30;
6312#line 492
6313  __cil_tmp32 = (u8 )0;
6314#line 492
6315  __cil_tmp33 = (u8 )253;
6316#line 492
6317  tmp___0 = i1480_rceb_check(__cil_tmp27, __cil_tmp29, __cil_tmp31, __cil_tmp32, __cil_tmp33,
6318                             257U);
6319  }
6320#line 492
6321  if (tmp___0 < 0) {
6322    {
6323#line 494
6324    __cil_tmp34 = i1480->dev;
6325#line 494
6326    __cil_tmp35 = (struct device  const  *)__cil_tmp34;
6327#line 494
6328    __cil_tmp36 = rcebe->rceb.bEventType;
6329#line 494
6330    __cil_tmp37 = (int )__cil_tmp36;
6331#line 494
6332    __cil_tmp38 = rcebe->rceb.wEvent;
6333#line 494
6334    __cil_tmp39 = (int )__cil_tmp38;
6335#line 494
6336    __cil_tmp40 = rcebe->rceb.bEventContext;
6337#line 494
6338    __cil_tmp41 = (int )__cil_tmp40;
6339#line 494
6340    dev_err(__cil_tmp35, "wrong initialization event 0x%02x/%04x/%02x received; expected 0x%02x/%04x/00\n",
6341            __cil_tmp37, __cil_tmp39, __cil_tmp41, 253, 257);
6342    }
6343#line 499
6344    goto error_fw_not_running;
6345  } else {
6346
6347  }
6348  {
6349#line 501
6350  result = i1480_cmd_reset(i1480);
6351  }
6352#line 502
6353  if (result < 0) {
6354    {
6355#line 503
6356    __cil_tmp42 = i1480->dev;
6357#line 503
6358    __cil_tmp43 = (struct device  const  *)__cil_tmp42;
6359#line 503
6360    __cil_tmp44 = i1480->mac_fw_name;
6361#line 503
6362    dev_err(__cil_tmp43, "MAC fw \'%s\': MBOA reset failed (%d)\n", __cil_tmp44, result);
6363    }
6364  } else {
6365
6366  }
6367  error_fw_not_running: 
6368#line 509
6369  return (result);
6370}
6371}
6372#line 55 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/string_64.h"
6373extern void *memset(void *s , int c , size_t n ) ;
6374#line 51 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/phy.c"
6375static int i1480_mpi_write(struct i1480 *i1480 , void const   *data , size_t size ) 
6376{ int result ;
6377  struct i1480_cmd_mpi_write *cmd ;
6378  struct i1480_evt_confirm *reply ;
6379  long tmp ;
6380  size_t __len ;
6381  void *__ret ;
6382  ssize_t tmp___0 ;
6383  void *__cil_tmp11 ;
6384  void *__cil_tmp12 ;
6385  int __cil_tmp13 ;
6386  int __cil_tmp14 ;
6387  int __cil_tmp15 ;
6388  long __cil_tmp16 ;
6389  u8 *__cil_tmp17 ;
6390  void *__cil_tmp18 ;
6391  unsigned long __cil_tmp19 ;
6392  u8 __cil_tmp20 ;
6393  int __cil_tmp21 ;
6394  struct device *__cil_tmp22 ;
6395  struct device  const  *__cil_tmp23 ;
6396  u8 __cil_tmp24 ;
6397  int __cil_tmp25 ;
6398
6399  {
6400#line 55
6401  __cil_tmp11 = i1480->cmd_buf;
6402#line 55
6403  cmd = (struct i1480_cmd_mpi_write *)__cil_tmp11;
6404#line 56
6405  __cil_tmp12 = i1480->evt_buf;
6406#line 56
6407  reply = (struct i1480_evt_confirm *)__cil_tmp12;
6408  {
6409#line 58
6410  while (1) {
6411    while_continue: /* CIL Label */ ;
6412    {
6413#line 58
6414    __cil_tmp13 = size > 480UL;
6415#line 58
6416    __cil_tmp14 = ! __cil_tmp13;
6417#line 58
6418    __cil_tmp15 = ! __cil_tmp14;
6419#line 58
6420    __cil_tmp16 = (long )__cil_tmp15;
6421#line 58
6422    tmp = __builtin_expect(__cil_tmp16, 0L);
6423    }
6424#line 58
6425    if (tmp) {
6426      {
6427#line 58
6428      while (1) {
6429        while_continue___0: /* CIL Label */ ;
6430#line 58
6431        __asm__  volatile   ("1:\tud2\n"
6432                             ".pushsection __bug_table,\"a\"\n"
6433                             "2:\t.long 1b - 2b, %c0 - 2b\n"
6434                             "\t.word %c1, 0\n"
6435                             "\t.org 2b+%c2\n"
6436                             ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/phy.c"),
6437                             "i" (58), "i" (12UL));
6438        {
6439#line 58
6440        while (1) {
6441          while_continue___1: /* CIL Label */ ;
6442
6443        }
6444        while_break___3: /* CIL Label */ ;
6445        }
6446
6447#line 58
6448        goto while_break___0;
6449      }
6450      while_break___2: /* CIL Label */ ;
6451      }
6452
6453      while_break___0: ;
6454    } else {
6455
6456    }
6457#line 58
6458    goto while_break;
6459  }
6460  while_break___1: /* CIL Label */ ;
6461  }
6462
6463  while_break: 
6464  {
6465#line 59
6466  result = -12;
6467#line 60
6468  cmd->rccb.bCommandType = (u8 )253;
6469#line 61
6470  cmd->rccb.wCommand = (__u16 )15;
6471#line 62
6472  cmd->size = (__u16 )size;
6473#line 63
6474  __len = size;
6475#line 63
6476  __cil_tmp17 = & cmd->data[0];
6477#line 63
6478  __cil_tmp18 = (void *)__cil_tmp17;
6479#line 63
6480  __ret = __builtin_memcpy(__cil_tmp18, data, __len);
6481#line 64
6482  reply->rceb.bEventType = (u8 )253;
6483#line 65
6484  reply->rceb.wEvent = (__le16 )15;
6485#line 66
6486  __cil_tmp19 = 6UL + size;
6487#line 66
6488  tmp___0 = i1480_cmd(i1480, "MPI-WRITE", __cil_tmp19, 7UL);
6489#line 66
6490  result = (int )tmp___0;
6491  }
6492#line 67
6493  if (result < 0) {
6494#line 68
6495    goto out;
6496  } else {
6497
6498  }
6499  {
6500#line 69
6501  __cil_tmp20 = reply->bResultCode;
6502#line 69
6503  __cil_tmp21 = (int )__cil_tmp20;
6504#line 69
6505  if (__cil_tmp21 != 0) {
6506    {
6507#line 70
6508    __cil_tmp22 = i1480->dev;
6509#line 70
6510    __cil_tmp23 = (struct device  const  *)__cil_tmp22;
6511#line 70
6512    __cil_tmp24 = reply->bResultCode;
6513#line 70
6514    __cil_tmp25 = (int )__cil_tmp24;
6515#line 70
6516    dev_err(__cil_tmp23, "MPI-WRITE: command execution failed: %d\n", __cil_tmp25);
6517#line 72
6518    result = -5;
6519    }
6520  } else {
6521
6522  }
6523  }
6524  out: 
6525#line 75
6526  return (result);
6527}
6528}
6529#line 99 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/phy.c"
6530static int i1480_mpi_read(struct i1480 *i1480 , u8 *data , u16 srcaddr , size_t size ) 
6531{ int result ;
6532  struct i1480_cmd_mpi_read *cmd ;
6533  struct i1480_evt_mpi_read *reply ;
6534  unsigned int cnt ;
6535  long tmp ;
6536  ssize_t tmp___0 ;
6537  void *__cil_tmp11 ;
6538  void *__cil_tmp12 ;
6539  void *__cil_tmp13 ;
6540  size_t __cil_tmp14 ;
6541  void *__cil_tmp15 ;
6542  size_t __cil_tmp16 ;
6543  size_t __cil_tmp17 ;
6544  size_t __cil_tmp18 ;
6545  size_t __cil_tmp19 ;
6546  int __cil_tmp20 ;
6547  int __cil_tmp21 ;
6548  int __cil_tmp22 ;
6549  long __cil_tmp23 ;
6550  unsigned long __cil_tmp24 ;
6551  size_t __cil_tmp25 ;
6552  unsigned int __cil_tmp26 ;
6553  unsigned int __cil_tmp27 ;
6554  unsigned int __cil_tmp28 ;
6555  unsigned int __cil_tmp29 ;
6556  unsigned int __cil_tmp30 ;
6557  unsigned int __cil_tmp31 ;
6558  unsigned long __cil_tmp32 ;
6559  unsigned long __cil_tmp33 ;
6560  unsigned long __cil_tmp34 ;
6561  unsigned long __cil_tmp35 ;
6562  u8 __cil_tmp36 ;
6563  int __cil_tmp37 ;
6564  struct device *__cil_tmp38 ;
6565  struct device  const  *__cil_tmp39 ;
6566  u8 __cil_tmp40 ;
6567  int __cil_tmp41 ;
6568  size_t __cil_tmp42 ;
6569  unsigned int __cil_tmp43 ;
6570  unsigned int __cil_tmp44 ;
6571  unsigned int __cil_tmp45 ;
6572  u8 __cil_tmp46 ;
6573  unsigned int __cil_tmp47 ;
6574  struct device *__cil_tmp48 ;
6575  struct device  const  *__cil_tmp49 ;
6576  unsigned int __cil_tmp50 ;
6577  unsigned int __cil_tmp51 ;
6578  unsigned int __cil_tmp52 ;
6579  u8 __cil_tmp53 ;
6580  int __cil_tmp54 ;
6581  unsigned int __cil_tmp55 ;
6582  unsigned int __cil_tmp56 ;
6583  unsigned int __cil_tmp57 ;
6584  u8 __cil_tmp58 ;
6585  unsigned int __cil_tmp59 ;
6586  struct device *__cil_tmp60 ;
6587  struct device  const  *__cil_tmp61 ;
6588  unsigned int __cil_tmp62 ;
6589  unsigned int __cil_tmp63 ;
6590  unsigned int __cil_tmp64 ;
6591  u8 __cil_tmp65 ;
6592  int __cil_tmp66 ;
6593  u8 *__cil_tmp67 ;
6594
6595  {
6596  {
6597#line 103
6598  __cil_tmp11 = i1480->cmd_buf;
6599#line 103
6600  cmd = (struct i1480_cmd_mpi_read *)__cil_tmp11;
6601#line 104
6602  __cil_tmp12 = i1480->evt_buf;
6603#line 104
6604  reply = (struct i1480_evt_mpi_read *)__cil_tmp12;
6605#line 107
6606  __cil_tmp13 = i1480->cmd_buf;
6607#line 107
6608  __cil_tmp14 = (size_t )512;
6609#line 107
6610  memset(__cil_tmp13, 105, __cil_tmp14);
6611#line 108
6612  __cil_tmp15 = i1480->evt_buf;
6613#line 108
6614  __cil_tmp16 = (size_t )512;
6615#line 108
6616  memset(__cil_tmp15, 105, __cil_tmp16);
6617  }
6618  {
6619#line 110
6620  while (1) {
6621    while_continue: /* CIL Label */ ;
6622    {
6623#line 110
6624    __cil_tmp17 = i1480->buf_size;
6625#line 110
6626    __cil_tmp18 = __cil_tmp17 - 9UL;
6627#line 110
6628    __cil_tmp19 = __cil_tmp18 / 3UL;
6629#line 110
6630    __cil_tmp20 = size > __cil_tmp19;
6631#line 110
6632    __cil_tmp21 = ! __cil_tmp20;
6633#line 110
6634    __cil_tmp22 = ! __cil_tmp21;
6635#line 110
6636    __cil_tmp23 = (long )__cil_tmp22;
6637#line 110
6638    tmp = __builtin_expect(__cil_tmp23, 0L);
6639    }
6640#line 110
6641    if (tmp) {
6642      {
6643#line 110
6644      while (1) {
6645        while_continue___0: /* CIL Label */ ;
6646#line 110
6647        __asm__  volatile   ("1:\tud2\n"
6648                             ".pushsection __bug_table,\"a\"\n"
6649                             "2:\t.long 1b - 2b, %c0 - 2b\n"
6650                             "\t.word %c1, 0\n"
6651                             "\t.org 2b+%c2\n"
6652                             ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/phy.c"),
6653                             "i" (110), "i" (12UL));
6654        {
6655#line 110
6656        while (1) {
6657          while_continue___1: /* CIL Label */ ;
6658
6659        }
6660        while_break___6: /* CIL Label */ ;
6661        }
6662
6663#line 110
6664        goto while_break___0;
6665      }
6666      while_break___5: /* CIL Label */ ;
6667      }
6668
6669      while_break___0: ;
6670    } else {
6671
6672    }
6673#line 110
6674    goto while_break;
6675  }
6676  while_break___4: /* CIL Label */ ;
6677  }
6678
6679  while_break: 
6680#line 111
6681  result = -12;
6682#line 112
6683  cmd->rccb.bCommandType = (u8 )253;
6684#line 113
6685  cmd->rccb.wCommand = (__u16 )16;
6686#line 114
6687  __cil_tmp24 = 3UL * size;
6688#line 114
6689  cmd->size = (__u16 )__cil_tmp24;
6690#line 115
6691  cnt = 0U;
6692  {
6693#line 115
6694  while (1) {
6695    while_continue___2: /* CIL Label */ ;
6696
6697    {
6698#line 115
6699    __cil_tmp25 = (size_t )cnt;
6700#line 115
6701    if (__cil_tmp25 < size) {
6702
6703    } else {
6704#line 115
6705      goto while_break___2;
6706    }
6707    }
6708#line 116
6709    __cil_tmp26 = (unsigned int )srcaddr;
6710#line 116
6711    __cil_tmp27 = __cil_tmp26 + cnt;
6712#line 116
6713    __cil_tmp28 = __cil_tmp27 >> 8;
6714#line 116
6715    cmd->data[cnt].page = (u8 )__cil_tmp28;
6716#line 117
6717    __cil_tmp29 = (unsigned int )srcaddr;
6718#line 117
6719    __cil_tmp30 = __cil_tmp29 + cnt;
6720#line 117
6721    __cil_tmp31 = __cil_tmp30 & 255U;
6722#line 117
6723    cmd->data[cnt].offset = (u8 )__cil_tmp31;
6724#line 115
6725    cnt = cnt + 1U;
6726  }
6727  while_break___7: /* CIL Label */ ;
6728  }
6729
6730  while_break___2: 
6731  {
6732#line 119
6733  reply->rceb.bEventType = (u8 )253;
6734#line 120
6735  reply->rceb.wEvent = (__le16 )16;
6736#line 121
6737  __cil_tmp32 = 2UL * size;
6738#line 121
6739  __cil_tmp33 = 6UL + __cil_tmp32;
6740#line 121
6741  __cil_tmp34 = 3UL * size;
6742#line 121
6743  __cil_tmp35 = 9UL + __cil_tmp34;
6744#line 121
6745  tmp___0 = i1480_cmd(i1480, "MPI-READ", __cil_tmp33, __cil_tmp35);
6746#line 121
6747  result = (int )tmp___0;
6748  }
6749#line 123
6750  if (result < 0) {
6751#line 124
6752    goto out;
6753  } else {
6754
6755  }
6756  {
6757#line 125
6758  __cil_tmp36 = reply->bResultCode;
6759#line 125
6760  __cil_tmp37 = (int )__cil_tmp36;
6761#line 125
6762  if (__cil_tmp37 != 0) {
6763    {
6764#line 126
6765    __cil_tmp38 = i1480->dev;
6766#line 126
6767    __cil_tmp39 = (struct device  const  *)__cil_tmp38;
6768#line 126
6769    __cil_tmp40 = reply->bResultCode;
6770#line 126
6771    __cil_tmp41 = (int )__cil_tmp40;
6772#line 126
6773    dev_err(__cil_tmp39, "MPI-READ: command execution failed: %d\n", __cil_tmp41);
6774#line 128
6775    result = -5;
6776    }
6777  } else {
6778
6779  }
6780  }
6781#line 130
6782  cnt = 0U;
6783  {
6784#line 130
6785  while (1) {
6786    while_continue___3: /* CIL Label */ ;
6787
6788    {
6789#line 130
6790    __cil_tmp42 = (size_t )cnt;
6791#line 130
6792    if (__cil_tmp42 < size) {
6793
6794    } else {
6795#line 130
6796      goto while_break___3;
6797    }
6798    }
6799    {
6800#line 131
6801    __cil_tmp43 = (unsigned int )srcaddr;
6802#line 131
6803    __cil_tmp44 = __cil_tmp43 + cnt;
6804#line 131
6805    __cil_tmp45 = __cil_tmp44 >> 8;
6806#line 131
6807    __cil_tmp46 = reply->data[cnt].page;
6808#line 131
6809    __cil_tmp47 = (unsigned int )__cil_tmp46;
6810#line 131
6811    if (__cil_tmp47 != __cil_tmp45) {
6812      {
6813#line 132
6814      __cil_tmp48 = i1480->dev;
6815#line 132
6816      __cil_tmp49 = (struct device  const  *)__cil_tmp48;
6817#line 132
6818      __cil_tmp50 = (unsigned int )srcaddr;
6819#line 132
6820      __cil_tmp51 = __cil_tmp50 + cnt;
6821#line 132
6822      __cil_tmp52 = __cil_tmp51 >> 8;
6823#line 132
6824      __cil_tmp53 = reply->data[cnt].page;
6825#line 132
6826      __cil_tmp54 = (int )__cil_tmp53;
6827#line 132
6828      dev_err(__cil_tmp49, "MPI-READ: page inconsistency at index %u: expected 0x%02x, got 0x%02x\n",
6829              cnt, __cil_tmp52, __cil_tmp54);
6830      }
6831    } else {
6832
6833    }
6834    }
6835    {
6836#line 135
6837    __cil_tmp55 = (unsigned int )srcaddr;
6838#line 135
6839    __cil_tmp56 = __cil_tmp55 + cnt;
6840#line 135
6841    __cil_tmp57 = __cil_tmp56 & 255U;
6842#line 135
6843    __cil_tmp58 = reply->data[cnt].offset;
6844#line 135
6845    __cil_tmp59 = (unsigned int )__cil_tmp58;
6846#line 135
6847    if (__cil_tmp59 != __cil_tmp57) {
6848      {
6849#line 136
6850      __cil_tmp60 = i1480->dev;
6851#line 136
6852      __cil_tmp61 = (struct device  const  *)__cil_tmp60;
6853#line 136
6854      __cil_tmp62 = (unsigned int )srcaddr;
6855#line 136
6856      __cil_tmp63 = __cil_tmp62 + cnt;
6857#line 136
6858      __cil_tmp64 = __cil_tmp63 & 255U;
6859#line 136
6860      __cil_tmp65 = reply->data[cnt].offset;
6861#line 136
6862      __cil_tmp66 = (int )__cil_tmp65;
6863#line 136
6864      dev_err(__cil_tmp61, "MPI-READ: offset inconsistency at index %u: expected 0x%02x, got 0x%02x\n",
6865              cnt, __cil_tmp64, __cil_tmp66);
6866      }
6867    } else {
6868
6869    }
6870    }
6871#line 140
6872    __cil_tmp67 = data + cnt;
6873#line 140
6874    *__cil_tmp67 = reply->data[cnt].value;
6875#line 130
6876    cnt = cnt + 1U;
6877  }
6878  while_break___8: /* CIL Label */ ;
6879  }
6880
6881  while_break___3: 
6882#line 142
6883  result = 0;
6884  out: 
6885#line 144
6886  return (result);
6887}
6888}
6889#line 162 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/phy.c"
6890int i1480_phy_fw_upload(struct i1480 *i1480 ) 
6891{ int result ;
6892  struct firmware  const  *fw ;
6893  char const   *data_itr ;
6894  char const   *data_top ;
6895  size_t MAX_BLK_SIZE ;
6896  size_t data_size ;
6897  u8 phy_stat ;
6898  size_t _min1 ;
6899  size_t _min2 ;
6900  size_t tmp ;
6901  char const   *__cil_tmp12 ;
6902  struct device *__cil_tmp13 ;
6903  u8 const   *__cil_tmp14 ;
6904  size_t __cil_tmp15 ;
6905  unsigned long __cil_tmp16 ;
6906  unsigned long __cil_tmp17 ;
6907  int __cil_tmp18 ;
6908  void const   *__cil_tmp19 ;
6909  u16 __cil_tmp20 ;
6910  size_t __cil_tmp21 ;
6911  struct device *__cil_tmp22 ;
6912  struct device  const  *__cil_tmp23 ;
6913  int __cil_tmp24 ;
6914  struct device *__cil_tmp25 ;
6915  struct device  const  *__cil_tmp26 ;
6916  int __cil_tmp27 ;
6917  struct device *__cil_tmp28 ;
6918  struct device  const  *__cil_tmp29 ;
6919  char const   *__cil_tmp30 ;
6920  struct device *__cil_tmp31 ;
6921  struct device  const  *__cil_tmp32 ;
6922  char const   *__cil_tmp33 ;
6923
6924  {
6925  {
6926#line 167
6927  MAX_BLK_SIZE = (size_t )480;
6928#line 171
6929  __cil_tmp12 = i1480->phy_fw_name;
6930#line 171
6931  __cil_tmp13 = i1480->dev;
6932#line 171
6933  result = request_firmware(& fw, __cil_tmp12, __cil_tmp13);
6934  }
6935#line 172
6936  if (result < 0) {
6937#line 173
6938    goto out;
6939  } else {
6940
6941  }
6942#line 175
6943  __cil_tmp14 = fw->data;
6944#line 175
6945  data_itr = (char const   *)__cil_tmp14;
6946#line 175
6947  __cil_tmp15 = fw->size;
6948#line 175
6949  data_top = data_itr + __cil_tmp15;
6950  {
6951#line 175
6952  while (1) {
6953    while_continue: /* CIL Label */ ;
6954
6955    {
6956#line 175
6957    __cil_tmp16 = (unsigned long )data_top;
6958#line 175
6959    __cil_tmp17 = (unsigned long )data_itr;
6960#line 175
6961    if (__cil_tmp17 < __cil_tmp16) {
6962
6963    } else {
6964#line 175
6965      goto while_break;
6966    }
6967    }
6968#line 177
6969    _min1 = MAX_BLK_SIZE;
6970#line 177
6971    __cil_tmp18 = data_top - data_itr;
6972#line 177
6973    _min2 = (size_t )__cil_tmp18;
6974#line 177
6975    if (_min1 < _min2) {
6976#line 177
6977      tmp = _min1;
6978    } else {
6979#line 177
6980      tmp = _min2;
6981    }
6982    {
6983#line 177
6984    data_size = tmp;
6985#line 178
6986    __cil_tmp19 = (void const   *)data_itr;
6987#line 178
6988    result = i1480_mpi_write(i1480, __cil_tmp19, data_size);
6989    }
6990#line 179
6991    if (result < 0) {
6992#line 180
6993      goto error_phy_status;
6994    } else {
6995
6996    }
6997#line 175
6998    data_itr = data_itr + MAX_BLK_SIZE;
6999  }
7000  while_break___0: /* CIL Label */ ;
7001  }
7002
7003  while_break: 
7004  {
7005#line 183
7006  __cil_tmp20 = (u16 )6;
7007#line 183
7008  __cil_tmp21 = (size_t )1;
7009#line 183
7010  result = i1480_mpi_read(i1480, & phy_stat, __cil_tmp20, __cil_tmp21);
7011  }
7012#line 184
7013  if (result < 0) {
7014    {
7015#line 185
7016    __cil_tmp22 = i1480->dev;
7017#line 185
7018    __cil_tmp23 = (struct device  const  *)__cil_tmp22;
7019#line 185
7020    dev_err(__cil_tmp23, "PHY: can\'t get status: %d\n", result);
7021    }
7022#line 186
7023    goto error_phy_status;
7024  } else {
7025
7026  }
7027  {
7028#line 188
7029  __cil_tmp24 = (int )phy_stat;
7030#line 188
7031  if (__cil_tmp24 != 0) {
7032    {
7033#line 189
7034    result = -19;
7035#line 190
7036    __cil_tmp25 = i1480->dev;
7037#line 190
7038    __cil_tmp26 = (struct device  const  *)__cil_tmp25;
7039#line 190
7040    __cil_tmp27 = (int )phy_stat;
7041#line 190
7042    _dev_info(__cil_tmp26, "error, PHY not ready: %u\n", __cil_tmp27);
7043    }
7044#line 191
7045    goto error_phy_status;
7046  } else {
7047
7048  }
7049  }
7050  {
7051#line 193
7052  __cil_tmp28 = i1480->dev;
7053#line 193
7054  __cil_tmp29 = (struct device  const  *)__cil_tmp28;
7055#line 193
7056  __cil_tmp30 = i1480->phy_fw_name;
7057#line 193
7058  _dev_info(__cil_tmp29, "PHY fw \'%s\': uploaded\n", __cil_tmp30);
7059  }
7060  error_phy_status: 
7061  {
7062#line 197
7063  release_firmware(fw);
7064  }
7065#line 198
7066  if (result < 0) {
7067    {
7068#line 199
7069    __cil_tmp31 = i1480->dev;
7070#line 199
7071    __cil_tmp32 = (struct device  const  *)__cil_tmp31;
7072#line 199
7073    __cil_tmp33 = i1480->phy_fw_name;
7074#line 199
7075    dev_err(__cil_tmp32, "PHY fw \'%s\': failed to upload (%d), power cycle device\n",
7076            __cil_tmp33, result);
7077    }
7078  } else {
7079
7080  }
7081  out: 
7082#line 202
7083  return (result);
7084}
7085}
7086#line 76 "include/linux/completion.h"
7087static struct lock_class_key __key___2  ;
7088#line 73 "include/linux/completion.h"
7089__inline static void init_completion___0(struct completion *x ) 
7090{ wait_queue_head_t *__cil_tmp2 ;
7091
7092  {
7093#line 75
7094  x->done = 0U;
7095  {
7096#line 76
7097  while (1) {
7098    while_continue: /* CIL Label */ ;
7099    {
7100#line 76
7101    __cil_tmp2 = & x->wait;
7102#line 76
7103    __init_waitqueue_head(__cil_tmp2, & __key___2);
7104    }
7105#line 76
7106    goto while_break;
7107  }
7108  while_break___0: /* CIL Label */ ;
7109  }
7110
7111  while_break: ;
7112#line 77
7113  return;
7114}
7115}
7116#line 91
7117extern void complete(struct completion * ) ;
7118#line 79 "include/linux/module.h"
7119int init_module(void) ;
7120#line 80
7121void cleanup_module(void) ;
7122#line 99
7123extern struct module __this_module ;
7124#line 706 "include/linux/device.h"
7125extern int dev_set_drvdata(struct device *dev , void *data ) ;
7126#line 196 "include/linux/usb.h"
7127__inline static void usb_set_intfdata(struct usb_interface *intf , void *data ) 
7128{ struct device *__cil_tmp3 ;
7129
7130  {
7131  {
7132#line 198
7133  __cil_tmp3 = & intf->dev;
7134#line 198
7135  dev_set_drvdata(__cil_tmp3, data);
7136  }
7137#line 199
7138  return;
7139}
7140}
7141#line 201
7142extern struct usb_interface *usb_get_intf(struct usb_interface *intf ) ;
7143#line 202
7144extern void usb_put_intf(struct usb_interface *intf ) ;
7145#line 497 "include/linux/usb.h"
7146__inline static struct usb_device *interface_to_usbdev(struct usb_interface *intf ) 
7147{ struct device  const  *__mptr ;
7148  struct device *__cil_tmp3 ;
7149  struct usb_device *__cil_tmp4 ;
7150  struct device *__cil_tmp5 ;
7151  unsigned int __cil_tmp6 ;
7152  char *__cil_tmp7 ;
7153  char *__cil_tmp8 ;
7154
7155  {
7156#line 499
7157  __cil_tmp3 = intf->dev.parent;
7158#line 499
7159  __mptr = (struct device  const  *)__cil_tmp3;
7160  {
7161#line 499
7162  __cil_tmp4 = (struct usb_device *)0;
7163#line 499
7164  __cil_tmp5 = & __cil_tmp4->dev;
7165#line 499
7166  __cil_tmp6 = (unsigned int )__cil_tmp5;
7167#line 499
7168  __cil_tmp7 = (char *)__mptr;
7169#line 499
7170  __cil_tmp8 = __cil_tmp7 - __cil_tmp6;
7171#line 499
7172  return ((struct usb_device *)__cil_tmp8);
7173  }
7174}
7175}
7176#line 502
7177extern struct usb_device *usb_get_dev(struct usb_device *dev ) ;
7178#line 503
7179extern void usb_put_dev(struct usb_device *dev ) ;
7180#line 513
7181extern int usb_reset_device(struct usb_device *dev ) ;
7182#line 929
7183extern int usb_register_driver(struct usb_driver * , struct module * , char const   * ) ;
7184#line 931 "include/linux/usb.h"
7185__inline static int usb_register(struct usb_driver *driver ) 
7186{ int tmp___7 ;
7187
7188  {
7189  {
7190#line 933
7191  tmp___7 = usb_register_driver(driver, & __this_module, "i1480_dfu_usb");
7192  }
7193#line 933
7194  return (tmp___7);
7195}
7196}
7197#line 935
7198extern void usb_deregister(struct usb_driver * ) ;
7199#line 1309 "include/linux/usb.h"
7200__inline static void usb_fill_int_urb(struct urb *urb , struct usb_device *dev , unsigned int pipe ,
7201                                      void *transfer_buffer , int buffer_length ,
7202                                      void (*complete_fn)(struct urb * ) , void *context ,
7203                                      int interval ) 
7204{ enum usb_device_speed __cil_tmp9 ;
7205  unsigned int __cil_tmp10 ;
7206  int __cil_tmp11 ;
7207  enum usb_device_speed __cil_tmp12 ;
7208  unsigned int __cil_tmp13 ;
7209  int __cil_tmp14 ;
7210
7211  {
7212#line 1318
7213  urb->dev = dev;
7214#line 1319
7215  urb->pipe = pipe;
7216#line 1320
7217  urb->transfer_buffer = transfer_buffer;
7218#line 1321
7219  urb->transfer_buffer_length = (u32 )buffer_length;
7220#line 1322
7221  urb->complete = complete_fn;
7222#line 1323
7223  urb->context = context;
7224  {
7225#line 1324
7226  __cil_tmp9 = dev->speed;
7227#line 1324
7228  __cil_tmp10 = (unsigned int )__cil_tmp9;
7229#line 1324
7230  if (__cil_tmp10 == 3U) {
7231#line 1325
7232    __cil_tmp11 = interval - 1;
7233#line 1325
7234    urb->interval = 1 << __cil_tmp11;
7235  } else {
7236    {
7237#line 1324
7238    __cil_tmp12 = dev->speed;
7239#line 1324
7240    __cil_tmp13 = (unsigned int )__cil_tmp12;
7241#line 1324
7242    if (__cil_tmp13 == 5U) {
7243#line 1325
7244      __cil_tmp14 = interval - 1;
7245#line 1325
7246      urb->interval = 1 << __cil_tmp14;
7247    } else {
7248#line 1327
7249      urb->interval = interval;
7250    }
7251    }
7252  }
7253  }
7254#line 1328
7255  urb->start_frame = -1;
7256#line 1329
7257  return;
7258}
7259}
7260#line 1336
7261extern int usb_submit_urb(struct urb *urb , gfp_t mem_flags ) ;
7262#line 1338
7263extern void usb_kill_urb(struct urb *urb ) ;
7264#line 1402
7265extern int usb_control_msg(struct usb_device *dev , unsigned int pipe , __u8 request ,
7266                           __u8 requesttype , __u16 value , __u16 index , void *data ,
7267                           __u16 size , int timeout ) ;
7268#line 1422
7269extern int usb_set_interface(struct usb_device *dev , int ifnum , int alternate ) ;
7270#line 1526 "include/linux/usb.h"
7271__inline static unsigned int __create_pipe(struct usb_device *dev , unsigned int endpoint ) 
7272{ unsigned int __cil_tmp3 ;
7273  int __cil_tmp4 ;
7274  int __cil_tmp5 ;
7275  unsigned int __cil_tmp6 ;
7276
7277  {
7278  {
7279#line 1529
7280  __cil_tmp3 = endpoint << 15;
7281#line 1529
7282  __cil_tmp4 = dev->devnum;
7283#line 1529
7284  __cil_tmp5 = __cil_tmp4 << 8;
7285#line 1529
7286  __cil_tmp6 = (unsigned int )__cil_tmp5;
7287#line 1529
7288  return (__cil_tmp6 | __cil_tmp3);
7289  }
7290}
7291}
7292#line 318 "include/linux/slab.h"
7293__inline static void *kzalloc(size_t size , gfp_t flags ) 
7294{ void *tmp___7 ;
7295  unsigned int __cil_tmp4 ;
7296
7297  {
7298  {
7299#line 320
7300  __cil_tmp4 = flags | 32768U;
7301#line 320
7302  tmp___7 = kmalloc(size, __cil_tmp4);
7303  }
7304#line 320
7305  return (tmp___7);
7306}
7307}
7308#line 134 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/uwb/i1480/dfu/i1480-dfu.h"
7309__inline static void i1480_init(struct i1480 *i1480 ) 
7310{ struct completion *__cil_tmp2 ;
7311
7312  {
7313  {
7314#line 137
7315  i1480->hw_rev = (u8 )1;
7316#line 138
7317  __cil_tmp2 = & i1480->evt_complete;
7318#line 138
7319  init_completion___0(__cil_tmp2);
7320  }
7321#line 139
7322  return;
7323}
7324}
7325#line 56 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
7326static void i1480_usb_init(struct i1480_usb *i1480_usb ) 
7327{ struct i1480 *__cil_tmp2 ;
7328
7329  {
7330  {
7331#line 59
7332  __cil_tmp2 = & i1480_usb->i1480;
7333#line 59
7334  i1480_init(__cil_tmp2);
7335  }
7336#line 60
7337  return;
7338}
7339}
7340#line 63 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
7341static int i1480_usb_create(struct i1480_usb *i1480_usb , struct usb_interface *iface ) 
7342{ struct usb_device *usb_dev ;
7343  struct usb_device *tmp___7 ;
7344  int result ;
7345  void *__cil_tmp6 ;
7346  void *__cil_tmp7 ;
7347  unsigned long __cil_tmp8 ;
7348  struct urb *__cil_tmp9 ;
7349  unsigned long __cil_tmp10 ;
7350  void *__cil_tmp11 ;
7351
7352  {
7353  {
7354#line 66
7355  tmp___7 = interface_to_usbdev(iface);
7356#line 66
7357  usb_dev = tmp___7;
7358#line 67
7359  result = -12;
7360#line 69
7361  i1480_usb->usb_dev = usb_get_dev(usb_dev);
7362#line 70
7363  i1480_usb->usb_iface = usb_get_intf(iface);
7364#line 71
7365  __cil_tmp6 = (void *)i1480_usb;
7366#line 71
7367  usb_set_intfdata(iface, __cil_tmp6);
7368#line 72
7369  i1480_usb->neep_urb = usb_alloc_urb(0, 208U);
7370  }
7371  {
7372#line 73
7373  __cil_tmp7 = (void *)0;
7374#line 73
7375  __cil_tmp8 = (unsigned long )__cil_tmp7;
7376#line 73
7377  __cil_tmp9 = i1480_usb->neep_urb;
7378#line 73
7379  __cil_tmp10 = (unsigned long )__cil_tmp9;
7380#line 73
7381  if (__cil_tmp10 == __cil_tmp8) {
7382#line 74
7383    goto error;
7384  } else {
7385
7386  }
7387  }
7388#line 75
7389  return (0);
7390  error: 
7391  {
7392#line 78
7393  __cil_tmp11 = (void *)0;
7394#line 78
7395  usb_set_intfdata(iface, __cil_tmp11);
7396#line 79
7397  usb_put_intf(iface);
7398#line 80
7399  usb_put_dev(usb_dev);
7400  }
7401#line 81
7402  return (result);
7403}
7404}
7405#line 85 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
7406static void i1480_usb_destroy(struct i1480_usb *i1480_usb ) 
7407{ struct urb *__cil_tmp2 ;
7408  struct urb *__cil_tmp3 ;
7409  struct usb_interface *__cil_tmp4 ;
7410  void *__cil_tmp5 ;
7411  struct usb_interface *__cil_tmp6 ;
7412  struct usb_device *__cil_tmp7 ;
7413
7414  {
7415  {
7416#line 88
7417  __cil_tmp2 = i1480_usb->neep_urb;
7418#line 88
7419  usb_kill_urb(__cil_tmp2);
7420#line 89
7421  __cil_tmp3 = i1480_usb->neep_urb;
7422#line 89
7423  usb_free_urb(__cil_tmp3);
7424#line 90
7425  __cil_tmp4 = i1480_usb->usb_iface;
7426#line 90
7427  __cil_tmp5 = (void *)0;
7428#line 90
7429  usb_set_intfdata(__cil_tmp4, __cil_tmp5);
7430#line 91
7431  __cil_tmp6 = i1480_usb->usb_iface;
7432#line 91
7433  usb_put_intf(__cil_tmp6);
7434#line 92
7435  __cil_tmp7 = i1480_usb->usb_dev;
7436#line 92
7437  usb_put_dev(__cil_tmp7);
7438  }
7439#line 93
7440  return;
7441}
7442}
7443#line 110 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
7444static int i1480_usb_write(struct i1480 *i1480 , u32 memory_address , void const   *buffer ,
7445                           size_t size ) 
7446{ int result ;
7447  struct i1480_usb *i1480_usb ;
7448  struct i1480  const  *__mptr ;
7449  size_t buffer_size ;
7450  size_t itr ;
7451  long tmp___7 ;
7452  size_t __len ;
7453  void *__ret ;
7454  unsigned int tmp___8 ;
7455  struct i1480_usb *__cil_tmp14 ;
7456  struct i1480 *__cil_tmp15 ;
7457  unsigned int __cil_tmp16 ;
7458  char *__cil_tmp17 ;
7459  char *__cil_tmp18 ;
7460  unsigned long __cil_tmp19 ;
7461  int __cil_tmp20 ;
7462  int __cil_tmp21 ;
7463  long __cil_tmp22 ;
7464  size_t __cil_tmp23 ;
7465  void *__cil_tmp24 ;
7466  void const   *__cil_tmp25 ;
7467  struct usb_device *__cil_tmp26 ;
7468  struct usb_device *__cil_tmp27 ;
7469  int __cil_tmp28 ;
7470  unsigned int __cil_tmp29 ;
7471  unsigned int __cil_tmp30 ;
7472  __u8 __cil_tmp31 ;
7473  int __cil_tmp32 ;
7474  __u8 __cil_tmp33 ;
7475  __u16 __cil_tmp34 ;
7476  u32 __cil_tmp35 ;
7477  __u16 __cil_tmp36 ;
7478  void *__cil_tmp37 ;
7479  __u16 __cil_tmp38 ;
7480  size_t __cil_tmp39 ;
7481  u32 __cil_tmp40 ;
7482  size_t __cil_tmp41 ;
7483
7484  {
7485#line 114
7486  result = 0;
7487#line 115
7488  __mptr = (struct i1480  const  *)i1480;
7489#line 115
7490  __cil_tmp14 = (struct i1480_usb *)0;
7491#line 115
7492  __cil_tmp15 = & __cil_tmp14->i1480;
7493#line 115
7494  __cil_tmp16 = (unsigned int )__cil_tmp15;
7495#line 115
7496  __cil_tmp17 = (char *)__mptr;
7497#line 115
7498  __cil_tmp18 = __cil_tmp17 - __cil_tmp16;
7499#line 115
7500  i1480_usb = (struct i1480_usb *)__cil_tmp18;
7501#line 116
7502  itr = (size_t )0;
7503  {
7504#line 118
7505  while (1) {
7506    while_continue: /* CIL Label */ ;
7507    {
7508#line 118
7509    __cil_tmp19 = size & 3UL;
7510#line 118
7511    __cil_tmp20 = ! __cil_tmp19;
7512#line 118
7513    __cil_tmp21 = ! __cil_tmp20;
7514#line 118
7515    __cil_tmp22 = (long )__cil_tmp21;
7516#line 118
7517    tmp___7 = __builtin_expect(__cil_tmp22, 0L);
7518    }
7519#line 118
7520    if (tmp___7) {
7521      {
7522#line 118
7523      while (1) {
7524        while_continue___0: /* CIL Label */ ;
7525#line 118
7526        __asm__  volatile   ("1:\tud2\n"
7527                             ".pushsection __bug_table,\"a\"\n"
7528                             "2:\t.long 1b - 2b, %c0 - 2b\n"
7529                             "\t.word %c1, 0\n"
7530                             "\t.org 2b+%c2\n"
7531                             ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"),
7532                             "i" (118), "i" (12UL));
7533        {
7534#line 118
7535        while (1) {
7536          while_continue___1: /* CIL Label */ ;
7537
7538        }
7539        while_break___5: /* CIL Label */ ;
7540        }
7541
7542#line 118
7543        goto while_break___0;
7544      }
7545      while_break___4: /* CIL Label */ ;
7546      }
7547
7548      while_break___0: ;
7549    } else {
7550
7551    }
7552#line 118
7553    goto while_break;
7554  }
7555  while_break___3: /* CIL Label */ ;
7556  }
7557
7558  while_break: ;
7559  {
7560#line 119
7561  while (1) {
7562    while_continue___2: /* CIL Label */ ;
7563
7564#line 119
7565    if (size > 0UL) {
7566
7567    } else {
7568#line 119
7569      goto while_break___2;
7570    }
7571    {
7572#line 120
7573    __cil_tmp23 = i1480->buf_size;
7574#line 120
7575    if (size < __cil_tmp23) {
7576#line 120
7577      buffer_size = size;
7578    } else {
7579#line 120
7580      buffer_size = i1480->buf_size;
7581    }
7582    }
7583    {
7584#line 121
7585    __len = buffer_size;
7586#line 121
7587    __cil_tmp24 = i1480->cmd_buf;
7588#line 121
7589    __cil_tmp25 = buffer + itr;
7590#line 121
7591    __ret = __builtin_memcpy(__cil_tmp24, __cil_tmp25, __len);
7592#line 122
7593    __cil_tmp26 = i1480_usb->usb_dev;
7594#line 122
7595    tmp___8 = __create_pipe(__cil_tmp26, 0U);
7596#line 122
7597    __cil_tmp27 = i1480_usb->usb_dev;
7598#line 122
7599    __cil_tmp28 = 2 << 30;
7600#line 122
7601    __cil_tmp29 = (unsigned int )__cil_tmp28;
7602#line 122
7603    __cil_tmp30 = __cil_tmp29 | tmp___8;
7604#line 122
7605    __cil_tmp31 = (__u8 )240;
7606#line 122
7607    __cil_tmp32 = 2 << 5;
7608#line 122
7609    __cil_tmp33 = (__u8 )__cil_tmp32;
7610#line 122
7611    __cil_tmp34 = (__u16 )memory_address;
7612#line 122
7613    __cil_tmp35 = memory_address >> 16;
7614#line 122
7615    __cil_tmp36 = (__u16 )__cil_tmp35;
7616#line 122
7617    __cil_tmp37 = i1480->cmd_buf;
7618#line 122
7619    __cil_tmp38 = (__u16 )buffer_size;
7620#line 122
7621    result = usb_control_msg(__cil_tmp27, __cil_tmp30, __cil_tmp31, __cil_tmp33, __cil_tmp34,
7622                             __cil_tmp36, __cil_tmp37, __cil_tmp38, 100);
7623    }
7624#line 127
7625    if (result < 0) {
7626#line 128
7627      goto while_break___2;
7628    } else {
7629
7630    }
7631#line 129
7632    __cil_tmp39 = (size_t )result;
7633#line 129
7634    itr = itr + __cil_tmp39;
7635#line 130
7636    __cil_tmp40 = (u32 )result;
7637#line 130
7638    memory_address = memory_address + __cil_tmp40;
7639#line 131
7640    __cil_tmp41 = (size_t )result;
7641#line 131
7642    size = size - __cil_tmp41;
7643  }
7644  while_break___6: /* CIL Label */ ;
7645  }
7646
7647  while_break___2: ;
7648#line 133
7649  return (result);
7650}
7651}
7652#line 150 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
7653static int i1480_usb_read(struct i1480 *i1480 , u32 addr , size_t size ) 
7654{ ssize_t result ;
7655  ssize_t bytes ;
7656  size_t itr ;
7657  size_t read_size ;
7658  struct i1480_usb *i1480_usb ;
7659  struct i1480  const  *__mptr ;
7660  long tmp___7 ;
7661  long tmp___8 ;
7662  long tmp___9 ;
7663  size_t itr_addr ;
7664  size_t itr_size ;
7665  size_t _min1 ;
7666  size_t _min2 ;
7667  size_t tmp___10 ;
7668  unsigned int tmp___11 ;
7669  int tmp___12 ;
7670  struct i1480_usb *__cil_tmp20 ;
7671  struct i1480 *__cil_tmp21 ;
7672  unsigned int __cil_tmp22 ;
7673  char *__cil_tmp23 ;
7674  char *__cil_tmp24 ;
7675  size_t __cil_tmp25 ;
7676  int __cil_tmp26 ;
7677  int __cil_tmp27 ;
7678  int __cil_tmp28 ;
7679  long __cil_tmp29 ;
7680  unsigned long __cil_tmp30 ;
7681  int __cil_tmp31 ;
7682  int __cil_tmp32 ;
7683  long __cil_tmp33 ;
7684  int __cil_tmp34 ;
7685  int __cil_tmp35 ;
7686  int __cil_tmp36 ;
7687  long __cil_tmp37 ;
7688  size_t __cil_tmp38 ;
7689  struct usb_device *__cil_tmp39 ;
7690  struct usb_device *__cil_tmp40 ;
7691  int __cil_tmp41 ;
7692  unsigned int __cil_tmp42 ;
7693  unsigned int __cil_tmp43 ;
7694  unsigned int __cil_tmp44 ;
7695  __u8 __cil_tmp45 ;
7696  int __cil_tmp46 ;
7697  int __cil_tmp47 ;
7698  __u8 __cil_tmp48 ;
7699  __u16 __cil_tmp49 ;
7700  size_t __cil_tmp50 ;
7701  __u16 __cil_tmp51 ;
7702  void *__cil_tmp52 ;
7703  void *__cil_tmp53 ;
7704  __u16 __cil_tmp54 ;
7705  struct device *__cil_tmp55 ;
7706  struct device  const  *__cil_tmp56 ;
7707  size_t __cil_tmp57 ;
7708  struct device *__cil_tmp58 ;
7709  struct device  const  *__cil_tmp59 ;
7710
7711  {
7712#line 153
7713  result = (ssize_t )0;
7714#line 153
7715  bytes = (ssize_t )0;
7716#line 154
7717  read_size = i1480->buf_size;
7718#line 155
7719  __mptr = (struct i1480  const  *)i1480;
7720#line 155
7721  __cil_tmp20 = (struct i1480_usb *)0;
7722#line 155
7723  __cil_tmp21 = & __cil_tmp20->i1480;
7724#line 155
7725  __cil_tmp22 = (unsigned int )__cil_tmp21;
7726#line 155
7727  __cil_tmp23 = (char *)__mptr;
7728#line 155
7729  __cil_tmp24 = __cil_tmp23 - __cil_tmp22;
7730#line 155
7731  i1480_usb = (struct i1480_usb *)__cil_tmp24;
7732  {
7733#line 157
7734  while (1) {
7735    while_continue: /* CIL Label */ ;
7736    {
7737#line 157
7738    __cil_tmp25 = i1480->buf_size;
7739#line 157
7740    __cil_tmp26 = size > __cil_tmp25;
7741#line 157
7742    __cil_tmp27 = ! __cil_tmp26;
7743#line 157
7744    __cil_tmp28 = ! __cil_tmp27;
7745#line 157
7746    __cil_tmp29 = (long )__cil_tmp28;
7747#line 157
7748    tmp___7 = __builtin_expect(__cil_tmp29, 0L);
7749    }
7750#line 157
7751    if (tmp___7) {
7752      {
7753#line 157
7754      while (1) {
7755        while_continue___0: /* CIL Label */ ;
7756#line 157
7757        __asm__  volatile   ("1:\tud2\n"
7758                             ".pushsection __bug_table,\"a\"\n"
7759                             "2:\t.long 1b - 2b, %c0 - 2b\n"
7760                             "\t.word %c1, 0\n"
7761                             "\t.org 2b+%c2\n"
7762                             ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"),
7763                             "i" (157), "i" (12UL));
7764        {
7765#line 157
7766        while (1) {
7767          while_continue___1: /* CIL Label */ ;
7768
7769        }
7770        while_break___11: /* CIL Label */ ;
7771        }
7772
7773#line 157
7774        goto while_break___0;
7775      }
7776      while_break___10: /* CIL Label */ ;
7777      }
7778
7779      while_break___0: ;
7780    } else {
7781
7782    }
7783#line 157
7784    goto while_break;
7785  }
7786  while_break___9: /* CIL Label */ ;
7787  }
7788
7789  while_break: ;
7790  {
7791#line 158
7792  while (1) {
7793    while_continue___2: /* CIL Label */ ;
7794    {
7795#line 158
7796    __cil_tmp30 = size & 3UL;
7797#line 158
7798    __cil_tmp31 = ! __cil_tmp30;
7799#line 158
7800    __cil_tmp32 = ! __cil_tmp31;
7801#line 158
7802    __cil_tmp33 = (long )__cil_tmp32;
7803#line 158
7804    tmp___8 = __builtin_expect(__cil_tmp33, 0L);
7805    }
7806#line 158
7807    if (tmp___8) {
7808      {
7809#line 158
7810      while (1) {
7811        while_continue___3: /* CIL Label */ ;
7812#line 158
7813        __asm__  volatile   ("1:\tud2\n"
7814                             ".pushsection __bug_table,\"a\"\n"
7815                             "2:\t.long 1b - 2b, %c0 - 2b\n"
7816                             "\t.word %c1, 0\n"
7817                             "\t.org 2b+%c2\n"
7818                             ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"),
7819                             "i" (158), "i" (12UL));
7820        {
7821#line 158
7822        while (1) {
7823          while_continue___4: /* CIL Label */ ;
7824
7825        }
7826        while_break___14: /* CIL Label */ ;
7827        }
7828
7829#line 158
7830        goto while_break___3;
7831      }
7832      while_break___13: /* CIL Label */ ;
7833      }
7834
7835      while_break___3: ;
7836    } else {
7837
7838    }
7839#line 158
7840    goto while_break___2;
7841  }
7842  while_break___12: /* CIL Label */ ;
7843  }
7844
7845  while_break___2: ;
7846  {
7847#line 159
7848  while (1) {
7849    while_continue___5: /* CIL Label */ ;
7850    {
7851#line 159
7852    __cil_tmp34 = read_size > 512UL;
7853#line 159
7854    __cil_tmp35 = ! __cil_tmp34;
7855#line 159
7856    __cil_tmp36 = ! __cil_tmp35;
7857#line 159
7858    __cil_tmp37 = (long )__cil_tmp36;
7859#line 159
7860    tmp___9 = __builtin_expect(__cil_tmp37, 0L);
7861    }
7862#line 159
7863    if (tmp___9) {
7864      {
7865#line 159
7866      while (1) {
7867        while_continue___6: /* CIL Label */ ;
7868#line 159
7869        __asm__  volatile   ("1:\tud2\n"
7870                             ".pushsection __bug_table,\"a\"\n"
7871                             "2:\t.long 1b - 2b, %c0 - 2b\n"
7872                             "\t.word %c1, 0\n"
7873                             "\t.org 2b+%c2\n"
7874                             ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"),
7875                             "i" (159), "i" (12UL));
7876        {
7877#line 159
7878        while (1) {
7879          while_continue___7: /* CIL Label */ ;
7880
7881        }
7882        while_break___17: /* CIL Label */ ;
7883        }
7884
7885#line 159
7886        goto while_break___6;
7887      }
7888      while_break___16: /* CIL Label */ ;
7889      }
7890
7891      while_break___6: ;
7892    } else {
7893
7894    }
7895#line 159
7896    goto while_break___5;
7897  }
7898  while_break___15: /* CIL Label */ ;
7899  }
7900
7901  while_break___5: ;
7902#line 161
7903  if (addr >= 2147537408U) {
7904#line 161
7905    if (addr < 2147537920U) {
7906#line 162
7907      read_size = (size_t )4;
7908    } else {
7909
7910    }
7911  } else {
7912
7913  }
7914#line 164
7915  itr = (size_t )0;
7916  {
7917#line 164
7918  while (1) {
7919    while_continue___8: /* CIL Label */ ;
7920
7921#line 164
7922    if (itr < size) {
7923
7924    } else {
7925#line 164
7926      goto while_break___8;
7927    }
7928#line 165
7929    __cil_tmp38 = (size_t )addr;
7930#line 165
7931    itr_addr = __cil_tmp38 + itr;
7932#line 166
7933    _min1 = read_size;
7934#line 166
7935    _min2 = size - itr;
7936#line 166
7937    if (_min1 < _min2) {
7938#line 166
7939      tmp___10 = _min1;
7940    } else {
7941#line 166
7942      tmp___10 = _min2;
7943    }
7944    {
7945#line 166
7946    itr_size = tmp___10;
7947#line 167
7948    __cil_tmp39 = i1480_usb->usb_dev;
7949#line 167
7950    tmp___11 = __create_pipe(__cil_tmp39, 0U);
7951#line 167
7952    __cil_tmp40 = i1480_usb->usb_dev;
7953#line 167
7954    __cil_tmp41 = 2 << 30;
7955#line 167
7956    __cil_tmp42 = (unsigned int )__cil_tmp41;
7957#line 167
7958    __cil_tmp43 = __cil_tmp42 | tmp___11;
7959#line 167
7960    __cil_tmp44 = __cil_tmp43 | 128U;
7961#line 167
7962    __cil_tmp45 = (__u8 )240;
7963#line 167
7964    __cil_tmp46 = 2 << 5;
7965#line 167
7966    __cil_tmp47 = 128 | __cil_tmp46;
7967#line 167
7968    __cil_tmp48 = (__u8 )__cil_tmp47;
7969#line 167
7970    __cil_tmp49 = (__u16 )itr_addr;
7971#line 167
7972    __cil_tmp50 = itr_addr >> 16;
7973#line 167
7974    __cil_tmp51 = (__u16 )__cil_tmp50;
7975#line 167
7976    __cil_tmp52 = i1480->cmd_buf;
7977#line 167
7978    __cil_tmp53 = __cil_tmp52 + itr;
7979#line 167
7980    __cil_tmp54 = (__u16 )itr_size;
7981#line 167
7982    tmp___12 = usb_control_msg(__cil_tmp40, __cil_tmp44, __cil_tmp45, __cil_tmp48,
7983                               __cil_tmp49, __cil_tmp51, __cil_tmp53, __cil_tmp54,
7984                               100);
7985#line 167
7986    result = (ssize_t )tmp___12;
7987    }
7988#line 173
7989    if (result < 0L) {
7990      {
7991#line 174
7992      __cil_tmp55 = i1480->dev;
7993#line 174
7994      __cil_tmp56 = (struct device  const  *)__cil_tmp55;
7995#line 174
7996      dev_err(__cil_tmp56, "%s: USB read error: %zd\n", "i1480_usb_read", result);
7997      }
7998#line 176
7999      goto out;
8000    } else {
8001
8002    }
8003    {
8004#line 178
8005    __cil_tmp57 = (size_t )result;
8006#line 178
8007    if (__cil_tmp57 != itr_size) {
8008      {
8009#line 179
8010      result = (ssize_t )-5;
8011#line 180
8012      __cil_tmp58 = i1480->dev;
8013#line 180
8014      __cil_tmp59 = (struct device  const  *)__cil_tmp58;
8015#line 180
8016      dev_err(__cil_tmp59, "%s: partial read got only %zu bytes vs %zu expected\n",
8017              "i1480_usb_read", result, itr_size);
8018      }
8019#line 183
8020      goto out;
8021    } else {
8022
8023    }
8024    }
8025#line 185
8026    bytes = bytes + result;
8027#line 164
8028    itr = itr + read_size;
8029  }
8030  while_break___18: /* CIL Label */ ;
8031  }
8032
8033  while_break___8: 
8034#line 187
8035  result = bytes;
8036  out: 
8037#line 189
8038  return ((int )result);
8039}
8040}
8041#line 209
8042static void i1480_usb_neep_cb(struct urb *urb ) ;
8043#line 209 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
8044static struct _ddebug descriptor___0  __attribute__((__used__, __section__("__verbose"),
8045__aligned__(8)))  =    {"i1480_dfu_usb", "i1480_usb_neep_cb", "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c",
8046    "NEEP: reset/noent %d\n", 209U, 0U, (char)0};
8047#line 212 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
8048static struct _ddebug descriptor___1  __attribute__((__used__, __section__("__verbose"),
8049__aligned__(8)))  =    {"i1480_dfu_usb", "i1480_usb_neep_cb", "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c",
8050    "NEEP: down %d\n", 212U, 0U, (char)0};
8051#line 198 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
8052static void i1480_usb_neep_cb(struct urb *urb ) 
8053{ struct i1480 *i1480 ;
8054  struct device *dev ;
8055  long tmp___7 ;
8056  long tmp___8 ;
8057  void *__cil_tmp6 ;
8058  int __cil_tmp7 ;
8059  int __cil_tmp8 ;
8060  int __cil_tmp9 ;
8061  int __cil_tmp10 ;
8062  int __cil_tmp11 ;
8063  int __cil_tmp12 ;
8064  long __cil_tmp13 ;
8065  struct device  const  *__cil_tmp14 ;
8066  int __cil_tmp15 ;
8067  int __cil_tmp16 ;
8068  int __cil_tmp17 ;
8069  long __cil_tmp18 ;
8070  struct device  const  *__cil_tmp19 ;
8071  int __cil_tmp20 ;
8072  struct device  const  *__cil_tmp21 ;
8073  int __cil_tmp22 ;
8074  u32 __cil_tmp23 ;
8075  struct completion *__cil_tmp24 ;
8076
8077  {
8078#line 201
8079  __cil_tmp6 = urb->context;
8080#line 201
8081  i1480 = (struct i1480 *)__cil_tmp6;
8082#line 202
8083  dev = i1480->dev;
8084  {
8085#line 205
8086  __cil_tmp7 = urb->status;
8087#line 205
8088  if (__cil_tmp7 == 0) {
8089#line 205
8090    goto case_0;
8091  } else {
8092    {
8093#line 207
8094    __cil_tmp8 = urb->status;
8095#line 207
8096    if (__cil_tmp8 == -104) {
8097#line 207
8098      goto case_neg_104;
8099    } else {
8100      {
8101#line 208
8102      __cil_tmp9 = urb->status;
8103#line 208
8104      if (__cil_tmp9 == -2) {
8105#line 208
8106        goto case_neg_104;
8107      } else {
8108        {
8109#line 211
8110        __cil_tmp10 = urb->status;
8111#line 211
8112        if (__cil_tmp10 == -108) {
8113#line 211
8114          goto case_neg_108;
8115        } else {
8116#line 214
8117          goto switch_default;
8118#line 204
8119          if (0) {
8120            case_0: 
8121#line 206
8122            goto switch_break;
8123            case_neg_104: 
8124            {
8125#line 209
8126            while (1) {
8127              while_continue: /* CIL Label */ ;
8128
8129              {
8130#line 209
8131              while (1) {
8132                while_continue___0: /* CIL Label */ ;
8133                {
8134#line 209
8135                __cil_tmp11 = ! descriptor___0.enabled;
8136#line 209
8137                __cil_tmp12 = ! __cil_tmp11;
8138#line 209
8139                __cil_tmp13 = (long )__cil_tmp12;
8140#line 209
8141                tmp___7 = __builtin_expect(__cil_tmp13, 0L);
8142                }
8143#line 209
8144                if (tmp___7) {
8145                  {
8146#line 209
8147                  __cil_tmp14 = (struct device  const  *)dev;
8148#line 209
8149                  __cil_tmp15 = urb->status;
8150#line 209
8151                  dev_printk("<7>", __cil_tmp14, "NEEP: reset/noent %d\n", __cil_tmp15);
8152                  }
8153                } else {
8154
8155                }
8156#line 209
8157                goto while_break___0;
8158              }
8159              while_break___4: /* CIL Label */ ;
8160              }
8161
8162              while_break___0: ;
8163#line 209
8164              goto while_break;
8165            }
8166            while_break___3: /* CIL Label */ ;
8167            }
8168
8169            while_break: ;
8170#line 210
8171            goto switch_break;
8172            case_neg_108: 
8173            {
8174#line 212
8175            while (1) {
8176              while_continue___1: /* CIL Label */ ;
8177
8178              {
8179#line 212
8180              while (1) {
8181                while_continue___2: /* CIL Label */ ;
8182                {
8183#line 212
8184                __cil_tmp16 = ! descriptor___1.enabled;
8185#line 212
8186                __cil_tmp17 = ! __cil_tmp16;
8187#line 212
8188                __cil_tmp18 = (long )__cil_tmp17;
8189#line 212
8190                tmp___8 = __builtin_expect(__cil_tmp18, 0L);
8191                }
8192#line 212
8193                if (tmp___8) {
8194                  {
8195#line 212
8196                  __cil_tmp19 = (struct device  const  *)dev;
8197#line 212
8198                  __cil_tmp20 = urb->status;
8199#line 212
8200                  dev_printk("<7>", __cil_tmp19, "NEEP: down %d\n", __cil_tmp20);
8201                  }
8202                } else {
8203
8204                }
8205#line 212
8206                goto while_break___2;
8207              }
8208              while_break___6: /* CIL Label */ ;
8209              }
8210
8211              while_break___2: ;
8212#line 212
8213              goto while_break___1;
8214            }
8215            while_break___5: /* CIL Label */ ;
8216            }
8217
8218            while_break___1: ;
8219#line 213
8220            goto switch_break;
8221            switch_default: 
8222            {
8223#line 215
8224            __cil_tmp21 = (struct device  const  *)dev;
8225#line 215
8226            __cil_tmp22 = urb->status;
8227#line 215
8228            dev_err(__cil_tmp21, "NEEP: unknown status %d\n", __cil_tmp22);
8229            }
8230#line 216
8231            goto switch_break;
8232          } else {
8233            switch_break: ;
8234          }
8235        }
8236        }
8237      }
8238      }
8239    }
8240    }
8241  }
8242  }
8243  {
8244#line 218
8245  __cil_tmp23 = urb->actual_length;
8246#line 218
8247  i1480->evt_result = (ssize_t )__cil_tmp23;
8248#line 219
8249  __cil_tmp24 = & i1480->evt_complete;
8250#line 219
8251  complete(__cil_tmp24);
8252  }
8253#line 220
8254  return;
8255}
8256}
8257#line 236 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
8258static int i1480_usb_wait_init_done(struct i1480 *i1480 ) 
8259{ int result ;
8260  struct device *dev ;
8261  struct i1480_usb *i1480_usb ;
8262  struct i1480  const  *__mptr ;
8263  struct usb_endpoint_descriptor *epd ;
8264  unsigned int tmp___7 ;
8265  long tmp___8 ;
8266  struct i1480_usb *__cil_tmp9 ;
8267  struct i1480 *__cil_tmp10 ;
8268  unsigned int __cil_tmp11 ;
8269  char *__cil_tmp12 ;
8270  char *__cil_tmp13 ;
8271  struct completion *__cil_tmp14 ;
8272  struct usb_interface *__cil_tmp15 ;
8273  struct usb_host_interface *__cil_tmp16 ;
8274  struct usb_host_endpoint *__cil_tmp17 ;
8275  struct usb_host_endpoint *__cil_tmp18 ;
8276  struct usb_device *__cil_tmp19 ;
8277  __u8 __cil_tmp20 ;
8278  unsigned int __cil_tmp21 ;
8279  struct urb *__cil_tmp22 ;
8280  struct usb_device *__cil_tmp23 ;
8281  int __cil_tmp24 ;
8282  unsigned int __cil_tmp25 ;
8283  unsigned int __cil_tmp26 ;
8284  unsigned int __cil_tmp27 ;
8285  void *__cil_tmp28 ;
8286  size_t __cil_tmp29 ;
8287  int __cil_tmp30 ;
8288  void *__cil_tmp31 ;
8289  __u8 __cil_tmp32 ;
8290  int __cil_tmp33 ;
8291  struct urb *__cil_tmp34 ;
8292  struct device  const  *__cil_tmp35 ;
8293  struct completion *__cil_tmp36 ;
8294  struct urb *__cil_tmp37 ;
8295  struct urb *__cil_tmp38 ;
8296
8297  {
8298  {
8299#line 240
8300  dev = i1480->dev;
8301#line 241
8302  __mptr = (struct i1480  const  *)i1480;
8303#line 241
8304  __cil_tmp9 = (struct i1480_usb *)0;
8305#line 241
8306  __cil_tmp10 = & __cil_tmp9->i1480;
8307#line 241
8308  __cil_tmp11 = (unsigned int )__cil_tmp10;
8309#line 241
8310  __cil_tmp12 = (char *)__mptr;
8311#line 241
8312  __cil_tmp13 = __cil_tmp12 - __cil_tmp11;
8313#line 241
8314  i1480_usb = (struct i1480_usb *)__cil_tmp13;
8315#line 244
8316  __cil_tmp14 = & i1480->evt_complete;
8317#line 244
8318  init_completion___0(__cil_tmp14);
8319#line 245
8320  i1480->evt_result = (ssize_t )-115;
8321#line 246
8322  __cil_tmp15 = i1480_usb->usb_iface;
8323#line 246
8324  __cil_tmp16 = __cil_tmp15->cur_altsetting;
8325#line 246
8326  __cil_tmp17 = __cil_tmp16->endpoint;
8327#line 246
8328  __cil_tmp18 = __cil_tmp17 + 0;
8329#line 246
8330  epd = & __cil_tmp18->desc;
8331#line 247
8332  __cil_tmp19 = i1480_usb->usb_dev;
8333#line 247
8334  __cil_tmp20 = epd->bEndpointAddress;
8335#line 247
8336  __cil_tmp21 = (unsigned int )__cil_tmp20;
8337#line 247
8338  tmp___7 = __create_pipe(__cil_tmp19, __cil_tmp21);
8339#line 247
8340  __cil_tmp22 = i1480_usb->neep_urb;
8341#line 247
8342  __cil_tmp23 = i1480_usb->usb_dev;
8343#line 247
8344  __cil_tmp24 = 1 << 30;
8345#line 247
8346  __cil_tmp25 = (unsigned int )__cil_tmp24;
8347#line 247
8348  __cil_tmp26 = __cil_tmp25 | tmp___7;
8349#line 247
8350  __cil_tmp27 = __cil_tmp26 | 128U;
8351#line 247
8352  __cil_tmp28 = i1480->evt_buf;
8353#line 247
8354  __cil_tmp29 = i1480->buf_size;
8355#line 247
8356  __cil_tmp30 = (int )__cil_tmp29;
8357#line 247
8358  __cil_tmp31 = (void *)i1480;
8359#line 247
8360  __cil_tmp32 = epd->bInterval;
8361#line 247
8362  __cil_tmp33 = (int )__cil_tmp32;
8363#line 247
8364  usb_fill_int_urb(__cil_tmp22, __cil_tmp23, __cil_tmp27, __cil_tmp28, __cil_tmp30,
8365                   & i1480_usb_neep_cb, __cil_tmp31, __cil_tmp33);
8366#line 251
8367  __cil_tmp34 = i1480_usb->neep_urb;
8368#line 251
8369  result = usb_submit_urb(__cil_tmp34, 208U);
8370  }
8371#line 252
8372  if (result < 0) {
8373    {
8374#line 253
8375    __cil_tmp35 = (struct device  const  *)dev;
8376#line 253
8377    dev_err(__cil_tmp35, "init done: cannot submit NEEP read: %d\n", result);
8378    }
8379#line 255
8380    goto error_submit;
8381  } else {
8382
8383  }
8384  {
8385#line 258
8386  __cil_tmp36 = & i1480->evt_complete;
8387#line 258
8388  tmp___8 = wait_for_completion_interruptible_timeout(__cil_tmp36, 250UL);
8389#line 258
8390  result = (int )tmp___8;
8391  }
8392#line 260
8393  if (result <= 0) {
8394#line 261
8395    if (result == 0) {
8396#line 261
8397      result = -110;
8398    } else {
8399#line 261
8400      result = result;
8401    }
8402#line 262
8403    goto error_wait;
8404  } else {
8405
8406  }
8407  {
8408#line 264
8409  __cil_tmp37 = i1480_usb->neep_urb;
8410#line 264
8411  usb_kill_urb(__cil_tmp37);
8412  }
8413#line 265
8414  return (0);
8415  error_wait: 
8416  {
8417#line 268
8418  __cil_tmp38 = i1480_usb->neep_urb;
8419#line 268
8420  usb_kill_urb(__cil_tmp38);
8421  }
8422  error_submit: 
8423#line 270
8424  i1480->evt_result = (ssize_t )result;
8425#line 271
8426  return (result);
8427}
8428}
8429#line 291 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
8430static int i1480_usb_cmd(struct i1480 *i1480 , char const   *cmd_name , size_t cmd_size ) 
8431{ int result ;
8432  struct device *dev ;
8433  struct i1480_usb *i1480_usb ;
8434  struct i1480  const  *__mptr ;
8435  struct usb_endpoint_descriptor *epd ;
8436  struct uwb_rccb *cmd ;
8437  u8 iface_no ;
8438  unsigned int tmp___7 ;
8439  unsigned int tmp___8 ;
8440  struct i1480_usb *__cil_tmp13 ;
8441  struct i1480 *__cil_tmp14 ;
8442  unsigned int __cil_tmp15 ;
8443  char *__cil_tmp16 ;
8444  char *__cil_tmp17 ;
8445  void *__cil_tmp18 ;
8446  struct usb_interface *__cil_tmp19 ;
8447  struct usb_host_interface *__cil_tmp20 ;
8448  struct usb_interface *__cil_tmp21 ;
8449  struct usb_host_interface *__cil_tmp22 ;
8450  struct usb_host_endpoint *__cil_tmp23 ;
8451  struct usb_host_endpoint *__cil_tmp24 ;
8452  struct usb_device *__cil_tmp25 ;
8453  __u8 __cil_tmp26 ;
8454  unsigned int __cil_tmp27 ;
8455  struct urb *__cil_tmp28 ;
8456  struct usb_device *__cil_tmp29 ;
8457  int __cil_tmp30 ;
8458  unsigned int __cil_tmp31 ;
8459  unsigned int __cil_tmp32 ;
8460  unsigned int __cil_tmp33 ;
8461  void *__cil_tmp34 ;
8462  size_t __cil_tmp35 ;
8463  int __cil_tmp36 ;
8464  void *__cil_tmp37 ;
8465  __u8 __cil_tmp38 ;
8466  int __cil_tmp39 ;
8467  struct urb *__cil_tmp40 ;
8468  struct device  const  *__cil_tmp41 ;
8469  struct usb_device *__cil_tmp42 ;
8470  struct usb_device *__cil_tmp43 ;
8471  int __cil_tmp44 ;
8472  unsigned int __cil_tmp45 ;
8473  unsigned int __cil_tmp46 ;
8474  __u8 __cil_tmp47 ;
8475  int __cil_tmp48 ;
8476  int __cil_tmp49 ;
8477  __u8 __cil_tmp50 ;
8478  __u16 __cil_tmp51 ;
8479  __u16 __cil_tmp52 ;
8480  void *__cil_tmp53 ;
8481  __u16 __cil_tmp54 ;
8482  struct device  const  *__cil_tmp55 ;
8483  struct urb *__cil_tmp56 ;
8484
8485  {
8486  {
8487#line 295
8488  dev = i1480->dev;
8489#line 296
8490  __mptr = (struct i1480  const  *)i1480;
8491#line 296
8492  __cil_tmp13 = (struct i1480_usb *)0;
8493#line 296
8494  __cil_tmp14 = & __cil_tmp13->i1480;
8495#line 296
8496  __cil_tmp15 = (unsigned int )__cil_tmp14;
8497#line 296
8498  __cil_tmp16 = (char *)__mptr;
8499#line 296
8500  __cil_tmp17 = __cil_tmp16 - __cil_tmp15;
8501#line 296
8502  i1480_usb = (struct i1480_usb *)__cil_tmp17;
8503#line 298
8504  __cil_tmp18 = i1480->cmd_buf;
8505#line 298
8506  cmd = (struct uwb_rccb *)__cil_tmp18;
8507#line 302
8508  __cil_tmp19 = i1480_usb->usb_iface;
8509#line 302
8510  __cil_tmp20 = __cil_tmp19->cur_altsetting;
8511#line 302
8512  iface_no = __cil_tmp20->desc.bInterfaceNumber;
8513#line 303
8514  __cil_tmp21 = i1480_usb->usb_iface;
8515#line 303
8516  __cil_tmp22 = __cil_tmp21->cur_altsetting;
8517#line 303
8518  __cil_tmp23 = __cil_tmp22->endpoint;
8519#line 303
8520  __cil_tmp24 = __cil_tmp23 + 0;
8521#line 303
8522  epd = & __cil_tmp24->desc;
8523#line 304
8524  __cil_tmp25 = i1480_usb->usb_dev;
8525#line 304
8526  __cil_tmp26 = epd->bEndpointAddress;
8527#line 304
8528  __cil_tmp27 = (unsigned int )__cil_tmp26;
8529#line 304
8530  tmp___7 = __create_pipe(__cil_tmp25, __cil_tmp27);
8531#line 304
8532  __cil_tmp28 = i1480_usb->neep_urb;
8533#line 304
8534  __cil_tmp29 = i1480_usb->usb_dev;
8535#line 304
8536  __cil_tmp30 = 1 << 30;
8537#line 304
8538  __cil_tmp31 = (unsigned int )__cil_tmp30;
8539#line 304
8540  __cil_tmp32 = __cil_tmp31 | tmp___7;
8541#line 304
8542  __cil_tmp33 = __cil_tmp32 | 128U;
8543#line 304
8544  __cil_tmp34 = i1480->evt_buf;
8545#line 304
8546  __cil_tmp35 = i1480->buf_size;
8547#line 304
8548  __cil_tmp36 = (int )__cil_tmp35;
8549#line 304
8550  __cil_tmp37 = (void *)i1480;
8551#line 304
8552  __cil_tmp38 = epd->bInterval;
8553#line 304
8554  __cil_tmp39 = (int )__cil_tmp38;
8555#line 304
8556  usb_fill_int_urb(__cil_tmp28, __cil_tmp29, __cil_tmp33, __cil_tmp34, __cil_tmp36,
8557                   & i1480_usb_neep_cb, __cil_tmp37, __cil_tmp39);
8558#line 309
8559  __cil_tmp40 = i1480_usb->neep_urb;
8560#line 309
8561  result = usb_submit_urb(__cil_tmp40, 208U);
8562  }
8563#line 310
8564  if (result < 0) {
8565    {
8566#line 311
8567    __cil_tmp41 = (struct device  const  *)dev;
8568#line 311
8569    dev_err(__cil_tmp41, "%s: cannot submit NEEP read: %d\n", cmd_name, result);
8570    }
8571#line 313
8572    goto error_submit_ep1;
8573  } else {
8574
8575  }
8576  {
8577#line 316
8578  __cil_tmp42 = i1480_usb->usb_dev;
8579#line 316
8580  tmp___8 = __create_pipe(__cil_tmp42, 0U);
8581#line 316
8582  __cil_tmp43 = i1480_usb->usb_dev;
8583#line 316
8584  __cil_tmp44 = 2 << 30;
8585#line 316
8586  __cil_tmp45 = (unsigned int )__cil_tmp44;
8587#line 316
8588  __cil_tmp46 = __cil_tmp45 | tmp___8;
8589#line 316
8590  __cil_tmp47 = (__u8 )40;
8591#line 316
8592  __cil_tmp48 = 1 << 5;
8593#line 316
8594  __cil_tmp49 = 1 | __cil_tmp48;
8595#line 316
8596  __cil_tmp50 = (__u8 )__cil_tmp49;
8597#line 316
8598  __cil_tmp51 = (__u16 )0;
8599#line 316
8600  __cil_tmp52 = (__u16 )iface_no;
8601#line 316
8602  __cil_tmp53 = (void *)cmd;
8603#line 316
8604  __cil_tmp54 = (__u16 )cmd_size;
8605#line 316
8606  result = usb_control_msg(__cil_tmp43, __cil_tmp46, __cil_tmp47, __cil_tmp50, __cil_tmp51,
8607                           __cil_tmp52, __cil_tmp53, __cil_tmp54, 100);
8608  }
8609#line 323
8610  if (result < 0) {
8611    {
8612#line 324
8613    __cil_tmp55 = (struct device  const  *)dev;
8614#line 324
8615    dev_err(__cil_tmp55, "%s: control request failed: %d\n", cmd_name, result);
8616    }
8617#line 326
8618    goto error_submit_ep0;
8619  } else {
8620
8621  }
8622#line 328
8623  return (result);
8624  error_submit_ep0: 
8625  {
8626#line 331
8627  __cil_tmp56 = i1480_usb->neep_urb;
8628#line 331
8629  usb_kill_urb(__cil_tmp56);
8630  }
8631  error_submit_ep1: 
8632#line 333
8633  return (result);
8634}
8635}
8636#line 352
8637static int i1480_usb_probe(struct usb_interface *iface , struct usb_device_id  const  *id ) ;
8638#line 352 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
8639static struct _ddebug descriptor___2  __attribute__((__used__, __section__("__verbose"),
8640__aligned__(8)))  =    {"i1480_dfu_usb", "i1480_usb_probe", "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c",
8641    "not attaching to iface %d\n", 353U, 0U, (char)0};
8642#line 342 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
8643static int i1480_usb_probe(struct usb_interface *iface , struct usb_device_id  const  *id ) 
8644{ struct i1480_usb *i1480_usb ;
8645  struct i1480 *i1480 ;
8646  struct device *dev ;
8647  int result ;
8648  long tmp___7 ;
8649  struct usb_device *tmp___8 ;
8650  struct usb_device *tmp___9 ;
8651  void *tmp___10 ;
8652  struct usb_host_interface *__cil_tmp11 ;
8653  __u8 __cil_tmp12 ;
8654  int __cil_tmp13 ;
8655  int __cil_tmp14 ;
8656  int __cil_tmp15 ;
8657  long __cil_tmp16 ;
8658  struct device  const  *__cil_tmp17 ;
8659  struct usb_host_interface *__cil_tmp18 ;
8660  __u8 __cil_tmp19 ;
8661  int __cil_tmp20 ;
8662  unsigned int __cil_tmp21 ;
8663  __le16 __cil_tmp22 ;
8664  int __cil_tmp23 ;
8665  struct device  const  *__cil_tmp24 ;
8666  void *__cil_tmp25 ;
8667  unsigned long __cil_tmp26 ;
8668  unsigned long __cil_tmp27 ;
8669  struct device  const  *__cil_tmp28 ;
8670  size_t __cil_tmp29 ;
8671  unsigned long __cil_tmp30 ;
8672  void *__cil_tmp31 ;
8673  unsigned long __cil_tmp32 ;
8674  void *__cil_tmp33 ;
8675  unsigned long __cil_tmp34 ;
8676  struct device  const  *__cil_tmp35 ;
8677  size_t __cil_tmp36 ;
8678  void *__cil_tmp37 ;
8679  struct device  const  *__cil_tmp38 ;
8680  void *__cil_tmp39 ;
8681  struct i1480 *__cil_tmp40 ;
8682  struct usb_device *__cil_tmp41 ;
8683  void *__cil_tmp42 ;
8684  void const   *__cil_tmp43 ;
8685  void const   *__cil_tmp44 ;
8686
8687  {
8688#line 347
8689  dev = & iface->dev;
8690#line 350
8691  result = -19;
8692  {
8693#line 351
8694  __cil_tmp11 = iface->cur_altsetting;
8695#line 351
8696  __cil_tmp12 = __cil_tmp11->desc.bInterfaceNumber;
8697#line 351
8698  __cil_tmp13 = (int )__cil_tmp12;
8699#line 351
8700  if (__cil_tmp13 != 0) {
8701    {
8702#line 352
8703    while (1) {
8704      while_continue: /* CIL Label */ ;
8705
8706      {
8707#line 352
8708      while (1) {
8709        while_continue___0: /* CIL Label */ ;
8710        {
8711#line 352
8712        __cil_tmp14 = ! descriptor___2.enabled;
8713#line 352
8714        __cil_tmp15 = ! __cil_tmp14;
8715#line 352
8716        __cil_tmp16 = (long )__cil_tmp15;
8717#line 352
8718        tmp___7 = __builtin_expect(__cil_tmp16, 0L);
8719        }
8720#line 352
8721        if (tmp___7) {
8722          {
8723#line 352
8724          __cil_tmp17 = (struct device  const  *)dev;
8725#line 352
8726          __cil_tmp18 = iface->cur_altsetting;
8727#line 352
8728          __cil_tmp19 = __cil_tmp18->desc.bInterfaceNumber;
8729#line 352
8730          __cil_tmp20 = (int )__cil_tmp19;
8731#line 352
8732          dev_printk("<7>", __cil_tmp17, "not attaching to iface %d\n", __cil_tmp20);
8733          }
8734        } else {
8735
8736        }
8737#line 352
8738        goto while_break___0;
8739      }
8740      while_break___2: /* CIL Label */ ;
8741      }
8742
8743      while_break___0: ;
8744#line 352
8745      goto while_break;
8746    }
8747    while_break___1: /* CIL Label */ ;
8748    }
8749
8750    while_break: ;
8751#line 354
8752    goto error;
8753  } else {
8754
8755  }
8756  }
8757  {
8758#line 356
8759  __cil_tmp21 = iface->num_altsetting;
8760#line 356
8761  if (__cil_tmp21 > 1U) {
8762    {
8763#line 356
8764    tmp___9 = interface_to_usbdev(iface);
8765    }
8766    {
8767#line 356
8768    __cil_tmp22 = tmp___9->descriptor.idProduct;
8769#line 356
8770    __cil_tmp23 = (int )__cil_tmp22;
8771#line 356
8772    if (__cil_tmp23 == 47806) {
8773      {
8774#line 359
8775      tmp___8 = interface_to_usbdev(iface);
8776#line 359
8777      result = usb_set_interface(tmp___8, 0, 1);
8778      }
8779#line 360
8780      if (result < 0) {
8781        {
8782#line 361
8783        __cil_tmp24 = (struct device  const  *)dev;
8784#line 361
8785        dev_warn(__cil_tmp24, "can\'t set altsetting 1 on iface 0: %d\n", result);
8786        }
8787      } else {
8788
8789      }
8790    } else {
8791
8792    }
8793    }
8794  } else {
8795
8796  }
8797  }
8798  {
8799#line 366
8800  result = -12;
8801#line 367
8802  tmp___10 = kzalloc(248UL, 208U);
8803#line 367
8804  i1480_usb = (struct i1480_usb *)tmp___10;
8805  }
8806  {
8807#line 368
8808  __cil_tmp25 = (void *)0;
8809#line 368
8810  __cil_tmp26 = (unsigned long )__cil_tmp25;
8811#line 368
8812  __cil_tmp27 = (unsigned long )i1480_usb;
8813#line 368
8814  if (__cil_tmp27 == __cil_tmp26) {
8815    {
8816#line 369
8817    __cil_tmp28 = (struct device  const  *)dev;
8818#line 369
8819    dev_err(__cil_tmp28, "Unable to allocate instance\n");
8820    }
8821#line 370
8822    goto error;
8823  } else {
8824
8825  }
8826  }
8827  {
8828#line 372
8829  i1480_usb_init(i1480_usb);
8830#line 374
8831  i1480 = & i1480_usb->i1480;
8832#line 375
8833  i1480->buf_size = (size_t )512;
8834#line 376
8835  __cil_tmp29 = i1480->buf_size;
8836#line 376
8837  __cil_tmp30 = 2UL * __cil_tmp29;
8838#line 376
8839  i1480->cmd_buf = kmalloc(__cil_tmp30, 208U);
8840  }
8841  {
8842#line 377
8843  __cil_tmp31 = (void *)0;
8844#line 377
8845  __cil_tmp32 = (unsigned long )__cil_tmp31;
8846#line 377
8847  __cil_tmp33 = i1480->cmd_buf;
8848#line 377
8849  __cil_tmp34 = (unsigned long )__cil_tmp33;
8850#line 377
8851  if (__cil_tmp34 == __cil_tmp32) {
8852    {
8853#line 378
8854    __cil_tmp35 = (struct device  const  *)dev;
8855#line 378
8856    dev_err(__cil_tmp35, "Cannot allocate transfer buffers\n");
8857#line 379
8858    result = -12;
8859    }
8860#line 380
8861    goto error_buf_alloc;
8862  } else {
8863
8864  }
8865  }
8866  {
8867#line 382
8868  __cil_tmp36 = i1480->buf_size;
8869#line 382
8870  __cil_tmp37 = i1480->cmd_buf;
8871#line 382
8872  i1480->evt_buf = __cil_tmp37 + __cil_tmp36;
8873#line 384
8874  result = i1480_usb_create(i1480_usb, iface);
8875  }
8876#line 385
8877  if (result < 0) {
8878    {
8879#line 386
8880    __cil_tmp38 = (struct device  const  *)dev;
8881#line 386
8882    dev_err(__cil_tmp38, "Cannot create instance: %d\n", result);
8883    }
8884#line 387
8885    goto error_create;
8886  } else {
8887
8888  }
8889  {
8890#line 391
8891  i1480->pre_fw_name = "i1480-pre-phy-0.0.bin";
8892#line 392
8893  i1480->mac_fw_name = "i1480-usb-0.0.bin";
8894#line 393
8895  i1480->mac_fw_name_deprecate = "ptc-0.0.bin";
8896#line 394
8897  i1480->phy_fw_name = "i1480-phy-0.0.bin";
8898#line 395
8899  i1480->dev = & iface->dev;
8900#line 396
8901  i1480->write = & i1480_usb_write;
8902#line 397
8903  i1480->read = & i1480_usb_read;
8904#line 398
8905  __cil_tmp39 = (void *)0;
8906#line 398
8907  i1480->rc_setup = (int (*)(struct i1480 * ))__cil_tmp39;
8908#line 399
8909  i1480->wait_init_done = & i1480_usb_wait_init_done;
8910#line 400
8911  i1480->cmd = & i1480_usb_cmd;
8912#line 402
8913  __cil_tmp40 = & i1480_usb->i1480;
8914#line 402
8915  result = i1480_fw_upload(__cil_tmp40);
8916  }
8917#line 403
8918  if (result >= 0) {
8919    {
8920#line 404
8921    __cil_tmp41 = i1480_usb->usb_dev;
8922#line 404
8923    usb_reset_device(__cil_tmp41);
8924#line 405
8925    result = -19;
8926    }
8927  } else {
8928
8929  }
8930  {
8931#line 407
8932  i1480_usb_destroy(i1480_usb);
8933  }
8934  error_create: 
8935  {
8936#line 409
8937  __cil_tmp42 = i1480->cmd_buf;
8938#line 409
8939  __cil_tmp43 = (void const   *)__cil_tmp42;
8940#line 409
8941  kfree(__cil_tmp43);
8942  }
8943  error_buf_alloc: 
8944  {
8945#line 411
8946  __cil_tmp44 = (void const   *)i1480_usb;
8947#line 411
8948  kfree(__cil_tmp44);
8949  }
8950  error: 
8951#line 413
8952  return (result);
8953}
8954}
8955#line 416 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
8956static char const   __mod_firmware416[31]  __attribute__((__used__, __unused__, __section__(".modinfo"),
8957__aligned__(1)))  = 
8958#line 416
8959  {      (char const   )'f',      (char const   )'i',      (char const   )'r',      (char const   )'m', 
8960        (char const   )'w',      (char const   )'a',      (char const   )'r',      (char const   )'e', 
8961        (char const   )'=',      (char const   )'i',      (char const   )'1',      (char const   )'4', 
8962        (char const   )'8',      (char const   )'0',      (char const   )'-',      (char const   )'p', 
8963        (char const   )'r',      (char const   )'e',      (char const   )'-',      (char const   )'p', 
8964        (char const   )'h',      (char const   )'y',      (char const   )'-',      (char const   )'0', 
8965        (char const   )'.',      (char const   )'0',      (char const   )'.',      (char const   )'b', 
8966        (char const   )'i',      (char const   )'n',      (char const   )'\000'};
8967#line 417 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
8968static char const   __mod_firmware417[27]  __attribute__((__used__, __unused__, __section__(".modinfo"),
8969__aligned__(1)))  = 
8970#line 417
8971  {      (char const   )'f',      (char const   )'i',      (char const   )'r',      (char const   )'m', 
8972        (char const   )'w',      (char const   )'a',      (char const   )'r',      (char const   )'e', 
8973        (char const   )'=',      (char const   )'i',      (char const   )'1',      (char const   )'4', 
8974        (char const   )'8',      (char const   )'0',      (char const   )'-',      (char const   )'u', 
8975        (char const   )'s',      (char const   )'b',      (char const   )'-',      (char const   )'0', 
8976        (char const   )'.',      (char const   )'0',      (char const   )'.',      (char const   )'b', 
8977        (char const   )'i',      (char const   )'n',      (char const   )'\000'};
8978#line 418 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
8979static char const   __mod_firmware418[27]  __attribute__((__used__, __unused__, __section__(".modinfo"),
8980__aligned__(1)))  = 
8981#line 418
8982  {      (char const   )'f',      (char const   )'i',      (char const   )'r',      (char const   )'m', 
8983        (char const   )'w',      (char const   )'a',      (char const   )'r',      (char const   )'e', 
8984        (char const   )'=',      (char const   )'i',      (char const   )'1',      (char const   )'4', 
8985        (char const   )'8',      (char const   )'0',      (char const   )'-',      (char const   )'p', 
8986        (char const   )'h',      (char const   )'y',      (char const   )'-',      (char const   )'0', 
8987        (char const   )'.',      (char const   )'0',      (char const   )'.',      (char const   )'b', 
8988        (char const   )'i',      (char const   )'n',      (char const   )'\000'};
8989#line 437 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
8990static struct usb_device_id  const  i1480_usb_id_table[5]  = {      {(__u16 )1011, (__u16 )32902, (__u16 )57147, (unsigned short)0, (unsigned short)0,
8991      (__u8 )255, (__u8 )255, (__u8 )255, (__u8 )255, (__u8 )255, (__u8 )255, 0UL}, 
8992        {(__u16 )1011,
8993      (__u16 )5545, (__u16 )5, (unsigned short)0, (unsigned short)0, (__u8 )255, (__u8 )255,
8994      (__u8 )255, (__u8 )255, (__u8 )255, (__u8 )255, 0UL}, 
8995        {(__u16 )1011, (__u16 )2001, (__u16 )14338, (unsigned short)0, (unsigned short)0,
8996      (__u8 )255, (__u8 )255, (__u8 )255, (__u8 )255, (__u8 )255, (__u8 )255, 0UL}, 
8997        {(__u16 )1011,
8998      (__u16 )1293, (__u16 )12378, (unsigned short)0, (unsigned short)0, (__u8 )255,
8999      (__u8 )255, (__u8 )255, (__u8 )255, (__u8 )255, (__u8 )255, 0UL}, 
9000        {(__u16 )1011, (__u16 )13461, (__u16 )12295, (unsigned short)0, (unsigned short)0,
9001      (__u8 )255, (__u8 )255, (__u8 )255, (__u8 )255, (__u8 )255, (__u8 )255, 0UL}};
9002#line 445
9003extern struct usb_device_id  const  __mod_usb_device_table  __attribute__((__unused__,
9004__alias__("i1480_usb_id_table"))) ;
9005#line 448 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
9006static struct usb_driver i1480_dfu_driver  = 
9007#line 448
9008     {"i1480-dfu-usb", & i1480_usb_probe, (void (*)(struct usb_interface *intf ))((void *)0),
9009    (int (*)(struct usb_interface *intf , unsigned int code , void *buf ))0, (int (*)(struct usb_interface *intf ,
9010                                                                                      pm_message_t message ))0,
9011    (int (*)(struct usb_interface *intf ))0, (int (*)(struct usb_interface *intf ))0,
9012    (int (*)(struct usb_interface *intf ))0, (int (*)(struct usb_interface *intf ))0,
9013    i1480_usb_id_table, {{{{{0U}, 0U, 0U, (void *)0, {(struct lock_class_key *)0,
9014                                                      {(struct lock_class *)0, (struct lock_class *)0},
9015                                                      (char const   *)0, 0, 0UL}}}},
9016                         {(struct list_head *)0, (struct list_head *)0}}, {{(char const   *)0,
9017                                                                            (struct bus_type *)0,
9018                                                                            (struct module *)0,
9019                                                                            (char const   *)0,
9020                                                                            (_Bool)0,
9021                                                                            (struct of_device_id  const  *)0,
9022                                                                            (int (*)(struct device *dev ))0,
9023                                                                            (int (*)(struct device *dev ))0,
9024                                                                            (void (*)(struct device *dev ))0,
9025                                                                            (int (*)(struct device *dev ,
9026                                                                                     pm_message_t state ))0,
9027                                                                            (int (*)(struct device *dev ))0,
9028                                                                            (struct attribute_group  const  **)0,
9029                                                                            (struct dev_pm_ops  const  *)0,
9030                                                                            (struct driver_private *)0},
9031                                                                           0}, 0U,
9032    0U, 0U};
9033#line 461
9034static int i1480_dfu_driver_init(void)  __attribute__((__section__(".init.text"),
9035__no_instrument_function__)) ;
9036#line 461
9037static int i1480_dfu_driver_init(void)  __attribute__((__section__(".init.text"),
9038__no_instrument_function__)) ;
9039#line 461 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
9040static int i1480_dfu_driver_init(void) 
9041{ int tmp___7 ;
9042
9043  {
9044  {
9045#line 463
9046  tmp___7 = usb_register(& i1480_dfu_driver);
9047  }
9048#line 463
9049  return (tmp___7);
9050}
9051}
9052#line 465 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
9053int init_module(void) 
9054{ int tmp___7 ;
9055
9056  {
9057  {
9058#line 465
9059  tmp___7 = i1480_dfu_driver_init();
9060  }
9061#line 465
9062  return (tmp___7);
9063}
9064}
9065#line 468
9066static void i1480_dfu_driver_exit(void)  __attribute__((__section__(".exit.text"),
9067__no_instrument_function__)) ;
9068#line 468
9069static void i1480_dfu_driver_exit(void)  __attribute__((__section__(".exit.text"),
9070__no_instrument_function__)) ;
9071#line 468 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
9072static void i1480_dfu_driver_exit(void) 
9073{ 
9074
9075  {
9076  {
9077#line 470
9078  usb_deregister(& i1480_dfu_driver);
9079  }
9080#line 471
9081  return;
9082}
9083}
9084#line 472 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
9085void cleanup_module(void) 
9086{ 
9087
9088  {
9089  {
9090#line 472
9091  i1480_dfu_driver_exit();
9092  }
9093#line 472
9094  return;
9095}
9096}
9097#line 475 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
9098static char const   __mod_author475[61]  __attribute__((__used__, __unused__, __section__(".modinfo"),
9099__aligned__(1)))  = 
9100#line 475
9101  {      (char const   )'a',      (char const   )'u',      (char const   )'t',      (char const   )'h', 
9102        (char const   )'o',      (char const   )'r',      (char const   )'=',      (char const   )'I', 
9103        (char const   )'n',      (char const   )'a',      (char const   )'k',      (char const   )'y', 
9104        (char const   )' ',      (char const   )'P',      (char const   )'e',      (char const   )'r', 
9105        (char const   )'e',      (char const   )'z',      (char const   )'-',      (char const   )'G', 
9106        (char const   )'o',      (char const   )'n',      (char const   )'z',      (char const   )'a', 
9107        (char const   )'l',      (char const   )'e',      (char const   )'z',      (char const   )' ', 
9108        (char const   )'<',      (char const   )'i',      (char const   )'n',      (char const   )'a', 
9109        (char const   )'k',      (char const   )'y',      (char const   )'.',      (char const   )'p', 
9110        (char const   )'e',      (char const   )'r',      (char const   )'e',      (char const   )'z', 
9111        (char const   )'-',      (char const   )'g',      (char const   )'o',      (char const   )'n', 
9112        (char const   )'z',      (char const   )'a',      (char const   )'l',      (char const   )'e', 
9113        (char const   )'z',      (char const   )'@',      (char const   )'i',      (char const   )'n', 
9114        (char const   )'t',      (char const   )'e',      (char const   )'l',      (char const   )'.', 
9115        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'>', 
9116        (char const   )'\000'};
9117#line 476 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
9118static char const   __mod_description476[67]  __attribute__((__used__, __unused__,
9119__section__(".modinfo"), __aligned__(1)))  = 
9120#line 476
9121  {      (char const   )'d',      (char const   )'e',      (char const   )'s',      (char const   )'c', 
9122        (char const   )'r',      (char const   )'i',      (char const   )'p',      (char const   )'t', 
9123        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'=', 
9124        (char const   )'I',      (char const   )'n',      (char const   )'t',      (char const   )'e', 
9125        (char const   )'l',      (char const   )' ',      (char const   )'W',      (char const   )'i', 
9126        (char const   )'r',      (char const   )'e',      (char const   )'l',      (char const   )'e', 
9127        (char const   )'s',      (char const   )'s',      (char const   )' ',      (char const   )'U', 
9128        (char const   )'W',      (char const   )'B',      (char const   )' ',      (char const   )'L', 
9129        (char const   )'i',      (char const   )'n',      (char const   )'k',      (char const   )' ', 
9130        (char const   )'1',      (char const   )'4',      (char const   )'8',      (char const   )'0', 
9131        (char const   )' ',      (char const   )'f',      (char const   )'i',      (char const   )'r', 
9132        (char const   )'m',      (char const   )'w',      (char const   )'a',      (char const   )'r', 
9133        (char const   )'e',      (char const   )' ',      (char const   )'u',      (char const   )'p', 
9134        (char const   )'l',      (char const   )'o',      (char const   )'a',      (char const   )'d', 
9135        (char const   )'e',      (char const   )'r',      (char const   )' ',      (char const   )'f', 
9136        (char const   )'o',      (char const   )'r',      (char const   )' ',      (char const   )'U', 
9137        (char const   )'S',      (char const   )'B',      (char const   )'\000'};
9138#line 477 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
9139static char const   __mod_license477[12]  __attribute__((__used__, __unused__, __section__(".modinfo"),
9140__aligned__(1)))  = 
9141#line 477
9142  {      (char const   )'l',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
9143        (char const   )'n',      (char const   )'s',      (char const   )'e',      (char const   )'=', 
9144        (char const   )'G',      (char const   )'P',      (char const   )'L',      (char const   )'\000'};
9145#line 498
9146extern void ldv_check_return_value(int res ) ;
9147#line 501
9148extern void ldv_initialize(void) ;
9149#line 504
9150extern int nondet_int(void) ;
9151#line 507 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
9152int LDV_IN_INTERRUPT  ;
9153#line 524 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
9154static int res_i1480_usb_probe_8  ;
9155#line 510 "/anthill/stuff/tacas-comp/work/current--X--drivers/uwb/i1480/dfu/i1480-dfu-usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/14/dscv_tempdir/dscv/ri/68_1/drivers/uwb/i1480/dfu/usb.c"
9156void main(void) 
9157{ struct usb_interface *var_group1 ;
9158  struct usb_device_id  const  *var_i1480_usb_probe_8_p1 ;
9159  int tmp___7 ;
9160  int ldv_s_i1480_dfu_driver_usb_driver ;
9161  int tmp___8 ;
9162  int tmp___9 ;
9163  int __cil_tmp7 ;
9164
9165  {
9166  {
9167#line 548
9168  LDV_IN_INTERRUPT = 1;
9169#line 557
9170  ldv_initialize();
9171#line 578
9172  tmp___7 = i1480_dfu_driver_init();
9173  }
9174#line 578
9175  if (tmp___7) {
9176#line 579
9177    goto ldv_final;
9178  } else {
9179
9180  }
9181#line 580
9182  ldv_s_i1480_dfu_driver_usb_driver = 0;
9183  {
9184#line 583
9185  while (1) {
9186    while_continue: /* CIL Label */ ;
9187    {
9188#line 583
9189    tmp___9 = nondet_int();
9190    }
9191#line 583
9192    if (tmp___9) {
9193
9194    } else {
9195      {
9196#line 583
9197      __cil_tmp7 = ldv_s_i1480_dfu_driver_usb_driver == 0;
9198#line 583
9199      if (! __cil_tmp7) {
9200
9201      } else {
9202#line 583
9203        goto while_break;
9204      }
9205      }
9206    }
9207    {
9208#line 587
9209    tmp___8 = nondet_int();
9210    }
9211#line 589
9212    if (tmp___8 == 0) {
9213#line 589
9214      goto case_0;
9215    } else {
9216#line 624
9217      goto switch_default;
9218#line 587
9219      if (0) {
9220        case_0: 
9221#line 592
9222        if (ldv_s_i1480_dfu_driver_usb_driver == 0) {
9223          {
9224#line 597
9225          res_i1480_usb_probe_8 = i1480_usb_probe(var_group1, var_i1480_usb_probe_8_p1);
9226#line 598
9227          ldv_check_return_value(res_i1480_usb_probe_8);
9228          }
9229#line 599
9230          if (res_i1480_usb_probe_8) {
9231#line 600
9232            goto ldv_module_exit;
9233          } else {
9234
9235          }
9236#line 617
9237          ldv_s_i1480_dfu_driver_usb_driver = 0;
9238        } else {
9239
9240        }
9241#line 623
9242        goto switch_break;
9243        switch_default: 
9244#line 624
9245        goto switch_break;
9246      } else {
9247        switch_break: ;
9248      }
9249    }
9250  }
9251  while_break___0: /* CIL Label */ ;
9252  }
9253
9254  while_break: ;
9255  ldv_module_exit: 
9256  {
9257#line 651
9258  i1480_dfu_driver_exit();
9259  }
9260  ldv_final: 
9261  {
9262#line 654
9263  ldv_check_final_state();
9264  }
9265#line 657
9266  return;
9267}
9268}