Showing error 136

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-mtd-sm_ftl.ko_safe.cil.out.i.pp.i
Line in file: 8649
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

   1# 1 "ldv/68_1/drivers/mtd/sm_ftl.ko/safe.cil.out.i"
   2# 1 "<built-in>"
   3# 1 "<command-line>"
   4# 1 "ldv/68_1/drivers/mtd/sm_ftl.ko/safe.cil.out.i"
   5# 19 "include/asm-generic/int-ll64.h"
   6typedef signed char __s8;
   7# 20 "include/asm-generic/int-ll64.h"
   8typedef unsigned char __u8;
   9# 22 "include/asm-generic/int-ll64.h"
  10typedef short __s16;
  11# 23 "include/asm-generic/int-ll64.h"
  12typedef unsigned short __u16;
  13# 25 "include/asm-generic/int-ll64.h"
  14typedef int __s32;
  15# 26 "include/asm-generic/int-ll64.h"
  16typedef unsigned int __u32;
  17# 29 "include/asm-generic/int-ll64.h"
  18typedef long long __s64;
  19# 30 "include/asm-generic/int-ll64.h"
  20typedef unsigned long long __u64;
  21# 43 "include/asm-generic/int-ll64.h"
  22typedef unsigned char u8;
  23# 46 "include/asm-generic/int-ll64.h"
  24typedef unsigned short u16;
  25# 49 "include/asm-generic/int-ll64.h"
  26typedef unsigned int u32;
  27# 51 "include/asm-generic/int-ll64.h"
  28typedef long long s64;
  29# 52 "include/asm-generic/int-ll64.h"
  30typedef unsigned long long u64;
  31# 11 "include/asm-generic/types.h"
  32typedef unsigned short umode_t;
  33# 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  34typedef unsigned int __kernel_mode_t;
  35# 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  36typedef int __kernel_pid_t;
  37# 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  38typedef unsigned int __kernel_uid_t;
  39# 17 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  40typedef unsigned int __kernel_gid_t;
  41# 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  42typedef unsigned long __kernel_size_t;
  43# 19 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  44typedef long __kernel_ssize_t;
  45# 21 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  46typedef long __kernel_time_t;
  47# 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  48typedef long __kernel_clock_t;
  49# 24 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  50typedef int __kernel_timer_t;
  51# 25 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  52typedef int __kernel_clockid_t;
  53# 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  54typedef long long __kernel_loff_t;
  55# 41 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  56typedef __kernel_uid_t __kernel_uid32_t;
  57# 42 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  58typedef __kernel_gid_t __kernel_gid32_t;
  59# 21 "include/linux/types.h"
  60typedef __u32 __kernel_dev_t;
  61# 24 "include/linux/types.h"
  62typedef __kernel_dev_t dev_t;
  63# 26 "include/linux/types.h"
  64typedef __kernel_mode_t mode_t;
  65# 29 "include/linux/types.h"
  66typedef __kernel_pid_t pid_t;
  67# 34 "include/linux/types.h"
  68typedef __kernel_clockid_t clockid_t;
  69# 37 "include/linux/types.h"
  70typedef _Bool bool;
  71# 39 "include/linux/types.h"
  72typedef __kernel_uid32_t uid_t;
  73# 40 "include/linux/types.h"
  74typedef __kernel_gid32_t gid_t;
  75# 53 "include/linux/types.h"
  76typedef __kernel_loff_t loff_t;
  77# 62 "include/linux/types.h"
  78typedef __kernel_size_t size_t;
  79# 67 "include/linux/types.h"
  80typedef __kernel_ssize_t ssize_t;
  81# 77 "include/linux/types.h"
  82typedef __kernel_time_t time_t;
  83# 91 "include/linux/types.h"
  84typedef unsigned char u_char;
  85# 94 "include/linux/types.h"
  86typedef unsigned long u_long;
  87# 108 "include/linux/types.h"
  88typedef __s16 int16_t;
  89# 110 "include/linux/types.h"
  90typedef __s32 int32_t;
  91# 114 "include/linux/types.h"
  92typedef __u8 uint8_t;
  93# 115 "include/linux/types.h"
  94typedef __u16 uint16_t;
  95# 116 "include/linux/types.h"
  96typedef __u32 uint32_t;
  97# 119 "include/linux/types.h"
  98typedef __u64 uint64_t;
  99# 141 "include/linux/types.h"
 100typedef unsigned long sector_t;
 101# 142 "include/linux/types.h"
 102typedef unsigned long blkcnt_t;
 103# 154 "include/linux/types.h"
 104typedef u64 dma_addr_t;
 105# 177 "include/linux/types.h"
 106typedef __u16 __le16;
 107# 201 "include/linux/types.h"
 108typedef unsigned int gfp_t;
 109# 202 "include/linux/types.h"
 110typedef unsigned int fmode_t;
 111# 205 "include/linux/types.h"
 112typedef u64 phys_addr_t;
 113# 210 "include/linux/types.h"
 114typedef phys_addr_t resource_size_t;
 115# 212 "include/linux/types.h"
 116struct __anonstruct_atomic_t_7 {
 117   int counter ;
 118};
 119# 212 "include/linux/types.h"
 120typedef struct __anonstruct_atomic_t_7 atomic_t;
 121# 217 "include/linux/types.h"
 122struct __anonstruct_atomic64_t_8 {
 123   long counter ;
 124};
 125# 217 "include/linux/types.h"
 126typedef struct __anonstruct_atomic64_t_8 atomic64_t;
 127# 222 "include/linux/types.h"
 128struct list_head {
 129   struct list_head *next ;
 130   struct list_head *prev ;
 131};
 132# 226 "include/linux/types.h"
 133struct hlist_node;
 134# 226 "include/linux/types.h"
 135struct hlist_node;
 136# 226 "include/linux/types.h"
 137struct hlist_head {
 138   struct hlist_node *first ;
 139};
 140# 230 "include/linux/types.h"
 141struct hlist_node {
 142   struct hlist_node *next ;
 143   struct hlist_node **pprev ;
 144};
 145# 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
 146struct module;
 147# 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
 148struct module;
 149# 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
 150struct module;
 151# 145 "include/linux/init.h"
 152typedef void (*ctor_fn_t)(void);
 153# 10 "include/asm-generic/bug.h"
 154struct bug_entry {
 155   int bug_addr_disp ;
 156   int file_disp ;
 157   unsigned short line ;
 158   unsigned short flags ;
 159};
 160# 113 "include/linux/kernel.h"
 161struct completion;
 162# 113 "include/linux/kernel.h"
 163struct completion;
 164# 113 "include/linux/kernel.h"
 165struct completion;
 166# 114 "include/linux/kernel.h"
 167struct pt_regs;
 168# 114 "include/linux/kernel.h"
 169struct pt_regs;
 170# 114 "include/linux/kernel.h"
 171struct pt_regs;
 172# 322 "include/linux/kernel.h"
 173struct pid;
 174# 322 "include/linux/kernel.h"
 175struct pid;
 176# 322 "include/linux/kernel.h"
 177struct pid;
 178# 12 "include/linux/thread_info.h"
 179struct timespec;
 180# 12 "include/linux/thread_info.h"
 181struct timespec;
 182# 12 "include/linux/thread_info.h"
 183struct timespec;
 184# 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page.h"
 185struct page;
 186# 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page.h"
 187struct page;
 188# 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page.h"
 189struct page;
 190# 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
 191struct task_struct;
 192# 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
 193struct task_struct;
 194# 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
 195struct task_struct;
 196# 7 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 197struct task_struct;
 198# 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 199struct mm_struct;
 200# 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 201struct mm_struct;
 202# 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 203struct mm_struct;
 204# 99 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/ptrace.h"
 205struct pt_regs {
 206   unsigned long r15 ;
 207   unsigned long r14 ;
 208   unsigned long r13 ;
 209   unsigned long r12 ;
 210   unsigned long bp ;
 211   unsigned long bx ;
 212   unsigned long r11 ;
 213   unsigned long r10 ;
 214   unsigned long r9 ;
 215   unsigned long r8 ;
 216   unsigned long ax ;
 217   unsigned long cx ;
 218   unsigned long dx ;
 219   unsigned long si ;
 220   unsigned long di ;
 221   unsigned long orig_ax ;
 222   unsigned long ip ;
 223   unsigned long cs ;
 224   unsigned long flags ;
 225   unsigned long sp ;
 226   unsigned long ss ;
 227};
 228# 136 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/ptrace.h"
 229struct task_struct;
 230# 141 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
 231struct kernel_vm86_regs {
 232   struct pt_regs pt ;
 233   unsigned short es ;
 234   unsigned short __esh ;
 235   unsigned short ds ;
 236   unsigned short __dsh ;
 237   unsigned short fs ;
 238   unsigned short __fsh ;
 239   unsigned short gs ;
 240   unsigned short __gsh ;
 241};
 242# 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/math_emu.h"
 243union __anonunion____missing_field_name_14 {
 244   struct pt_regs *regs ;
 245   struct kernel_vm86_regs *vm86 ;
 246};
 247# 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/math_emu.h"
 248struct math_emu_info {
 249   long ___orig_eip ;
 250   union __anonunion____missing_field_name_14 __annonCompField5 ;
 251};
 252# 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/current.h"
 253struct task_struct;
 254# 13 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
 255typedef unsigned long pgdval_t;
 256# 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
 257typedef unsigned long pgprotval_t;
 258# 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 259struct pgprot {
 260   pgprotval_t pgprot ;
 261};
 262# 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 263typedef struct pgprot pgprot_t;
 264# 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 265struct __anonstruct_pgd_t_17 {
 266   pgdval_t pgd ;
 267};
 268# 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 269typedef struct __anonstruct_pgd_t_17 pgd_t;
 270# 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 271typedef struct page *pgtable_t;
 272# 293 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 273struct file;
 274# 293 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 275struct file;
 276# 293 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 277struct file;
 278# 311 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 279struct seq_file;
 280# 311 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 281struct seq_file;
 282# 311 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 283struct seq_file;
 284# 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
 285struct __anonstruct____missing_field_name_22 {
 286   unsigned int a ;
 287   unsigned int b ;
 288};
 289# 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
 290struct __anonstruct____missing_field_name_23 {
 291   u16 limit0 ;
 292   u16 base0 ;
 293   unsigned int base1 : 8 ;
 294   unsigned int type : 4 ;
 295   unsigned int s : 1 ;
 296   unsigned int dpl : 2 ;
 297   unsigned int p : 1 ;
 298   unsigned int limit : 4 ;
 299   unsigned int avl : 1 ;
 300   unsigned int l : 1 ;
 301   unsigned int d : 1 ;
 302   unsigned int g : 1 ;
 303   unsigned int base2 : 8 ;
 304};
 305# 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
 306union __anonunion____missing_field_name_21 {
 307   struct __anonstruct____missing_field_name_22 __annonCompField7 ;
 308   struct __anonstruct____missing_field_name_23 __annonCompField8 ;
 309};
 310# 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
 311struct desc_struct {
 312   union __anonunion____missing_field_name_21 __annonCompField9 ;
 313} __attribute__((__packed__)) ;
 314# 45 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 315struct page;
 316# 46 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 317struct thread_struct;
 318# 46 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 319struct thread_struct;
 320# 46 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 321struct thread_struct;
 322# 49 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 323struct mm_struct;
 324# 50 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 325struct desc_struct;
 326# 51 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 327struct task_struct;
 328# 52 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 329struct cpumask;
 330# 52 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 331struct cpumask;
 332# 52 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 333struct cpumask;
 334# 322 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 335struct arch_spinlock;
 336# 322 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 337struct arch_spinlock;
 338# 322 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 339struct arch_spinlock;
 340# 13 "include/linux/cpumask.h"
 341struct cpumask {
 342   unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 343};
 344# 13 "include/linux/cpumask.h"
 345typedef struct cpumask cpumask_t;
 346# 622 "include/linux/cpumask.h"
 347typedef struct cpumask *cpumask_var_t;
 348# 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/system.h"
 349struct task_struct;
 350# 11 "include/linux/personality.h"
 351struct pt_regs;
 352# 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 353struct i387_fsave_struct {
 354   u32 cwd ;
 355   u32 swd ;
 356   u32 twd ;
 357   u32 fip ;
 358   u32 fcs ;
 359   u32 foo ;
 360   u32 fos ;
 361   u32 st_space[20] ;
 362   u32 status ;
 363};
 364# 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 365struct __anonstruct____missing_field_name_31 {
 366   u64 rip ;
 367   u64 rdp ;
 368};
 369# 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 370struct __anonstruct____missing_field_name_32 {
 371   u32 fip ;
 372   u32 fcs ;
 373   u32 foo ;
 374   u32 fos ;
 375};
 376# 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 377union __anonunion____missing_field_name_30 {
 378   struct __anonstruct____missing_field_name_31 __annonCompField12 ;
 379   struct __anonstruct____missing_field_name_32 __annonCompField13 ;
 380};
 381# 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 382union __anonunion____missing_field_name_33 {
 383   u32 padding1[12] ;
 384   u32 sw_reserved[12] ;
 385};
 386# 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 387struct i387_fxsave_struct {
 388   u16 cwd ;
 389   u16 swd ;
 390   u16 twd ;
 391   u16 fop ;
 392   union __anonunion____missing_field_name_30 __annonCompField14 ;
 393   u32 mxcsr ;
 394   u32 mxcsr_mask ;
 395   u32 st_space[32] ;
 396   u32 xmm_space[64] ;
 397   u32 padding[12] ;
 398   union __anonunion____missing_field_name_33 __annonCompField15 ;
 399} __attribute__((__aligned__(16))) ;
 400# 331 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 401struct i387_soft_struct {
 402   u32 cwd ;
 403   u32 swd ;
 404   u32 twd ;
 405   u32 fip ;
 406   u32 fcs ;
 407   u32 foo ;
 408   u32 fos ;
 409   u32 st_space[20] ;
 410   u8 ftop ;
 411   u8 changed ;
 412   u8 lookahead ;
 413   u8 no_update ;
 414   u8 rm ;
 415   u8 alimit ;
 416   struct math_emu_info *info ;
 417   u32 entry_eip ;
 418};
 419# 351 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 420struct ymmh_struct {
 421   u32 ymmh_space[64] ;
 422};
 423# 356 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 424struct xsave_hdr_struct {
 425   u64 xstate_bv ;
 426   u64 reserved1[2] ;
 427   u64 reserved2[5] ;
 428} __attribute__((__packed__)) ;
 429# 362 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 430struct xsave_struct {
 431   struct i387_fxsave_struct i387 ;
 432   struct xsave_hdr_struct xsave_hdr ;
 433   struct ymmh_struct ymmh ;
 434} __attribute__((__packed__, __aligned__(64))) ;
 435# 369 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 436union thread_xstate {
 437   struct i387_fsave_struct fsave ;
 438   struct i387_fxsave_struct fxsave ;
 439   struct i387_soft_struct soft ;
 440   struct xsave_struct xsave ;
 441};
 442# 376 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 443struct fpu {
 444   union thread_xstate *state ;
 445};
 446# 421 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 447struct kmem_cache;
 448# 421 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 449struct kmem_cache;
 450# 423 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 451struct perf_event;
 452# 423 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 453struct perf_event;
 454# 423 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 455struct perf_event;
 456# 425 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 457struct thread_struct {
 458   struct desc_struct tls_array[3] ;
 459   unsigned long sp0 ;
 460   unsigned long sp ;
 461   unsigned long usersp ;
 462   unsigned short es ;
 463   unsigned short ds ;
 464   unsigned short fsindex ;
 465   unsigned short gsindex ;
 466   unsigned long fs ;
 467   unsigned long gs ;
 468   struct perf_event *ptrace_bps[4] ;
 469   unsigned long debugreg6 ;
 470   unsigned long ptrace_dr7 ;
 471   unsigned long cr2 ;
 472   unsigned long trap_no ;
 473   unsigned long error_code ;
 474   struct fpu fpu ;
 475   unsigned long *io_bitmap_ptr ;
 476   unsigned long iopl ;
 477   unsigned int io_bitmap_max ;
 478};
 479# 23 "include/asm-generic/atomic-long.h"
 480typedef atomic64_t atomic_long_t;
 481# 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
 482struct arch_spinlock {
 483   unsigned int slock ;
 484};
 485# 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
 486typedef struct arch_spinlock arch_spinlock_t;
 487# 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
 488struct __anonstruct_arch_rwlock_t_36 {
 489   unsigned int lock ;
 490};
 491# 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
 492typedef struct __anonstruct_arch_rwlock_t_36 arch_rwlock_t;
 493# 12 "include/linux/lockdep.h"
 494struct task_struct;
 495# 13 "include/linux/lockdep.h"
 496struct lockdep_map;
 497# 13 "include/linux/lockdep.h"
 498struct lockdep_map;
 499# 13 "include/linux/lockdep.h"
 500struct lockdep_map;
 501# 8 "include/linux/debug_locks.h"
 502struct task_struct;
 503# 48 "include/linux/debug_locks.h"
 504struct task_struct;
 505# 4 "include/linux/stacktrace.h"
 506struct task_struct;
 507# 5 "include/linux/stacktrace.h"
 508struct pt_regs;
 509# 8 "include/linux/stacktrace.h"
 510struct task_struct;
 511# 10 "include/linux/stacktrace.h"
 512struct stack_trace {
 513   unsigned int nr_entries ;
 514   unsigned int max_entries ;
 515   unsigned long *entries ;
 516   int skip ;
 517};
 518# 50 "include/linux/lockdep.h"
 519struct lockdep_subclass_key {
 520   char __one_byte ;
 521} __attribute__((__packed__)) ;
 522# 54 "include/linux/lockdep.h"
 523struct lock_class_key {
 524   struct lockdep_subclass_key subkeys[8UL] ;
 525};
 526# 65 "include/linux/lockdep.h"
 527struct lock_class {
 528   struct list_head hash_entry ;
 529   struct list_head lock_entry ;
 530   struct lockdep_subclass_key *key ;
 531   unsigned int subclass ;
 532   unsigned int dep_gen_id ;
 533   unsigned long usage_mask ;
 534   struct stack_trace usage_traces[13] ;
 535   struct list_head locks_after ;
 536   struct list_head locks_before ;
 537   unsigned int version ;
 538   unsigned long ops ;
 539   char const *name ;
 540   int name_version ;
 541   unsigned long contention_point[4] ;
 542   unsigned long contending_point[4] ;
 543};
 544# 150 "include/linux/lockdep.h"
 545struct lockdep_map {
 546   struct lock_class_key *key ;
 547   struct lock_class *class_cache[2] ;
 548   char const *name ;
 549   int cpu ;
 550   unsigned long ip ;
 551};
 552# 196 "include/linux/lockdep.h"
 553struct held_lock {
 554   u64 prev_chain_key ;
 555   unsigned long acquire_ip ;
 556   struct lockdep_map *instance ;
 557   struct lockdep_map *nest_lock ;
 558   u64 waittime_stamp ;
 559   u64 holdtime_stamp ;
 560   unsigned int class_idx : 13 ;
 561   unsigned int irq_context : 2 ;
 562   unsigned int trylock : 1 ;
 563   unsigned int read : 2 ;
 564   unsigned int check : 2 ;
 565   unsigned int hardirqs_off : 1 ;
 566   unsigned int references : 11 ;
 567};
 568# 20 "include/linux/spinlock_types.h"
 569struct raw_spinlock {
 570   arch_spinlock_t raw_lock ;
 571   unsigned int magic ;
 572   unsigned int owner_cpu ;
 573   void *owner ;
 574   struct lockdep_map dep_map ;
 575};
 576# 20 "include/linux/spinlock_types.h"
 577typedef struct raw_spinlock raw_spinlock_t;
 578# 64 "include/linux/spinlock_types.h"
 579struct __anonstruct____missing_field_name_38 {
 580   u8 __padding[(unsigned int )(& ((struct raw_spinlock *)0)->dep_map)] ;
 581   struct lockdep_map dep_map ;
 582};
 583# 64 "include/linux/spinlock_types.h"
 584union __anonunion____missing_field_name_37 {
 585   struct raw_spinlock rlock ;
 586   struct __anonstruct____missing_field_name_38 __annonCompField17 ;
 587};
 588# 64 "include/linux/spinlock_types.h"
 589struct spinlock {
 590   union __anonunion____missing_field_name_37 __annonCompField18 ;
 591};
 592# 64 "include/linux/spinlock_types.h"
 593typedef struct spinlock spinlock_t;
 594# 11 "include/linux/rwlock_types.h"
 595struct __anonstruct_rwlock_t_39 {
 596   arch_rwlock_t raw_lock ;
 597   unsigned int magic ;
 598   unsigned int owner_cpu ;
 599   void *owner ;
 600   struct lockdep_map dep_map ;
 601};
 602# 11 "include/linux/rwlock_types.h"
 603typedef struct __anonstruct_rwlock_t_39 rwlock_t;
 604# 119 "include/linux/seqlock.h"
 605struct seqcount {
 606   unsigned int sequence ;
 607};
 608# 119 "include/linux/seqlock.h"
 609typedef struct seqcount seqcount_t;
 610# 14 "include/linux/time.h"
 611struct timespec {
 612   __kernel_time_t tv_sec ;
 613   long tv_nsec ;
 614};
 615# 62 "include/linux/stat.h"
 616struct kstat {
 617   u64 ino ;
 618   dev_t dev ;
 619   umode_t mode ;
 620   unsigned int nlink ;
 621   uid_t uid ;
 622   gid_t gid ;
 623   dev_t rdev ;
 624   loff_t size ;
 625   struct timespec atime ;
 626   struct timespec mtime ;
 627   struct timespec ctime ;
 628   unsigned long blksize ;
 629   unsigned long long blocks ;
 630};
 631# 50 "include/linux/wait.h"
 632struct __wait_queue_head {
 633   spinlock_t lock ;
 634   struct list_head task_list ;
 635};
 636# 54 "include/linux/wait.h"
 637typedef struct __wait_queue_head wait_queue_head_t;
 638# 56 "include/linux/wait.h"
 639struct task_struct;
 640# 96 "include/linux/nodemask.h"
 641struct __anonstruct_nodemask_t_41 {
 642   unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 643};
 644# 96 "include/linux/nodemask.h"
 645typedef struct __anonstruct_nodemask_t_41 nodemask_t;
 646# 60 "include/linux/pageblock-flags.h"
 647struct page;
 648# 48 "include/linux/mutex.h"
 649struct mutex {
 650   atomic_t count ;
 651   spinlock_t wait_lock ;
 652   struct list_head wait_list ;
 653   struct task_struct *owner ;
 654   char const *name ;
 655   void *magic ;
 656   struct lockdep_map dep_map ;
 657};
 658# 69 "include/linux/mutex.h"
 659struct mutex_waiter {
 660   struct list_head list ;
 661   struct task_struct *task ;
 662   void *magic ;
 663};
 664# 20 "include/linux/rwsem.h"
 665struct rw_semaphore;
 666# 20 "include/linux/rwsem.h"
 667struct rw_semaphore;
 668# 20 "include/linux/rwsem.h"
 669struct rw_semaphore;
 670# 26 "include/linux/rwsem.h"
 671struct rw_semaphore {
 672   long count ;
 673   spinlock_t wait_lock ;
 674   struct list_head wait_list ;
 675   struct lockdep_map dep_map ;
 676};
 677# 50 "include/linux/notifier.h"
 678struct notifier_block {
 679   int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ;
 680   struct notifier_block *next ;
 681   int priority ;
 682};
 683# 8 "include/linux/memory_hotplug.h"
 684struct page;
 685# 177 "include/linux/ioport.h"
 686struct device;
 687# 177 "include/linux/ioport.h"
 688struct device;
 689# 177 "include/linux/ioport.h"
 690struct device;
 691# 103 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mpspec.h"
 692struct device;
 693# 46 "include/linux/ktime.h"
 694union ktime {
 695   s64 tv64 ;
 696};
 697# 59 "include/linux/ktime.h"
 698typedef union ktime ktime_t;
 699# 10 "include/linux/timer.h"
 700struct tvec_base;
 701# 10 "include/linux/timer.h"
 702struct tvec_base;
 703# 10 "include/linux/timer.h"
 704struct tvec_base;
 705# 12 "include/linux/timer.h"
 706struct timer_list {
 707   struct list_head entry ;
 708   unsigned long expires ;
 709   struct tvec_base *base ;
 710   void (*function)(unsigned long ) ;
 711   unsigned long data ;
 712   int slack ;
 713   int start_pid ;
 714   void *start_site ;
 715   char start_comm[16] ;
 716   struct lockdep_map lockdep_map ;
 717};
 718# 289 "include/linux/timer.h"
 719struct hrtimer;
 720# 289 "include/linux/timer.h"
 721struct hrtimer;
 722# 289 "include/linux/timer.h"
 723struct hrtimer;
 724# 290 "include/linux/timer.h"
 725enum hrtimer_restart;
 726# 290 "include/linux/timer.h"
 727enum hrtimer_restart;
 728# 15 "include/linux/workqueue.h"
 729struct workqueue_struct;
 730# 15 "include/linux/workqueue.h"
 731struct workqueue_struct;
 732# 15 "include/linux/workqueue.h"
 733struct workqueue_struct;
 734# 17 "include/linux/workqueue.h"
 735struct work_struct;
 736# 17 "include/linux/workqueue.h"
 737struct work_struct;
 738# 17 "include/linux/workqueue.h"
 739struct work_struct;
 740# 79 "include/linux/workqueue.h"
 741struct work_struct {
 742   atomic_long_t data ;
 743   struct list_head entry ;
 744   void (*func)(struct work_struct *work ) ;
 745   struct lockdep_map lockdep_map ;
 746};
 747# 92 "include/linux/workqueue.h"
 748struct delayed_work {
 749   struct work_struct work ;
 750   struct timer_list timer ;
 751};
 752# 25 "include/linux/completion.h"
 753struct completion {
 754   unsigned int done ;
 755   wait_queue_head_t wait ;
 756};
 757# 42 "include/linux/pm.h"
 758struct device;
 759# 50 "include/linux/pm.h"
 760struct pm_message {
 761   int event ;
 762};
 763# 50 "include/linux/pm.h"
 764typedef struct pm_message pm_message_t;
 765# 204 "include/linux/pm.h"
 766struct dev_pm_ops {
 767   int (*prepare)(struct device *dev ) ;
 768   void (*complete)(struct device *dev ) ;
 769   int (*suspend)(struct device *dev ) ;
 770   int (*resume)(struct device *dev ) ;
 771   int (*freeze)(struct device *dev ) ;
 772   int (*thaw)(struct device *dev ) ;
 773   int (*poweroff)(struct device *dev ) ;
 774   int (*restore)(struct device *dev ) ;
 775   int (*suspend_noirq)(struct device *dev ) ;
 776   int (*resume_noirq)(struct device *dev ) ;
 777   int (*freeze_noirq)(struct device *dev ) ;
 778   int (*thaw_noirq)(struct device *dev ) ;
 779   int (*poweroff_noirq)(struct device *dev ) ;
 780   int (*restore_noirq)(struct device *dev ) ;
 781   int (*runtime_suspend)(struct device *dev ) ;
 782   int (*runtime_resume)(struct device *dev ) ;
 783   int (*runtime_idle)(struct device *dev ) ;
 784};
 785# 392 "include/linux/pm.h"
 786enum rpm_status {
 787    RPM_ACTIVE = 0,
 788    RPM_RESUMING = 1,
 789    RPM_SUSPENDED = 2,
 790    RPM_SUSPENDING = 3
 791} ;
 792# 414 "include/linux/pm.h"
 793enum rpm_request {
 794    RPM_REQ_NONE = 0,
 795    RPM_REQ_IDLE = 1,
 796    RPM_REQ_SUSPEND = 2,
 797    RPM_REQ_AUTOSUSPEND = 3,
 798    RPM_REQ_RESUME = 4
 799} ;
 800# 422 "include/linux/pm.h"
 801struct wakeup_source;
 802# 422 "include/linux/pm.h"
 803struct wakeup_source;
 804# 422 "include/linux/pm.h"
 805struct wakeup_source;
 806# 424 "include/linux/pm.h"
 807struct dev_pm_info {
 808   pm_message_t power_state ;
 809   unsigned int can_wakeup : 1 ;
 810   unsigned int async_suspend : 1 ;
 811   bool is_prepared : 1 ;
 812   bool is_suspended : 1 ;
 813   spinlock_t lock ;
 814   struct list_head entry ;
 815   struct completion completion ;
 816   struct wakeup_source *wakeup ;
 817   struct timer_list suspend_timer ;
 818   unsigned long timer_expires ;
 819   struct work_struct work ;
 820   wait_queue_head_t wait_queue ;
 821   atomic_t usage_count ;
 822   atomic_t child_count ;
 823   unsigned int disable_depth : 3 ;
 824   unsigned int ignore_children : 1 ;
 825   unsigned int idle_notification : 1 ;
 826   unsigned int request_pending : 1 ;
 827   unsigned int deferred_resume : 1 ;
 828   unsigned int run_wake : 1 ;
 829   unsigned int runtime_auto : 1 ;
 830   unsigned int no_callbacks : 1 ;
 831   unsigned int irq_safe : 1 ;
 832   unsigned int use_autosuspend : 1 ;
 833   unsigned int timer_autosuspends : 1 ;
 834   enum rpm_request request ;
 835   enum rpm_status runtime_status ;
 836   int runtime_error ;
 837   int autosuspend_delay ;
 838   unsigned long last_busy ;
 839   unsigned long active_jiffies ;
 840   unsigned long suspended_jiffies ;
 841   unsigned long accounting_timestamp ;
 842   void *subsys_data ;
 843};
 844# 475 "include/linux/pm.h"
 845struct dev_power_domain {
 846   struct dev_pm_ops ops ;
 847};
 848# 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
 849struct __anonstruct_mm_context_t_111 {
 850   void *ldt ;
 851   int size ;
 852   unsigned short ia32_compat ;
 853   struct mutex lock ;
 854   void *vdso ;
 855};
 856# 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
 857typedef struct __anonstruct_mm_context_t_111 mm_context_t;
 858# 8 "include/linux/vmalloc.h"
 859struct vm_area_struct;
 860# 8 "include/linux/vmalloc.h"
 861struct vm_area_struct;
 862# 8 "include/linux/vmalloc.h"
 863struct vm_area_struct;
 864# 964 "include/linux/mmzone.h"
 865struct page;
 866# 10 "include/linux/gfp.h"
 867struct vm_area_struct;
 868# 29 "include/linux/sysctl.h"
 869struct completion;
 870# 72 "include/linux/rcupdate.h"
 871struct rcu_head {
 872   struct rcu_head *next ;
 873   void (*func)(struct rcu_head *head ) ;
 874};
 875# 136 "include/linux/rcupdate.h"
 876struct notifier_block;
 877# 937 "include/linux/sysctl.h"
 878struct nsproxy;
 879# 937 "include/linux/sysctl.h"
 880struct nsproxy;
 881# 937 "include/linux/sysctl.h"
 882struct nsproxy;
 883# 48 "include/linux/kmod.h"
 884struct cred;
 885# 48 "include/linux/kmod.h"
 886struct cred;
 887# 48 "include/linux/kmod.h"
 888struct cred;
 889# 49 "include/linux/kmod.h"
 890struct file;
 891# 264 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/elf.h"
 892struct task_struct;
 893# 10 "include/linux/elf.h"
 894struct file;
 895# 27 "include/linux/elf.h"
 896typedef __u64 Elf64_Addr;
 897# 28 "include/linux/elf.h"
 898typedef __u16 Elf64_Half;
 899# 32 "include/linux/elf.h"
 900typedef __u32 Elf64_Word;
 901# 33 "include/linux/elf.h"
 902typedef __u64 Elf64_Xword;
 903# 203 "include/linux/elf.h"
 904struct elf64_sym {
 905   Elf64_Word st_name ;
 906   unsigned char st_info ;
 907   unsigned char st_other ;
 908   Elf64_Half st_shndx ;
 909   Elf64_Addr st_value ;
 910   Elf64_Xword st_size ;
 911};
 912# 203 "include/linux/elf.h"
 913typedef struct elf64_sym Elf64_Sym;
 914# 20 "include/linux/kobject_ns.h"
 915struct sock;
 916# 20 "include/linux/kobject_ns.h"
 917struct sock;
 918# 20 "include/linux/kobject_ns.h"
 919struct sock;
 920# 21 "include/linux/kobject_ns.h"
 921struct kobject;
 922# 21 "include/linux/kobject_ns.h"
 923struct kobject;
 924# 21 "include/linux/kobject_ns.h"
 925struct kobject;
 926# 27 "include/linux/kobject_ns.h"
 927enum kobj_ns_type {
 928    KOBJ_NS_TYPE_NONE = 0,
 929    KOBJ_NS_TYPE_NET = 1,
 930    KOBJ_NS_TYPES = 2
 931} ;
 932# 40 "include/linux/kobject_ns.h"
 933struct kobj_ns_type_operations {
 934   enum kobj_ns_type type ;
 935   void *(*grab_current_ns)(void) ;
 936   void const *(*netlink_ns)(struct sock *sk ) ;
 937   void const *(*initial_ns)(void) ;
 938   void (*drop_ns)(void * ) ;
 939};
 940# 22 "include/linux/sysfs.h"
 941struct kobject;
 942# 23 "include/linux/sysfs.h"
 943struct module;
 944# 24 "include/linux/sysfs.h"
 945enum kobj_ns_type;
 946# 26 "include/linux/sysfs.h"
 947struct attribute {
 948   char const *name ;
 949   mode_t mode ;
 950   struct lock_class_key *key ;
 951   struct lock_class_key skey ;
 952};
 953# 56 "include/linux/sysfs.h"
 954struct attribute_group {
 955   char const *name ;
 956   mode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
 957   struct attribute **attrs ;
 958};
 959# 85 "include/linux/sysfs.h"
 960struct file;
 961# 86 "include/linux/sysfs.h"
 962struct vm_area_struct;
 963# 88 "include/linux/sysfs.h"
 964struct bin_attribute {
 965   struct attribute attr ;
 966   size_t size ;
 967   void *private ;
 968   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 969                   loff_t , size_t ) ;
 970   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 971                    loff_t , size_t ) ;
 972   int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
 973};
 974# 112 "include/linux/sysfs.h"
 975struct sysfs_ops {
 976   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 977   ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
 978};
 979# 117 "include/linux/sysfs.h"
 980struct sysfs_dirent;
 981# 117 "include/linux/sysfs.h"
 982struct sysfs_dirent;
 983# 117 "include/linux/sysfs.h"
 984struct sysfs_dirent;
 985# 20 "include/linux/kref.h"
 986struct kref {
 987   atomic_t refcount ;
 988};
 989# 60 "include/linux/kobject.h"
 990struct kset;
 991# 60 "include/linux/kobject.h"
 992struct kset;
 993# 60 "include/linux/kobject.h"
 994struct kobj_type;
 995# 60 "include/linux/kobject.h"
 996struct kobj_type;
 997# 60 "include/linux/kobject.h"
 998struct kobject {
 999   char const *name ;
1000   struct list_head entry ;
1001   struct kobject *parent ;
1002   struct kset *kset ;
1003   struct kobj_type *ktype ;
1004   struct sysfs_dirent *sd ;
1005   struct kref kref ;
1006   unsigned int state_initialized : 1 ;
1007   unsigned int state_in_sysfs : 1 ;
1008   unsigned int state_add_uevent_sent : 1 ;
1009   unsigned int state_remove_uevent_sent : 1 ;
1010   unsigned int uevent_suppress : 1 ;
1011};
1012# 110 "include/linux/kobject.h"
1013struct kobj_type {
1014   void (*release)(struct kobject *kobj ) ;
1015   struct sysfs_ops const *sysfs_ops ;
1016   struct attribute **default_attrs ;
1017   struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
1018   void const *(*namespace)(struct kobject *kobj ) ;
1019};
1020# 118 "include/linux/kobject.h"
1021struct kobj_uevent_env {
1022   char *envp[32] ;
1023   int envp_idx ;
1024   char buf[2048] ;
1025   int buflen ;
1026};
1027# 125 "include/linux/kobject.h"
1028struct kset_uevent_ops {
1029   int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
1030   char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
1031   int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
1032};
1033# 142 "include/linux/kobject.h"
1034struct sock;
1035# 161 "include/linux/kobject.h"
1036struct kset {
1037   struct list_head list ;
1038   spinlock_t list_lock ;
1039   struct kobject kobj ;
1040   struct kset_uevent_ops const *uevent_ops ;
1041};
1042# 34 "include/linux/moduleparam.h"
1043struct kernel_param;
1044# 34 "include/linux/moduleparam.h"
1045struct kernel_param;
1046# 34 "include/linux/moduleparam.h"
1047struct kernel_param;
1048# 36 "include/linux/moduleparam.h"
1049struct kernel_param_ops {
1050   int (*set)(char const *val , struct kernel_param const *kp ) ;
1051   int (*get)(char *buffer , struct kernel_param const *kp ) ;
1052   void (*free)(void *arg ) ;
1053};
1054# 48 "include/linux/moduleparam.h"
1055struct kparam_string;
1056# 48 "include/linux/moduleparam.h"
1057struct kparam_string;
1058# 48 "include/linux/moduleparam.h"
1059struct kparam_array;
1060# 48 "include/linux/moduleparam.h"
1061struct kparam_array;
1062# 48 "include/linux/moduleparam.h"
1063union __anonunion____missing_field_name_195 {
1064   void *arg ;
1065   struct kparam_string const *str ;
1066   struct kparam_array const *arr ;
1067};
1068# 48 "include/linux/moduleparam.h"
1069struct kernel_param {
1070   char const *name ;
1071   struct kernel_param_ops const *ops ;
1072   u16 perm ;
1073   u16 flags ;
1074   union __anonunion____missing_field_name_195 __annonCompField31 ;
1075};
1076# 61 "include/linux/moduleparam.h"
1077struct kparam_string {
1078   unsigned int maxlen ;
1079   char *string ;
1080};
1081# 67 "include/linux/moduleparam.h"
1082struct kparam_array {
1083   unsigned int max ;
1084   unsigned int elemsize ;
1085   unsigned int *num ;
1086   struct kernel_param_ops const *ops ;
1087   void *elem ;
1088};
1089# 391 "include/linux/moduleparam.h"
1090struct module;
1091# 26 "include/linux/jump_label.h"
1092struct module;
1093# 61 "include/linux/jump_label.h"
1094struct jump_label_key {
1095   atomic_t enabled ;
1096};
1097# 22 "include/linux/tracepoint.h"
1098struct module;
1099# 23 "include/linux/tracepoint.h"
1100struct tracepoint;
1101# 23 "include/linux/tracepoint.h"
1102struct tracepoint;
1103# 23 "include/linux/tracepoint.h"
1104struct tracepoint;
1105# 25 "include/linux/tracepoint.h"
1106struct tracepoint_func {
1107   void *func ;
1108   void *data ;
1109};
1110# 30 "include/linux/tracepoint.h"
1111struct tracepoint {
1112   char const *name ;
1113   struct jump_label_key key ;
1114   void (*regfunc)(void) ;
1115   void (*unregfunc)(void) ;
1116   struct tracepoint_func *funcs ;
1117};
1118# 8 "include/asm-generic/module.h"
1119struct mod_arch_specific {
1120
1121};
1122# 21 "include/trace/events/module.h"
1123struct module;
1124# 37 "include/linux/module.h"
1125struct kernel_symbol {
1126   unsigned long value ;
1127   char const *name ;
1128};
1129# 49 "include/linux/module.h"
1130struct module;
1131# 51 "include/linux/module.h"
1132struct module_attribute {
1133   struct attribute attr ;
1134   ssize_t (*show)(struct module_attribute * , struct module * , char * ) ;
1135   ssize_t (*store)(struct module_attribute * , struct module * , char const * ,
1136                    size_t count ) ;
1137   void (*setup)(struct module * , char const * ) ;
1138   int (*test)(struct module * ) ;
1139   void (*free)(struct module * ) ;
1140};
1141# 70 "include/linux/module.h"
1142struct module_param_attrs;
1143# 70 "include/linux/module.h"
1144struct module_param_attrs;
1145# 70 "include/linux/module.h"
1146struct module_kobject {
1147   struct kobject kobj ;
1148   struct module *mod ;
1149   struct kobject *drivers_dir ;
1150   struct module_param_attrs *mp ;
1151};
1152# 83 "include/linux/module.h"
1153struct exception_table_entry;
1154# 83 "include/linux/module.h"
1155struct exception_table_entry;
1156# 83 "include/linux/module.h"
1157struct exception_table_entry;
1158# 202 "include/linux/module.h"
1159struct notifier_block;
1160# 265 "include/linux/module.h"
1161enum module_state {
1162    MODULE_STATE_LIVE = 0,
1163    MODULE_STATE_COMING = 1,
1164    MODULE_STATE_GOING = 2
1165} ;
1166# 272 "include/linux/module.h"
1167struct module_sect_attrs;
1168# 272 "include/linux/module.h"
1169struct module_sect_attrs;
1170# 272 "include/linux/module.h"
1171struct module_notes_attrs;
1172# 272 "include/linux/module.h"
1173struct module_notes_attrs;
1174# 272 "include/linux/module.h"
1175struct ftrace_event_call;
1176# 272 "include/linux/module.h"
1177struct ftrace_event_call;
1178# 272 "include/linux/module.h"
1179struct module_ref {
1180   unsigned int incs ;
1181   unsigned int decs ;
1182};
1183# 272 "include/linux/module.h"
1184struct module {
1185   enum module_state state ;
1186   struct list_head list ;
1187   char name[64UL - sizeof(unsigned long )] ;
1188   struct module_kobject mkobj ;
1189   struct module_attribute *modinfo_attrs ;
1190   char const *version ;
1191   char const *srcversion ;
1192   struct kobject *holders_dir ;
1193   struct kernel_symbol const *syms ;
1194   unsigned long const *crcs ;
1195   unsigned int num_syms ;
1196   struct kernel_param *kp ;
1197   unsigned int num_kp ;
1198   unsigned int num_gpl_syms ;
1199   struct kernel_symbol const *gpl_syms ;
1200   unsigned long const *gpl_crcs ;
1201   struct kernel_symbol const *unused_syms ;
1202   unsigned long const *unused_crcs ;
1203   unsigned int num_unused_syms ;
1204   unsigned int num_unused_gpl_syms ;
1205   struct kernel_symbol const *unused_gpl_syms ;
1206   unsigned long const *unused_gpl_crcs ;
1207   struct kernel_symbol const *gpl_future_syms ;
1208   unsigned long const *gpl_future_crcs ;
1209   unsigned int num_gpl_future_syms ;
1210   unsigned int num_exentries ;
1211   struct exception_table_entry *extable ;
1212   int (*init)(void) ;
1213   void *module_init ;
1214   void *module_core ;
1215   unsigned int init_size ;
1216   unsigned int core_size ;
1217   unsigned int init_text_size ;
1218   unsigned int core_text_size ;
1219   unsigned int init_ro_size ;
1220   unsigned int core_ro_size ;
1221   struct mod_arch_specific arch ;
1222   unsigned int taints ;
1223   unsigned int num_bugs ;
1224   struct list_head bug_list ;
1225   struct bug_entry *bug_table ;
1226   Elf64_Sym *symtab ;
1227   Elf64_Sym *core_symtab ;
1228   unsigned int num_symtab ;
1229   unsigned int core_num_syms ;
1230   char *strtab ;
1231   char *core_strtab ;
1232   struct module_sect_attrs *sect_attrs ;
1233   struct module_notes_attrs *notes_attrs ;
1234   char *args ;
1235   void *percpu ;
1236   unsigned int percpu_size ;
1237   unsigned int num_tracepoints ;
1238   struct tracepoint * const *tracepoints_ptrs ;
1239   unsigned int num_trace_bprintk_fmt ;
1240   char const **trace_bprintk_fmt_start ;
1241   struct ftrace_event_call **trace_events ;
1242   unsigned int num_trace_events ;
1243   unsigned int num_ftrace_callsites ;
1244   unsigned long *ftrace_callsites ;
1245   struct list_head source_list ;
1246   struct list_head target_list ;
1247   struct task_struct *waiter ;
1248   void (*exit)(void) ;
1249   struct module_ref *refptr ;
1250   ctor_fn_t *ctors ;
1251   unsigned int num_ctors ;
1252};
1253# 323 "include/linux/hdreg.h"
1254struct hd_geometry {
1255   unsigned char heads ;
1256   unsigned char sectors ;
1257   unsigned short cylinders ;
1258   unsigned long start ;
1259};
1260# 18 "include/linux/capability.h"
1261struct task_struct;
1262# 94 "include/linux/capability.h"
1263struct kernel_cap_struct {
1264   __u32 cap[2] ;
1265};
1266# 94 "include/linux/capability.h"
1267typedef struct kernel_cap_struct kernel_cap_t;
1268# 376 "include/linux/capability.h"
1269struct dentry;
1270# 376 "include/linux/capability.h"
1271struct dentry;
1272# 376 "include/linux/capability.h"
1273struct dentry;
1274# 377 "include/linux/capability.h"
1275struct user_namespace;
1276# 377 "include/linux/capability.h"
1277struct user_namespace;
1278# 377 "include/linux/capability.h"
1279struct user_namespace;
1280# 100 "include/linux/rbtree.h"
1281struct rb_node {
1282   unsigned long rb_parent_color ;
1283   struct rb_node *rb_right ;
1284   struct rb_node *rb_left ;
1285} __attribute__((__aligned__(sizeof(long )))) ;
1286# 110 "include/linux/rbtree.h"
1287struct rb_root {
1288   struct rb_node *rb_node ;
1289};
1290# 14 "include/linux/prio_tree.h"
1291struct prio_tree_node;
1292# 14 "include/linux/prio_tree.h"
1293struct prio_tree_node;
1294# 14 "include/linux/prio_tree.h"
1295struct raw_prio_tree_node {
1296   struct prio_tree_node *left ;
1297   struct prio_tree_node *right ;
1298   struct prio_tree_node *parent ;
1299};
1300# 20 "include/linux/prio_tree.h"
1301struct prio_tree_node {
1302   struct prio_tree_node *left ;
1303   struct prio_tree_node *right ;
1304   struct prio_tree_node *parent ;
1305   unsigned long start ;
1306   unsigned long last ;
1307};
1308# 28 "include/linux/prio_tree.h"
1309struct prio_tree_root {
1310   struct prio_tree_node *prio_tree_node ;
1311   unsigned short index_bits ;
1312   unsigned short raw ;
1313};
1314# 23 "include/linux/mm_types.h"
1315struct address_space;
1316# 23 "include/linux/mm_types.h"
1317struct address_space;
1318# 23 "include/linux/mm_types.h"
1319struct address_space;
1320# 34 "include/linux/mm_types.h"
1321struct __anonstruct____missing_field_name_201 {
1322   u16 inuse ;
1323   u16 objects ;
1324};
1325# 34 "include/linux/mm_types.h"
1326union __anonunion____missing_field_name_200 {
1327   atomic_t _mapcount ;
1328   struct __anonstruct____missing_field_name_201 __annonCompField32 ;
1329};
1330# 34 "include/linux/mm_types.h"
1331struct __anonstruct____missing_field_name_203 {
1332   unsigned long private ;
1333   struct address_space *mapping ;
1334};
1335# 34 "include/linux/mm_types.h"
1336union __anonunion____missing_field_name_202 {
1337   struct __anonstruct____missing_field_name_203 __annonCompField34 ;
1338   struct kmem_cache *slab ;
1339   struct page *first_page ;
1340};
1341# 34 "include/linux/mm_types.h"
1342union __anonunion____missing_field_name_204 {
1343   unsigned long index ;
1344   void *freelist ;
1345};
1346# 34 "include/linux/mm_types.h"
1347struct page {
1348   unsigned long flags ;
1349   atomic_t _count ;
1350   union __anonunion____missing_field_name_200 __annonCompField33 ;
1351   union __anonunion____missing_field_name_202 __annonCompField35 ;
1352   union __anonunion____missing_field_name_204 __annonCompField36 ;
1353   struct list_head lru ;
1354};
1355# 132 "include/linux/mm_types.h"
1356struct __anonstruct_vm_set_206 {
1357   struct list_head list ;
1358   void *parent ;
1359   struct vm_area_struct *head ;
1360};
1361# 132 "include/linux/mm_types.h"
1362union __anonunion_shared_205 {
1363   struct __anonstruct_vm_set_206 vm_set ;
1364   struct raw_prio_tree_node prio_tree_node ;
1365};
1366# 132 "include/linux/mm_types.h"
1367struct anon_vma;
1368# 132 "include/linux/mm_types.h"
1369struct anon_vma;
1370# 132 "include/linux/mm_types.h"
1371struct vm_operations_struct;
1372# 132 "include/linux/mm_types.h"
1373struct vm_operations_struct;
1374# 132 "include/linux/mm_types.h"
1375struct mempolicy;
1376# 132 "include/linux/mm_types.h"
1377struct mempolicy;
1378# 132 "include/linux/mm_types.h"
1379struct vm_area_struct {
1380   struct mm_struct *vm_mm ;
1381   unsigned long vm_start ;
1382   unsigned long vm_end ;
1383   struct vm_area_struct *vm_next ;
1384   struct vm_area_struct *vm_prev ;
1385   pgprot_t vm_page_prot ;
1386   unsigned long vm_flags ;
1387   struct rb_node vm_rb ;
1388   union __anonunion_shared_205 shared ;
1389   struct list_head anon_vma_chain ;
1390   struct anon_vma *anon_vma ;
1391   struct vm_operations_struct const *vm_ops ;
1392   unsigned long vm_pgoff ;
1393   struct file *vm_file ;
1394   void *vm_private_data ;
1395   struct mempolicy *vm_policy ;
1396};
1397# 189 "include/linux/mm_types.h"
1398struct core_thread {
1399   struct task_struct *task ;
1400   struct core_thread *next ;
1401};
1402# 194 "include/linux/mm_types.h"
1403struct core_state {
1404   atomic_t nr_threads ;
1405   struct core_thread dumper ;
1406   struct completion startup ;
1407};
1408# 216 "include/linux/mm_types.h"
1409struct mm_rss_stat {
1410   atomic_long_t count[3] ;
1411};
1412# 220 "include/linux/mm_types.h"
1413struct linux_binfmt;
1414# 220 "include/linux/mm_types.h"
1415struct linux_binfmt;
1416# 220 "include/linux/mm_types.h"
1417struct mmu_notifier_mm;
1418# 220 "include/linux/mm_types.h"
1419struct mmu_notifier_mm;
1420# 220 "include/linux/mm_types.h"
1421struct mm_struct {
1422   struct vm_area_struct *mmap ;
1423   struct rb_root mm_rb ;
1424   struct vm_area_struct *mmap_cache ;
1425   unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1426                                      unsigned long pgoff , unsigned long flags ) ;
1427   void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1428   unsigned long mmap_base ;
1429   unsigned long task_size ;
1430   unsigned long cached_hole_size ;
1431   unsigned long free_area_cache ;
1432   pgd_t *pgd ;
1433   atomic_t mm_users ;
1434   atomic_t mm_count ;
1435   int map_count ;
1436   spinlock_t page_table_lock ;
1437   struct rw_semaphore mmap_sem ;
1438   struct list_head mmlist ;
1439   unsigned long hiwater_rss ;
1440   unsigned long hiwater_vm ;
1441   unsigned long total_vm ;
1442   unsigned long locked_vm ;
1443   unsigned long shared_vm ;
1444   unsigned long exec_vm ;
1445   unsigned long stack_vm ;
1446   unsigned long reserved_vm ;
1447   unsigned long def_flags ;
1448   unsigned long nr_ptes ;
1449   unsigned long start_code ;
1450   unsigned long end_code ;
1451   unsigned long start_data ;
1452   unsigned long end_data ;
1453   unsigned long start_brk ;
1454   unsigned long brk ;
1455   unsigned long start_stack ;
1456   unsigned long arg_start ;
1457   unsigned long arg_end ;
1458   unsigned long env_start ;
1459   unsigned long env_end ;
1460   unsigned long saved_auxv[44] ;
1461   struct mm_rss_stat rss_stat ;
1462   struct linux_binfmt *binfmt ;
1463   cpumask_var_t cpu_vm_mask_var ;
1464   mm_context_t context ;
1465   unsigned int faultstamp ;
1466   unsigned int token_priority ;
1467   unsigned int last_interval ;
1468   atomic_t oom_disable_count ;
1469   unsigned long flags ;
1470   struct core_state *core_state ;
1471   spinlock_t ioctx_lock ;
1472   struct hlist_head ioctx_list ;
1473   struct task_struct *owner ;
1474   struct file *exe_file ;
1475   unsigned long num_exe_file_vmas ;
1476   struct mmu_notifier_mm *mmu_notifier_mm ;
1477   pgtable_t pmd_huge_pte ;
1478   struct cpumask cpumask_allocation ;
1479};
1480# 7 "include/asm-generic/cputime.h"
1481typedef unsigned long cputime_t;
1482# 84 "include/linux/sem.h"
1483struct task_struct;
1484# 122 "include/linux/sem.h"
1485struct sem_undo_list;
1486# 122 "include/linux/sem.h"
1487struct sem_undo_list;
1488# 135 "include/linux/sem.h"
1489struct sem_undo_list {
1490   atomic_t refcnt ;
1491   spinlock_t lock ;
1492   struct list_head list_proc ;
1493};
1494# 141 "include/linux/sem.h"
1495struct sysv_sem {
1496   struct sem_undo_list *undo_list ;
1497};
1498# 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1499struct siginfo;
1500# 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1501struct siginfo;
1502# 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1503struct siginfo;
1504# 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1505struct __anonstruct_sigset_t_208 {
1506   unsigned long sig[1] ;
1507};
1508# 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1509typedef struct __anonstruct_sigset_t_208 sigset_t;
1510# 17 "include/asm-generic/signal-defs.h"
1511typedef void __signalfn_t(int );
1512# 18 "include/asm-generic/signal-defs.h"
1513typedef __signalfn_t *__sighandler_t;
1514# 20 "include/asm-generic/signal-defs.h"
1515typedef void __restorefn_t(void);
1516# 21 "include/asm-generic/signal-defs.h"
1517typedef __restorefn_t *__sigrestore_t;
1518# 167 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1519struct sigaction {
1520   __sighandler_t sa_handler ;
1521   unsigned long sa_flags ;
1522   __sigrestore_t sa_restorer ;
1523   sigset_t sa_mask ;
1524};
1525# 174 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1526struct k_sigaction {
1527   struct sigaction sa ;
1528};
1529# 7 "include/asm-generic/siginfo.h"
1530union sigval {
1531   int sival_int ;
1532   void *sival_ptr ;
1533};
1534# 7 "include/asm-generic/siginfo.h"
1535typedef union sigval sigval_t;
1536# 40 "include/asm-generic/siginfo.h"
1537struct __anonstruct__kill_210 {
1538   __kernel_pid_t _pid ;
1539   __kernel_uid32_t _uid ;
1540};
1541# 40 "include/asm-generic/siginfo.h"
1542struct __anonstruct__timer_211 {
1543   __kernel_timer_t _tid ;
1544   int _overrun ;
1545   char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
1546   sigval_t _sigval ;
1547   int _sys_private ;
1548};
1549# 40 "include/asm-generic/siginfo.h"
1550struct __anonstruct__rt_212 {
1551   __kernel_pid_t _pid ;
1552   __kernel_uid32_t _uid ;
1553   sigval_t _sigval ;
1554};
1555# 40 "include/asm-generic/siginfo.h"
1556struct __anonstruct__sigchld_213 {
1557   __kernel_pid_t _pid ;
1558   __kernel_uid32_t _uid ;
1559   int _status ;
1560   __kernel_clock_t _utime ;
1561   __kernel_clock_t _stime ;
1562};
1563# 40 "include/asm-generic/siginfo.h"
1564struct __anonstruct__sigfault_214 {
1565   void *_addr ;
1566   short _addr_lsb ;
1567};
1568# 40 "include/asm-generic/siginfo.h"
1569struct __anonstruct__sigpoll_215 {
1570   long _band ;
1571   int _fd ;
1572};
1573# 40 "include/asm-generic/siginfo.h"
1574union __anonunion__sifields_209 {
1575   int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
1576   struct __anonstruct__kill_210 _kill ;
1577   struct __anonstruct__timer_211 _timer ;
1578   struct __anonstruct__rt_212 _rt ;
1579   struct __anonstruct__sigchld_213 _sigchld ;
1580   struct __anonstruct__sigfault_214 _sigfault ;
1581   struct __anonstruct__sigpoll_215 _sigpoll ;
1582};
1583# 40 "include/asm-generic/siginfo.h"
1584struct siginfo {
1585   int si_signo ;
1586   int si_errno ;
1587   int si_code ;
1588   union __anonunion__sifields_209 _sifields ;
1589};
1590# 40 "include/asm-generic/siginfo.h"
1591typedef struct siginfo siginfo_t;
1592# 280 "include/asm-generic/siginfo.h"
1593struct siginfo;
1594# 10 "include/linux/signal.h"
1595struct task_struct;
1596# 18 "include/linux/signal.h"
1597struct user_struct;
1598# 18 "include/linux/signal.h"
1599struct user_struct;
1600# 28 "include/linux/signal.h"
1601struct sigpending {
1602   struct list_head list ;
1603   sigset_t signal ;
1604};
1605# 239 "include/linux/signal.h"
1606struct timespec;
1607# 240 "include/linux/signal.h"
1608struct pt_regs;
1609# 6 "include/linux/pid.h"
1610enum pid_type {
1611    PIDTYPE_PID = 0,
1612    PIDTYPE_PGID = 1,
1613    PIDTYPE_SID = 2,
1614    PIDTYPE_MAX = 3
1615} ;
1616# 50 "include/linux/pid.h"
1617struct pid_namespace;
1618# 50 "include/linux/pid.h"
1619struct pid_namespace;
1620# 50 "include/linux/pid.h"
1621struct upid {
1622   int nr ;
1623   struct pid_namespace *ns ;
1624   struct hlist_node pid_chain ;
1625};
1626# 57 "include/linux/pid.h"
1627struct pid {
1628   atomic_t count ;
1629   unsigned int level ;
1630   struct hlist_head tasks[3] ;
1631   struct rcu_head rcu ;
1632   struct upid numbers[1] ;
1633};
1634# 69 "include/linux/pid.h"
1635struct pid_link {
1636   struct hlist_node node ;
1637   struct pid *pid ;
1638};
1639# 100 "include/linux/pid.h"
1640struct pid_namespace;
1641# 97 "include/linux/proportions.h"
1642struct prop_local_single {
1643   unsigned long events ;
1644   unsigned long period ;
1645   int shift ;
1646   spinlock_t lock ;
1647};
1648# 10 "include/linux/seccomp.h"
1649struct __anonstruct_seccomp_t_218 {
1650   int mode ;
1651};
1652# 10 "include/linux/seccomp.h"
1653typedef struct __anonstruct_seccomp_t_218 seccomp_t;
1654# 82 "include/linux/plist.h"
1655struct plist_head {
1656   struct list_head node_list ;
1657   raw_spinlock_t *rawlock ;
1658   spinlock_t *spinlock ;
1659};
1660# 90 "include/linux/plist.h"
1661struct plist_node {
1662   int prio ;
1663   struct list_head prio_list ;
1664   struct list_head node_list ;
1665};
1666# 40 "include/linux/rtmutex.h"
1667struct rt_mutex_waiter;
1668# 40 "include/linux/rtmutex.h"
1669struct rt_mutex_waiter;
1670# 40 "include/linux/rtmutex.h"
1671struct rt_mutex_waiter;
1672# 42 "include/linux/resource.h"
1673struct rlimit {
1674   unsigned long rlim_cur ;
1675   unsigned long rlim_max ;
1676};
1677# 81 "include/linux/resource.h"
1678struct task_struct;
1679# 8 "include/linux/timerqueue.h"
1680struct timerqueue_node {
1681   struct rb_node node ;
1682   ktime_t expires ;
1683};
1684# 13 "include/linux/timerqueue.h"
1685struct timerqueue_head {
1686   struct rb_root head ;
1687   struct timerqueue_node *next ;
1688};
1689# 27 "include/linux/hrtimer.h"
1690struct hrtimer_clock_base;
1691# 27 "include/linux/hrtimer.h"
1692struct hrtimer_clock_base;
1693# 27 "include/linux/hrtimer.h"
1694struct hrtimer_clock_base;
1695# 28 "include/linux/hrtimer.h"
1696struct hrtimer_cpu_base;
1697# 28 "include/linux/hrtimer.h"
1698struct hrtimer_cpu_base;
1699# 28 "include/linux/hrtimer.h"
1700struct hrtimer_cpu_base;
1701# 44 "include/linux/hrtimer.h"
1702enum hrtimer_restart {
1703    HRTIMER_NORESTART = 0,
1704    HRTIMER_RESTART = 1
1705} ;
1706# 108 "include/linux/hrtimer.h"
1707struct hrtimer {
1708   struct timerqueue_node node ;
1709   ktime_t _softexpires ;
1710   enum hrtimer_restart (*function)(struct hrtimer * ) ;
1711   struct hrtimer_clock_base *base ;
1712   unsigned long state ;
1713   int start_pid ;
1714   void *start_site ;
1715   char start_comm[16] ;
1716};
1717# 145 "include/linux/hrtimer.h"
1718struct hrtimer_clock_base {
1719   struct hrtimer_cpu_base *cpu_base ;
1720   int index ;
1721   clockid_t clockid ;
1722   struct timerqueue_head active ;
1723   ktime_t resolution ;
1724   ktime_t (*get_time)(void) ;
1725   ktime_t softirq_time ;
1726   ktime_t offset ;
1727};
1728# 178 "include/linux/hrtimer.h"
1729struct hrtimer_cpu_base {
1730   raw_spinlock_t lock ;
1731   unsigned long active_bases ;
1732   ktime_t expires_next ;
1733   int hres_active ;
1734   int hang_detected ;
1735   unsigned long nr_events ;
1736   unsigned long nr_retries ;
1737   unsigned long nr_hangs ;
1738   ktime_t max_hang_time ;
1739   struct hrtimer_clock_base clock_base[3] ;
1740};
1741# 11 "include/linux/task_io_accounting.h"
1742struct task_io_accounting {
1743   u64 rchar ;
1744   u64 wchar ;
1745   u64 syscr ;
1746   u64 syscw ;
1747   u64 read_bytes ;
1748   u64 write_bytes ;
1749   u64 cancelled_write_bytes ;
1750};
1751# 18 "include/linux/latencytop.h"
1752struct latency_record {
1753   unsigned long backtrace[12] ;
1754   unsigned int count ;
1755   unsigned long time ;
1756   unsigned long max ;
1757};
1758# 26 "include/linux/latencytop.h"
1759struct task_struct;
1760# 29 "include/linux/key.h"
1761typedef int32_t key_serial_t;
1762# 32 "include/linux/key.h"
1763typedef uint32_t key_perm_t;
1764# 34 "include/linux/key.h"
1765struct key;
1766# 34 "include/linux/key.h"
1767struct key;
1768# 34 "include/linux/key.h"
1769struct key;
1770# 74 "include/linux/key.h"
1771struct seq_file;
1772# 75 "include/linux/key.h"
1773struct user_struct;
1774# 76 "include/linux/key.h"
1775struct signal_struct;
1776# 76 "include/linux/key.h"
1777struct signal_struct;
1778# 76 "include/linux/key.h"
1779struct signal_struct;
1780# 77 "include/linux/key.h"
1781struct cred;
1782# 79 "include/linux/key.h"
1783struct key_type;
1784# 79 "include/linux/key.h"
1785struct key_type;
1786# 79 "include/linux/key.h"
1787struct key_type;
1788# 81 "include/linux/key.h"
1789struct keyring_list;
1790# 81 "include/linux/key.h"
1791struct keyring_list;
1792# 81 "include/linux/key.h"
1793struct keyring_list;
1794# 124 "include/linux/key.h"
1795struct key_user;
1796# 124 "include/linux/key.h"
1797struct key_user;
1798# 124 "include/linux/key.h"
1799union __anonunion____missing_field_name_219 {
1800   time_t expiry ;
1801   time_t revoked_at ;
1802};
1803# 124 "include/linux/key.h"
1804union __anonunion_type_data_220 {
1805   struct list_head link ;
1806   unsigned long x[2] ;
1807   void *p[2] ;
1808   int reject_error ;
1809};
1810# 124 "include/linux/key.h"
1811union __anonunion_payload_221 {
1812   unsigned long value ;
1813   void *rcudata ;
1814   void *data ;
1815   struct keyring_list *subscriptions ;
1816};
1817# 124 "include/linux/key.h"
1818struct key {
1819   atomic_t usage ;
1820   key_serial_t serial ;
1821   struct rb_node serial_node ;
1822   struct key_type *type ;
1823   struct rw_semaphore sem ;
1824   struct key_user *user ;
1825   void *security ;
1826   union __anonunion____missing_field_name_219 __annonCompField37 ;
1827   uid_t uid ;
1828   gid_t gid ;
1829   key_perm_t perm ;
1830   unsigned short quotalen ;
1831   unsigned short datalen ;
1832   unsigned long flags ;
1833   char *description ;
1834   union __anonunion_type_data_220 type_data ;
1835   union __anonunion_payload_221 payload ;
1836};
1837# 18 "include/linux/selinux.h"
1838struct audit_context;
1839# 18 "include/linux/selinux.h"
1840struct audit_context;
1841# 18 "include/linux/selinux.h"
1842struct audit_context;
1843# 21 "include/linux/cred.h"
1844struct user_struct;
1845# 22 "include/linux/cred.h"
1846struct cred;
1847# 23 "include/linux/cred.h"
1848struct inode;
1849# 23 "include/linux/cred.h"
1850struct inode;
1851# 23 "include/linux/cred.h"
1852struct inode;
1853# 31 "include/linux/cred.h"
1854struct group_info {
1855   atomic_t usage ;
1856   int ngroups ;
1857   int nblocks ;
1858   gid_t small_block[32] ;
1859   gid_t *blocks[0] ;
1860};
1861# 83 "include/linux/cred.h"
1862struct thread_group_cred {
1863   atomic_t usage ;
1864   pid_t tgid ;
1865   spinlock_t lock ;
1866   struct key *session_keyring ;
1867   struct key *process_keyring ;
1868   struct rcu_head rcu ;
1869};
1870# 116 "include/linux/cred.h"
1871struct cred {
1872   atomic_t usage ;
1873   atomic_t subscribers ;
1874   void *put_addr ;
1875   unsigned int magic ;
1876   uid_t uid ;
1877   gid_t gid ;
1878   uid_t suid ;
1879   gid_t sgid ;
1880   uid_t euid ;
1881   gid_t egid ;
1882   uid_t fsuid ;
1883   gid_t fsgid ;
1884   unsigned int securebits ;
1885   kernel_cap_t cap_inheritable ;
1886   kernel_cap_t cap_permitted ;
1887   kernel_cap_t cap_effective ;
1888   kernel_cap_t cap_bset ;
1889   unsigned char jit_keyring ;
1890   struct key *thread_keyring ;
1891   struct key *request_key_auth ;
1892   struct thread_group_cred *tgcred ;
1893   void *security ;
1894   struct user_struct *user ;
1895   struct user_namespace *user_ns ;
1896   struct group_info *group_info ;
1897   struct rcu_head rcu ;
1898};
1899# 97 "include/linux/sched.h"
1900struct futex_pi_state;
1901# 97 "include/linux/sched.h"
1902struct futex_pi_state;
1903# 97 "include/linux/sched.h"
1904struct futex_pi_state;
1905# 98 "include/linux/sched.h"
1906struct robust_list_head;
1907# 98 "include/linux/sched.h"
1908struct robust_list_head;
1909# 98 "include/linux/sched.h"
1910struct robust_list_head;
1911# 99 "include/linux/sched.h"
1912struct bio_list;
1913# 99 "include/linux/sched.h"
1914struct bio_list;
1915# 99 "include/linux/sched.h"
1916struct bio_list;
1917# 100 "include/linux/sched.h"
1918struct fs_struct;
1919# 100 "include/linux/sched.h"
1920struct fs_struct;
1921# 100 "include/linux/sched.h"
1922struct fs_struct;
1923# 101 "include/linux/sched.h"
1924struct perf_event_context;
1925# 101 "include/linux/sched.h"
1926struct perf_event_context;
1927# 101 "include/linux/sched.h"
1928struct perf_event_context;
1929# 102 "include/linux/sched.h"
1930struct blk_plug;
1931# 102 "include/linux/sched.h"
1932struct blk_plug;
1933# 102 "include/linux/sched.h"
1934struct blk_plug;
1935# 150 "include/linux/sched.h"
1936struct seq_file;
1937# 151 "include/linux/sched.h"
1938struct cfs_rq;
1939# 151 "include/linux/sched.h"
1940struct cfs_rq;
1941# 151 "include/linux/sched.h"
1942struct cfs_rq;
1943# 259 "include/linux/sched.h"
1944struct task_struct;
1945# 364 "include/linux/sched.h"
1946struct nsproxy;
1947# 365 "include/linux/sched.h"
1948struct user_namespace;
1949# 58 "include/linux/aio_abi.h"
1950struct io_event {
1951   __u64 data ;
1952   __u64 obj ;
1953   __s64 res ;
1954   __s64 res2 ;
1955};
1956# 16 "include/linux/uio.h"
1957struct iovec {
1958   void *iov_base ;
1959   __kernel_size_t iov_len ;
1960};
1961# 31 "include/linux/uio.h"
1962struct kvec {
1963   void *iov_base ;
1964   size_t iov_len ;
1965};
1966# 15 "include/linux/aio.h"
1967struct kioctx;
1968# 15 "include/linux/aio.h"
1969struct kioctx;
1970# 15 "include/linux/aio.h"
1971struct kioctx;
1972# 87 "include/linux/aio.h"
1973union __anonunion_ki_obj_223 {
1974   void *user ;
1975   struct task_struct *tsk ;
1976};
1977# 87 "include/linux/aio.h"
1978struct eventfd_ctx;
1979# 87 "include/linux/aio.h"
1980struct eventfd_ctx;
1981# 87 "include/linux/aio.h"
1982struct kiocb {
1983   struct list_head ki_run_list ;
1984   unsigned long ki_flags ;
1985   int ki_users ;
1986   unsigned int ki_key ;
1987   struct file *ki_filp ;
1988   struct kioctx *ki_ctx ;
1989   int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
1990   ssize_t (*ki_retry)(struct kiocb * ) ;
1991   void (*ki_dtor)(struct kiocb * ) ;
1992   union __anonunion_ki_obj_223 ki_obj ;
1993   __u64 ki_user_data ;
1994   loff_t ki_pos ;
1995   void *private ;
1996   unsigned short ki_opcode ;
1997   size_t ki_nbytes ;
1998   char *ki_buf ;
1999   size_t ki_left ;
2000   struct iovec ki_inline_vec ;
2001   struct iovec *ki_iovec ;
2002   unsigned long ki_nr_segs ;
2003   unsigned long ki_cur_seg ;
2004   struct list_head ki_list ;
2005   struct eventfd_ctx *ki_eventfd ;
2006};
2007# 165 "include/linux/aio.h"
2008struct aio_ring_info {
2009   unsigned long mmap_base ;
2010   unsigned long mmap_size ;
2011   struct page **ring_pages ;
2012   spinlock_t ring_lock ;
2013   long nr_pages ;
2014   unsigned int nr ;
2015   unsigned int tail ;
2016   struct page *internal_pages[8] ;
2017};
2018# 178 "include/linux/aio.h"
2019struct kioctx {
2020   atomic_t users ;
2021   int dead ;
2022   struct mm_struct *mm ;
2023   unsigned long user_id ;
2024   struct hlist_node list ;
2025   wait_queue_head_t wait ;
2026   spinlock_t ctx_lock ;
2027   int reqs_active ;
2028   struct list_head active_reqs ;
2029   struct list_head run_list ;
2030   unsigned int max_reqs ;
2031   struct aio_ring_info ring_info ;
2032   struct delayed_work wq ;
2033   struct rcu_head rcu_head ;
2034};
2035# 213 "include/linux/aio.h"
2036struct mm_struct;
2037# 441 "include/linux/sched.h"
2038struct sighand_struct {
2039   atomic_t count ;
2040   struct k_sigaction action[64] ;
2041   spinlock_t siglock ;
2042   wait_queue_head_t signalfd_wqh ;
2043};
2044# 448 "include/linux/sched.h"
2045struct pacct_struct {
2046   int ac_flag ;
2047   long ac_exitcode ;
2048   unsigned long ac_mem ;
2049   cputime_t ac_utime ;
2050   cputime_t ac_stime ;
2051   unsigned long ac_minflt ;
2052   unsigned long ac_majflt ;
2053};
2054# 456 "include/linux/sched.h"
2055struct cpu_itimer {
2056   cputime_t expires ;
2057   cputime_t incr ;
2058   u32 error ;
2059   u32 incr_error ;
2060};
2061# 474 "include/linux/sched.h"
2062struct task_cputime {
2063   cputime_t utime ;
2064   cputime_t stime ;
2065   unsigned long long sum_exec_runtime ;
2066};
2067# 510 "include/linux/sched.h"
2068struct thread_group_cputimer {
2069   struct task_cputime cputime ;
2070   int running ;
2071   spinlock_t lock ;
2072};
2073# 517 "include/linux/sched.h"
2074struct autogroup;
2075# 517 "include/linux/sched.h"
2076struct autogroup;
2077# 517 "include/linux/sched.h"
2078struct autogroup;
2079# 526 "include/linux/sched.h"
2080struct tty_struct;
2081# 526 "include/linux/sched.h"
2082struct tty_struct;
2083# 526 "include/linux/sched.h"
2084struct taskstats;
2085# 526 "include/linux/sched.h"
2086struct taskstats;
2087# 526 "include/linux/sched.h"
2088struct tty_audit_buf;
2089# 526 "include/linux/sched.h"
2090struct tty_audit_buf;
2091# 526 "include/linux/sched.h"
2092struct signal_struct {
2093   atomic_t sigcnt ;
2094   atomic_t live ;
2095   int nr_threads ;
2096   wait_queue_head_t wait_chldexit ;
2097   struct task_struct *curr_target ;
2098   struct sigpending shared_pending ;
2099   int group_exit_code ;
2100   int notify_count ;
2101   struct task_struct *group_exit_task ;
2102   int group_stop_count ;
2103   unsigned int flags ;
2104   struct list_head posix_timers ;
2105   struct hrtimer real_timer ;
2106   struct pid *leader_pid ;
2107   ktime_t it_real_incr ;
2108   struct cpu_itimer it[2] ;
2109   struct thread_group_cputimer cputimer ;
2110   struct task_cputime cputime_expires ;
2111   struct list_head cpu_timers[3] ;
2112   struct pid *tty_old_pgrp ;
2113   int leader ;
2114   struct tty_struct *tty ;
2115   struct autogroup *autogroup ;
2116   cputime_t utime ;
2117   cputime_t stime ;
2118   cputime_t cutime ;
2119   cputime_t cstime ;
2120   cputime_t gtime ;
2121   cputime_t cgtime ;
2122   cputime_t prev_utime ;
2123   cputime_t prev_stime ;
2124   unsigned long nvcsw ;
2125   unsigned long nivcsw ;
2126   unsigned long cnvcsw ;
2127   unsigned long cnivcsw ;
2128   unsigned long min_flt ;
2129   unsigned long maj_flt ;
2130   unsigned long cmin_flt ;
2131   unsigned long cmaj_flt ;
2132   unsigned long inblock ;
2133   unsigned long oublock ;
2134   unsigned long cinblock ;
2135   unsigned long coublock ;
2136   unsigned long maxrss ;
2137   unsigned long cmaxrss ;
2138   struct task_io_accounting ioac ;
2139   unsigned long long sum_sched_runtime ;
2140   struct rlimit rlim[16] ;
2141   struct pacct_struct pacct ;
2142   struct taskstats *stats ;
2143   unsigned int audit_tty ;
2144   struct tty_audit_buf *tty_audit_buf ;
2145   struct rw_semaphore threadgroup_fork_lock ;
2146   int oom_adj ;
2147   int oom_score_adj ;
2148   int oom_score_adj_min ;
2149   struct mutex cred_guard_mutex ;
2150};
2151# 687 "include/linux/sched.h"
2152struct user_struct {
2153   atomic_t __count ;
2154   atomic_t processes ;
2155   atomic_t files ;
2156   atomic_t sigpending ;
2157   atomic_t inotify_watches ;
2158   atomic_t inotify_devs ;
2159   atomic_t fanotify_listeners ;
2160   atomic_long_t epoll_watches ;
2161   unsigned long mq_bytes ;
2162   unsigned long locked_shm ;
2163   struct key *uid_keyring ;
2164   struct key *session_keyring ;
2165   struct hlist_node uidhash_node ;
2166   uid_t uid ;
2167   struct user_namespace *user_ns ;
2168   atomic_long_t locked_vm ;
2169};
2170# 731 "include/linux/sched.h"
2171struct backing_dev_info;
2172# 731 "include/linux/sched.h"
2173struct backing_dev_info;
2174# 731 "include/linux/sched.h"
2175struct backing_dev_info;
2176# 732 "include/linux/sched.h"
2177struct reclaim_state;
2178# 732 "include/linux/sched.h"
2179struct reclaim_state;
2180# 732 "include/linux/sched.h"
2181struct reclaim_state;
2182# 735 "include/linux/sched.h"
2183struct sched_info {
2184   unsigned long pcount ;
2185   unsigned long long run_delay ;
2186   unsigned long long last_arrival ;
2187   unsigned long long last_queued ;
2188};
2189# 747 "include/linux/sched.h"
2190struct task_delay_info {
2191   spinlock_t lock ;
2192   unsigned int flags ;
2193   struct timespec blkio_start ;
2194   struct timespec blkio_end ;
2195   u64 blkio_delay ;
2196   u64 swapin_delay ;
2197   u32 blkio_count ;
2198   u32 swapin_count ;
2199   struct timespec freepages_start ;
2200   struct timespec freepages_end ;
2201   u64 freepages_delay ;
2202   u32 freepages_count ;
2203};
2204# 1050 "include/linux/sched.h"
2205struct io_context;
2206# 1050 "include/linux/sched.h"
2207struct io_context;
2208# 1050 "include/linux/sched.h"
2209struct io_context;
2210# 1059 "include/linux/sched.h"
2211struct audit_context;
2212# 1060 "include/linux/sched.h"
2213struct mempolicy;
2214# 1061 "include/linux/sched.h"
2215struct pipe_inode_info;
2216# 1061 "include/linux/sched.h"
2217struct pipe_inode_info;
2218# 1061 "include/linux/sched.h"
2219struct pipe_inode_info;
2220# 1064 "include/linux/sched.h"
2221struct rq;
2222# 1064 "include/linux/sched.h"
2223struct rq;
2224# 1064 "include/linux/sched.h"
2225struct rq;
2226# 1084 "include/linux/sched.h"
2227struct sched_class {
2228   struct sched_class const *next ;
2229   void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2230   void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2231   void (*yield_task)(struct rq *rq ) ;
2232   bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
2233   void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
2234   struct task_struct *(*pick_next_task)(struct rq *rq ) ;
2235   void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
2236   int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
2237   void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
2238   void (*post_schedule)(struct rq *this_rq ) ;
2239   void (*task_waking)(struct task_struct *task ) ;
2240   void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
2241   void (*set_cpus_allowed)(struct task_struct *p , struct cpumask const *newmask ) ;
2242   void (*rq_online)(struct rq *rq ) ;
2243   void (*rq_offline)(struct rq *rq ) ;
2244   void (*set_curr_task)(struct rq *rq ) ;
2245   void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
2246   void (*task_fork)(struct task_struct *p ) ;
2247   void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
2248   void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
2249   void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
2250   unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
2251   void (*task_move_group)(struct task_struct *p , int on_rq ) ;
2252};
2253# 1129 "include/linux/sched.h"
2254struct load_weight {
2255   unsigned long weight ;
2256   unsigned long inv_weight ;
2257};
2258# 1134 "include/linux/sched.h"
2259struct sched_statistics {
2260   u64 wait_start ;
2261   u64 wait_max ;
2262   u64 wait_count ;
2263   u64 wait_sum ;
2264   u64 iowait_count ;
2265   u64 iowait_sum ;
2266   u64 sleep_start ;
2267   u64 sleep_max ;
2268   s64 sum_sleep_runtime ;
2269   u64 block_start ;
2270   u64 block_max ;
2271   u64 exec_max ;
2272   u64 slice_max ;
2273   u64 nr_migrations_cold ;
2274   u64 nr_failed_migrations_affine ;
2275   u64 nr_failed_migrations_running ;
2276   u64 nr_failed_migrations_hot ;
2277   u64 nr_forced_migrations ;
2278   u64 nr_wakeups ;
2279   u64 nr_wakeups_sync ;
2280   u64 nr_wakeups_migrate ;
2281   u64 nr_wakeups_local ;
2282   u64 nr_wakeups_remote ;
2283   u64 nr_wakeups_affine ;
2284   u64 nr_wakeups_affine_attempts ;
2285   u64 nr_wakeups_passive ;
2286   u64 nr_wakeups_idle ;
2287};
2288# 1169 "include/linux/sched.h"
2289struct sched_entity {
2290   struct load_weight load ;
2291   struct rb_node run_node ;
2292   struct list_head group_node ;
2293   unsigned int on_rq ;
2294   u64 exec_start ;
2295   u64 sum_exec_runtime ;
2296   u64 vruntime ;
2297   u64 prev_sum_exec_runtime ;
2298   u64 nr_migrations ;
2299   struct sched_statistics statistics ;
2300   struct sched_entity *parent ;
2301   struct cfs_rq *cfs_rq ;
2302   struct cfs_rq *my_q ;
2303};
2304# 1195 "include/linux/sched.h"
2305struct rt_rq;
2306# 1195 "include/linux/sched.h"
2307struct rt_rq;
2308# 1195 "include/linux/sched.h"
2309struct sched_rt_entity {
2310   struct list_head run_list ;
2311   unsigned long timeout ;
2312   unsigned int time_slice ;
2313   int nr_cpus_allowed ;
2314   struct sched_rt_entity *back ;
2315   struct sched_rt_entity *parent ;
2316   struct rt_rq *rt_rq ;
2317   struct rt_rq *my_q ;
2318};
2319# 1220 "include/linux/sched.h"
2320struct files_struct;
2321# 1220 "include/linux/sched.h"
2322struct files_struct;
2323# 1220 "include/linux/sched.h"
2324struct irqaction;
2325# 1220 "include/linux/sched.h"
2326struct irqaction;
2327# 1220 "include/linux/sched.h"
2328struct css_set;
2329# 1220 "include/linux/sched.h"
2330struct css_set;
2331# 1220 "include/linux/sched.h"
2332struct compat_robust_list_head;
2333# 1220 "include/linux/sched.h"
2334struct compat_robust_list_head;
2335# 1220 "include/linux/sched.h"
2336struct ftrace_ret_stack;
2337# 1220 "include/linux/sched.h"
2338struct ftrace_ret_stack;
2339# 1220 "include/linux/sched.h"
2340struct mem_cgroup;
2341# 1220 "include/linux/sched.h"
2342struct mem_cgroup;
2343# 1220 "include/linux/sched.h"
2344struct memcg_batch_info {
2345   int do_batch ;
2346   struct mem_cgroup *memcg ;
2347   unsigned long nr_pages ;
2348   unsigned long memsw_nr_pages ;
2349};
2350# 1220 "include/linux/sched.h"
2351struct task_struct {
2352   long volatile state ;
2353   void *stack ;
2354   atomic_t usage ;
2355   unsigned int flags ;
2356   unsigned int ptrace ;
2357   struct task_struct *wake_entry ;
2358   int on_cpu ;
2359   int on_rq ;
2360   int prio ;
2361   int static_prio ;
2362   int normal_prio ;
2363   unsigned int rt_priority ;
2364   struct sched_class const *sched_class ;
2365   struct sched_entity se ;
2366   struct sched_rt_entity rt ;
2367   struct hlist_head preempt_notifiers ;
2368   unsigned char fpu_counter ;
2369   unsigned int btrace_seq ;
2370   unsigned int policy ;
2371   cpumask_t cpus_allowed ;
2372   struct sched_info sched_info ;
2373   struct list_head tasks ;
2374   struct plist_node pushable_tasks ;
2375   struct mm_struct *mm ;
2376   struct mm_struct *active_mm ;
2377   unsigned int brk_randomized : 1 ;
2378   int exit_state ;
2379   int exit_code ;
2380   int exit_signal ;
2381   int pdeath_signal ;
2382   unsigned int group_stop ;
2383   unsigned int personality ;
2384   unsigned int did_exec : 1 ;
2385   unsigned int in_execve : 1 ;
2386   unsigned int in_iowait : 1 ;
2387   unsigned int sched_reset_on_fork : 1 ;
2388   unsigned int sched_contributes_to_load : 1 ;
2389   pid_t pid ;
2390   pid_t tgid ;
2391   unsigned long stack_canary ;
2392   struct task_struct *real_parent ;
2393   struct task_struct *parent ;
2394   struct list_head children ;
2395   struct list_head sibling ;
2396   struct task_struct *group_leader ;
2397   struct list_head ptraced ;
2398   struct list_head ptrace_entry ;
2399   struct pid_link pids[3] ;
2400   struct list_head thread_group ;
2401   struct completion *vfork_done ;
2402   int *set_child_tid ;
2403   int *clear_child_tid ;
2404   cputime_t utime ;
2405   cputime_t stime ;
2406   cputime_t utimescaled ;
2407   cputime_t stimescaled ;
2408   cputime_t gtime ;
2409   cputime_t prev_utime ;
2410   cputime_t prev_stime ;
2411   unsigned long nvcsw ;
2412   unsigned long nivcsw ;
2413   struct timespec start_time ;
2414   struct timespec real_start_time ;
2415   unsigned long min_flt ;
2416   unsigned long maj_flt ;
2417   struct task_cputime cputime_expires ;
2418   struct list_head cpu_timers[3] ;
2419   struct cred const *real_cred ;
2420   struct cred const *cred ;
2421   struct cred *replacement_session_keyring ;
2422   char comm[16] ;
2423   int link_count ;
2424   int total_link_count ;
2425   struct sysv_sem sysvsem ;
2426   unsigned long last_switch_count ;
2427   struct thread_struct thread ;
2428   struct fs_struct *fs ;
2429   struct files_struct *files ;
2430   struct nsproxy *nsproxy ;
2431   struct signal_struct *signal ;
2432   struct sighand_struct *sighand ;
2433   sigset_t blocked ;
2434   sigset_t real_blocked ;
2435   sigset_t saved_sigmask ;
2436   struct sigpending pending ;
2437   unsigned long sas_ss_sp ;
2438   size_t sas_ss_size ;
2439   int (*notifier)(void *priv ) ;
2440   void *notifier_data ;
2441   sigset_t *notifier_mask ;
2442   struct audit_context *audit_context ;
2443   uid_t loginuid ;
2444   unsigned int sessionid ;
2445   seccomp_t seccomp ;
2446   u32 parent_exec_id ;
2447   u32 self_exec_id ;
2448   spinlock_t alloc_lock ;
2449   struct irqaction *irqaction ;
2450   raw_spinlock_t pi_lock ;
2451   struct plist_head pi_waiters ;
2452   struct rt_mutex_waiter *pi_blocked_on ;
2453   struct mutex_waiter *blocked_on ;
2454   unsigned int irq_events ;
2455   unsigned long hardirq_enable_ip ;
2456   unsigned long hardirq_disable_ip ;
2457   unsigned int hardirq_enable_event ;
2458   unsigned int hardirq_disable_event ;
2459   int hardirqs_enabled ;
2460   int hardirq_context ;
2461   unsigned long softirq_disable_ip ;
2462   unsigned long softirq_enable_ip ;
2463   unsigned int softirq_disable_event ;
2464   unsigned int softirq_enable_event ;
2465   int softirqs_enabled ;
2466   int softirq_context ;
2467   u64 curr_chain_key ;
2468   int lockdep_depth ;
2469   unsigned int lockdep_recursion ;
2470   struct held_lock held_locks[48UL] ;
2471   gfp_t lockdep_reclaim_gfp ;
2472   void *journal_info ;
2473   struct bio_list *bio_list ;
2474   struct blk_plug *plug ;
2475   struct reclaim_state *reclaim_state ;
2476   struct backing_dev_info *backing_dev_info ;
2477   struct io_context *io_context ;
2478   unsigned long ptrace_message ;
2479   siginfo_t *last_siginfo ;
2480   struct task_io_accounting ioac ;
2481   u64 acct_rss_mem1 ;
2482   u64 acct_vm_mem1 ;
2483   cputime_t acct_timexpd ;
2484   nodemask_t mems_allowed ;
2485   int mems_allowed_change_disable ;
2486   int cpuset_mem_spread_rotor ;
2487   int cpuset_slab_spread_rotor ;
2488   struct css_set *cgroups ;
2489   struct list_head cg_list ;
2490   struct robust_list_head *robust_list ;
2491   struct compat_robust_list_head *compat_robust_list ;
2492   struct list_head pi_state_list ;
2493   struct futex_pi_state *pi_state_cache ;
2494   struct perf_event_context *perf_event_ctxp[2] ;
2495   struct mutex perf_event_mutex ;
2496   struct list_head perf_event_list ;
2497   struct mempolicy *mempolicy ;
2498   short il_next ;
2499   short pref_node_fork ;
2500   atomic_t fs_excl ;
2501   struct rcu_head rcu ;
2502   struct pipe_inode_info *splice_pipe ;
2503   struct task_delay_info *delays ;
2504   int make_it_fail ;
2505   struct prop_local_single dirties ;
2506   int latency_record_count ;
2507   struct latency_record latency_record[32] ;
2508   unsigned long timer_slack_ns ;
2509   unsigned long default_timer_slack_ns ;
2510   struct list_head *scm_work_list ;
2511   int curr_ret_stack ;
2512   struct ftrace_ret_stack *ret_stack ;
2513   unsigned long long ftrace_timestamp ;
2514   atomic_t trace_overrun ;
2515   atomic_t tracing_graph_pause ;
2516   unsigned long trace ;
2517   unsigned long trace_recursion ;
2518   struct memcg_batch_info memcg_batch ;
2519   atomic_t ptrace_bp_refcnt ;
2520};
2521# 1634 "include/linux/sched.h"
2522struct pid_namespace;
2523# 38 "include/linux/slub_def.h"
2524struct kmem_cache_cpu {
2525   void **freelist ;
2526   unsigned long tid ;
2527   struct page *page ;
2528   int node ;
2529   unsigned int stat[19] ;
2530};
2531# 48 "include/linux/slub_def.h"
2532struct kmem_cache_node {
2533   spinlock_t list_lock ;
2534   unsigned long nr_partial ;
2535   struct list_head partial ;
2536   atomic_long_t nr_slabs ;
2537   atomic_long_t total_objects ;
2538   struct list_head full ;
2539};
2540# 64 "include/linux/slub_def.h"
2541struct kmem_cache_order_objects {
2542   unsigned long x ;
2543};
2544# 71 "include/linux/slub_def.h"
2545struct kmem_cache {
2546   struct kmem_cache_cpu *cpu_slab ;
2547   unsigned long flags ;
2548   unsigned long min_partial ;
2549   int size ;
2550   int objsize ;
2551   int offset ;
2552   struct kmem_cache_order_objects oo ;
2553   struct kmem_cache_order_objects max ;
2554   struct kmem_cache_order_objects min ;
2555   gfp_t allocflags ;
2556   int refcount ;
2557   void (*ctor)(void * ) ;
2558   int inuse ;
2559   int align ;
2560   int reserved ;
2561   char const *name ;
2562   struct list_head list ;
2563   struct kobject kobj ;
2564   int remote_node_defrag_ratio ;
2565   struct kmem_cache_node *node[1 << 10] ;
2566};
2567# 18 "include/linux/mtd/nand_ecc.h"
2568struct mtd_info;
2569# 18 "include/linux/mtd/nand_ecc.h"
2570struct mtd_info;
2571# 18 "include/linux/mtd/nand_ecc.h"
2572struct mtd_info;
2573# 19 "include/linux/klist.h"
2574struct klist_node;
2575# 19 "include/linux/klist.h"
2576struct klist_node;
2577# 19 "include/linux/klist.h"
2578struct klist_node;
2579# 39 "include/linux/klist.h"
2580struct klist_node {
2581   void *n_klist ;
2582   struct list_head n_node ;
2583   struct kref n_ref ;
2584};
2585# 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
2586struct dma_map_ops;
2587# 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
2588struct dma_map_ops;
2589# 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
2590struct dev_archdata {
2591   void *acpi_handle ;
2592   struct dma_map_ops *dma_ops ;
2593   void *iommu ;
2594};
2595# 28 "include/linux/device.h"
2596struct device;
2597# 29 "include/linux/device.h"
2598struct device_private;
2599# 29 "include/linux/device.h"
2600struct device_private;
2601# 29 "include/linux/device.h"
2602struct device_private;
2603# 30 "include/linux/device.h"
2604struct device_driver;
2605# 30 "include/linux/device.h"
2606struct device_driver;
2607# 30 "include/linux/device.h"
2608struct device_driver;
2609# 31 "include/linux/device.h"
2610struct driver_private;
2611# 31 "include/linux/device.h"
2612struct driver_private;
2613# 31 "include/linux/device.h"
2614struct driver_private;
2615# 32 "include/linux/device.h"
2616struct class;
2617# 32 "include/linux/device.h"
2618struct class;
2619# 32 "include/linux/device.h"
2620struct class;
2621# 33 "include/linux/device.h"
2622struct subsys_private;
2623# 33 "include/linux/device.h"
2624struct subsys_private;
2625# 33 "include/linux/device.h"
2626struct subsys_private;
2627# 34 "include/linux/device.h"
2628struct bus_type;
2629# 34 "include/linux/device.h"
2630struct bus_type;
2631# 34 "include/linux/device.h"
2632struct bus_type;
2633# 35 "include/linux/device.h"
2634struct device_node;
2635# 35 "include/linux/device.h"
2636struct device_node;
2637# 35 "include/linux/device.h"
2638struct device_node;
2639# 37 "include/linux/device.h"
2640struct bus_attribute {
2641   struct attribute attr ;
2642   ssize_t (*show)(struct bus_type *bus , char *buf ) ;
2643   ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
2644};
2645# 82 "include/linux/device.h"
2646struct device_attribute;
2647# 82 "include/linux/device.h"
2648struct device_attribute;
2649# 82 "include/linux/device.h"
2650struct driver_attribute;
2651# 82 "include/linux/device.h"
2652struct driver_attribute;
2653# 82 "include/linux/device.h"
2654struct bus_type {
2655   char const *name ;
2656   struct bus_attribute *bus_attrs ;
2657   struct device_attribute *dev_attrs ;
2658   struct driver_attribute *drv_attrs ;
2659   int (*match)(struct device *dev , struct device_driver *drv ) ;
2660   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2661   int (*probe)(struct device *dev ) ;
2662   int (*remove)(struct device *dev ) ;
2663   void (*shutdown)(struct device *dev ) ;
2664   int (*suspend)(struct device *dev , pm_message_t state ) ;
2665   int (*resume)(struct device *dev ) ;
2666   struct dev_pm_ops const *pm ;
2667   struct subsys_private *p ;
2668};
2669# 130 "include/linux/device.h"
2670struct notifier_block;
2671# 185 "include/linux/device.h"
2672struct of_device_id;
2673# 185 "include/linux/device.h"
2674struct of_device_id;
2675# 185 "include/linux/device.h"
2676struct device_driver {
2677   char const *name ;
2678   struct bus_type *bus ;
2679   struct module *owner ;
2680   char const *mod_name ;
2681   bool suppress_bind_attrs ;
2682   struct of_device_id const *of_match_table ;
2683   int (*probe)(struct device *dev ) ;
2684   int (*remove)(struct device *dev ) ;
2685   void (*shutdown)(struct device *dev ) ;
2686   int (*suspend)(struct device *dev , pm_message_t state ) ;
2687   int (*resume)(struct device *dev ) ;
2688   struct attribute_group const **groups ;
2689   struct dev_pm_ops const *pm ;
2690   struct driver_private *p ;
2691};
2692# 222 "include/linux/device.h"
2693struct driver_attribute {
2694   struct attribute attr ;
2695   ssize_t (*show)(struct device_driver *driver , char *buf ) ;
2696   ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
2697};
2698# 280 "include/linux/device.h"
2699struct class_attribute;
2700# 280 "include/linux/device.h"
2701struct class_attribute;
2702# 280 "include/linux/device.h"
2703struct class {
2704   char const *name ;
2705   struct module *owner ;
2706   struct class_attribute *class_attrs ;
2707   struct device_attribute *dev_attrs ;
2708   struct bin_attribute *dev_bin_attrs ;
2709   struct kobject *dev_kobj ;
2710   int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2711   char *(*devnode)(struct device *dev , mode_t *mode ) ;
2712   void (*class_release)(struct class *class ) ;
2713   void (*dev_release)(struct device *dev ) ;
2714   int (*suspend)(struct device *dev , pm_message_t state ) ;
2715   int (*resume)(struct device *dev ) ;
2716   struct kobj_ns_type_operations const *ns_type ;
2717   void const *(*namespace)(struct device *dev ) ;
2718   struct dev_pm_ops const *pm ;
2719   struct subsys_private *p ;
2720};
2721# 306 "include/linux/device.h"
2722struct device_type;
2723# 306 "include/linux/device.h"
2724struct device_type;
2725# 347 "include/linux/device.h"
2726struct class_attribute {
2727   struct attribute attr ;
2728   ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
2729   ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
2730                    size_t count ) ;
2731};
2732# 413 "include/linux/device.h"
2733struct device_type {
2734   char const *name ;
2735   struct attribute_group const **groups ;
2736   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2737   char *(*devnode)(struct device *dev , mode_t *mode ) ;
2738   void (*release)(struct device *dev ) ;
2739   struct dev_pm_ops const *pm ;
2740};
2741# 424 "include/linux/device.h"
2742struct device_attribute {
2743   struct attribute attr ;
2744   ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
2745   ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
2746                    size_t count ) ;
2747};
2748# 484 "include/linux/device.h"
2749struct device_dma_parameters {
2750   unsigned int max_segment_size ;
2751   unsigned long segment_boundary_mask ;
2752};
2753# 551 "include/linux/device.h"
2754struct dma_coherent_mem;
2755# 551 "include/linux/device.h"
2756struct dma_coherent_mem;
2757# 551 "include/linux/device.h"
2758struct device {
2759   struct device *parent ;
2760   struct device_private *p ;
2761   struct kobject kobj ;
2762   char const *init_name ;
2763   struct device_type const *type ;
2764   struct mutex mutex ;
2765   struct bus_type *bus ;
2766   struct device_driver *driver ;
2767   void *platform_data ;
2768   struct dev_pm_info power ;
2769   struct dev_power_domain *pwr_domain ;
2770   int numa_node ;
2771   u64 *dma_mask ;
2772   u64 coherent_dma_mask ;
2773   struct device_dma_parameters *dma_parms ;
2774   struct list_head dma_pools ;
2775   struct dma_coherent_mem *dma_mem ;
2776   struct dev_archdata archdata ;
2777   struct device_node *of_node ;
2778   dev_t devt ;
2779   spinlock_t devres_lock ;
2780   struct list_head devres_head ;
2781   struct klist_node knode_class ;
2782   struct class *class ;
2783   struct attribute_group const **groups ;
2784   void (*release)(struct device *dev ) ;
2785};
2786# 43 "include/linux/pm_wakeup.h"
2787struct wakeup_source {
2788   char *name ;
2789   struct list_head entry ;
2790   spinlock_t lock ;
2791   struct timer_list timer ;
2792   unsigned long timer_expires ;
2793   ktime_t total_time ;
2794   ktime_t max_time ;
2795   ktime_t last_time ;
2796   unsigned long event_count ;
2797   unsigned long active_count ;
2798   unsigned long relax_count ;
2799   unsigned long hit_count ;
2800   unsigned int active : 1 ;
2801};
2802# 101 "include/mtd/mtd-abi.h"
2803struct otp_info {
2804   __u32 start ;
2805   __u32 length ;
2806   __u32 locked ;
2807};
2808# 142 "include/mtd/mtd-abi.h"
2809struct nand_oobfree {
2810   __u32 offset ;
2811   __u32 length ;
2812};
2813# 172 "include/mtd/mtd-abi.h"
2814struct mtd_ecc_stats {
2815   __u32 corrected ;
2816   __u32 failed ;
2817   __u32 badblocks ;
2818   __u32 bbtblocks ;
2819};
2820# 47 "include/linux/mtd/mtd.h"
2821struct erase_info {
2822   struct mtd_info *mtd ;
2823   uint64_t addr ;
2824   uint64_t len ;
2825   uint64_t fail_addr ;
2826   u_long time ;
2827   u_long retries ;
2828   unsigned int dev ;
2829   unsigned int cell ;
2830   void (*callback)(struct erase_info *self ) ;
2831   u_long priv ;
2832   u_char state ;
2833   struct erase_info *next ;
2834};
2835# 62 "include/linux/mtd/mtd.h"
2836struct mtd_erase_region_info {
2837   uint64_t offset ;
2838   uint32_t erasesize ;
2839   uint32_t numblocks ;
2840   unsigned long *lockmap ;
2841};
2842# 77 "include/linux/mtd/mtd.h"
2843enum __anonenum_mtd_oob_mode_t_225 {
2844    MTD_OOB_PLACE = 0,
2845    MTD_OOB_AUTO = 1,
2846    MTD_OOB_RAW = 2
2847} ;
2848# 77 "include/linux/mtd/mtd.h"
2849typedef enum __anonenum_mtd_oob_mode_t_225 mtd_oob_mode_t;
2850# 102 "include/linux/mtd/mtd.h"
2851struct mtd_oob_ops {
2852   mtd_oob_mode_t mode ;
2853   size_t len ;
2854   size_t retlen ;
2855   size_t ooblen ;
2856   size_t oobretlen ;
2857   uint32_t ooboffs ;
2858   uint8_t *datbuf ;
2859   uint8_t *oobbuf ;
2860};
2861# 121 "include/linux/mtd/mtd.h"
2862struct nand_ecclayout {
2863   __u32 eccbytes ;
2864   __u32 eccpos[448] ;
2865   __u32 oobavail ;
2866   struct nand_oobfree oobfree[32] ;
2867};
2868# 128 "include/linux/mtd/mtd.h"
2869struct mtd_info {
2870   u_char type ;
2871   uint32_t flags ;
2872   uint64_t size ;
2873   uint32_t erasesize ;
2874   uint32_t writesize ;
2875   uint32_t writebufsize ;
2876   uint32_t oobsize ;
2877   uint32_t oobavail ;
2878   unsigned int erasesize_shift ;
2879   unsigned int writesize_shift ;
2880   unsigned int erasesize_mask ;
2881   unsigned int writesize_mask ;
2882   char const *name ;
2883   int index ;
2884   struct nand_ecclayout *ecclayout ;
2885   int numeraseregions ;
2886   struct mtd_erase_region_info *eraseregions ;
2887   int (*erase)(struct mtd_info *mtd , struct erase_info *instr ) ;
2888   int (*point)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
2889                void **virt , resource_size_t *phys ) ;
2890   void (*unpoint)(struct mtd_info *mtd , loff_t from , size_t len ) ;
2891   unsigned long (*get_unmapped_area)(struct mtd_info *mtd , unsigned long len , unsigned long offset ,
2892                                      unsigned long flags ) ;
2893   struct backing_dev_info *backing_dev_info ;
2894   int (*read)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
2895               u_char *buf ) ;
2896   int (*write)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen , u_char const *buf ) ;
2897   int (*panic_write)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
2898                      u_char const *buf ) ;
2899   int (*read_oob)(struct mtd_info *mtd , loff_t from , struct mtd_oob_ops *ops ) ;
2900   int (*write_oob)(struct mtd_info *mtd , loff_t to , struct mtd_oob_ops *ops ) ;
2901   int (*get_fact_prot_info)(struct mtd_info *mtd , struct otp_info *buf , size_t len ) ;
2902   int (*read_fact_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
2903                             u_char *buf ) ;
2904   int (*get_user_prot_info)(struct mtd_info *mtd , struct otp_info *buf , size_t len ) ;
2905   int (*read_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
2906                             u_char *buf ) ;
2907   int (*write_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
2908                              u_char *buf ) ;
2909   int (*lock_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len ) ;
2910   int (*writev)(struct mtd_info *mtd , struct kvec const *vecs , unsigned long count ,
2911                 loff_t to , size_t *retlen ) ;
2912   void (*sync)(struct mtd_info *mtd ) ;
2913   int (*lock)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
2914   int (*unlock)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
2915   int (*is_locked)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
2916   int (*suspend)(struct mtd_info *mtd ) ;
2917   void (*resume)(struct mtd_info *mtd ) ;
2918   int (*block_isbad)(struct mtd_info *mtd , loff_t ofs ) ;
2919   int (*block_markbad)(struct mtd_info *mtd , loff_t ofs ) ;
2920   struct notifier_block reboot_notifier ;
2921   struct mtd_ecc_stats ecc_stats ;
2922   int subpage_sft ;
2923   void *priv ;
2924   struct module *owner ;
2925   struct device dev ;
2926   int usecount ;
2927   int (*get_device)(struct mtd_info *mtd ) ;
2928   void (*put_device)(struct mtd_info *mtd ) ;
2929};
2930# 13 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
2931struct sm_oob {
2932   uint32_t reserved ;
2933   uint8_t data_status ;
2934   uint8_t block_status ;
2935   uint8_t lba_copy1[2] ;
2936   uint8_t ecc2[3] ;
2937   uint8_t lba_copy2[2] ;
2938   uint8_t ecc1[3] ;
2939} __attribute__((__packed__)) ;
2940# 27 "include/linux/mtd/blktrans.h"
2941struct hd_geometry;
2942# 28 "include/linux/mtd/blktrans.h"
2943struct mtd_info;
2944# 29 "include/linux/mtd/blktrans.h"
2945struct mtd_blktrans_ops;
2946# 29 "include/linux/mtd/blktrans.h"
2947struct mtd_blktrans_ops;
2948# 29 "include/linux/mtd/blktrans.h"
2949struct mtd_blktrans_ops;
2950# 30 "include/linux/mtd/blktrans.h"
2951struct file;
2952# 31 "include/linux/mtd/blktrans.h"
2953struct inode;
2954# 33 "include/linux/mtd/blktrans.h"
2955struct gendisk;
2956# 33 "include/linux/mtd/blktrans.h"
2957struct gendisk;
2958# 33 "include/linux/mtd/blktrans.h"
2959struct request_queue;
2960# 33 "include/linux/mtd/blktrans.h"
2961struct request_queue;
2962# 33 "include/linux/mtd/blktrans.h"
2963struct mtd_blktrans_dev {
2964   struct mtd_blktrans_ops *tr ;
2965   struct list_head list ;
2966   struct mtd_info *mtd ;
2967   struct mutex lock ;
2968   int devnum ;
2969   bool bg_stop ;
2970   unsigned long size ;
2971   int readonly ;
2972   int open ;
2973   struct kref ref ;
2974   struct gendisk *disk ;
2975   struct attribute_group *disk_attributes ;
2976   struct task_struct *thread ;
2977   struct request_queue *rq ;
2978   spinlock_t queue_lock ;
2979   void *priv ;
2980};
2981# 52 "include/linux/mtd/blktrans.h"
2982struct mtd_blktrans_ops {
2983   char *name ;
2984   int major ;
2985   int part_bits ;
2986   int blksize ;
2987   int blkshift ;
2988   int (*readsect)(struct mtd_blktrans_dev *dev , unsigned long block , char *buffer ) ;
2989   int (*writesect)(struct mtd_blktrans_dev *dev , unsigned long block , char *buffer ) ;
2990   int (*discard)(struct mtd_blktrans_dev *dev , unsigned long block , unsigned int nr_blocks ) ;
2991   void (*background)(struct mtd_blktrans_dev *dev ) ;
2992   int (*getgeo)(struct mtd_blktrans_dev *dev , struct hd_geometry *geo ) ;
2993   int (*flush)(struct mtd_blktrans_dev *dev ) ;
2994   int (*open)(struct mtd_blktrans_dev *dev ) ;
2995   int (*release)(struct mtd_blktrans_dev *dev ) ;
2996   void (*add_mtd)(struct mtd_blktrans_ops *tr , struct mtd_info *mtd ) ;
2997   void (*remove_dev)(struct mtd_blktrans_dev *dev ) ;
2998   struct list_head devs ;
2999   struct list_head list ;
3000   struct module *owner ;
3001};
3002# 6 "include/asm-generic/scatterlist.h"
3003struct scatterlist {
3004   unsigned long sg_magic ;
3005   unsigned long page_link ;
3006   unsigned int offset ;
3007   unsigned int length ;
3008   dma_addr_t dma_address ;
3009   unsigned int dma_length ;
3010};
3011# 19 "include/linux/mm.h"
3012struct mempolicy;
3013# 20 "include/linux/mm.h"
3014struct anon_vma;
3015# 21 "include/linux/mm.h"
3016struct file_ra_state;
3017# 21 "include/linux/mm.h"
3018struct file_ra_state;
3019# 21 "include/linux/mm.h"
3020struct file_ra_state;
3021# 22 "include/linux/mm.h"
3022struct user_struct;
3023# 23 "include/linux/mm.h"
3024struct writeback_control;
3025# 23 "include/linux/mm.h"
3026struct writeback_control;
3027# 23 "include/linux/mm.h"
3028struct writeback_control;
3029# 41 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64.h"
3030struct mm_struct;
3031# 656 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable.h"
3032struct vm_area_struct;
3033# 185 "include/linux/mm.h"
3034struct vm_fault {
3035   unsigned int flags ;
3036   unsigned long pgoff ;
3037   void *virtual_address ;
3038   struct page *page ;
3039};
3040# 202 "include/linux/mm.h"
3041struct vm_operations_struct {
3042   void (*open)(struct vm_area_struct *area ) ;
3043   void (*close)(struct vm_area_struct *area ) ;
3044   int (*fault)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
3045   int (*page_mkwrite)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
3046   int (*access)(struct vm_area_struct *vma , unsigned long addr , void *buf , int len ,
3047                 int write ) ;
3048   int (*set_policy)(struct vm_area_struct *vma , struct mempolicy *new ) ;
3049   struct mempolicy *(*get_policy)(struct vm_area_struct *vma , unsigned long addr ) ;
3050   int (*migrate)(struct vm_area_struct *vma , nodemask_t const *from , nodemask_t const *to ,
3051                  unsigned long flags ) ;
3052};
3053# 244 "include/linux/mm.h"
3054struct inode;
3055# 197 "include/linux/page-flags.h"
3056struct page;
3057# 58 "include/linux/kfifo.h"
3058struct __kfifo {
3059   unsigned int in ;
3060   unsigned int out ;
3061   unsigned int mask ;
3062   unsigned int esize ;
3063   void *data ;
3064};
3065# 96 "include/linux/kfifo.h"
3066union __anonunion____missing_field_name_226 {
3067   struct __kfifo kfifo ;
3068   unsigned char *type ;
3069   char (*rectype)[0] ;
3070   void *ptr ;
3071   void const *ptr_const ;
3072};
3073# 96 "include/linux/kfifo.h"
3074struct kfifo {
3075   union __anonunion____missing_field_name_226 __annonCompField39 ;
3076   unsigned char buf[0] ;
3077};
3078# 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/sm_ftl.h"
3079struct ftl_zone {
3080   bool initialized ;
3081   int16_t *lba_to_phys_table ;
3082   struct kfifo free_sectors ;
3083};
3084# 28 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/sm_ftl.h"
3085struct sm_ftl {
3086   struct mtd_blktrans_dev *trans ;
3087   struct mutex mutex ;
3088   struct ftl_zone *zones ;
3089   int block_size ;
3090   int zone_size ;
3091   int zone_count ;
3092   int max_lba ;
3093   int smallpagenand ;
3094   bool readonly ;
3095   bool unstable ;
3096   int cis_block ;
3097   int cis_boffset ;
3098   int cis_page_offset ;
3099   void *cis_buffer ;
3100   int cache_block ;
3101   int cache_zone ;
3102   unsigned char *cache_data ;
3103   unsigned long cache_data_invalid_bitmap ;
3104   bool cache_clean ;
3105   struct work_struct flush_work ;
3106   struct timer_list timer ;
3107   struct completion erase_completion ;
3108   int heads ;
3109   int sectors ;
3110   int cylinders ;
3111   struct attribute_group *disk_attributes ;
3112};
3113# 67 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/sm_ftl.h"
3114struct chs_entry {
3115   unsigned long size ;
3116   unsigned short cyl ;
3117   unsigned char head ;
3118   unsigned char sec ;
3119};
3120# 39 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
3121struct sm_sysfs_attribute {
3122   struct device_attribute dev_attr ;
3123   char *data ;
3124   int len ;
3125};
3126# 654 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
3127struct __anonstruct_233 {
3128   int : 0 ;
3129};
3130# 219 "include/linux/mod_devicetable.h"
3131struct of_device_id {
3132   char name[32] ;
3133   char type[32] ;
3134   char compatible[128] ;
3135   void *data ;
3136};
3137# 244 "include/linux/usb/ch9.h"
3138struct usb_device_descriptor {
3139   __u8 bLength ;
3140   __u8 bDescriptorType ;
3141   __le16 bcdUSB ;
3142   __u8 bDeviceClass ;
3143   __u8 bDeviceSubClass ;
3144   __u8 bDeviceProtocol ;
3145   __u8 bMaxPacketSize0 ;
3146   __le16 idVendor ;
3147   __le16 idProduct ;
3148   __le16 bcdDevice ;
3149   __u8 iManufacturer ;
3150   __u8 iProduct ;
3151   __u8 iSerialNumber ;
3152   __u8 bNumConfigurations ;
3153} __attribute__((__packed__)) ;
3154# 300 "include/linux/usb/ch9.h"
3155struct usb_config_descriptor {
3156   __u8 bLength ;
3157   __u8 bDescriptorType ;
3158   __le16 wTotalLength ;
3159   __u8 bNumInterfaces ;
3160   __u8 bConfigurationValue ;
3161   __u8 iConfiguration ;
3162   __u8 bmAttributes ;
3163   __u8 bMaxPower ;
3164} __attribute__((__packed__)) ;
3165# 337 "include/linux/usb/ch9.h"
3166struct usb_interface_descriptor {
3167   __u8 bLength ;
3168   __u8 bDescriptorType ;
3169   __u8 bInterfaceNumber ;
3170   __u8 bAlternateSetting ;
3171   __u8 bNumEndpoints ;
3172   __u8 bInterfaceClass ;
3173   __u8 bInterfaceSubClass ;
3174   __u8 bInterfaceProtocol ;
3175   __u8 iInterface ;
3176} __attribute__((__packed__)) ;
3177# 355 "include/linux/usb/ch9.h"
3178struct usb_endpoint_descriptor {
3179   __u8 bLength ;
3180   __u8 bDescriptorType ;
3181   __u8 bEndpointAddress ;
3182   __u8 bmAttributes ;
3183   __le16 wMaxPacketSize ;
3184   __u8 bInterval ;
3185   __u8 bRefresh ;
3186   __u8 bSynchAddress ;
3187} __attribute__((__packed__)) ;
3188# 576 "include/linux/usb/ch9.h"
3189struct usb_ss_ep_comp_descriptor {
3190   __u8 bLength ;
3191   __u8 bDescriptorType ;
3192   __u8 bMaxBurst ;
3193   __u8 bmAttributes ;
3194   __le16 wBytesPerInterval ;
3195} __attribute__((__packed__)) ;
3196# 637 "include/linux/usb/ch9.h"
3197struct usb_interface_assoc_descriptor {
3198   __u8 bLength ;
3199   __u8 bDescriptorType ;
3200   __u8 bFirstInterface ;
3201   __u8 bInterfaceCount ;
3202   __u8 bFunctionClass ;
3203   __u8 bFunctionSubClass ;
3204   __u8 bFunctionProtocol ;
3205   __u8 iFunction ;
3206} __attribute__((__packed__)) ;
3207# 846 "include/linux/usb/ch9.h"
3208enum usb_device_speed {
3209    USB_SPEED_UNKNOWN = 0,
3210    USB_SPEED_LOW = 1,
3211    USB_SPEED_FULL = 2,
3212    USB_SPEED_HIGH = 3,
3213    USB_SPEED_WIRELESS = 4,
3214    USB_SPEED_SUPER = 5
3215} ;
3216# 854 "include/linux/usb/ch9.h"
3217enum usb_device_state {
3218    USB_STATE_NOTATTACHED = 0,
3219    USB_STATE_ATTACHED = 1,
3220    USB_STATE_POWERED = 2,
3221    USB_STATE_RECONNECTING = 3,
3222    USB_STATE_UNAUTHENTICATED = 4,
3223    USB_STATE_DEFAULT = 5,
3224    USB_STATE_ADDRESS = 6,
3225    USB_STATE_CONFIGURED = 7,
3226    USB_STATE_SUSPENDED = 8
3227} ;
3228# 10 "include/linux/irqreturn.h"
3229enum irqreturn {
3230    IRQ_NONE = 0,
3231    IRQ_HANDLED = 1,
3232    IRQ_WAKE_THREAD = 2
3233} ;
3234# 16 "include/linux/irqreturn.h"
3235typedef enum irqreturn irqreturn_t;
3236# 31 "include/linux/irq.h"
3237struct seq_file;
3238# 12 "include/linux/irqdesc.h"
3239struct proc_dir_entry;
3240# 12 "include/linux/irqdesc.h"
3241struct proc_dir_entry;
3242# 12 "include/linux/irqdesc.h"
3243struct proc_dir_entry;
3244# 16 "include/linux/profile.h"
3245struct proc_dir_entry;
3246# 17 "include/linux/profile.h"
3247struct pt_regs;
3248# 18 "include/linux/profile.h"
3249struct notifier_block;
3250# 65 "include/linux/profile.h"
3251struct task_struct;
3252# 66 "include/linux/profile.h"
3253struct mm_struct;
3254# 88 "include/linux/profile.h"
3255struct pt_regs;
3256# 94 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess.h"
3257struct exception_table_entry {
3258   unsigned long insn ;
3259   unsigned long fixup ;
3260};
3261# 363 "include/linux/irq.h"
3262struct irqaction;
3263# 132 "include/linux/hardirq.h"
3264struct task_struct;
3265# 9 "include/trace/events/irq.h"
3266struct irqaction;
3267# 106 "include/linux/interrupt.h"
3268struct irqaction {
3269   irqreturn_t (*handler)(int , void * ) ;
3270   unsigned long flags ;
3271   void *dev_id ;
3272   struct irqaction *next ;
3273   int irq ;
3274   irqreturn_t (*thread_fn)(int , void * ) ;
3275   struct task_struct *thread ;
3276   unsigned long thread_flags ;
3277   unsigned long thread_mask ;
3278   char const *name ;
3279   struct proc_dir_entry *dir ;
3280} __attribute__((__aligned__((1) << (12) ))) ;
3281# 172 "include/linux/interrupt.h"
3282struct device;
3283# 682 "include/linux/interrupt.h"
3284struct seq_file;
3285# 15 "include/linux/blk_types.h"
3286struct page;
3287# 16 "include/linux/blk_types.h"
3288struct block_device;
3289# 16 "include/linux/blk_types.h"
3290struct block_device;
3291# 16 "include/linux/blk_types.h"
3292struct block_device;
3293# 33 "include/linux/list_bl.h"
3294struct hlist_bl_node;
3295# 33 "include/linux/list_bl.h"
3296struct hlist_bl_node;
3297# 33 "include/linux/list_bl.h"
3298struct hlist_bl_head {
3299   struct hlist_bl_node *first ;
3300};
3301# 37 "include/linux/list_bl.h"
3302struct hlist_bl_node {
3303   struct hlist_bl_node *next ;
3304   struct hlist_bl_node **pprev ;
3305};
3306# 13 "include/linux/dcache.h"
3307struct nameidata;
3308# 13 "include/linux/dcache.h"
3309struct nameidata;
3310# 13 "include/linux/dcache.h"
3311struct nameidata;
3312# 14 "include/linux/dcache.h"
3313struct path;
3314# 14 "include/linux/dcache.h"
3315struct path;
3316# 14 "include/linux/dcache.h"
3317struct path;
3318# 15 "include/linux/dcache.h"
3319struct vfsmount;
3320# 15 "include/linux/dcache.h"
3321struct vfsmount;
3322# 15 "include/linux/dcache.h"
3323struct vfsmount;
3324# 35 "include/linux/dcache.h"
3325struct qstr {
3326   unsigned int hash ;
3327   unsigned int len ;
3328   unsigned char const *name ;
3329};
3330# 116 "include/linux/dcache.h"
3331struct dentry_operations;
3332# 116 "include/linux/dcache.h"
3333struct dentry_operations;
3334# 116 "include/linux/dcache.h"
3335struct super_block;
3336# 116 "include/linux/dcache.h"
3337struct super_block;
3338# 116 "include/linux/dcache.h"
3339union __anonunion_d_u_243 {
3340   struct list_head d_child ;
3341   struct rcu_head d_rcu ;
3342};
3343# 116 "include/linux/dcache.h"
3344struct dentry {
3345   unsigned int d_flags ;
3346   seqcount_t d_seq ;
3347   struct hlist_bl_node d_hash ;
3348   struct dentry *d_parent ;
3349   struct qstr d_name ;
3350   struct inode *d_inode ;
3351   unsigned char d_iname[32] ;
3352   unsigned int d_count ;
3353   spinlock_t d_lock ;
3354   struct dentry_operations const *d_op ;
3355   struct super_block *d_sb ;
3356   unsigned long d_time ;
3357   void *d_fsdata ;
3358   struct list_head d_lru ;
3359   union __anonunion_d_u_243 d_u ;
3360   struct list_head d_subdirs ;
3361   struct list_head d_alias ;
3362};
3363# 159 "include/linux/dcache.h"
3364struct dentry_operations {
3365   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
3366   int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
3367   int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
3368                    struct inode const * , unsigned int , char const * , struct qstr const * ) ;
3369   int (*d_delete)(struct dentry const * ) ;
3370   void (*d_release)(struct dentry * ) ;
3371   void (*d_iput)(struct dentry * , struct inode * ) ;
3372   char *(*d_dname)(struct dentry * , char * , int ) ;
3373   struct vfsmount *(*d_automount)(struct path * ) ;
3374   int (*d_manage)(struct dentry * , bool ) ;
3375} __attribute__((__aligned__((1) << (6) ))) ;
3376# 4 "include/linux/path.h"
3377struct dentry;
3378# 5 "include/linux/path.h"
3379struct vfsmount;
3380# 7 "include/linux/path.h"
3381struct path {
3382   struct vfsmount *mnt ;
3383   struct dentry *dentry ;
3384};
3385# 57 "include/linux/radix-tree.h"
3386struct radix_tree_node;
3387# 57 "include/linux/radix-tree.h"
3388struct radix_tree_node;
3389# 57 "include/linux/radix-tree.h"
3390struct radix_tree_root {
3391   unsigned int height ;
3392   gfp_t gfp_mask ;
3393   struct radix_tree_node *rnode ;
3394};
3395# 16 "include/linux/fiemap.h"
3396struct fiemap_extent {
3397   __u64 fe_logical ;
3398   __u64 fe_physical ;
3399   __u64 fe_length ;
3400   __u64 fe_reserved64[2] ;
3401   __u32 fe_flags ;
3402   __u32 fe_reserved[3] ;
3403};
3404# 399 "include/linux/fs.h"
3405struct export_operations;
3406# 399 "include/linux/fs.h"
3407struct export_operations;
3408# 399 "include/linux/fs.h"
3409struct export_operations;
3410# 400 "include/linux/fs.h"
3411struct hd_geometry;
3412# 401 "include/linux/fs.h"
3413struct iovec;
3414# 402 "include/linux/fs.h"
3415struct nameidata;
3416# 403 "include/linux/fs.h"
3417struct kiocb;
3418# 404 "include/linux/fs.h"
3419struct kobject;
3420# 405 "include/linux/fs.h"
3421struct pipe_inode_info;
3422# 406 "include/linux/fs.h"
3423struct poll_table_struct;
3424# 406 "include/linux/fs.h"
3425struct poll_table_struct;
3426# 406 "include/linux/fs.h"
3427struct poll_table_struct;
3428# 407 "include/linux/fs.h"
3429struct kstatfs;
3430# 407 "include/linux/fs.h"
3431struct kstatfs;
3432# 407 "include/linux/fs.h"
3433struct kstatfs;
3434# 408 "include/linux/fs.h"
3435struct vm_area_struct;
3436# 409 "include/linux/fs.h"
3437struct vfsmount;
3438# 410 "include/linux/fs.h"
3439struct cred;
3440# 460 "include/linux/fs.h"
3441struct iattr {
3442   unsigned int ia_valid ;
3443   umode_t ia_mode ;
3444   uid_t ia_uid ;
3445   gid_t ia_gid ;
3446   loff_t ia_size ;
3447   struct timespec ia_atime ;
3448   struct timespec ia_mtime ;
3449   struct timespec ia_ctime ;
3450   struct file *ia_file ;
3451};
3452# 129 "include/linux/quota.h"
3453struct if_dqinfo {
3454   __u64 dqi_bgrace ;
3455   __u64 dqi_igrace ;
3456   __u32 dqi_flags ;
3457   __u32 dqi_valid ;
3458};
3459# 50 "include/linux/dqblk_xfs.h"
3460struct fs_disk_quota {
3461   __s8 d_version ;
3462   __s8 d_flags ;
3463   __u16 d_fieldmask ;
3464   __u32 d_id ;
3465   __u64 d_blk_hardlimit ;
3466   __u64 d_blk_softlimit ;
3467   __u64 d_ino_hardlimit ;
3468   __u64 d_ino_softlimit ;
3469   __u64 d_bcount ;
3470   __u64 d_icount ;
3471   __s32 d_itimer ;
3472   __s32 d_btimer ;
3473   __u16 d_iwarns ;
3474   __u16 d_bwarns ;
3475   __s32 d_padding2 ;
3476   __u64 d_rtb_hardlimit ;
3477   __u64 d_rtb_softlimit ;
3478   __u64 d_rtbcount ;
3479   __s32 d_rtbtimer ;
3480   __u16 d_rtbwarns ;
3481   __s16 d_padding3 ;
3482   char d_padding4[8] ;
3483};
3484# 146 "include/linux/dqblk_xfs.h"
3485struct fs_qfilestat {
3486   __u64 qfs_ino ;
3487   __u64 qfs_nblks ;
3488   __u32 qfs_nextents ;
3489};
3490# 146 "include/linux/dqblk_xfs.h"
3491typedef struct fs_qfilestat fs_qfilestat_t;
3492# 152 "include/linux/dqblk_xfs.h"
3493struct fs_quota_stat {
3494   __s8 qs_version ;
3495   __u16 qs_flags ;
3496   __s8 qs_pad ;
3497   fs_qfilestat_t qs_uquota ;
3498   fs_qfilestat_t qs_gquota ;
3499   __u32 qs_incoredqs ;
3500   __s32 qs_btimelimit ;
3501   __s32 qs_itimelimit ;
3502   __s32 qs_rtbtimelimit ;
3503   __u16 qs_bwarnlimit ;
3504   __u16 qs_iwarnlimit ;
3505};
3506# 17 "include/linux/dqblk_qtree.h"
3507struct dquot;
3508# 17 "include/linux/dqblk_qtree.h"
3509struct dquot;
3510# 17 "include/linux/dqblk_qtree.h"
3511struct dquot;
3512# 185 "include/linux/quota.h"
3513typedef __kernel_uid32_t qid_t;
3514# 186 "include/linux/quota.h"
3515typedef long long qsize_t;
3516# 200 "include/linux/quota.h"
3517struct mem_dqblk {
3518   qsize_t dqb_bhardlimit ;
3519   qsize_t dqb_bsoftlimit ;
3520   qsize_t dqb_curspace ;
3521   qsize_t dqb_rsvspace ;
3522   qsize_t dqb_ihardlimit ;
3523   qsize_t dqb_isoftlimit ;
3524   qsize_t dqb_curinodes ;
3525   time_t dqb_btime ;
3526   time_t dqb_itime ;
3527};
3528# 215 "include/linux/quota.h"
3529struct quota_format_type;
3530# 215 "include/linux/quota.h"
3531struct quota_format_type;
3532# 215 "include/linux/quota.h"
3533struct quota_format_type;
3534# 217 "include/linux/quota.h"
3535struct mem_dqinfo {
3536   struct quota_format_type *dqi_format ;
3537   int dqi_fmt_id ;
3538   struct list_head dqi_dirty_list ;
3539   unsigned long dqi_flags ;
3540   unsigned int dqi_bgrace ;
3541   unsigned int dqi_igrace ;
3542   qsize_t dqi_maxblimit ;
3543   qsize_t dqi_maxilimit ;
3544   void *dqi_priv ;
3545};
3546# 230 "include/linux/quota.h"
3547struct super_block;
3548# 284 "include/linux/quota.h"
3549struct dquot {
3550   struct hlist_node dq_hash ;
3551   struct list_head dq_inuse ;
3552   struct list_head dq_free ;
3553   struct list_head dq_dirty ;
3554   struct mutex dq_lock ;
3555   atomic_t dq_count ;
3556   wait_queue_head_t dq_wait_unused ;
3557   struct super_block *dq_sb ;
3558   unsigned int dq_id ;
3559   loff_t dq_off ;
3560   unsigned long dq_flags ;
3561   short dq_type ;
3562   struct mem_dqblk dq_dqb ;
3563};
3564# 301 "include/linux/quota.h"
3565struct quota_format_ops {
3566   int (*check_quota_file)(struct super_block *sb , int type ) ;
3567   int (*read_file_info)(struct super_block *sb , int type ) ;
3568   int (*write_file_info)(struct super_block *sb , int type ) ;
3569   int (*free_file_info)(struct super_block *sb , int type ) ;
3570   int (*read_dqblk)(struct dquot *dquot ) ;
3571   int (*commit_dqblk)(struct dquot *dquot ) ;
3572   int (*release_dqblk)(struct dquot *dquot ) ;
3573};
3574# 312 "include/linux/quota.h"
3575struct dquot_operations {
3576   int (*write_dquot)(struct dquot * ) ;
3577   struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
3578   void (*destroy_dquot)(struct dquot * ) ;
3579   int (*acquire_dquot)(struct dquot * ) ;
3580   int (*release_dquot)(struct dquot * ) ;
3581   int (*mark_dirty)(struct dquot * ) ;
3582   int (*write_info)(struct super_block * , int ) ;
3583   qsize_t *(*get_reserved_space)(struct inode * ) ;
3584};
3585# 325 "include/linux/quota.h"
3586struct path;
3587# 328 "include/linux/quota.h"
3588struct quotactl_ops {
3589   int (*quota_on)(struct super_block * , int , int , struct path * ) ;
3590   int (*quota_on_meta)(struct super_block * , int , int ) ;
3591   int (*quota_off)(struct super_block * , int ) ;
3592   int (*quota_sync)(struct super_block * , int , int ) ;
3593   int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
3594   int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
3595   int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3596   int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3597   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
3598   int (*set_xstate)(struct super_block * , unsigned int , int ) ;
3599};
3600# 341 "include/linux/quota.h"
3601struct quota_format_type {
3602   int qf_fmt_id ;
3603   struct quota_format_ops const *qf_ops ;
3604   struct module *qf_owner ;
3605   struct quota_format_type *qf_next ;
3606};
3607# 395 "include/linux/quota.h"
3608struct quota_info {
3609   unsigned int flags ;
3610   struct mutex dqio_mutex ;
3611   struct mutex dqonoff_mutex ;
3612   struct rw_semaphore dqptr_sem ;
3613   struct inode *files[2] ;
3614   struct mem_dqinfo info[2] ;
3615   struct quota_format_ops const *ops[2] ;
3616};
3617# 523 "include/linux/fs.h"
3618struct page;
3619# 524 "include/linux/fs.h"
3620struct address_space;
3621# 525 "include/linux/fs.h"
3622struct writeback_control;
3623# 568 "include/linux/fs.h"
3624union __anonunion_arg_250 {
3625   char *buf ;
3626   void *data ;
3627};
3628# 568 "include/linux/fs.h"
3629struct __anonstruct_read_descriptor_t_249 {
3630   size_t written ;
3631   size_t count ;
3632   union __anonunion_arg_250 arg ;
3633   int error ;
3634};
3635# 568 "include/linux/fs.h"
3636typedef struct __anonstruct_read_descriptor_t_249 read_descriptor_t;
3637# 581 "include/linux/fs.h"
3638struct address_space_operations {
3639   int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
3640   int (*readpage)(struct file * , struct page * ) ;
3641   int (*writepages)(struct address_space * , struct writeback_control * ) ;
3642   int (*set_page_dirty)(struct page *page ) ;
3643   int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
3644                    unsigned int nr_pages ) ;
3645   int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
3646                      unsigned int len , unsigned int flags , struct page **pagep ,
3647                      void **fsdata ) ;
3648   int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
3649                    unsigned int copied , struct page *page , void *fsdata ) ;
3650   sector_t (*bmap)(struct address_space * , sector_t ) ;
3651   void (*invalidatepage)(struct page * , unsigned long ) ;
3652   int (*releasepage)(struct page * , gfp_t ) ;
3653   void (*freepage)(struct page * ) ;
3654   ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
3655                        unsigned long nr_segs ) ;
3656   int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
3657   int (*migratepage)(struct address_space * , struct page * , struct page * ) ;
3658   int (*launder_page)(struct page * ) ;
3659   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
3660   int (*error_remove_page)(struct address_space * , struct page * ) ;
3661};
3662# 633 "include/linux/fs.h"
3663struct backing_dev_info;
3664# 634 "include/linux/fs.h"
3665struct address_space {
3666   struct inode *host ;
3667   struct radix_tree_root page_tree ;
3668   spinlock_t tree_lock ;
3669   unsigned int i_mmap_writable ;
3670   struct prio_tree_root i_mmap ;
3671   struct list_head i_mmap_nonlinear ;
3672   struct mutex i_mmap_mutex ;
3673   unsigned long nrpages ;
3674   unsigned long writeback_index ;
3675   struct address_space_operations const *a_ops ;
3676   unsigned long flags ;
3677   struct backing_dev_info *backing_dev_info ;
3678   spinlock_t private_lock ;
3679   struct list_head private_list ;
3680   struct address_space *assoc_mapping ;
3681} __attribute__((__aligned__(sizeof(long )))) ;
3682# 658 "include/linux/fs.h"
3683struct hd_struct;
3684# 658 "include/linux/fs.h"
3685struct hd_struct;
3686# 658 "include/linux/fs.h"
3687struct block_device {
3688   dev_t bd_dev ;
3689   int bd_openers ;
3690   struct inode *bd_inode ;
3691   struct super_block *bd_super ;
3692   struct mutex bd_mutex ;
3693   struct list_head bd_inodes ;
3694   void *bd_claiming ;
3695   void *bd_holder ;
3696   int bd_holders ;
3697   bool bd_write_holder ;
3698   struct list_head bd_holder_disks ;
3699   struct block_device *bd_contains ;
3700   unsigned int bd_block_size ;
3701   struct hd_struct *bd_part ;
3702   unsigned int bd_part_count ;
3703   int bd_invalidated ;
3704   struct gendisk *bd_disk ;
3705   struct list_head bd_list ;
3706   unsigned long bd_private ;
3707   int bd_fsfreeze_count ;
3708   struct mutex bd_fsfreeze_mutex ;
3709};
3710# 735 "include/linux/fs.h"
3711struct posix_acl;
3712# 735 "include/linux/fs.h"
3713struct posix_acl;
3714# 735 "include/linux/fs.h"
3715struct posix_acl;
3716# 738 "include/linux/fs.h"
3717struct inode_operations;
3718# 738 "include/linux/fs.h"
3719struct inode_operations;
3720# 738 "include/linux/fs.h"
3721union __anonunion____missing_field_name_251 {
3722   struct list_head i_dentry ;
3723   struct rcu_head i_rcu ;
3724};
3725# 738 "include/linux/fs.h"
3726struct file_operations;
3727# 738 "include/linux/fs.h"
3728struct file_operations;
3729# 738 "include/linux/fs.h"
3730struct file_lock;
3731# 738 "include/linux/fs.h"
3732struct file_lock;
3733# 738 "include/linux/fs.h"
3734struct cdev;
3735# 738 "include/linux/fs.h"
3736struct cdev;
3737# 738 "include/linux/fs.h"
3738union __anonunion____missing_field_name_252 {
3739   struct pipe_inode_info *i_pipe ;
3740   struct block_device *i_bdev ;
3741   struct cdev *i_cdev ;
3742};
3743# 738 "include/linux/fs.h"
3744struct inode {
3745   umode_t i_mode ;
3746   uid_t i_uid ;
3747   gid_t i_gid ;
3748   struct inode_operations const *i_op ;
3749   struct super_block *i_sb ;
3750   spinlock_t i_lock ;
3751   unsigned int i_flags ;
3752   unsigned long i_state ;
3753   void *i_security ;
3754   struct mutex i_mutex ;
3755   unsigned long dirtied_when ;
3756   struct hlist_node i_hash ;
3757   struct list_head i_wb_list ;
3758   struct list_head i_lru ;
3759   struct list_head i_sb_list ;
3760   union __anonunion____missing_field_name_251 __annonCompField42 ;
3761   unsigned long i_ino ;
3762   atomic_t i_count ;
3763   unsigned int i_nlink ;
3764   dev_t i_rdev ;
3765   unsigned int i_blkbits ;
3766   u64 i_version ;
3767   loff_t i_size ;
3768   struct timespec i_atime ;
3769   struct timespec i_mtime ;
3770   struct timespec i_ctime ;
3771   blkcnt_t i_blocks ;
3772   unsigned short i_bytes ;
3773   struct rw_semaphore i_alloc_sem ;
3774   struct file_operations const *i_fop ;
3775   struct file_lock *i_flock ;
3776   struct address_space *i_mapping ;
3777   struct address_space i_data ;
3778   struct dquot *i_dquot[2] ;
3779   struct list_head i_devices ;
3780   union __anonunion____missing_field_name_252 __annonCompField43 ;
3781   __u32 i_generation ;
3782   __u32 i_fsnotify_mask ;
3783   struct hlist_head i_fsnotify_marks ;
3784   atomic_t i_readcount ;
3785   atomic_t i_writecount ;
3786   struct posix_acl *i_acl ;
3787   struct posix_acl *i_default_acl ;
3788   void *i_private ;
3789};
3790# 903 "include/linux/fs.h"
3791struct fown_struct {
3792   rwlock_t lock ;
3793   struct pid *pid ;
3794   enum pid_type pid_type ;
3795   uid_t uid ;
3796   uid_t euid ;
3797   int signum ;
3798};
3799# 914 "include/linux/fs.h"
3800struct file_ra_state {
3801   unsigned long start ;
3802   unsigned int size ;
3803   unsigned int async_size ;
3804   unsigned int ra_pages ;
3805   unsigned int mmap_miss ;
3806   loff_t prev_pos ;
3807};
3808# 937 "include/linux/fs.h"
3809union __anonunion_f_u_253 {
3810   struct list_head fu_list ;
3811   struct rcu_head fu_rcuhead ;
3812};
3813# 937 "include/linux/fs.h"
3814struct file {
3815   union __anonunion_f_u_253 f_u ;
3816   struct path f_path ;
3817   struct file_operations const *f_op ;
3818   spinlock_t f_lock ;
3819   int f_sb_list_cpu ;
3820   atomic_long_t f_count ;
3821   unsigned int f_flags ;
3822   fmode_t f_mode ;
3823   loff_t f_pos ;
3824   struct fown_struct f_owner ;
3825   struct cred const *f_cred ;
3826   struct file_ra_state f_ra ;
3827   u64 f_version ;
3828   void *f_security ;
3829   void *private_data ;
3830   struct list_head f_ep_links ;
3831   struct address_space *f_mapping ;
3832   unsigned long f_mnt_write_state ;
3833};
3834# 1064 "include/linux/fs.h"
3835typedef struct files_struct *fl_owner_t;
3836# 1066 "include/linux/fs.h"
3837struct file_lock_operations {
3838   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3839   void (*fl_release_private)(struct file_lock * ) ;
3840};
3841# 1071 "include/linux/fs.h"
3842struct lock_manager_operations {
3843   int (*fl_compare_owner)(struct file_lock * , struct file_lock * ) ;
3844   void (*fl_notify)(struct file_lock * ) ;
3845   int (*fl_grant)(struct file_lock * , struct file_lock * , int ) ;
3846   void (*fl_release_private)(struct file_lock * ) ;
3847   void (*fl_break)(struct file_lock * ) ;
3848   int (*fl_change)(struct file_lock ** , int ) ;
3849};
3850# 8 "include/linux/nfs_fs_i.h"
3851struct nlm_lockowner;
3852# 8 "include/linux/nfs_fs_i.h"
3853struct nlm_lockowner;
3854# 8 "include/linux/nfs_fs_i.h"
3855struct nlm_lockowner;
3856# 13 "include/linux/nfs_fs_i.h"
3857struct nfs_lock_info {
3858   u32 state ;
3859   struct nlm_lockowner *owner ;
3860   struct list_head list ;
3861};
3862# 19 "include/linux/nfs_fs_i.h"
3863struct nfs4_lock_state;
3864# 19 "include/linux/nfs_fs_i.h"
3865struct nfs4_lock_state;
3866# 19 "include/linux/nfs_fs_i.h"
3867struct nfs4_lock_state;
3868# 20 "include/linux/nfs_fs_i.h"
3869struct nfs4_lock_info {
3870   struct nfs4_lock_state *owner ;
3871};
3872# 1091 "include/linux/fs.h"
3873struct fasync_struct;
3874# 1091 "include/linux/fs.h"
3875struct fasync_struct;
3876# 1091 "include/linux/fs.h"
3877struct __anonstruct_afs_255 {
3878   struct list_head link ;
3879   int state ;
3880};
3881# 1091 "include/linux/fs.h"
3882union __anonunion_fl_u_254 {
3883   struct nfs_lock_info nfs_fl ;
3884   struct nfs4_lock_info nfs4_fl ;
3885   struct __anonstruct_afs_255 afs ;
3886};
3887# 1091 "include/linux/fs.h"
3888struct file_lock {
3889   struct file_lock *fl_next ;
3890   struct list_head fl_link ;
3891   struct list_head fl_block ;
3892   fl_owner_t fl_owner ;
3893   unsigned char fl_flags ;
3894   unsigned char fl_type ;
3895   unsigned int fl_pid ;
3896   struct pid *fl_nspid ;
3897   wait_queue_head_t fl_wait ;
3898   struct file *fl_file ;
3899   loff_t fl_start ;
3900   loff_t fl_end ;
3901   struct fasync_struct *fl_fasync ;
3902   unsigned long fl_break_time ;
3903   struct file_lock_operations const *fl_ops ;
3904   struct lock_manager_operations const *fl_lmops ;
3905   union __anonunion_fl_u_254 fl_u ;
3906};
3907# 1324 "include/linux/fs.h"
3908struct fasync_struct {
3909   spinlock_t fa_lock ;
3910   int magic ;
3911   int fa_fd ;
3912   struct fasync_struct *fa_next ;
3913   struct file *fa_file ;
3914   struct rcu_head fa_rcu ;
3915};
3916# 1364 "include/linux/fs.h"
3917struct file_system_type;
3918# 1364 "include/linux/fs.h"
3919struct file_system_type;
3920# 1364 "include/linux/fs.h"
3921struct super_operations;
3922# 1364 "include/linux/fs.h"
3923struct super_operations;
3924# 1364 "include/linux/fs.h"
3925struct xattr_handler;
3926# 1364 "include/linux/fs.h"
3927struct xattr_handler;
3928# 1364 "include/linux/fs.h"
3929struct super_block {
3930   struct list_head s_list ;
3931   dev_t s_dev ;
3932   unsigned char s_dirt ;
3933   unsigned char s_blocksize_bits ;
3934   unsigned long s_blocksize ;
3935   loff_t s_maxbytes ;
3936   struct file_system_type *s_type ;
3937   struct super_operations const *s_op ;
3938   struct dquot_operations const *dq_op ;
3939   struct quotactl_ops const *s_qcop ;
3940   struct export_operations const *s_export_op ;
3941   unsigned long s_flags ;
3942   unsigned long s_magic ;
3943   struct dentry *s_root ;
3944   struct rw_semaphore s_umount ;
3945   struct mutex s_lock ;
3946   int s_count ;
3947   atomic_t s_active ;
3948   void *s_security ;
3949   struct xattr_handler const **s_xattr ;
3950   struct list_head s_inodes ;
3951   struct hlist_bl_head s_anon ;
3952   struct list_head *s_files ;
3953   struct list_head s_dentry_lru ;
3954   int s_nr_dentry_unused ;
3955   struct block_device *s_bdev ;
3956   struct backing_dev_info *s_bdi ;
3957   struct mtd_info *s_mtd ;
3958   struct list_head s_instances ;
3959   struct quota_info s_dquot ;
3960   int s_frozen ;
3961   wait_queue_head_t s_wait_unfrozen ;
3962   char s_id[32] ;
3963   u8 s_uuid[16] ;
3964   void *s_fs_info ;
3965   fmode_t s_mode ;
3966   u32 s_time_gran ;
3967   struct mutex s_vfs_rename_mutex ;
3968   char *s_subtype ;
3969   char *s_options ;
3970   struct dentry_operations const *s_d_op ;
3971   int cleancache_poolid ;
3972};
3973# 1499 "include/linux/fs.h"
3974struct fiemap_extent_info {
3975   unsigned int fi_flags ;
3976   unsigned int fi_extents_mapped ;
3977   unsigned int fi_extents_max ;
3978   struct fiemap_extent *fi_extents_start ;
3979};
3980# 1546 "include/linux/fs.h"
3981struct file_operations {
3982   struct module *owner ;
3983   loff_t (*llseek)(struct file * , loff_t , int ) ;
3984   ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
3985   ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
3986   ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
3987                       loff_t ) ;
3988   ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
3989                        loff_t ) ;
3990   int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
3991                                                   loff_t , u64 , unsigned int ) ) ;
3992   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
3993   long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
3994   long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
3995   int (*mmap)(struct file * , struct vm_area_struct * ) ;
3996   int (*open)(struct inode * , struct file * ) ;
3997   int (*flush)(struct file * , fl_owner_t id ) ;
3998   int (*release)(struct inode * , struct file * ) ;
3999   int (*fsync)(struct file * , int datasync ) ;
4000   int (*aio_fsync)(struct kiocb * , int datasync ) ;
4001   int (*fasync)(int , struct file * , int ) ;
4002   int (*lock)(struct file * , int , struct file_lock * ) ;
4003   ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
4004                       int ) ;
4005   unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
4006                                      unsigned long , unsigned long ) ;
4007   int (*check_flags)(int ) ;
4008   int (*flock)(struct file * , int , struct file_lock * ) ;
4009   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
4010                           unsigned int ) ;
4011   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
4012                          unsigned int ) ;
4013   int (*setlease)(struct file * , long , struct file_lock ** ) ;
4014   long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
4015};
4016# 1578 "include/linux/fs.h"
4017struct inode_operations {
4018   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
4019   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
4020   int (*permission)(struct inode * , int , unsigned int ) ;
4021   int (*check_acl)(struct inode * , int , unsigned int ) ;
4022   int (*readlink)(struct dentry * , char * , int ) ;
4023   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
4024   int (*create)(struct inode * , struct dentry * , int , struct nameidata * ) ;
4025   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
4026   int (*unlink)(struct inode * , struct dentry * ) ;
4027   int (*symlink)(struct inode * , struct dentry * , char const * ) ;
4028   int (*mkdir)(struct inode * , struct dentry * , int ) ;
4029   int (*rmdir)(struct inode * , struct dentry * ) ;
4030   int (*mknod)(struct inode * , struct dentry * , int , dev_t ) ;
4031   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
4032   void (*truncate)(struct inode * ) ;
4033   int (*setattr)(struct dentry * , struct iattr * ) ;
4034   int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
4035   int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
4036   ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
4037   ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
4038   int (*removexattr)(struct dentry * , char const * ) ;
4039   void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
4040   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
4041} __attribute__((__aligned__((1) << (6) ))) ;
4042# 1608 "include/linux/fs.h"
4043struct seq_file;
4044# 1622 "include/linux/fs.h"
4045struct super_operations {
4046   struct inode *(*alloc_inode)(struct super_block *sb ) ;
4047   void (*destroy_inode)(struct inode * ) ;
4048   void (*dirty_inode)(struct inode * , int flags ) ;
4049   int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
4050   int (*drop_inode)(struct inode * ) ;
4051   void (*evict_inode)(struct inode * ) ;
4052   void (*put_super)(struct super_block * ) ;
4053   void (*write_super)(struct super_block * ) ;
4054   int (*sync_fs)(struct super_block *sb , int wait ) ;
4055   int (*freeze_fs)(struct super_block * ) ;
4056   int (*unfreeze_fs)(struct super_block * ) ;
4057   int (*statfs)(struct dentry * , struct kstatfs * ) ;
4058   int (*remount_fs)(struct super_block * , int * , char * ) ;
4059   void (*umount_begin)(struct super_block * ) ;
4060   int (*show_options)(struct seq_file * , struct vfsmount * ) ;
4061   int (*show_devname)(struct seq_file * , struct vfsmount * ) ;
4062   int (*show_path)(struct seq_file * , struct vfsmount * ) ;
4063   int (*show_stats)(struct seq_file * , struct vfsmount * ) ;
4064   ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
4065   ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
4066                          loff_t ) ;
4067   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
4068};
4069# 1802 "include/linux/fs.h"
4070struct file_system_type {
4071   char const *name ;
4072   int fs_flags ;
4073   struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
4074   void (*kill_sb)(struct super_block * ) ;
4075   struct module *owner ;
4076   struct file_system_type *next ;
4077   struct list_head fs_supers ;
4078   struct lock_class_key s_lock_key ;
4079   struct lock_class_key s_umount_key ;
4080   struct lock_class_key s_vfs_rename_key ;
4081   struct lock_class_key i_lock_key ;
4082   struct lock_class_key i_mutex_key ;
4083   struct lock_class_key i_mutex_dir_key ;
4084   struct lock_class_key i_alloc_sem_key ;
4085};
4086# 25 "include/linux/usb.h"
4087struct usb_device;
4088# 25 "include/linux/usb.h"
4089struct usb_device;
4090# 25 "include/linux/usb.h"
4091struct usb_device;
4092# 27 "include/linux/usb.h"
4093struct wusb_dev;
4094# 27 "include/linux/usb.h"
4095struct wusb_dev;
4096# 27 "include/linux/usb.h"
4097struct wusb_dev;
4098# 47 "include/linux/usb.h"
4099struct ep_device;
4100# 47 "include/linux/usb.h"
4101struct ep_device;
4102# 47 "include/linux/usb.h"
4103struct ep_device;
4104# 64 "include/linux/usb.h"
4105struct usb_host_endpoint {
4106   struct usb_endpoint_descriptor desc ;
4107   struct usb_ss_ep_comp_descriptor ss_ep_comp ;
4108   struct list_head urb_list ;
4109   void *hcpriv ;
4110   struct ep_device *ep_dev ;
4111   unsigned char *extra ;
4112   int extralen ;
4113   int enabled ;
4114};
4115# 77 "include/linux/usb.h"
4116struct usb_host_interface {
4117   struct usb_interface_descriptor desc ;
4118   struct usb_host_endpoint *endpoint ;
4119   char *string ;
4120   unsigned char *extra ;
4121   int extralen ;
4122};
4123# 90 "include/linux/usb.h"
4124enum usb_interface_condition {
4125    USB_INTERFACE_UNBOUND = 0,
4126    USB_INTERFACE_BINDING = 1,
4127    USB_INTERFACE_BOUND = 2,
4128    USB_INTERFACE_UNBINDING = 3
4129} ;
4130# 159 "include/linux/usb.h"
4131struct usb_interface {
4132   struct usb_host_interface *altsetting ;
4133   struct usb_host_interface *cur_altsetting ;
4134   unsigned int num_altsetting ;
4135   struct usb_interface_assoc_descriptor *intf_assoc ;
4136   int minor ;
4137   enum usb_interface_condition condition ;
4138   unsigned int sysfs_files_created : 1 ;
4139   unsigned int ep_devs_created : 1 ;
4140   unsigned int unregistering : 1 ;
4141   unsigned int needs_remote_wakeup : 1 ;
4142   unsigned int needs_altsetting0 : 1 ;
4143   unsigned int needs_binding : 1 ;
4144   unsigned int reset_running : 1 ;
4145   unsigned int resetting_device : 1 ;
4146   struct device dev ;
4147   struct device *usb_dev ;
4148   atomic_t pm_usage_cnt ;
4149   struct work_struct reset_ws ;
4150};
4151# 222 "include/linux/usb.h"
4152struct usb_interface_cache {
4153   unsigned int num_altsetting ;
4154   struct kref ref ;
4155   struct usb_host_interface altsetting[0] ;
4156};
4157# 274 "include/linux/usb.h"
4158struct usb_host_config {
4159   struct usb_config_descriptor desc ;
4160   char *string ;
4161   struct usb_interface_assoc_descriptor *intf_assoc[16] ;
4162   struct usb_interface *interface[32] ;
4163   struct usb_interface_cache *intf_cache[32] ;
4164   unsigned char *extra ;
4165   int extralen ;
4166};
4167# 305 "include/linux/usb.h"
4168struct usb_devmap {
4169   unsigned long devicemap[128UL / (8UL * sizeof(unsigned long ))] ;
4170};
4171# 312 "include/linux/usb.h"
4172struct mon_bus;
4173# 312 "include/linux/usb.h"
4174struct mon_bus;
4175# 312 "include/linux/usb.h"
4176struct usb_bus {
4177   struct device *controller ;
4178   int busnum ;
4179   char const *bus_name ;
4180   u8 uses_dma ;
4181   u8 uses_pio_for_control ;
4182   u8 otg_port ;
4183   unsigned int is_b_host : 1 ;
4184   unsigned int b_hnp_enable : 1 ;
4185   unsigned int sg_tablesize ;
4186   int devnum_next ;
4187   struct usb_devmap devmap ;
4188   struct usb_device *root_hub ;
4189   struct usb_bus *hs_companion ;
4190   struct list_head bus_list ;
4191   int bandwidth_allocated ;
4192   int bandwidth_int_reqs ;
4193   int bandwidth_isoc_reqs ;
4194   struct dentry *usbfs_dentry ;
4195   struct mon_bus *mon_bus ;
4196   int monitored ;
4197};
4198# 367 "include/linux/usb.h"
4199struct usb_tt;
4200# 367 "include/linux/usb.h"
4201struct usb_tt;
4202# 367 "include/linux/usb.h"
4203struct usb_tt;
4204# 426 "include/linux/usb.h"
4205struct usb_device {
4206   int devnum ;
4207   char devpath[16] ;
4208   u32 route ;
4209   enum usb_device_state state ;
4210   enum usb_device_speed speed ;
4211   struct usb_tt *tt ;
4212   int ttport ;
4213   unsigned int toggle[2] ;
4214   struct usb_device *parent ;
4215   struct usb_bus *bus ;
4216   struct usb_host_endpoint ep0 ;
4217   struct device dev ;
4218   struct usb_device_descriptor descriptor ;
4219   struct usb_host_config *config ;
4220   struct usb_host_config *actconfig ;
4221   struct usb_host_endpoint *ep_in[16] ;
4222   struct usb_host_endpoint *ep_out[16] ;
4223   char **rawdescriptors ;
4224   unsigned short bus_mA ;
4225   u8 portnum ;
4226   u8 level ;
4227   unsigned int can_submit : 1 ;
4228   unsigned int persist_enabled : 1 ;
4229   unsigned int have_langid : 1 ;
4230   unsigned int authorized : 1 ;
4231   unsigned int authenticated : 1 ;
4232   unsigned int wusb : 1 ;
4233   int string_langid ;
4234   char *product ;
4235   char *manufacturer ;
4236   char *serial ;
4237   struct list_head filelist ;
4238   struct device *usb_classdev ;
4239   struct dentry *usbfs_dentry ;
4240   int maxchild ;
4241   struct usb_device *children[31] ;
4242   u32 quirks ;
4243   atomic_t urbnum ;
4244   unsigned long active_duration ;
4245   unsigned long connect_time ;
4246   unsigned int do_remote_wakeup : 1 ;
4247   unsigned int reset_resume : 1 ;
4248   struct wusb_dev *wusb_dev ;
4249   int slot_id ;
4250};
4251# 983 "include/linux/usb.h"
4252struct usb_iso_packet_descriptor {
4253   unsigned int offset ;
4254   unsigned int length ;
4255   unsigned int actual_length ;
4256   int status ;
4257};
4258# 990 "include/linux/usb.h"
4259struct urb;
4260# 990 "include/linux/usb.h"
4261struct urb;
4262# 990 "include/linux/usb.h"
4263struct urb;
4264# 992 "include/linux/usb.h"
4265struct usb_anchor {
4266   struct list_head urb_list ;
4267   wait_queue_head_t wait ;
4268   spinlock_t lock ;
4269   unsigned int poisoned : 1 ;
4270};
4271# 1183 "include/linux/usb.h"
4272struct urb {
4273   struct kref kref ;
4274   void *hcpriv ;
4275   atomic_t use_count ;
4276   atomic_t reject ;
4277   int unlinked ;
4278   struct list_head urb_list ;
4279   struct list_head anchor_list ;
4280   struct usb_anchor *anchor ;
4281   struct usb_device *dev ;
4282   struct usb_host_endpoint *ep ;
4283   unsigned int pipe ;
4284   unsigned int stream_id ;
4285   int status ;
4286   unsigned int transfer_flags ;
4287   void *transfer_buffer ;
4288   dma_addr_t transfer_dma ;
4289   struct scatterlist *sg ;
4290   int num_sgs ;
4291   u32 transfer_buffer_length ;
4292   u32 actual_length ;
4293   unsigned char *setup_packet ;
4294   dma_addr_t setup_dma ;
4295   int start_frame ;
4296   int number_of_packets ;
4297   int interval ;
4298   int error_count ;
4299   void *context ;
4300   void (*complete)(struct urb * ) ;
4301   struct usb_iso_packet_descriptor iso_frame_desc[0] ;
4302};
4303# 1388 "include/linux/usb.h"
4304struct scatterlist;
4305# 1 "<compiler builtins>"
4306
4307# 1 "<compiler builtins>"
4308
4309# 97 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
4310__inline static void ( __attribute__((__always_inline__)) clear_bit)(int nr , unsigned long volatile *addr )
4311{
4312
4313  {
4314# 105 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
4315  __asm__ volatile (".section .smp_locks,\"a\"\n"
4316                       ".balign 4\n"
4317                       ".long 671f - .\n"
4318                       ".previous\n"
4319                       "671:"
4320                       "\n\tlock; "
4321                       "btr %1,%0": "+m" (*((long volatile *)addr)): "Ir" (nr));
4322# 109 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
4323  return;
4324}
4325}
4326# 315 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
4327__inline static int variable_test_bit(int nr , unsigned long const volatile *addr )
4328{ int oldbit ;
4329
4330  {
4331# 319 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
4332  __asm__ volatile ("bt %2,%1\n\t"
4333                       "sbb %0,%0": "=r" (oldbit): "m" (*((unsigned long *)addr)),
4334                       "Ir" (nr));
4335# 324 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
4336  return (oldbit);
4337}
4338}
4339# 11 "include/asm-generic/bitops/find.h"
4340extern unsigned long find_next_bit(unsigned long const *addr , unsigned long size ,
4341                                   unsigned long offset ) ;
4342# 35 "include/asm-generic/bitops/find.h"
4343extern unsigned long find_first_bit(unsigned long const *addr , unsigned long size ) ;
4344# 24 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/arch_hweight.h"
4345__inline static unsigned int __arch_hweight32(unsigned int w )
4346{ unsigned int res ;
4347
4348  {
4349# 26 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/arch_hweight.h"
4350  res = 0U;
4351# 28 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/arch_hweight.h"
4352  __asm__ ("661:\n\t"
4353            "call __sw_hweight32"
4354            "\n662:\n"
4355            ".section .altinstructions,\"a\"\n"
4356            " "
4357            ".balign 8"
4358            " "
4359            "\n"
4360            " "
4361            ".quad"
4362            " "
4363            "661b\n"
4364            " "
4365            ".quad"
4366            " "
4367            "663f\n"
4368            "\t .word "
4369            "(4*32+23)"
4370            "\n"
4371            "\t .byte 662b-661b\n"
4372            "\t .byte 664f-663f\n"
4373            ".previous\n"
4374            ".section .discard,\"aw\",@progbits\n"
4375            "\t .byte 0xff + (664f-663f) - (662b-661b)\n"
4376            ".previous\n"
4377            ".section .altinstr_replacement, \"ax\"\n"
4378            "663:\n\t"
4379            ".byte 0xf3,0x40,0x0f,0xb8,0xc7"
4380            "\n664:\n"
4381            ".previous": "=a" (res): "D" (w));
4382# 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/arch_hweight.h"
4383  return (res);
4384}
4385}
4386# 35 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/arch_hweight.h"
4387__inline static unsigned int __arch_hweight16(unsigned int w )
4388{ unsigned int tmp ;
4389
4390  {
4391  {
4392# 37 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/arch_hweight.h"
4393  tmp = __arch_hweight32(w & 65535U);
4394  }
4395# 37 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/arch_hweight.h"
4396  return (tmp);
4397}
4398}
4399# 51 "include/linux/log2.h"
4400__inline static bool is_power_of_2(unsigned long n ) __attribute__((__const__)) ;
4401# 51 "include/linux/log2.h"
4402__inline static bool is_power_of_2(unsigned long n ) __attribute__((__const__)) ;
4403# 51 "include/linux/log2.h"
4404__inline static bool is_power_of_2(unsigned long n )
4405{ int tmp ;
4406
4407  {
4408# 54 "include/linux/log2.h"
4409  if (n != 0UL) {
4410# 54 "include/linux/log2.h"
4411    if ((n & (n - 1UL)) == 0UL) {
4412# 54 "include/linux/log2.h"
4413      tmp = 1;
4414    } else {
4415# 54 "include/linux/log2.h"
4416      tmp = 0;
4417    }
4418  } else {
4419# 54 "include/linux/log2.h"
4420    tmp = 0;
4421  }
4422# 54 "include/linux/log2.h"
4423  return ((bool )tmp);
4424}
4425}
4426# 100 "include/linux/printk.h"
4427extern int printk(char const *fmt , ...) ;
4428# 69 "include/asm-generic/bug.h"
4429extern void warn_slowpath_null(char const *file , int const line ) ;
4430# 24 "include/linux/list.h"
4431__inline static void INIT_LIST_HEAD(struct list_head *list )
4432{
4433
4434  {
4435# 26 "include/linux/list.h"
4436  list->next = list;
4437# 27 "include/linux/list.h"
4438  list->prev = list;
4439# 28 "include/linux/list.h"
4440  return;
4441}
4442}
4443# 34 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/string_64.h"
4444extern void *__memcpy(void *to , void const *from , size_t len ) ;
4445# 55 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/string_64.h"
4446extern void *memset(void *s , int c , size_t n ) ;
4447# 60 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/string_64.h"
4448extern int memcmp(void const *cs , void const *ct , unsigned long count ) ;
4449# 27 "include/linux/string.h"
4450extern char *strncpy(char * , char const * , __kernel_size_t ) ;
4451# 84 "include/linux/string.h"
4452extern __kernel_size_t strnlen(char const * , __kernel_size_t ) ;
4453# 22 "include/linux/err.h"
4454__inline static void * __attribute__((__warn_unused_result__)) ERR_PTR(long error )
4455{
4456
4457  {
4458# 24 "include/linux/err.h"
4459  return ((void *)error);
4460}
4461}
4462# 27 "include/linux/err.h"
4463__inline static long __attribute__((__warn_unused_result__)) PTR_ERR(void const *ptr )
4464{
4465
4466  {
4467# 29 "include/linux/err.h"
4468  return ((long )ptr);
4469}
4470}
4471# 32 "include/linux/err.h"
4472__inline static long __attribute__((__warn_unused_result__)) IS_ERR(void const *ptr )
4473{ long tmp ;
4474
4475  {
4476  {
4477# 34 "include/linux/err.h"
4478  tmp = __builtin_expect((long )(! (! ((unsigned long )ptr >= 0x0ffffffffffff001UL))),
4479                         0L);
4480  }
4481# 34 "include/linux/err.h"
4482  return (tmp);
4483}
4484}
4485# 261 "include/linux/lockdep.h"
4486extern void lockdep_init_map(struct lockdep_map *lock , char const *name , struct lock_class_key *key ,
4487                             int subclass ) ;
4488# 80 "include/linux/wait.h"
4489extern void __init_waitqueue_head(wait_queue_head_t *q , struct lock_class_key * ) ;
4490# 115 "include/linux/mutex.h"
4491extern void __mutex_init(struct mutex *lock , char const *name , struct lock_class_key *key ) ;
4492# 134 "include/linux/mutex.h"
4493extern void mutex_lock_nested(struct mutex *lock , unsigned int subclass ) ;
4494# 169 "include/linux/mutex.h"
4495extern void mutex_unlock(struct mutex *lock ) ;
4496# 82 "include/linux/jiffies.h"
4497extern unsigned long volatile jiffies __attribute__((__section__(".data"))) ;
4498# 298 "include/linux/jiffies.h"
4499extern unsigned long msecs_to_jiffies(unsigned int const m ) ;
4500# 91 "include/linux/timer.h"
4501extern void init_timer_key(struct timer_list *timer , char const *name , struct lock_class_key *key ) ;
4502# 166 "include/linux/timer.h"
4503__inline static void setup_timer_key(struct timer_list *timer , char const *name ,
4504                                     struct lock_class_key *key , void (*function)(unsigned long ) ,
4505                                     unsigned long data )
4506{
4507
4508  {
4509  {
4510# 172 "include/linux/timer.h"
4511  timer->function = function;
4512# 173 "include/linux/timer.h"
4513  timer->data = data;
4514# 174 "include/linux/timer.h"
4515  init_timer_key(timer, name, key);
4516  }
4517# 175 "include/linux/timer.h"
4518  return;
4519}
4520}
4521# 210 "include/linux/timer.h"
4522extern int del_timer(struct timer_list *timer ) ;
4523# 211 "include/linux/timer.h"
4524extern int mod_timer(struct timer_list *timer , unsigned long expires ) ;
4525# 280 "include/linux/timer.h"
4526extern int del_timer_sync(struct timer_list *timer ) ;
4527# 156 "include/linux/workqueue.h"
4528extern void __init_work(struct work_struct *work , int onstack ) ;
4529# 299 "include/linux/workqueue.h"
4530extern struct workqueue_struct *__alloc_workqueue_key(char const *name , unsigned int flags ,
4531                                                      int max_active , struct lock_class_key *key ,
4532                                                      char const *lock_name ) ;
4533# 347 "include/linux/workqueue.h"
4534extern void destroy_workqueue(struct workqueue_struct *wq ) ;
4535# 349 "include/linux/workqueue.h"
4536extern int queue_work(struct workqueue_struct *wq , struct work_struct *work ) ;
4537# 372 "include/linux/workqueue.h"
4538extern bool cancel_work_sync(struct work_struct *work ) ;
4539# 76 "include/linux/completion.h"
4540static struct lock_class_key __key___2 ;
4541# 73 "include/linux/completion.h"
4542__inline static void init_completion(struct completion *x )
4543{
4544
4545  {
4546# 75 "include/linux/completion.h"
4547  x->done = 0U;
4548  {
4549# 76 "include/linux/completion.h"
4550  while (1) {
4551    while_continue: ;
4552    {
4553# 76 "include/linux/completion.h"
4554    __init_waitqueue_head(& x->wait, & __key___2);
4555    }
4556# 76 "include/linux/completion.h"
4557    goto while_break;
4558  }
4559  while_break___0: ;
4560  }
4561  while_break: ;
4562# 77 "include/linux/completion.h"
4563  return;
4564}
4565}
4566# 79 "include/linux/completion.h"
4567extern void wait_for_completion(struct completion * ) ;
4568# 91 "include/linux/completion.h"
4569extern void complete(struct completion * ) ;
4570# 830 "include/linux/rcupdate.h"
4571extern void kfree(void const * ) ;
4572# 303 "include/linux/moduleparam.h"
4573extern struct kernel_param_ops param_ops_int ;
4574# 329 "include/linux/moduleparam.h"
4575extern struct kernel_param_ops param_ops_bool ;
4576# 79 "include/linux/module.h"
4577int init_module(void) ;
4578# 80 "include/linux/module.h"
4579void cleanup_module(void) ;
4580# 99 "include/linux/module.h"
4581extern struct module __this_module ;
4582# 57 "include/linux/random.h"
4583extern void get_random_bytes(void *buf , int nbytes ) ;
4584# 221 "include/linux/slub_def.h"
4585extern void *__kmalloc(size_t size , gfp_t flags ) ;
4586# 255 "include/linux/slub_def.h"
4587__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
4588                                                                    gfp_t flags )
4589{ void *tmp___10 ;
4590
4591  {
4592  {
4593# 270 "include/linux/slub_def.h"
4594  tmp___10 = __kmalloc(size, flags);
4595  }
4596# 270 "include/linux/slub_def.h"
4597  return (tmp___10);
4598}
4599}
4600# 318 "include/linux/slab.h"
4601__inline static void *kzalloc(size_t size , gfp_t flags )
4602{ void *tmp___7 ;
4603
4604  {
4605  {
4606# 320 "include/linux/slab.h"
4607  tmp___7 = kmalloc(size, flags | 32768U);
4608  }
4609# 320 "include/linux/slab.h"
4610  return (tmp___7);
4611}
4612}
4613# 23 "include/linux/mtd/nand_ecc.h"
4614extern void __nand_calculate_ecc(u_char const *dat , unsigned int eccsize , u_char *ecc_code ) ;
4615# 34 "include/linux/mtd/nand_ecc.h"
4616extern int __nand_correct_data(u_char *dat , u_char *read_ecc , u_char *calc_ecc ,
4617                               unsigned int eccsize ) ;
4618# 42 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4619__inline static int sm_sector_valid(struct sm_oob *oob )
4620{ unsigned int tmp___7 ;
4621
4622  {
4623  {
4624# 44 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4625  tmp___7 = __arch_hweight16((unsigned int )oob->data_status);
4626  }
4627# 44 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4628  return (tmp___7 >= 5U);
4629}
4630}
4631# 47 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4632__inline static int sm_block_valid(struct sm_oob *oob )
4633{ unsigned int tmp___7 ;
4634
4635  {
4636  {
4637# 49 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4638  tmp___7 = __arch_hweight16((unsigned int )oob->block_status);
4639  }
4640# 49 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4641  return (tmp___7 >= 7U);
4642}
4643}
4644# 54 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4645__inline static int sm_block_erased(struct sm_oob *oob ) ;
4646# 54 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4647static uint32_t const erased_pattern[4] = { (uint32_t const )4294967295U, (uint32_t const )4294967295U, (uint32_t const )4294967295U, (uint32_t const )4294967295U};
4648# 52 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4649__inline static int sm_block_erased(struct sm_oob *oob )
4650{ int tmp___7 ;
4651
4652  {
4653  {
4654# 58 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4655  tmp___7 = memcmp((void const *)oob, (void const *)(erased_pattern), sizeof(*oob));
4656  }
4657# 58 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4658  if (tmp___7) {
4659
4660  } else {
4661# 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4662    return (1);
4663  }
4664# 60 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4665  return (0);
4666}
4667}
4668# 86 "include/linux/mtd/blktrans.h"
4669extern int register_mtd_blktrans(struct mtd_blktrans_ops *tr ) ;
4670# 87 "include/linux/mtd/blktrans.h"
4671extern int deregister_mtd_blktrans(struct mtd_blktrans_ops *tr ) ;
4672# 88 "include/linux/mtd/blktrans.h"
4673extern int add_mtd_blktrans_dev(struct mtd_blktrans_dev *dev ) ;
4674# 89 "include/linux/mtd/blktrans.h"
4675extern int del_mtd_blktrans_dev(struct mtd_blktrans_dev *dev ) ;
4676# 174 "include/linux/kfifo.h"
4677__inline static unsigned int __attribute__((__warn_unused_result__)) __kfifo_uint_must_check_helper(unsigned int val )
4678{
4679
4680  {
4681# 177 "include/linux/kfifo.h"
4682  return (val);
4683}
4684}
4685# 180 "include/linux/kfifo.h"
4686__inline static int __attribute__((__warn_unused_result__)) __kfifo_int_must_check_helper(int val )
4687{
4688
4689  {
4690# 183 "include/linux/kfifo.h"
4691  return (val);
4692}
4693}
4694# 790 "include/linux/kfifo.h"
4695extern int __kfifo_alloc(struct __kfifo *fifo , unsigned int size , size_t esize ,
4696                         gfp_t gfp_mask ) ;
4697# 793 "include/linux/kfifo.h"
4698extern void __kfifo_free(struct __kfifo *fifo ) ;
4699# 798 "include/linux/kfifo.h"
4700extern unsigned int __kfifo_in(struct __kfifo *fifo , void const *buf , unsigned int len ) ;
4701# 801 "include/linux/kfifo.h"
4702extern unsigned int __kfifo_out(struct __kfifo *fifo , void *buf , unsigned int len ) ;
4703# 819 "include/linux/kfifo.h"
4704extern unsigned int __kfifo_in_r(struct __kfifo *fifo , void const *buf , unsigned int len ,
4705                                 size_t recsize ) ;
4706# 822 "include/linux/kfifo.h"
4707extern unsigned int __kfifo_out_r(struct __kfifo *fifo , void *buf , unsigned int len ,
4708                                  size_t recsize ) ;
4709# 89 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/sm_ftl.h"
4710static void sm_erase_callback(struct erase_info *self ) ;
4711# 90 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/sm_ftl.h"
4712static int sm_erase_block(struct sm_ftl *ftl , int zone_num , uint16_t block , int put_free ) ;
4713# 92 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/sm_ftl.h"
4714static void sm_mark_block_bad(struct sm_ftl *ftl , int zone , int block ) ;
4715# 94 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/sm_ftl.h"
4716static int sm_recheck_media(struct sm_ftl *ftl ) ;
4717# 26 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4718struct workqueue_struct *cache_flush_workqueue ;
4719# 28 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4720static int cache_timeout = 1000;
4721# 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4722static char const __param_str_cache_timeout[14] =
4723# 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4724  { (char const )'c', (char const )'a', (char const )'c', (char const )'h',
4725        (char const )'e', (char const )'_', (char const )'t', (char const )'i',
4726        (char const )'m', (char const )'e', (char const )'o', (char const )'u',
4727        (char const )'t', (char const )'\000'};
4728# 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4729static struct kernel_param const __param_cache_timeout __attribute__((__used__,
4730__unused__, __section__("__param"), __aligned__(sizeof(void *)))) = {__param_str_cache_timeout, (struct kernel_param_ops const *)(& param_ops_bool),
4731    (u16 )292, (u16 )0, {(void *)(& cache_timeout)}};
4732# 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4733static char const __mod_cache_timeouttype29[28] __attribute__((__used__, __unused__,
4734__section__(".modinfo"), __aligned__(1))) =
4735# 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4736  { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
4737        (char const )'t', (char const )'y', (char const )'p', (char const )'e',
4738        (char const )'=', (char const )'c', (char const )'a', (char const )'c',
4739        (char const )'h', (char const )'e', (char const )'_', (char const )'t',
4740        (char const )'i', (char const )'m', (char const )'e', (char const )'o',
4741        (char const )'u', (char const )'t', (char const )':', (char const )'b',
4742        (char const )'o', (char const )'o', (char const )'l', (char const )'\000'};
4743# 30 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4744static char const __mod_cache_timeout31[68] __attribute__((__used__, __unused__,
4745__section__(".modinfo"), __aligned__(1))) =
4746# 30 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4747  { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
4748        (char const )'=', (char const )'c', (char const )'a', (char const )'c',
4749        (char const )'h', (char const )'e', (char const )'_', (char const )'t',
4750        (char const )'i', (char const )'m', (char const )'e', (char const )'o',
4751        (char const )'u', (char const )'t', (char const )':', (char const )'T',
4752        (char const )'i', (char const )'m', (char const )'e', (char const )'o',
4753        (char const )'u', (char const )'t', (char const )' ', (char const )'(',
4754        (char const )'i', (char const )'n', (char const )' ', (char const )'m',
4755        (char const )'s', (char const )')', (char const )' ', (char const )'f',
4756        (char const )'o', (char const )'r', (char const )' ', (char const )'c',
4757        (char const )'a', (char const )'c', (char const )'h', (char const )'e',
4758        (char const )' ', (char const )'f', (char const )'l', (char const )'u',
4759        (char const )'s', (char const )'h', (char const )' ', (char const )'(',
4760        (char const )'1', (char const )'0', (char const )'0', (char const )'0',
4761        (char const )' ', (char const )'m', (char const )'s', (char const )' ',
4762        (char const )'d', (char const )'e', (char const )'f', (char const )'a',
4763        (char const )'u', (char const )'l', (char const )'t', (char const )'\000'};
4764# 33 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4765static int debug ;
4766# 34 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4767static char const __param_str_debug[6] = { (char const )'d', (char const )'e', (char const )'b', (char const )'u',
4768        (char const )'g', (char const )'\000'};
4769# 34 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4770static struct kernel_param const __param_debug __attribute__((__used__, __unused__,
4771__section__("__param"), __aligned__(sizeof(void *)))) = {__param_str_debug, (struct kernel_param_ops const *)(& param_ops_int), (u16 )420,
4772    (u16 )0, {(void *)(& debug)}};
4773# 34 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4774static char const __mod_debugtype34[19] __attribute__((__used__, __unused__, __section__(".modinfo"),
4775__aligned__(1))) =
4776# 34 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4777  { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
4778        (char const )'t', (char const )'y', (char const )'p', (char const )'e',
4779        (char const )'=', (char const )'d', (char const )'e', (char const )'b',
4780        (char const )'u', (char const )'g', (char const )':', (char const )'i',
4781        (char const )'n', (char const )'t', (char const )'\000'};
4782# 35 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4783static char const __mod_debug35[29] __attribute__((__used__, __unused__, __section__(".modinfo"),
4784__aligned__(1))) =
4785# 35 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4786  { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
4787        (char const )'=', (char const )'d', (char const )'e', (char const )'b',
4788        (char const )'u', (char const )'g', (char const )':', (char const )'D',
4789        (char const )'e', (char const )'b', (char const )'u', (char const )'g',
4790        (char const )' ', (char const )'l', (char const )'e', (char const )'v',
4791        (char const )'e', (char const )'l', (char const )' ', (char const )'(',
4792        (char const )'0', (char const )'-', (char const )'2', (char const )')',
4793        (char const )'\000'};
4794# 45 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4795ssize_t sm_attr_show(struct device *dev , struct device_attribute *attr , char *buf )
4796{ struct sm_sysfs_attribute *sm_attr ;
4797  struct device_attribute const *__mptr ;
4798
4799  {
4800  {
4801# 49 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4802  __mptr = (struct device_attribute const *)attr;
4803# 49 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4804  sm_attr = (struct sm_sysfs_attribute *)((char *)__mptr - (unsigned int )(& ((struct sm_sysfs_attribute *)0)->dev_attr));
4805# 51 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4806  strncpy(buf, (char const *)sm_attr->data, (__kernel_size_t )sm_attr->len);
4807  }
4808# 52 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4809  return ((ssize_t )sm_attr->len);
4810}
4811}
4812# 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4813static struct lock_class_key __key___4 ;
4814# 58 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4815struct attribute_group *sm_create_sysfs_attributes(struct sm_ftl *ftl )
4816{ struct attribute_group *attr_group ;
4817  struct attribute **attributes ;
4818  struct sm_sysfs_attribute *vendor_attribute ;
4819  int vendor_len ;
4820  __kernel_size_t tmp___7 ;
4821  char *vendor ;
4822  void *tmp___8 ;
4823  size_t __len ;
4824  void *__ret ;
4825  void *tmp___9 ;
4826  void *tmp___10 ;
4827  void *tmp___11 ;
4828
4829  {
4830  {
4831# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4832  tmp___7 = strnlen((char const *)(ftl->cis_buffer + 89), (__kernel_size_t )167);
4833# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4834  vendor_len = (int )tmp___7;
4835# 67 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4836  tmp___8 = kmalloc((size_t )vendor_len, 208U);
4837# 67 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4838  vendor = (char *)tmp___8;
4839  }
4840# 68 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4841  if (! vendor) {
4842# 69 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4843    goto error1;
4844  } else {
4845
4846  }
4847  {
4848# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4849  __len = (size_t )vendor_len;
4850# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4851  __ret = __builtin_memcpy((void *)vendor, (void const *)(ftl->cis_buffer + 89),
4852                           __len);
4853# 71 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4854  *(vendor + vendor_len) = (char)0;
4855# 74 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4856  tmp___9 = kzalloc(sizeof(struct sm_sysfs_attribute ), 208U);
4857# 74 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4858  vendor_attribute = (struct sm_sysfs_attribute *)tmp___9;
4859  }
4860# 76 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4861  if (! vendor_attribute) {
4862# 77 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4863    goto error2;
4864  } else {
4865
4866  }
4867  {
4868# 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4869  while (1) {
4870    while_continue: ;
4871# 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4872    vendor_attribute->dev_attr.attr.key = & __key___4;
4873# 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4874    goto while_break;
4875  }
4876  while_break___0: ;
4877  }
4878  while_break:
4879  {
4880# 81 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4881  vendor_attribute->data = vendor;
4882# 82 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4883  vendor_attribute->len = vendor_len;
4884# 83 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4885  vendor_attribute->dev_attr.attr.name = "vendor";
4886# 84 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4887  vendor_attribute->dev_attr.attr.mode = (mode_t )292;
4888# 85 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4889  vendor_attribute->dev_attr.show = & sm_attr_show;
4890# 89 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4891  tmp___10 = kzalloc(sizeof(struct attribute *) * 2UL, 208U);
4892# 89 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4893  attributes = (struct attribute **)tmp___10;
4894  }
4895# 91 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4896  if (! attributes) {
4897# 92 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4898    goto error3;
4899  } else {
4900
4901  }
4902  {
4903# 93 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4904  *(attributes + 0) = & vendor_attribute->dev_attr.attr;
4905# 96 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4906  tmp___11 = kzalloc(sizeof(struct attribute_group ), 208U);
4907# 96 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4908  attr_group = (struct attribute_group *)tmp___11;
4909  }
4910# 97 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4911  if (! attr_group) {
4912# 98 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4913    goto error4;
4914  } else {
4915
4916  }
4917# 99 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4918  attr_group->attrs = attributes;
4919# 100 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4920  return (attr_group);
4921  error4:
4922  {
4923# 102 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4924  kfree((void const *)attributes);
4925  }
4926  error3:
4927  {
4928# 104 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4929  kfree((void const *)vendor_attribute);
4930  }
4931  error2:
4932  {
4933# 106 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4934  kfree((void const *)vendor);
4935  }
4936  error1:
4937# 108 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4938  return ((struct attribute_group *)((void *)0));
4939}
4940}
4941# 111 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4942void sm_delete_sysfs_attributes(struct sm_ftl *ftl )
4943{ struct attribute **attributes ;
4944  int i ;
4945  struct device_attribute *dev_attr ;
4946  struct attribute const *__mptr ;
4947  struct sm_sysfs_attribute *sm_attr ;
4948  struct device_attribute const *__mptr___0 ;
4949
4950  {
4951# 113 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4952  attributes = (ftl->disk_attributes)->attrs;
4953# 116 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4954  i = 0;
4955  {
4956# 116 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4957  while (1) {
4958    while_continue: ;
4959# 116 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4960    if (*(attributes + i)) {
4961
4962    } else {
4963# 116 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4964      goto while_break;
4965    }
4966    {
4967# 118 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4968    __mptr = (struct attribute const *)*(attributes + i);
4969# 118 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4970    dev_attr = (struct device_attribute *)((char *)__mptr - (unsigned int )(& ((struct device_attribute *)0)->attr));
4971# 122 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4972    __mptr___0 = (struct device_attribute const *)dev_attr;
4973# 122 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4974    sm_attr = (struct sm_sysfs_attribute *)((char *)__mptr___0 - (unsigned int )(& ((struct sm_sysfs_attribute *)0)->dev_attr));
4975# 125 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4976    kfree((void const *)sm_attr->data);
4977# 126 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4978    kfree((void const *)sm_attr);
4979# 116 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4980    i = i + 1;
4981    }
4982  }
4983  while_break___0: ;
4984  }
4985  while_break:
4986  {
4987# 129 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4988  kfree((void const *)(ftl->disk_attributes)->attrs);
4989# 130 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4990  kfree((void const *)ftl->disk_attributes);
4991  }
4992# 131 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4993  return;
4994}
4995}
4996# 136 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4997static int sm_get_lba(uint8_t *lba )
4998{ unsigned int tmp___7 ;
4999
5000  {
5001# 139 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5002  if (((int )*(lba + 0) & 248) != 16) {
5003# 140 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5004    return (-2);
5005  } else {
5006
5007  }
5008  {
5009# 143 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5010  tmp___7 = __arch_hweight16((unsigned int )*((uint16_t *)lba));
5011  }
5012# 143 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5013  if (tmp___7 & 1U) {
5014# 144 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5015    return (-2);
5016  } else {
5017
5018  }
5019# 146 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5020  return (((int )*(lba + 1) >> 1) | (((int )*(lba + 0) & 7) << 7));
5021}
5022}
5023# 157 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5024static int sm_read_lba(struct sm_oob *oob ) ;
5025# 157 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5026static uint32_t const erased_pattern___0[4] = { (uint32_t const )4294967295U, (uint32_t const )4294967295U, (uint32_t const )4294967295U, (uint32_t const )4294967295U};
5027# 155 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5028static int sm_read_lba(struct sm_oob *oob )
5029{ uint16_t lba_test ;
5030  int lba ;
5031  int tmp___7 ;
5032  bool tmp___8 ;
5033
5034  {
5035  {
5036# 164 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5037  tmp___7 = memcmp((void const *)oob, (void const *)(erased_pattern___0), 16UL);
5038  }
5039# 164 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5040  if (tmp___7) {
5041
5042  } else {
5043# 165 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5044    return (-1);
5045  }
5046# 168 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5047  lba_test = (uint16_t )((int )*((uint16_t *)(oob->lba_copy1)) ^ (int )*((uint16_t *)(oob->lba_copy2)));
5048# 169 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5049  if (lba_test) {
5050    {
5051# 169 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5052    tmp___8 = is_power_of_2((unsigned long )lba_test);
5053    }
5054# 169 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5055    if (tmp___8) {
5056
5057    } else {
5058# 170 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5059      return (-2);
5060    }
5061  } else {
5062
5063  }
5064  {
5065# 173 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5066  lba = sm_get_lba(oob->lba_copy1);
5067  }
5068# 175 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5069  if (lba == -2) {
5070    {
5071# 176 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5072    lba = sm_get_lba(oob->lba_copy2);
5073    }
5074  } else {
5075
5076  }
5077# 178 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5078  return (lba);
5079}
5080}
5081# 181 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5082static void sm_write_lba(struct sm_oob *oob , uint16_t lba )
5083{ uint8_t tmp___7[2] ;
5084  int __ret_warn_on ;
5085  long tmp___8 ;
5086  unsigned int tmp___9 ;
5087  uint8_t tmp___10 ;
5088  uint8_t tmp___11 ;
5089
5090  {
5091  {
5092# 185 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5093  __ret_warn_on = ! (! ((int )lba >= 1000));
5094# 185 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5095  tmp___8 = __builtin_expect((long )(! (! __ret_warn_on)), 0L);
5096  }
5097# 185 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5098  if (tmp___8) {
5099    {
5100# 185 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5101    warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
5102                       (int const )185);
5103    }
5104  } else {
5105
5106  }
5107  {
5108# 185 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5109  __builtin_expect((long )(! (! __ret_warn_on)), 0L);
5110# 187 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5111  tmp___7[0] = (uint8_t )(16 | (((int )lba >> 7) & 7));
5112# 188 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5113  tmp___7[1] = (uint8_t )(((int )lba << 1) & 255);
5114# 190 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5115  tmp___9 = __arch_hweight16((unsigned int )*((uint16_t *)(tmp___7)));
5116  }
5117# 190 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5118  if (tmp___9 & 1U) {
5119# 191 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5120    tmp___7[1] = (uint8_t )((int )tmp___7[1] | 1);
5121  } else {
5122
5123  }
5124# 193 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5125  tmp___10 = tmp___7[0];
5126# 193 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5127  oob->lba_copy2[0] = tmp___10;
5128# 193 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5129  oob->lba_copy1[0] = tmp___10;
5130# 194 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5131  tmp___11 = tmp___7[1];
5132# 194 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5133  oob->lba_copy2[1] = tmp___11;
5134# 194 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5135  oob->lba_copy1[1] = tmp___11;
5136# 195 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5137  return;
5138}
5139}
5140# 199 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5141static loff_t sm_mkoffset(struct sm_ftl *ftl , int zone , int block , int boffset )
5142{ int __ret_warn_on ;
5143  long tmp___7 ;
5144  int __ret_warn_on___0 ;
5145  int tmp___8 ;
5146  long tmp___9 ;
5147  int __ret_warn_on___1 ;
5148  long tmp___10 ;
5149  int __ret_warn_on___2 ;
5150  long tmp___11 ;
5151
5152  {
5153  {
5154# 201 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5155  __ret_warn_on = ! (! (boffset & 511));
5156# 201 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5157  tmp___7 = __builtin_expect((long )(! (! __ret_warn_on)), 0L);
5158  }
5159# 201 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5160  if (tmp___7) {
5161    {
5162# 201 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5163    warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
5164                       (int const )201);
5165    }
5166  } else {
5167
5168  }
5169  {
5170# 201 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5171  __builtin_expect((long )(! (! __ret_warn_on)), 0L);
5172  }
5173# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5174  if (zone < 0) {
5175# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5176    tmp___8 = 1;
5177  } else
5178# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5179  if (zone >= ftl->zone_count) {
5180# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5181    tmp___8 = 1;
5182  } else {
5183# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5184    tmp___8 = 0;
5185  }
5186  {
5187# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5188  __ret_warn_on___0 = tmp___8;
5189# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5190  tmp___9 = __builtin_expect((long )(! (! __ret_warn_on___0)), 0L);
5191  }
5192# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5193  if (tmp___9) {
5194    {
5195# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5196    warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
5197                       (int const )202);
5198    }
5199  } else {
5200
5201  }
5202  {
5203# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5204  __builtin_expect((long )(! (! __ret_warn_on___0)), 0L);
5205# 203 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5206  __ret_warn_on___1 = ! (! (block >= ftl->zone_size));
5207# 203 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5208  tmp___10 = __builtin_expect((long )(! (! __ret_warn_on___1)), 0L);
5209  }
5210# 203 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5211  if (tmp___10) {
5212    {
5213# 203 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5214    warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
5215                       (int const )203);
5216    }
5217  } else {
5218
5219  }
5220  {
5221# 203 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5222  __builtin_expect((long )(! (! __ret_warn_on___1)), 0L);
5223# 204 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5224  __ret_warn_on___2 = ! (! (boffset >= ftl->block_size));
5225# 204 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5226  tmp___11 = __builtin_expect((long )(! (! __ret_warn_on___2)), 0L);
5227  }
5228# 204 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5229  if (tmp___11) {
5230    {
5231# 204 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5232    warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
5233                       (int const )204);
5234    }
5235  } else {
5236
5237  }
5238  {
5239# 204 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5240  __builtin_expect((long )(! (! __ret_warn_on___2)), 0L);
5241  }
5242# 206 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5243  if (block == -1) {
5244# 207 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5245    return ((loff_t )-1);
5246  } else {
5247
5248  }
5249# 209 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5250  return ((loff_t )((zone * 1024 + block) * ftl->block_size + boffset));
5251}
5252}
5253# 213 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5254static void sm_break_offset(struct sm_ftl *ftl , loff_t offset , int *zone , int *block ,
5255                            int *boffset )
5256{ uint32_t __base ;
5257  uint32_t __rem ;
5258  uint32_t __base___0 ;
5259  uint32_t __rem___0 ;
5260
5261  {
5262# 216 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5263  __base = (uint32_t )ftl->block_size;
5264# 216 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5265  __rem = (uint32_t )((uint64_t )offset % (unsigned long long )__base);
5266# 216 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5267  offset = (loff_t )((uint64_t )offset / (uint64_t )__base);
5268# 216 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5269  *boffset = (int )__rem;
5270# 217 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5271  __base___0 = (uint32_t )ftl->max_lba;
5272# 217 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5273  __rem___0 = (uint32_t )((uint64_t )offset % (unsigned long long )__base___0);
5274# 217 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5275  offset = (loff_t )((uint64_t )offset / (uint64_t )__base___0);
5276# 217 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5277  *block = (int )__rem___0;
5278# 218 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5279  if (offset >= (loff_t )ftl->zone_count) {
5280# 218 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5281    *zone = -1;
5282  } else {
5283# 218 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5284    *zone = (int )offset;
5285  }
5286# 219 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5287  return;
5288}
5289}
5290# 223 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5291static int sm_correct_sector(uint8_t *buffer , struct sm_oob *oob )
5292{ uint8_t ecc[3] ;
5293  int tmp___7 ;
5294  int tmp___8 ;
5295
5296  {
5297  {
5298# 227 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5299  __nand_calculate_ecc((u_char const *)buffer, 256U, ecc);
5300# 228 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5301  tmp___7 = __nand_correct_data(buffer, ecc, oob->ecc1, 256U);
5302  }
5303# 228 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5304  if (tmp___7 < 0) {
5305# 229 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5306    return (-5);
5307  } else {
5308
5309  }
5310  {
5311# 231 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5312  buffer = buffer + 256;
5313# 233 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5314  __nand_calculate_ecc((u_char const *)buffer, 256U, ecc);
5315# 234 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5316  tmp___8 = __nand_correct_data(buffer, ecc, oob->ecc2, 256U);
5317  }
5318# 234 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5319  if (tmp___8 < 0) {
5320# 235 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5321    return (-5);
5322  } else {
5323
5324  }
5325# 236 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5326  return (0);
5327}
5328}
5329# 240 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5330static int sm_read_sector(struct sm_ftl *ftl , int zone , int block , int boffset ,
5331                          uint8_t *buffer , struct sm_oob *oob )
5332{ struct mtd_info *mtd ;
5333  struct mtd_oob_ops ops ;
5334  struct sm_oob tmp_oob ;
5335  int ret ;
5336  int try ;
5337  int tmp___7 ;
5338  int tmp___8 ;
5339  loff_t tmp___9 ;
5340  bool tmp___10 ;
5341  int __ret_warn_on ;
5342  long tmp___11 ;
5343  int __ret_warn_on___0 ;
5344  int tmp___12 ;
5345  long tmp___13 ;
5346  int tmp___14 ;
5347  int tmp___15 ;
5348
5349  {
5350# 244 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5351  mtd = (ftl->trans)->mtd;
5352# 247 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5353  ret = -5;
5354# 248 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5355  try = 0;
5356# 251 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5357  if (block == -1) {
5358    {
5359# 252 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5360    memset((void *)buffer, 255, (size_t )512);
5361    }
5362# 253 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5363    return (0);
5364  } else {
5365
5366  }
5367# 257 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5368  if (! oob) {
5369# 258 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5370    oob = & tmp_oob;
5371  } else {
5372
5373  }
5374# 260 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5375  if (ftl->smallpagenand) {
5376# 260 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5377    ops.mode = (mtd_oob_mode_t )2;
5378  } else {
5379# 260 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5380    ops.mode = (mtd_oob_mode_t )0;
5381  }
5382# 261 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5383  ops.ooboffs = (uint32_t )0;
5384# 262 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5385  ops.ooblen = (size_t )16;
5386# 263 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5387  ops.oobbuf = (uint8_t *)((void *)oob);
5388# 264 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5389  ops.len = (size_t )512;
5390# 265 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5391  ops.datbuf = buffer;
5392  again:
5393# 268 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5394  tmp___8 = try;
5395# 268 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5396  try = try + 1;
5397# 268 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5398  if (tmp___8) {
5399# 271 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5400    if (zone == 0) {
5401# 271 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5402      if (block == ftl->cis_block) {
5403# 271 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5404        if (boffset == ftl->cis_boffset) {
5405# 273 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5406          return (ret);
5407        } else {
5408
5409        }
5410      } else {
5411
5412      }
5413    } else {
5414
5415    }
5416# 276 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5417    if (try == 3) {
5418# 277 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5419      return (ret);
5420    } else {
5421      {
5422# 276 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5423      tmp___7 = sm_recheck_media(ftl);
5424      }
5425# 276 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5426      if (tmp___7) {
5427# 277 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5428        return (ret);
5429      } else {
5430
5431      }
5432    }
5433  } else {
5434
5435  }
5436  {
5437# 282 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5438  tmp___9 = sm_mkoffset(ftl, zone, block, boffset);
5439# 282 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5440  ret = (*(mtd->read_oob))(mtd, tmp___9, & ops);
5441  }
5442# 285 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5443  if (ret != 0) {
5444# 285 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5445    if (ret != -117) {
5446# 285 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5447      if (ret != -74) {
5448# 286 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5449        if (debug) {
5450          {
5451# 286 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5452          printk("<7>sm_ftl: read of block %d at zone %d, failed due to error (%d)\n",
5453                 block, zone, ret);
5454          }
5455        } else {
5456
5457        }
5458# 288 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5459        goto again;
5460      } else {
5461
5462      }
5463    } else {
5464
5465    }
5466  } else {
5467
5468  }
5469# 292 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5470  if (oob->reserved != 4294967295U) {
5471    {
5472# 292 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5473    tmp___10 = is_power_of_2((unsigned long )(~ oob->reserved));
5474    }
5475# 292 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5476    if (tmp___10) {
5477
5478    } else {
5479# 293 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5480      goto again;
5481    }
5482  } else {
5483
5484  }
5485  {
5486# 296 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5487  __ret_warn_on = ! (! (ops.oobretlen != 16UL));
5488# 296 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5489  tmp___11 = __builtin_expect((long )(! (! __ret_warn_on)), 0L);
5490  }
5491# 296 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5492  if (tmp___11) {
5493    {
5494# 296 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5495    warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
5496                       (int const )296);
5497    }
5498  } else {
5499
5500  }
5501  {
5502# 296 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5503  __builtin_expect((long )(! (! __ret_warn_on)), 0L);
5504  }
5505# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5506  if (buffer) {
5507# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5508    if (ops.retlen != 512UL) {
5509# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5510      tmp___12 = 1;
5511    } else {
5512# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5513      tmp___12 = 0;
5514    }
5515  } else {
5516# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5517    tmp___12 = 0;
5518  }
5519  {
5520# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5521  __ret_warn_on___0 = tmp___12;
5522# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5523  tmp___13 = __builtin_expect((long )(! (! __ret_warn_on___0)), 0L);
5524  }
5525# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5526  if (tmp___13) {
5527    {
5528# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5529    warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
5530                       (int const )297);
5531    }
5532  } else {
5533
5534  }
5535  {
5536# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5537  __builtin_expect((long )(! (! __ret_warn_on___0)), 0L);
5538  }
5539# 299 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5540  if (! buffer) {
5541# 300 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5542    return (0);
5543  } else {
5544
5545  }
5546  {
5547# 303 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5548  tmp___14 = sm_sector_valid(oob);
5549  }
5550# 303 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5551  if (tmp___14) {
5552
5553  } else {
5554# 304 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5555    if (debug) {
5556      {
5557# 304 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5558      printk("<7>sm_ftl: read of block %d at zone %d, failed because it is marked as bad\n",
5559             block, zone);
5560      }
5561    } else {
5562
5563    }
5564# 306 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5565    goto again;
5566  }
5567# 310 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5568  if (ret == -74) {
5569# 310 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5570    goto _L;
5571  } else
5572# 310 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5573  if (ftl->smallpagenand) {
5574    {
5575# 310 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5576    tmp___15 = sm_correct_sector(buffer, oob);
5577    }
5578# 310 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5579    if (tmp___15) {
5580      _L:
5581# 313 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5582      if (debug) {
5583        {
5584# 313 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5585        printk("<7>sm_ftl: read of block %d at zone %d, failed due to ECC error\n",
5586               block, zone);
5587        }
5588      } else {
5589
5590      }
5591# 315 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5592      goto again;
5593    } else {
5594
5595    }
5596  } else {
5597
5598  }
5599# 318 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5600  return (0);
5601}
5602}
5603# 322 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5604static int sm_write_sector(struct sm_ftl *ftl , int zone , int block , int boffset ,
5605                           uint8_t *buffer , struct sm_oob *oob )
5606{ struct mtd_oob_ops ops ;
5607  struct mtd_info *mtd ;
5608  int ret ;
5609  long tmp___7 ;
5610  loff_t tmp___8 ;
5611  int __ret_warn_on ;
5612  long tmp___9 ;
5613  int __ret_warn_on___0 ;
5614  int tmp___10 ;
5615  long tmp___11 ;
5616
5617  {
5618# 327 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5619  mtd = (ftl->trans)->mtd;
5620  {
5621# 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5622  while (1) {
5623    while_continue: ;
5624    {
5625# 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5626    tmp___7 = __builtin_expect((long )(! (! ftl->readonly)), 0L);
5627    }
5628# 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5629    if (tmp___7) {
5630      {
5631# 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5632      while (1) {
5633        while_continue___0: ;
5634# 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5635        __asm__ volatile ("1:\tud2\n"
5636                             ".pushsection __bug_table,\"a\"\n"
5637                             "2:\t.long 1b - 2b, %c0 - 2b\n"
5638                             "\t.word %c1, 0\n"
5639                             "\t.org 2b+%c2\n"
5640                             ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"),
5641                             "i" (330), "i" (sizeof(struct bug_entry )));
5642        {
5643# 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5644        while (1) {
5645          while_continue___1: ;
5646
5647        }
5648        while_break___3: ;
5649        }
5650# 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5651        goto while_break___0;
5652      }
5653      while_break___2: ;
5654      }
5655      while_break___0: ;
5656    } else {
5657
5658    }
5659# 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5660    goto while_break;
5661  }
5662  while_break___1: ;
5663  }
5664  while_break: ;
5665# 332 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5666  if (zone == 0) {
5667# 332 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5668    if (block == ftl->cis_block) {
5669# 332 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5670      goto _L;
5671    } else
5672# 332 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5673    if (block == 0) {
5674      _L:
5675# 333 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5676      if (debug) {
5677        {
5678# 333 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5679        printk("<7>sm_ftl: attempted to write the CIS!\n");
5680        }
5681      } else {
5682
5683      }
5684# 334 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5685      return (-5);
5686    } else {
5687
5688    }
5689  } else {
5690
5691  }
5692# 337 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5693  if (ftl->unstable) {
5694# 338 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5695    return (-5);
5696  } else {
5697
5698  }
5699# 340 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5700  if (ftl->smallpagenand) {
5701# 340 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5702    ops.mode = (mtd_oob_mode_t )2;
5703  } else {
5704# 340 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5705    ops.mode = (mtd_oob_mode_t )0;
5706  }
5707  {
5708# 341 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5709  ops.len = (size_t )512;
5710# 342 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5711  ops.datbuf = buffer;
5712# 343 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5713  ops.ooboffs = (uint32_t )0;
5714# 344 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5715  ops.ooblen = (size_t )16;
5716# 345 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5717  ops.oobbuf = (uint8_t *)((void *)oob);
5718# 347 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5719  tmp___8 = sm_mkoffset(ftl, zone, block, boffset);
5720# 347 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5721  ret = (*(mtd->write_oob))(mtd, tmp___8, & ops);
5722  }
5723# 352 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5724  if (ret) {
5725# 353 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5726    if (debug) {
5727      {
5728# 353 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5729      printk("<7>sm_ftl: write to block %d at zone %d, failed with error %d\n", block,
5730             zone, ret);
5731      }
5732    } else {
5733
5734    }
5735    {
5736# 356 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5737    sm_recheck_media(ftl);
5738    }
5739# 357 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5740    return (ret);
5741  } else {
5742
5743  }
5744  {
5745# 361 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5746  __ret_warn_on = ! (! (ops.oobretlen != 16UL));
5747# 361 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5748  tmp___9 = __builtin_expect((long )(! (! __ret_warn_on)), 0L);
5749  }
5750# 361 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5751  if (tmp___9) {
5752    {
5753# 361 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5754    warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
5755                       (int const )361);
5756    }
5757  } else {
5758
5759  }
5760  {
5761# 361 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5762  __builtin_expect((long )(! (! __ret_warn_on)), 0L);
5763  }
5764# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5765  if (buffer) {
5766# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5767    if (ops.retlen != 512UL) {
5768# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5769      tmp___10 = 1;
5770    } else {
5771# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5772      tmp___10 = 0;
5773    }
5774  } else {
5775# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5776    tmp___10 = 0;
5777  }
5778  {
5779# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5780  __ret_warn_on___0 = tmp___10;
5781# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5782  tmp___11 = __builtin_expect((long )(! (! __ret_warn_on___0)), 0L);
5783  }
5784# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5785  if (tmp___11) {
5786    {
5787# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5788    warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
5789                       (int const )362);
5790    }
5791  } else {
5792
5793  }
5794  {
5795# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5796  __builtin_expect((long )(! (! __ret_warn_on___0)), 0L);
5797  }
5798# 364 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5799  return (0);
5800}
5801}
5802# 370 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5803static int sm_write_block(struct sm_ftl *ftl , uint8_t *buf , int zone , int block ,
5804                          int lba , unsigned long invalid_bitmap )
5805{ struct sm_oob oob ;
5806  int boffset ;
5807  int retry ;
5808  int tmp___8 ;
5809  int tmp___9 ;
5810  int tmp___10 ;
5811
5812  {
5813  {
5814# 376 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5815  retry = 0;
5816# 379 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5817  memset((void *)(& oob), 255, (size_t )16);
5818# 380 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5819  sm_write_lba(& oob, (uint16_t )lba);
5820  }
5821  restart:
5822# 382 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5823  if (ftl->unstable) {
5824# 383 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5825    return (-5);
5826  } else {
5827
5828  }
5829# 385 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5830  boffset = 0;
5831  {
5832# 385 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5833  while (1) {
5834    while_continue: ;
5835# 385 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5836    if (boffset < ftl->block_size) {
5837
5838    } else {
5839# 385 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5840      goto while_break;
5841    }
5842    {
5843# 388 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5844    oob.data_status = (uint8_t )255;
5845# 390 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5846    tmp___8 = variable_test_bit(boffset / 512, (unsigned long const volatile *)(& invalid_bitmap));
5847    }
5848# 390 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5849    if (tmp___8) {
5850      {
5851# 392 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5852      printk("<4>sm_ftl: sector %d of block at LBA %d of zone %d coudn\'t be read, marking it as invalid\n",
5853             boffset / 512, lba, zone);
5854# 396 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5855      oob.data_status = (uint8_t )0;
5856      }
5857    } else {
5858
5859    }
5860# 399 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5861    if (ftl->smallpagenand) {
5862      {
5863# 400 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5864      __nand_calculate_ecc((u_char const *)(buf + boffset), 256U, oob.ecc1);
5865# 403 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5866      __nand_calculate_ecc((u_char const *)((buf + boffset) + 256), 256U, oob.ecc2);
5867      }
5868    } else {
5869
5870    }
5871    {
5872# 406 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5873    tmp___9 = sm_write_sector(ftl, zone, block, boffset, buf + boffset, & oob);
5874    }
5875# 406 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5876    if (tmp___9) {
5877
5878    } else {
5879# 408 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5880      goto __Cont;
5881    }
5882# 410 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5883    if (! retry) {
5884      {
5885# 418 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5886      tmp___10 = sm_erase_block(ftl, zone, (uint16_t )block, 0);
5887      }
5888# 418 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5889      if (tmp___10) {
5890# 419 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5891        return (-5);
5892      } else {
5893
5894      }
5895# 421 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5896      retry = 1;
5897# 422 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5898      goto restart;
5899    } else {
5900      {
5901# 424 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5902      sm_mark_block_bad(ftl, zone, block);
5903      }
5904# 425 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5905      return (-5);
5906    }
5907    __Cont:
5908# 385 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5909    boffset = boffset + 512;
5910  }
5911  while_break___0: ;
5912  }
5913  while_break: ;
5914# 428 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5915  return (0);
5916}
5917}
5918# 433 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5919static void sm_mark_block_bad(struct sm_ftl *ftl , int zone , int block )
5920{ struct sm_oob oob ;
5921  int boffset ;
5922  int tmp___7 ;
5923
5924  {
5925  {
5926# 438 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5927  memset((void *)(& oob), 255, (size_t )16);
5928# 439 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5929  oob.block_status = (uint8_t )240;
5930  }
5931# 441 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5932  if (ftl->unstable) {
5933# 442 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5934    return;
5935  } else {
5936
5937  }
5938  {
5939# 444 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5940  tmp___7 = sm_recheck_media(ftl);
5941  }
5942# 444 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5943  if (tmp___7) {
5944# 445 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5945    return;
5946  } else {
5947
5948  }
5949  {
5950# 447 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5951  printk("<4>sm_ftl: marking block %d of zone %d as bad\n", block, zone);
5952# 452 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5953  boffset = 0;
5954  }
5955  {
5956# 452 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5957  while (1) {
5958    while_continue: ;
5959# 452 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5960    if (boffset < ftl->block_size) {
5961
5962    } else {
5963# 452 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5964      goto while_break;
5965    }
5966    {
5967# 453 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5968    sm_write_sector(ftl, zone, block, boffset, (uint8_t *)((void *)0), & oob);
5969# 452 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5970    boffset = boffset + 512;
5971    }
5972  }
5973  while_break___0: ;
5974  }
5975  while_break: ;
5976# 454 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5977  return;
5978}
5979}
5980# 460 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5981static int sm_erase_block(struct sm_ftl *ftl , int zone_num , uint16_t block , int put_free )
5982{ struct ftl_zone *zone ;
5983  struct mtd_info *mtd ;
5984  struct erase_info erase ;
5985  loff_t tmp___7 ;
5986  long tmp___8 ;
5987  int tmp___9 ;
5988  struct kfifo *__tmp ;
5989  unsigned char const *__buf ;
5990  unsigned long __n ;
5991  size_t __recsize ;
5992  struct __kfifo *__kfifo ;
5993
5994  {
5995  {
5996# 463 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5997  zone = ftl->zones + zone_num;
5998# 464 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5999  mtd = (ftl->trans)->mtd;
6000# 467 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6001  erase.mtd = mtd;
6002# 468 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6003  erase.callback = & sm_erase_callback;
6004# 469 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6005  tmp___7 = sm_mkoffset(ftl, zone_num, (int )block, 0);
6006# 469 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6007  erase.addr = (uint64_t )tmp___7;
6008# 470 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6009  erase.len = (uint64_t )ftl->block_size;
6010# 471 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6011  erase.priv = (u_long )ftl;
6012  }
6013# 473 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6014  if (ftl->unstable) {
6015# 474 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6016    return (-5);
6017  } else {
6018
6019  }
6020  {
6021# 476 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6022  while (1) {
6023    while_continue: ;
6024    {
6025# 476 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6026    tmp___8 = __builtin_expect((long )(! (! ftl->readonly)), 0L);
6027    }
6028# 476 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6029    if (tmp___8) {
6030      {
6031# 476 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6032      while (1) {
6033        while_continue___0: ;
6034# 476 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6035        __asm__ volatile ("1:\tud2\n"
6036                             ".pushsection __bug_table,\"a\"\n"
6037                             "2:\t.long 1b - 2b, %c0 - 2b\n"
6038                             "\t.word %c1, 0\n"
6039                             "\t.org 2b+%c2\n"
6040                             ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"),
6041                             "i" (476), "i" (sizeof(struct bug_entry )));
6042        {
6043# 476 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6044        while (1) {
6045          while_continue___1: ;
6046
6047        }
6048        while_break___3: ;
6049        }
6050# 476 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6051        goto while_break___0;
6052      }
6053      while_break___2: ;
6054      }
6055      while_break___0: ;
6056    } else {
6057
6058    }
6059# 476 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6060    goto while_break;
6061  }
6062  while_break___1: ;
6063  }
6064  while_break: ;
6065# 478 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6066  if (zone_num == 0) {
6067# 478 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6068    if ((int )block == ftl->cis_block) {
6069      {
6070# 479 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6071      printk("<4>sm_ftl: attempted to erase the CIS!\n");
6072      }
6073# 480 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6074      return (-5);
6075    } else
6076# 478 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6077    if ((int )block == 0) {
6078      {
6079# 479 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6080      printk("<4>sm_ftl: attempted to erase the CIS!\n");
6081      }
6082# 480 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6083      return (-5);
6084    } else {
6085
6086    }
6087  } else {
6088
6089  }
6090  {
6091# 483 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6092  tmp___9 = (*(mtd->erase))(mtd, & erase);
6093  }
6094# 483 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6095  if (tmp___9) {
6096    {
6097# 484 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6098    printk("<4>sm_ftl: erase of block %d in zone %d failed\n", (int )block, zone_num);
6099    }
6100# 486 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6101    goto error;
6102  } else {
6103
6104  }
6105# 489 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6106  if ((int )erase.state == 1) {
6107    {
6108# 490 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6109    wait_for_completion(& ftl->erase_completion);
6110    }
6111  } else {
6112
6113  }
6114# 492 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6115  if ((int )erase.state != 8) {
6116    {
6117# 493 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6118    printk("<4>sm_ftl: erase of block %d in zone %d failed after wait\n", (int )block,
6119           zone_num);
6120    }
6121# 495 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6122    goto error;
6123  } else {
6124
6125  }
6126# 498 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6127  if (put_free) {
6128# 499 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6129    __tmp = & zone->free_sectors;
6130# 499 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6131    __buf = (unsigned char const *)(& block);
6132# 499 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6133    __n = sizeof(block);
6134# 499 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6135    __recsize = sizeof(*(__tmp->__annonCompField39.rectype));
6136# 499 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6137    __kfifo = & __tmp->__annonCompField39.kfifo;
6138# 499 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6139    if (__recsize) {
6140      {
6141# 499 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6142      __kfifo_in_r(__kfifo, (void const *)__buf, (unsigned int )__n, __recsize);
6143      }
6144    } else {
6145      {
6146# 499 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6147      __kfifo_in(__kfifo, (void const *)__buf, (unsigned int )__n);
6148      }
6149    }
6150  } else {
6151
6152  }
6153# 502 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6154  return (0);
6155  error:
6156  {
6157# 504 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6158  sm_mark_block_bad(ftl, zone_num, (int )block);
6159  }
6160# 505 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6161  return (-5);
6162}
6163}
6164# 508 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6165static void sm_erase_callback(struct erase_info *self )
6166{ struct sm_ftl *ftl ;
6167
6168  {
6169  {
6170# 510 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6171  ftl = (struct sm_ftl *)self->priv;
6172# 511 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6173  complete(& ftl->erase_completion);
6174  }
6175# 512 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6176  return;
6177}
6178}
6179# 515 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6180static int sm_check_block(struct sm_ftl *ftl , int zone , int block )
6181{ int boffset ;
6182  struct sm_oob oob ;
6183  int lbas[4] ;
6184  int i ;
6185  int test_lba ;
6186  int tmp___7 ;
6187
6188  {
6189# 519 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6190  lbas[0] = -3;
6191# 519 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6192  lbas[1] = 0;
6193# 519 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6194  lbas[2] = 0;
6195# 519 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6196  lbas[3] = 0;
6197# 520 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6198  i = 0;
6199# 527 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6200  boffset = 0;
6201  {
6202# 527 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6203  while (1) {
6204    while_continue: ;
6205# 527 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6206    if (boffset < ftl->block_size) {
6207
6208    } else {
6209# 527 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6210      goto while_break;
6211    }
6212    {
6213# 531 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6214    tmp___7 = sm_read_sector(ftl, zone, block, boffset, (uint8_t *)((void *)0), & oob);
6215    }
6216# 531 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6217    if (tmp___7) {
6218# 532 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6219      return (-2);
6220    } else {
6221
6222    }
6223    {
6224# 534 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6225    test_lba = sm_read_lba(& oob);
6226    }
6227# 536 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6228    if (lbas[i] != test_lba) {
6229# 537 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6230      i = i + 1;
6231# 537 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6232      lbas[i] = test_lba;
6233    } else {
6234
6235    }
6236# 540 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6237    if (i == 3) {
6238# 541 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6239      return (-5);
6240    } else {
6241
6242    }
6243# 527 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6244    boffset = boffset + 512;
6245  }
6246  while_break___0: ;
6247  }
6248  while_break: ;
6249# 545 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6250  if (i == 2) {
6251    {
6252# 546 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6253    sm_erase_block(ftl, zone, (uint16_t )block, 1);
6254    }
6255# 547 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6256    return (1);
6257  } else {
6258
6259  }
6260# 550 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6261  return (0);
6262}
6263}
6264# 554 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6265static struct chs_entry const chs_table[13] =
6266# 554 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6267  { {1UL, (unsigned short)125, (unsigned char)4, (unsigned char)4},
6268        {2UL, (unsigned short)125, (unsigned char)4, (unsigned char)8},
6269        {4UL, (unsigned short)250, (unsigned char)4, (unsigned char)8},
6270        {8UL, (unsigned short)250, (unsigned char)4, (unsigned char)16},
6271        {16UL, (unsigned short)500, (unsigned char)4, (unsigned char)16},
6272        {32UL, (unsigned short)500, (unsigned char)8, (unsigned char)16},
6273        {64UL, (unsigned short)500, (unsigned char)8, (unsigned char)32},
6274        {128UL, (unsigned short)500, (unsigned char)16, (unsigned char)32},
6275        {256UL, (unsigned short)1000, (unsigned char)16, (unsigned char)32},
6276        {512UL, (unsigned short)1015, (unsigned char)32, (unsigned char)63},
6277        {1024UL, (unsigned short)985, (unsigned char)33, (unsigned char)63},
6278        {2048UL, (unsigned short)985, (unsigned char)33, (unsigned char)63},
6279        {0UL, (unsigned short)0, (unsigned char)0, (unsigned char)0}};
6280# 571 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6281static uint8_t const cis_signature[10] =
6282# 571 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6283  { (uint8_t const )1, (uint8_t const )3, (uint8_t const )217, (uint8_t const )1,
6284        (uint8_t const )255, (uint8_t const )24, (uint8_t const )2, (uint8_t const )223,
6285        (uint8_t const )1, (uint8_t const )32};
6286# 576 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6287int sm_get_media_info(struct sm_ftl *ftl , struct mtd_info *mtd )
6288{ int i ;
6289  int size_in_megs ;
6290
6291  {
6292# 579 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6293  size_in_megs = (int )(mtd->size / 1048576ULL);
6294# 581 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6295  ftl->readonly = (bool )((int )mtd->type == 2);
6296# 584 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6297  ftl->zone_count = 1;
6298# 585 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6299  ftl->smallpagenand = 0;
6300# 588 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6301  if (size_in_megs == 1) {
6302# 588 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6303    goto case_1;
6304  } else
6305# 596 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6306  if (size_in_megs == 2) {
6307# 596 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6308    goto case_2;
6309  } else
6310# 614 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6311  if (size_in_megs == 4) {
6312# 614 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6313    goto case_4;
6314  } else
6315# 620 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6316  if (size_in_megs == 8) {
6317# 620 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6318    goto case_8;
6319  } else
6320# 587 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6321  if (0) {
6322    case_1:
6323# 590 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6324    ftl->zone_size = 256;
6325# 591 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6326    ftl->max_lba = 250;
6327# 592 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6328    ftl->block_size = 4096;
6329# 593 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6330    ftl->smallpagenand = 1;
6331# 595 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6332    goto switch_break;
6333    case_2:
6334# 598 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6335    if (mtd->writesize == 256U) {
6336# 599 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6337      ftl->zone_size = 512;
6338# 600 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6339      ftl->max_lba = 500;
6340# 601 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6341      ftl->block_size = 4096;
6342# 602 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6343      ftl->smallpagenand = 1;
6344    } else {
6345# 606 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6346      if (! ftl->readonly) {
6347# 607 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6348        return (-19);
6349      } else {
6350
6351      }
6352# 609 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6353      ftl->zone_size = 256;
6354# 610 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6355      ftl->max_lba = 250;
6356# 611 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6357      ftl->block_size = 8192;
6358    }
6359# 613 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6360    goto switch_break;
6361    case_4:
6362# 616 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6363    ftl->zone_size = 512;
6364# 617 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6365    ftl->max_lba = 500;
6366# 618 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6367    ftl->block_size = 8192;
6368# 619 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6369    goto switch_break;
6370    case_8:
6371# 622 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6372    ftl->zone_size = 1024;
6373# 623 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6374    ftl->max_lba = 1000;
6375# 624 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6376    ftl->block_size = 8192;
6377  } else {
6378    switch_break: ;
6379  }
6380# 629 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6381  if (size_in_megs >= 16) {
6382# 630 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6383    ftl->zone_count = size_in_megs / 16;
6384# 631 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6385    ftl->zone_size = 1024;
6386# 632 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6387    ftl->max_lba = 1000;
6388# 633 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6389    ftl->block_size = 16384;
6390  } else {
6391
6392  }
6393# 637 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6394  if (mtd->erasesize > (uint32_t )ftl->block_size) {
6395# 638 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6396    return (-19);
6397  } else {
6398
6399  }
6400# 640 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6401  if (mtd->writesize > 512U) {
6402# 641 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6403    return (-19);
6404  } else {
6405
6406  }
6407# 643 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6408  if (ftl->smallpagenand) {
6409# 643 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6410    if (mtd->oobsize < 8U) {
6411# 644 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6412      return (-19);
6413    } else {
6414
6415    }
6416  } else {
6417
6418  }
6419# 646 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6420  if (! ftl->smallpagenand) {
6421# 646 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6422    if (mtd->oobsize < 16U) {
6423# 647 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6424      return (-19);
6425    } else {
6426
6427    }
6428  } else {
6429
6430  }
6431# 650 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6432  if (! mtd->read_oob) {
6433# 651 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6434    return (-19);
6435  } else
6436# 650 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6437  if (! mtd->write_oob) {
6438# 651 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6439    return (-19);
6440  } else {
6441
6442  }
6443# 654 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6444  i = 0;
6445  {
6446# 654 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6447  while (1) {
6448    while_continue: ;
6449# 654 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6450    if ((unsigned long )i < sizeof(chs_table) / sizeof(chs_table[0]) + sizeof(struct __anonstruct_233 )) {
6451
6452    } else {
6453# 654 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6454      goto while_break;
6455    }
6456# 655 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6457    if (chs_table[i].size == (unsigned long const )size_in_megs) {
6458# 656 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6459      ftl->cylinders = (int )chs_table[i].cyl;
6460# 657 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6461      ftl->heads = (int )chs_table[i].head;
6462# 658 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6463      ftl->sectors = (int )chs_table[i].sec;
6464# 659 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6465      return (0);
6466    } else {
6467
6468    }
6469# 654 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6470    i = i + 1;
6471  }
6472  while_break___0: ;
6473  }
6474  while_break:
6475  {
6476# 663 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6477  printk("<4>sm_ftl: media has unknown size : %dMiB\n", size_in_megs);
6478# 664 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6479  ftl->cylinders = 985;
6480# 665 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6481  ftl->heads = 33;
6482# 666 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6483  ftl->sectors = 63;
6484  }
6485# 667 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6486  return (0);
6487}
6488}
6489# 671 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6490static int sm_read_cis(struct sm_ftl *ftl )
6491{ struct sm_oob oob ;
6492  int tmp___7 ;
6493  int tmp___8 ;
6494  int tmp___9 ;
6495  int tmp___10 ;
6496
6497  {
6498  {
6499# 675 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6500  tmp___7 = sm_read_sector(ftl, 0, ftl->cis_block, ftl->cis_boffset, (uint8_t *)ftl->cis_buffer,
6501                           & oob);
6502  }
6503# 675 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6504  if (tmp___7) {
6505# 677 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6506    return (-5);
6507  } else {
6508
6509  }
6510  {
6511# 679 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6512  tmp___8 = sm_sector_valid(& oob);
6513  }
6514# 679 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6515  if (tmp___8) {
6516    {
6517# 679 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6518    tmp___9 = sm_block_valid(& oob);
6519    }
6520# 679 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6521    if (tmp___9) {
6522
6523    } else {
6524# 680 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6525      return (-5);
6526    }
6527  } else {
6528# 680 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6529    return (-5);
6530  }
6531  {
6532# 682 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6533  tmp___10 = memcmp((void const *)(ftl->cis_buffer + ftl->cis_page_offset), (void const *)(cis_signature),
6534                    sizeof(cis_signature));
6535  }
6536# 682 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6537  if (tmp___10) {
6538
6539  } else {
6540# 684 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6541    return (0);
6542  }
6543# 687 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6544  return (-5);
6545}
6546}
6547# 691 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6548static int sm_find_cis(struct sm_ftl *ftl )
6549{ struct sm_oob oob ;
6550  int block ;
6551  int boffset ;
6552  int block_found ;
6553  int cis_found ;
6554  int tmp___7 ;
6555  int tmp___8 ;
6556  int tmp___9 ;
6557  int tmp___10 ;
6558  int tmp___11 ;
6559  int tmp___12 ;
6560  int tmp___13 ;
6561  int tmp___14 ;
6562
6563  {
6564# 695 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6565  block_found = 0;
6566# 696 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6567  cis_found = 0;
6568# 699 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6569  block = 0;
6570  {
6571# 699 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6572  while (1) {
6573    while_continue: ;
6574# 699 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6575    if (block < ftl->zone_size - ftl->max_lba) {
6576
6577    } else {
6578# 699 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6579      goto while_break;
6580    }
6581    {
6582# 701 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6583    tmp___7 = sm_read_sector(ftl, 0, block, 0, (uint8_t *)((void *)0), & oob);
6584    }
6585# 701 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6586    if (tmp___7) {
6587# 702 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6588      goto __Cont;
6589    } else {
6590
6591    }
6592    {
6593# 704 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6594    tmp___8 = sm_block_valid(& oob);
6595    }
6596# 704 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6597    if (tmp___8) {
6598
6599    } else {
6600# 705 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6601      goto __Cont;
6602    }
6603# 706 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6604    block_found = 1;
6605# 707 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6606    goto while_break;
6607    __Cont:
6608# 699 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6609    block = block + 1;
6610  }
6611  while_break___1: ;
6612  }
6613  while_break: ;
6614# 710 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6615  if (! block_found) {
6616# 711 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6617    return (-5);
6618  } else {
6619
6620  }
6621# 714 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6622  boffset = 0;
6623  {
6624# 714 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6625  while (1) {
6626    while_continue___0: ;
6627# 714 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6628    if (boffset < ftl->block_size) {
6629
6630    } else {
6631# 714 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6632      goto while_break___0;
6633    }
6634    {
6635# 717 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6636    tmp___9 = sm_read_sector(ftl, 0, block, boffset, (uint8_t *)((void *)0), & oob);
6637    }
6638# 717 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6639    if (tmp___9) {
6640# 718 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6641      goto __Cont___0;
6642    } else {
6643
6644    }
6645    {
6646# 720 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6647    tmp___10 = sm_sector_valid(& oob);
6648    }
6649# 720 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6650    if (tmp___10) {
6651
6652    } else {
6653# 721 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6654      goto __Cont___0;
6655    }
6656# 722 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6657    goto while_break___0;
6658    __Cont___0:
6659# 714 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6660    boffset = boffset + 512;
6661  }
6662  while_break___2: ;
6663  }
6664  while_break___0: ;
6665# 725 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6666  if (boffset == ftl->block_size) {
6667# 726 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6668    return (-5);
6669  } else {
6670
6671  }
6672  {
6673# 728 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6674  ftl->cis_block = block;
6675# 729 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6676  ftl->cis_boffset = boffset;
6677# 730 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6678  ftl->cis_page_offset = 0;
6679# 732 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6680  tmp___11 = sm_read_cis(ftl);
6681  }
6682# 732 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6683  if (tmp___11) {
6684# 732 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6685    tmp___12 = 0;
6686  } else {
6687# 732 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6688    tmp___12 = 1;
6689  }
6690# 732 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6691  cis_found = tmp___12;
6692# 734 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6693  if (! cis_found) {
6694    {
6695# 735 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6696    ftl->cis_page_offset = 256;
6697# 736 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6698    tmp___13 = sm_read_cis(ftl);
6699    }
6700# 736 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6701    if (tmp___13) {
6702# 736 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6703      tmp___14 = 0;
6704    } else {
6705# 736 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6706      tmp___14 = 1;
6707    }
6708# 736 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6709    cis_found = tmp___14;
6710  } else {
6711
6712  }
6713# 739 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6714  if (cis_found) {
6715# 740 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6716    if (debug) {
6717      {
6718# 740 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6719      printk("<7>sm_ftl: CIS block found at offset %x\n", (block * ftl->block_size + boffset) + ftl->cis_page_offset);
6720      }
6721    } else {
6722
6723    }
6724# 743 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6725    return (0);
6726  } else {
6727
6728  }
6729# 745 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6730  return (-5);
6731}
6732}
6733# 749 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6734static int sm_recheck_media(struct sm_ftl *ftl )
6735{ int tmp___7 ;
6736
6737  {
6738  {
6739# 751 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6740  tmp___7 = sm_read_cis(ftl);
6741  }
6742# 751 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6743  if (tmp___7) {
6744# 753 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6745    if (! ftl->unstable) {
6746      {
6747# 754 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6748      printk("<4>sm_ftl: media unstable, not allowing writes\n");
6749# 755 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6750      ftl->unstable = (bool )1;
6751      }
6752    } else {
6753
6754    }
6755# 757 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6756    return (-5);
6757  } else {
6758
6759  }
6760# 759 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6761  return (0);
6762}
6763}
6764# 763 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6765static int sm_init_zone(struct sm_ftl *ftl , int zone_num )
6766{ struct ftl_zone *zone ;
6767  struct sm_oob oob ;
6768  uint16_t block ;
6769  int lba ;
6770  int i ;
6771  int len ;
6772  void *tmp___7 ;
6773  struct kfifo *__tmp ;
6774  struct __kfifo *__kfifo ;
6775  int tmp___8 ;
6776  int tmp___9 ;
6777  int tmp___10 ;
6778  int tmp___11 ;
6779  struct kfifo *__tmp___0 ;
6780  unsigned char *__buf ;
6781  unsigned long __n ;
6782  size_t __recsize ;
6783  struct __kfifo *__kfifo___0 ;
6784  int tmp___12 ;
6785  int tmp___13 ;
6786  int tmp___14 ;
6787  int tmp___15 ;
6788  struct kfifo *__tmpl ;
6789  struct kfifo *__tmpl___0 ;
6790  struct kfifo *__tmp___1 ;
6791  unsigned char *__buf___0 ;
6792  unsigned long __n___0 ;
6793  size_t __recsize___0 ;
6794  struct __kfifo *__kfifo___1 ;
6795  unsigned int tmp___16 ;
6796  unsigned int tmp___17 ;
6797  unsigned int tmp___18 ;
6798  unsigned int tmp___19 ;
6799  int __ret_warn_on ;
6800  long tmp___20 ;
6801  struct kfifo *__tmp___2 ;
6802  unsigned char const *__buf___1 ;
6803  unsigned long __n___1 ;
6804  size_t __recsize___1 ;
6805  struct __kfifo *__kfifo___2 ;
6806  int tmp___21 ;
6807  int tmp ;
6808  unsigned int tmp___22 ;
6809
6810  {
6811# 765 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6812  zone = ftl->zones + zone_num;
6813# 769 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6814  i = 0;
6815# 772 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6816  if (debug) {
6817    {
6818# 772 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6819    printk("<7>sm_ftl: initializing zone %d\n", zone_num);
6820    }
6821  } else {
6822
6823  }
6824  {
6825# 775 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6826  tmp___7 = kmalloc((size_t )(ftl->max_lba * 2), 208U);
6827# 775 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6828  zone->lba_to_phys_table = (int16_t *)tmp___7;
6829  }
6830# 777 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6831  if (! zone->lba_to_phys_table) {
6832# 778 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6833    return (-12);
6834  } else {
6835
6836  }
6837  {
6838# 779 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6839  memset((void *)zone->lba_to_phys_table, -1, (size_t )(ftl->max_lba * 2));
6840# 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6841  __tmp = & zone->free_sectors;
6842# 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6843  __kfifo = & __tmp->__annonCompField39.kfifo;
6844  }
6845# 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6846  if (sizeof(*__tmp) == sizeof(struct __kfifo )) {
6847    {
6848# 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6849    tmp___8 = __kfifo_alloc(__kfifo, (unsigned int )(ftl->zone_size * 2), sizeof(*(__tmp->__annonCompField39.type)),
6850                            208U);
6851# 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6852    tmp___9 = tmp___8;
6853    }
6854  } else {
6855# 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6856    tmp___9 = -22;
6857  }
6858  {
6859# 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6860  tmp = (int )__kfifo_int_must_check_helper(tmp___9);
6861# 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6862  tmp___10 = tmp;
6863  }
6864# 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6865  if (tmp___10) {
6866    {
6867# 784 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6868    kfree((void const *)zone->lba_to_phys_table);
6869    }
6870# 785 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6871    return (-12);
6872  } else {
6873
6874  }
6875# 789 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6876  block = (uint16_t )0;
6877  {
6878# 789 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6879  while (1) {
6880    while_continue: ;
6881# 789 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6882    if ((int )block < ftl->zone_size) {
6883
6884    } else {
6885# 789 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6886      goto while_break;
6887    }
6888# 792 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6889    if (zone_num == 0) {
6890# 792 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6891      if ((int )block <= ftl->cis_block) {
6892# 793 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6893        goto __Cont;
6894      } else {
6895
6896      }
6897    } else {
6898
6899    }
6900    {
6901# 796 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6902    tmp___11 = sm_read_sector(ftl, zone_num, (int )block, 0, (uint8_t *)((void *)0),
6903                              & oob);
6904    }
6905# 796 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6906    if (tmp___11) {
6907# 797 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6908      return (-5);
6909    } else {
6910
6911    }
6912    {
6913# 801 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6914    tmp___12 = sm_block_erased(& oob);
6915    }
6916# 801 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6917    if (tmp___12) {
6918# 802 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6919      __tmp___0 = & zone->free_sectors;
6920# 802 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6921      __buf = (unsigned char *)(& block);
6922# 802 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6923      __n = 2UL;
6924# 802 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6925      __recsize = sizeof(*(__tmp___0->__annonCompField39.rectype));
6926# 802 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6927      __kfifo___0 = & __tmp___0->__annonCompField39.kfifo;
6928# 802 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6929      if (__recsize) {
6930        {
6931# 802 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6932        __kfifo_in_r(__kfifo___0, (void const *)__buf, (unsigned int )__n, __recsize);
6933        }
6934      } else {
6935        {
6936# 802 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6937        __kfifo_in(__kfifo___0, (void const *)__buf, (unsigned int )__n);
6938        }
6939      }
6940# 804 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6941      goto __Cont;
6942    } else {
6943
6944    }
6945    {
6946# 811 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6947    tmp___13 = sm_block_valid(& oob);
6948    }
6949# 811 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6950    if (tmp___13) {
6951
6952    } else {
6953# 812 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6954      if (debug) {
6955        {
6956# 812 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6957        printk("<7>sm_ftl: PH %04d <-> <marked bad>\n", (int )block);
6958        }
6959      } else {
6960
6961      }
6962# 813 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6963      goto __Cont;
6964    }
6965    {
6966# 817 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6967    lba = sm_read_lba(& oob);
6968    }
6969# 822 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6970    if (lba == -2) {
6971# 822 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6972      goto _L;
6973    } else
6974# 822 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6975    if (lba >= ftl->max_lba) {
6976      _L:
6977# 823 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6978      if (debug) {
6979        {
6980# 823 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6981        printk("<7>sm_ftl: PH %04d <-> LBA %04d(bad)\n", (int )block, lba);
6982        }
6983      } else {
6984
6985      }
6986# 824 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6987      goto __Cont;
6988    } else {
6989
6990    }
6991# 830 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6992    if ((int )*(zone->lba_to_phys_table + lba) < 0) {
6993# 831 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6994      if (debug > 1) {
6995        {
6996# 831 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6997        printk("<7>sm_ftl: PH %04d <-> LBA %04d\n", (int )block, lba);
6998        }
6999      } else {
7000
7001      }
7002# 832 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7003      *(zone->lba_to_phys_table + lba) = (int16_t )block;
7004# 833 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7005      goto __Cont;
7006    } else {
7007
7008    }
7009    {
7010# 836 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7011    printk("<4>sm_ftl: collision of LBA %d between blocks %d and %d in zone %d\n",
7012           lba, (int )*(zone->lba_to_phys_table + lba), (int )block, zone_num);
7013# 841 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7014    tmp___14 = sm_check_block(ftl, zone_num, (int )block);
7015    }
7016# 841 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7017    if (tmp___14) {
7018# 842 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7019      goto __Cont;
7020    } else {
7021
7022    }
7023    {
7024# 845 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7025    tmp___15 = sm_check_block(ftl, zone_num, (int )*(zone->lba_to_phys_table + lba));
7026    }
7027# 845 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7028    if (tmp___15) {
7029# 847 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7030      *(zone->lba_to_phys_table + lba) = (int16_t )block;
7031# 848 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7032      goto __Cont;
7033    } else {
7034
7035    }
7036    {
7037# 855 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7038    printk("<4>sm_ftl: both blocks are valid, erasing the later\n");
7039# 856 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7040    sm_erase_block(ftl, zone_num, block, 1);
7041    }
7042    __Cont:
7043# 789 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7044    block = (uint16_t )((int )block + 1);
7045  }
7046  while_break___1: ;
7047  }
7048  while_break: ;
7049# 859 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7050  if (debug) {
7051    {
7052# 859 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7053    printk("<7>sm_ftl: zone initialized\n");
7054    }
7055  } else {
7056
7057  }
7058# 860 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7059  zone->initialized = (bool )1;
7060# 864 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7061  __tmpl = & zone->free_sectors;
7062# 864 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7063  if (__tmpl->__annonCompField39.kfifo.in - __tmpl->__annonCompField39.kfifo.out) {
7064
7065  } else {
7066    {
7067# 865 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7068    printk("<4>sm_ftl: no free blocks in zone %d\n", zone_num);
7069    }
7070# 866 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7071    return (0);
7072  }
7073  {
7074# 870 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7075  get_random_bytes((void *)(& i), 2);
7076# 871 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7077  __tmpl___0 = & zone->free_sectors;
7078# 871 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7079  i = (int )((unsigned int )i % ((__tmpl___0->__annonCompField39.kfifo.in - __tmpl___0->__annonCompField39.kfifo.out) / 2U));
7080  }
7081  {
7082# 873 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7083  while (1) {
7084    while_continue___0: ;
7085# 873 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7086    tmp___21 = i;
7087# 873 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7088    i = i - 1;
7089# 873 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7090    if (tmp___21) {
7091
7092    } else {
7093# 873 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7094      goto while_break___0;
7095    }
7096# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7097    __tmp___1 = & zone->free_sectors;
7098# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7099    __buf___0 = (unsigned char *)(& block);
7100# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7101    __n___0 = 2UL;
7102# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7103    __recsize___0 = sizeof(*(__tmp___1->__annonCompField39.rectype));
7104# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7105    __kfifo___1 = & __tmp___1->__annonCompField39.kfifo;
7106# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7107    if (__recsize___0) {
7108      {
7109# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7110      tmp___16 = __kfifo_out_r(__kfifo___1, (void *)__buf___0, (unsigned int )__n___0,
7111                               __recsize___0);
7112# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7113      tmp___18 = tmp___16;
7114      }
7115    } else {
7116      {
7117# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7118      tmp___17 = __kfifo_out(__kfifo___1, (void *)__buf___0, (unsigned int )__n___0);
7119# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7120      tmp___18 = tmp___17;
7121      }
7122    }
7123    {
7124# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7125    tmp___22 = (unsigned int )__kfifo_uint_must_check_helper(tmp___18);
7126# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7127    tmp___19 = tmp___22;
7128# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7129    len = (int )tmp___19;
7130# 876 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7131    __ret_warn_on = ! (! (len != 2));
7132# 876 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7133    tmp___20 = __builtin_expect((long )(! (! __ret_warn_on)), 0L);
7134    }
7135# 876 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7136    if (tmp___20) {
7137      {
7138# 876 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7139      warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
7140                         (int const )876);
7141      }
7142    } else {
7143
7144    }
7145    {
7146# 876 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7147    __builtin_expect((long )(! (! __ret_warn_on)), 0L);
7148# 877 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7149    __tmp___2 = & zone->free_sectors;
7150# 877 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7151    __buf___1 = (unsigned char const *)(& block);
7152# 877 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7153    __n___1 = 2UL;
7154# 877 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7155    __recsize___1 = sizeof(*(__tmp___2->__annonCompField39.rectype));
7156# 877 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7157    __kfifo___2 = & __tmp___2->__annonCompField39.kfifo;
7158    }
7159# 877 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7160    if (__recsize___1) {
7161      {
7162# 877 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7163      __kfifo_in_r(__kfifo___2, (void const *)__buf___1, (unsigned int )__n___1,
7164                   __recsize___1);
7165      }
7166    } else {
7167      {
7168# 877 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7169      __kfifo_in(__kfifo___2, (void const *)__buf___1, (unsigned int )__n___1);
7170      }
7171    }
7172  }
7173  while_break___2: ;
7174  }
7175  while_break___0: ;
7176# 879 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7177  return (0);
7178}
7179}
7180# 883 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7181struct ftl_zone *sm_get_zone(struct sm_ftl *ftl , int zone_num )
7182{ struct ftl_zone *zone ;
7183  int error ;
7184  long tmp___7 ;
7185  void *tmp___8 ;
7186  void *tmp ;
7187
7188  {
7189  {
7190# 888 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7191  while (1) {
7192    while_continue: ;
7193    {
7194# 888 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7195    tmp___7 = __builtin_expect((long )(! (! (zone_num >= ftl->zone_count))), 0L);
7196    }
7197# 888 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7198    if (tmp___7) {
7199      {
7200# 888 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7201      while (1) {
7202        while_continue___0: ;
7203# 888 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7204        __asm__ volatile ("1:\tud2\n"
7205                             ".pushsection __bug_table,\"a\"\n"
7206                             "2:\t.long 1b - 2b, %c0 - 2b\n"
7207                             "\t.word %c1, 0\n"
7208                             "\t.org 2b+%c2\n"
7209                             ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"),
7210                             "i" (888), "i" (sizeof(struct bug_entry )));
7211        {
7212# 888 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7213        while (1) {
7214          while_continue___1: ;
7215
7216        }
7217        while_break___3: ;
7218        }
7219# 888 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7220        goto while_break___0;
7221      }
7222      while_break___2: ;
7223      }
7224      while_break___0: ;
7225    } else {
7226
7227    }
7228# 888 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7229    goto while_break;
7230  }
7231  while_break___1: ;
7232  }
7233  while_break:
7234# 889 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7235  zone = ftl->zones + zone_num;
7236# 891 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7237  if (! zone->initialized) {
7238    {
7239# 892 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7240    error = sm_init_zone(ftl, zone_num);
7241    }
7242# 894 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7243    if (error) {
7244      {
7245# 895 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7246      tmp = (void *)ERR_PTR((long )error);
7247# 895 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7248      tmp___8 = tmp;
7249      }
7250# 895 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7251      return ((struct ftl_zone *)tmp___8);
7252    } else {
7253
7254    }
7255  } else {
7256
7257  }
7258# 897 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7259  return (zone);
7260}
7261}
7262# 904 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7263void sm_cache_init(struct sm_ftl *ftl )
7264{
7265
7266  {
7267# 906 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7268  ftl->cache_data_invalid_bitmap = 4294967295UL;
7269# 907 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7270  ftl->cache_clean = (bool )1;
7271# 908 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7272  ftl->cache_zone = -1;
7273# 909 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7274  ftl->cache_block = -1;
7275# 911 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7276  return;
7277}
7278}
7279# 914 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7280void sm_cache_put(struct sm_ftl *ftl , char *buffer , int boffset )
7281{ size_t __len ;
7282  void *__ret ;
7283
7284  {
7285# 916 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7286  __len = (size_t )512;
7287# 916 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7288  if (__len >= 64UL) {
7289    {
7290# 916 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7291    __ret = __memcpy((void *)(ftl->cache_data + boffset), (void const *)buffer,
7292                     __len);
7293    }
7294  } else {
7295    {
7296# 916 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7297    __ret = __builtin_memcpy((void *)(ftl->cache_data + boffset), (void const *)buffer,
7298                             __len);
7299    }
7300  }
7301  {
7302# 917 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7303  clear_bit(boffset / 512, (unsigned long volatile *)(& ftl->cache_data_invalid_bitmap));
7304# 918 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7305  ftl->cache_clean = (bool )0;
7306  }
7307# 919 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7308  return;
7309}
7310}
7311# 922 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7312int sm_cache_get(struct sm_ftl *ftl , char *buffer , int boffset )
7313{ int tmp___8 ;
7314  size_t __len ;
7315  void *__ret ;
7316
7317  {
7318  {
7319# 924 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7320  tmp___8 = variable_test_bit(boffset / 512, (unsigned long const volatile *)(& ftl->cache_data_invalid_bitmap));
7321  }
7322# 924 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7323  if (tmp___8) {
7324# 926 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7325    return (-1);
7326  } else {
7327
7328  }
7329# 928 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7330  __len = (size_t )512;
7331# 928 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7332  if (__len >= 64UL) {
7333    {
7334# 928 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7335    __ret = __memcpy((void *)buffer, (void const *)(ftl->cache_data + boffset),
7336                     __len);
7337    }
7338  } else {
7339    {
7340# 928 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7341    __ret = __builtin_memcpy((void *)buffer, (void const *)(ftl->cache_data + boffset),
7342                             __len);
7343    }
7344  }
7345# 929 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7346  return (0);
7347}
7348}
7349# 933 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7350int sm_cache_flush(struct sm_ftl *ftl )
7351{ struct ftl_zone *zone ;
7352  int sector_num ;
7353  uint16_t write_sector ;
7354  int zone_num ;
7355  int block_num ;
7356  long tmp___7 ;
7357  unsigned long tmp___8 ;
7358  unsigned long tmp___9 ;
7359  int tmp___10 ;
7360  struct kfifo *__tmp ;
7361  unsigned char *__buf ;
7362  unsigned long __n ;
7363  size_t __recsize ;
7364  struct __kfifo *__kfifo ;
7365  unsigned int tmp___11 ;
7366  unsigned int tmp___12 ;
7367  unsigned int tmp___13 ;
7368  unsigned int tmp___14 ;
7369  int tmp___15 ;
7370  unsigned int tmp ;
7371
7372  {
7373# 939 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7374  zone_num = ftl->cache_zone;
7375# 942 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7376  if (ftl->cache_clean) {
7377# 943 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7378    return (0);
7379  } else {
7380
7381  }
7382# 945 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7383  if (ftl->unstable) {
7384# 946 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7385    return (-5);
7386  } else {
7387
7388  }
7389  {
7390# 948 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7391  while (1) {
7392    while_continue: ;
7393    {
7394# 948 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7395    tmp___7 = __builtin_expect((long )(! (! (zone_num < 0))), 0L);
7396    }
7397# 948 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7398    if (tmp___7) {
7399      {
7400# 948 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7401      while (1) {
7402        while_continue___0: ;
7403# 948 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7404        __asm__ volatile ("1:\tud2\n"
7405                             ".pushsection __bug_table,\"a\"\n"
7406                             "2:\t.long 1b - 2b, %c0 - 2b\n"
7407                             "\t.word %c1, 0\n"
7408                             "\t.org 2b+%c2\n"
7409                             ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"),
7410                             "i" (948), "i" (sizeof(struct bug_entry )));
7411        {
7412# 948 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7413        while (1) {
7414          while_continue___1: ;
7415
7416        }
7417        while_break___5: ;
7418        }
7419# 948 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7420        goto while_break___0;
7421      }
7422      while_break___4: ;
7423      }
7424      while_break___0: ;
7425    } else {
7426
7427    }
7428# 948 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7429    goto while_break;
7430  }
7431  while_break___3: ;
7432  }
7433  while_break:
7434  {
7435# 949 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7436  zone = ftl->zones + zone_num;
7437# 950 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7438  block_num = (int )*(zone->lba_to_phys_table + ftl->cache_block);
7439# 954 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7440  tmp___8 = find_first_bit((unsigned long const *)(& ftl->cache_data_invalid_bitmap),
7441                           (unsigned long )(ftl->block_size / 512));
7442# 954 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7443  sector_num = (int )tmp___8;
7444  }
7445  {
7446# 954 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7447  while (1) {
7448    while_continue___2: ;
7449# 954 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7450    if (sector_num < ftl->block_size / 512) {
7451
7452    } else {
7453# 954 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7454      goto while_break___2;
7455    }
7456    {
7457# 957 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7458    tmp___10 = sm_read_sector(ftl, zone_num, block_num, sector_num * 512, ftl->cache_data + sector_num * 512,
7459                              (struct sm_oob *)((void *)0));
7460    }
7461# 957 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7462    if (tmp___10) {
7463
7464    } else {
7465      {
7466# 960 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7467      clear_bit(sector_num, (unsigned long volatile *)(& ftl->cache_data_invalid_bitmap));
7468      }
7469    }
7470    {
7471# 954 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7472    tmp___9 = find_next_bit((unsigned long const *)(& ftl->cache_data_invalid_bitmap),
7473                            (unsigned long )(ftl->block_size / 512), (unsigned long )(sector_num + 1));
7474# 954 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7475    sector_num = (int )tmp___9;
7476    }
7477  }
7478  while_break___6: ;
7479  }
7480  while_break___2: ;
7481  restart:
7482# 965 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7483  if (ftl->unstable) {
7484# 966 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7485    return (-5);
7486  } else {
7487
7488  }
7489# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7490  __tmp = & zone->free_sectors;
7491# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7492  __buf = (unsigned char *)(& write_sector);
7493# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7494  __n = 2UL;
7495# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7496  __recsize = sizeof(*(__tmp->__annonCompField39.rectype));
7497# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7498  __kfifo = & __tmp->__annonCompField39.kfifo;
7499# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7500  if (__recsize) {
7501    {
7502# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7503    tmp___11 = __kfifo_out_r(__kfifo, (void *)__buf, (unsigned int )__n, __recsize);
7504# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7505    tmp___13 = tmp___11;
7506    }
7507  } else {
7508    {
7509# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7510    tmp___12 = __kfifo_out(__kfifo, (void *)__buf, (unsigned int )__n);
7511# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7512    tmp___13 = tmp___12;
7513    }
7514  }
7515  {
7516# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7517  tmp = (unsigned int )__kfifo_uint_must_check_helper(tmp___13);
7518# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7519  tmp___14 = tmp;
7520  }
7521# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7522  if (tmp___14 != 2U) {
7523# 974 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7524    if (debug) {
7525      {
7526# 974 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7527      printk("<7>sm_ftl: no free sectors for write!\n");
7528      }
7529    } else {
7530
7531    }
7532# 975 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7533    return (-5);
7534  } else {
7535
7536  }
7537  {
7538# 979 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7539  tmp___15 = sm_write_block(ftl, ftl->cache_data, zone_num, (int )write_sector, ftl->cache_block,
7540                            ftl->cache_data_invalid_bitmap);
7541  }
7542# 979 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7543  if (tmp___15) {
7544# 981 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7545    goto restart;
7546  } else {
7547
7548  }
7549# 984 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7550  *(zone->lba_to_phys_table + ftl->cache_block) = (int16_t )write_sector;
7551# 987 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7552  if (block_num > 0) {
7553    {
7554# 988 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7555    sm_erase_block(ftl, zone_num, (uint16_t )block_num, 1);
7556    }
7557  } else {
7558
7559  }
7560  {
7561# 990 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7562  sm_cache_init(ftl);
7563  }
7564# 991 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7565  return (0);
7566}
7567}
7568# 996 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7569static void sm_cache_flush_timer(unsigned long data )
7570{ struct sm_ftl *ftl ;
7571
7572  {
7573  {
7574# 998 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7575  ftl = (struct sm_ftl *)data;
7576# 999 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7577  queue_work(cache_flush_workqueue, & ftl->flush_work);
7578  }
7579# 1000 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7580  return;
7581}
7582}
7583# 1003 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7584static void sm_cache_flush_work(struct work_struct *work )
7585{ struct sm_ftl *ftl ;
7586  struct work_struct const *__mptr ;
7587
7588  {
7589  {
7590# 1005 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7591  __mptr = (struct work_struct const *)work;
7592# 1005 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7593  ftl = (struct sm_ftl *)((char *)__mptr - (unsigned int )(& ((struct sm_ftl *)0)->flush_work));
7594# 1006 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7595  mutex_lock_nested(& ftl->mutex, 0U);
7596# 1007 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7597  sm_cache_flush(ftl);
7598# 1008 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7599  mutex_unlock(& ftl->mutex);
7600  }
7601# 1009 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7602  return;
7603}
7604}
7605# 1015 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7606static int sm_read(struct mtd_blktrans_dev *dev , unsigned long sect_no , char *buf )
7607{ struct sm_ftl *ftl ;
7608  struct ftl_zone *zone ;
7609  int error ;
7610  int in_cache ;
7611  int zone_num ;
7612  int block ;
7613  int boffset ;
7614  long tmp___7 ;
7615  long tmp___8 ;
7616  int tmp___9 ;
7617  int tmp___10 ;
7618  long tmp ;
7619  long tmp___11 ;
7620
7621  {
7622  {
7623# 1018 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7624  ftl = (struct sm_ftl *)dev->priv;
7625# 1020 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7626  error = 0;
7627# 1020 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7628  in_cache = 0;
7629# 1023 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7630  sm_break_offset(ftl, (loff_t )(sect_no << 9), & zone_num, & block, & boffset);
7631# 1024 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7632  mutex_lock_nested(& ftl->mutex, 0U);
7633# 1027 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7634  zone = sm_get_zone(ftl, zone_num);
7635# 1028 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7636  tmp = (long )IS_ERR((void const *)zone);
7637# 1028 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7638  tmp___8 = tmp;
7639  }
7640# 1028 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7641  if (tmp___8) {
7642    {
7643# 1029 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7644    tmp___11 = (long )PTR_ERR((void const *)zone);
7645# 1029 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7646    tmp___7 = tmp___11;
7647# 1029 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7648    error = (int )tmp___7;
7649    }
7650# 1030 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7651    goto unlock;
7652  } else {
7653
7654  }
7655# 1034 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7656  if (ftl->cache_zone == zone_num) {
7657# 1034 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7658    if (ftl->cache_block == block) {
7659      {
7660# 1035 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7661      in_cache = 1;
7662# 1036 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7663      tmp___9 = sm_cache_get(ftl, buf, boffset);
7664      }
7665# 1036 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7666      if (tmp___9) {
7667
7668      } else {
7669# 1037 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7670        goto unlock;
7671      }
7672    } else {
7673
7674    }
7675  } else {
7676
7677  }
7678# 1041 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7679  block = (int )*(zone->lba_to_phys_table + block);
7680# 1043 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7681  if (block == -1) {
7682    {
7683# 1044 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7684    memset((void *)buf, 255, (size_t )512);
7685    }
7686# 1045 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7687    goto unlock;
7688  } else {
7689
7690  }
7691  {
7692# 1048 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7693  tmp___10 = sm_read_sector(ftl, zone_num, block, boffset, (uint8_t *)buf, (struct sm_oob *)((void *)0));
7694  }
7695# 1048 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7696  if (tmp___10) {
7697# 1049 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7698    error = -5;
7699# 1050 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7700    goto unlock;
7701  } else {
7702
7703  }
7704# 1053 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7705  if (in_cache) {
7706    {
7707# 1054 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7708    sm_cache_put(ftl, buf, boffset);
7709    }
7710  } else {
7711
7712  }
7713  unlock:
7714  {
7715# 1056 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7716  mutex_unlock(& ftl->mutex);
7717  }
7718# 1057 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7719  return (error);
7720}
7721}
7722# 1061 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7723static int sm_write(struct mtd_blktrans_dev *dev , unsigned long sec_no , char *buf )
7724{ struct sm_ftl *ftl ;
7725  struct ftl_zone *zone ;
7726  int error ;
7727  int zone_num ;
7728  int block ;
7729  int boffset ;
7730  long tmp___7 ;
7731  long tmp___8 ;
7732  long tmp___9 ;
7733  unsigned long tmp___10 ;
7734  long tmp ;
7735  long tmp___11 ;
7736
7737  {
7738# 1064 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7739  ftl = (struct sm_ftl *)dev->priv;
7740  {
7741# 1068 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7742  while (1) {
7743    while_continue: ;
7744    {
7745# 1068 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7746    tmp___7 = __builtin_expect((long )(! (! ftl->readonly)), 0L);
7747    }
7748# 1068 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7749    if (tmp___7) {
7750      {
7751# 1068 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7752      while (1) {
7753        while_continue___0: ;
7754# 1068 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7755        __asm__ volatile ("1:\tud2\n"
7756                             ".pushsection __bug_table,\"a\"\n"
7757                             "2:\t.long 1b - 2b, %c0 - 2b\n"
7758                             "\t.word %c1, 0\n"
7759                             "\t.org 2b+%c2\n"
7760                             ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"),
7761                             "i" (1068), "i" (sizeof(struct bug_entry )));
7762        {
7763# 1068 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7764        while (1) {
7765          while_continue___1: ;
7766
7767        }
7768        while_break___3: ;
7769        }
7770# 1068 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7771        goto while_break___0;
7772      }
7773      while_break___2: ;
7774      }
7775      while_break___0: ;
7776    } else {
7777
7778    }
7779# 1068 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7780    goto while_break;
7781  }
7782  while_break___1: ;
7783  }
7784  while_break:
7785  {
7786# 1069 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7787  sm_break_offset(ftl, (loff_t )(sec_no << 9), & zone_num, & block, & boffset);
7788# 1072 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7789  del_timer(& ftl->timer);
7790# 1073 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7791  mutex_lock_nested(& ftl->mutex, 0U);
7792# 1075 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7793  zone = sm_get_zone(ftl, zone_num);
7794# 1076 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7795  tmp = (long )IS_ERR((void const *)zone);
7796# 1076 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7797  tmp___9 = tmp;
7798  }
7799# 1076 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7800  if (tmp___9) {
7801    {
7802# 1077 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7803    tmp___11 = (long )PTR_ERR((void const *)zone);
7804# 1077 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7805    tmp___8 = tmp___11;
7806# 1077 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7807    error = (int )tmp___8;
7808    }
7809# 1078 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7810    goto unlock;
7811  } else {
7812
7813  }
7814# 1082 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7815  if (ftl->cache_block != block) {
7816# 1082 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7817    goto _L;
7818  } else
7819# 1082 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7820  if (ftl->cache_zone != zone_num) {
7821    _L:
7822    {
7823# 1084 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7824    error = sm_cache_flush(ftl);
7825    }
7826# 1085 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7827    if (error) {
7828# 1086 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7829      goto unlock;
7830    } else {
7831
7832    }
7833# 1088 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7834    ftl->cache_block = block;
7835# 1089 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7836    ftl->cache_zone = zone_num;
7837  } else {
7838
7839  }
7840  {
7841# 1092 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7842  sm_cache_put(ftl, buf, boffset);
7843  }
7844  unlock:
7845  {
7846# 1094 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7847  tmp___10 = msecs_to_jiffies((unsigned int const )cache_timeout);
7848# 1094 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7849  mod_timer(& ftl->timer, (unsigned long )(jiffies + (unsigned long volatile )tmp___10));
7850# 1095 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7851  mutex_unlock(& ftl->mutex);
7852  }
7853# 1096 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7854  return (error);
7855}
7856}
7857# 1100 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7858static int sm_flush(struct mtd_blktrans_dev *dev )
7859{ struct sm_ftl *ftl ;
7860  int retval ;
7861
7862  {
7863  {
7864# 1102 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7865  ftl = (struct sm_ftl *)dev->priv;
7866# 1105 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7867  mutex_lock_nested(& ftl->mutex, 0U);
7868# 1106 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7869  retval = sm_cache_flush(ftl);
7870# 1107 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7871  mutex_unlock(& ftl->mutex);
7872  }
7873# 1108 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7874  return (retval);
7875}
7876}
7877# 1112 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7878static int sm_release(struct mtd_blktrans_dev *dev )
7879{ struct sm_ftl *ftl ;
7880
7881  {
7882  {
7883# 1114 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7884  ftl = (struct sm_ftl *)dev->priv;
7885# 1116 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7886  mutex_lock_nested(& ftl->mutex, 0U);
7887# 1117 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7888  del_timer_sync(& ftl->timer);
7889# 1118 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7890  cancel_work_sync(& ftl->flush_work);
7891# 1119 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7892  sm_cache_flush(ftl);
7893# 1120 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7894  mutex_unlock(& ftl->mutex);
7895  }
7896# 1121 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7897  return (0);
7898}
7899}
7900# 1125 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7901static int sm_getgeo(struct mtd_blktrans_dev *dev , struct hd_geometry *geo )
7902{ struct sm_ftl *ftl ;
7903
7904  {
7905# 1127 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7906  ftl = (struct sm_ftl *)dev->priv;
7907# 1128 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7908  geo->heads = (unsigned char )ftl->heads;
7909# 1129 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7910  geo->sectors = (unsigned char )ftl->sectors;
7911# 1130 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7912  geo->cylinders = (unsigned short )ftl->cylinders;
7913# 1131 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7914  return (0);
7915}
7916}
7917# 1146 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7918static struct lock_class_key __key___5 ;
7919# 1147 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7920static struct lock_class_key __key___6 ;
7921# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7922static struct lock_class_key __key___7 ;
7923# 1135 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7924static void sm_add_mtd(struct mtd_blktrans_ops *tr , struct mtd_info *mtd )
7925{ struct mtd_blktrans_dev *trans ;
7926  struct sm_ftl *ftl ;
7927  void *tmp___7 ;
7928  atomic_long_t __constr_expr_0 ;
7929  int tmp___8 ;
7930  void *tmp___9 ;
7931  void *tmp___10 ;
7932  void *tmp___11 ;
7933  int tmp___12 ;
7934  int tmp___13 ;
7935
7936  {
7937  {
7938# 1141 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7939  tmp___7 = kzalloc(sizeof(struct sm_ftl ), 208U);
7940# 1141 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7941  ftl = (struct sm_ftl *)tmp___7;
7942  }
7943# 1142 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7944  if (! ftl) {
7945# 1143 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7946    goto error1;
7947  } else {
7948
7949  }
7950  {
7951# 1146 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7952  while (1) {
7953    while_continue: ;
7954    {
7955# 1146 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7956    __mutex_init(& ftl->mutex, "&ftl->mutex", & __key___5);
7957    }
7958# 1146 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7959    goto while_break;
7960  }
7961  while_break___4: ;
7962  }
7963  while_break: ;
7964  {
7965# 1147 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7966  while (1) {
7967    while_continue___0: ;
7968    {
7969# 1147 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7970    setup_timer_key(& ftl->timer, "&ftl->timer", & __key___6, & sm_cache_flush_timer,
7971                    (unsigned long )ftl);
7972    }
7973# 1147 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7974    goto while_break___0;
7975  }
7976  while_break___5: ;
7977  }
7978  while_break___0: ;
7979  {
7980# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7981  while (1) {
7982    while_continue___1: ;
7983
7984    {
7985# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7986    while (1) {
7987      while_continue___2: ;
7988      {
7989# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7990      __init_work(& ftl->flush_work, 0);
7991# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7992      __constr_expr_0.counter = 2097664L;
7993# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7994      ftl->flush_work.data = __constr_expr_0;
7995# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7996      lockdep_init_map(& ftl->flush_work.lockdep_map, "(&ftl->flush_work)", & __key___7,
7997                       0);
7998# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7999      INIT_LIST_HEAD(& ftl->flush_work.entry);
8000      }
8001      {
8002# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8003      while (1) {
8004        while_continue___3: ;
8005# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8006        ftl->flush_work.func = & sm_cache_flush_work;
8007# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8008        goto while_break___3;
8009      }
8010      while_break___8: ;
8011      }
8012      while_break___3: ;
8013# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8014      goto while_break___2;
8015    }
8016    while_break___7: ;
8017    }
8018    while_break___2: ;
8019# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8020    goto while_break___1;
8021  }
8022  while_break___6: ;
8023  }
8024  while_break___1:
8025  {
8026# 1149 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8027  init_completion(& ftl->erase_completion);
8028# 1152 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8029  tmp___8 = sm_get_media_info(ftl, mtd);
8030  }
8031# 1152 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8032  if (tmp___8) {
8033# 1153 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8034    if (debug) {
8035      {
8036# 1153 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8037      printk("<7>sm_ftl: found unsupported mtd device, aborting\n");
8038      }
8039    } else {
8040
8041    }
8042# 1154 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8043    goto error2;
8044  } else {
8045
8046  }
8047  {
8048# 1159 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8049  ftl->cis_buffer = kzalloc((size_t )512, 208U);
8050  }
8051# 1160 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8052  if (! ftl->cis_buffer) {
8053# 1161 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8054    goto error2;
8055  } else {
8056
8057  }
8058  {
8059# 1164 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8060  tmp___9 = kzalloc(sizeof(struct ftl_zone ) * (unsigned long )ftl->zone_count, 208U);
8061# 1164 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8062  ftl->zones = (struct ftl_zone *)tmp___9;
8063  }
8064# 1166 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8065  if (! ftl->zones) {
8066# 1167 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8067    goto error3;
8068  } else {
8069
8070  }
8071  {
8072# 1170 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8073  tmp___10 = kzalloc((size_t )ftl->block_size, 208U);
8074# 1170 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8075  ftl->cache_data = (unsigned char *)tmp___10;
8076  }
8077# 1172 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8078  if (! ftl->cache_data) {
8079# 1173 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8080    goto error4;
8081  } else {
8082
8083  }
8084  {
8085# 1175 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8086  sm_cache_init(ftl);
8087# 1179 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8088  tmp___11 = kzalloc(sizeof(struct mtd_blktrans_dev ), 208U);
8089# 1179 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8090  trans = (struct mtd_blktrans_dev *)tmp___11;
8091  }
8092# 1180 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8093  if (! trans) {
8094# 1181 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8095    goto error5;
8096  } else {
8097
8098  }
8099  {
8100# 1183 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8101  ftl->trans = trans;
8102# 1184 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8103  trans->priv = (void *)ftl;
8104# 1186 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8105  trans->tr = tr;
8106# 1187 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8107  trans->mtd = mtd;
8108# 1188 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8109  trans->devnum = -1;
8110# 1189 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8111  trans->size = (unsigned long )((ftl->block_size * ftl->max_lba) * ftl->zone_count >> 9);
8112# 1190 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8113  trans->readonly = (int )ftl->readonly;
8114# 1192 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8115  tmp___12 = sm_find_cis(ftl);
8116  }
8117# 1192 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8118  if (tmp___12) {
8119# 1193 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8120    if (debug) {
8121      {
8122# 1193 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8123      printk("<7>sm_ftl: CIS not found on mtd device, aborting\n");
8124      }
8125    } else {
8126
8127    }
8128# 1194 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8129    goto error6;
8130  } else {
8131
8132  }
8133  {
8134# 1197 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8135  ftl->disk_attributes = sm_create_sysfs_attributes(ftl);
8136  }
8137# 1198 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8138  if (! ftl->disk_attributes) {
8139# 1199 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8140    goto error6;
8141  } else {
8142
8143  }
8144  {
8145# 1200 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8146  trans->disk_attributes = ftl->disk_attributes;
8147# 1202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8148  printk("<4>sm_ftl: Found %d MiB xD/SmartMedia FTL on mtd%d\n", (int )(mtd->size / 1048576ULL),
8149         mtd->index);
8150  }
8151# 1205 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8152  if (debug) {
8153    {
8154# 1205 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8155    printk("<7>sm_ftl: FTL layout:\n");
8156    }
8157  } else {
8158
8159  }
8160# 1206 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8161  if (debug) {
8162    {
8163# 1206 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8164    printk("<7>sm_ftl: %d zone(s), each consists of %d blocks (+%d spares)\n", ftl->zone_count,
8165           ftl->max_lba, ftl->zone_size - ftl->max_lba);
8166    }
8167  } else {
8168
8169  }
8170# 1209 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8171  if (debug) {
8172    {
8173# 1209 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8174    printk("<7>sm_ftl: each block consists of %d bytes\n", ftl->block_size);
8175    }
8176  } else {
8177
8178  }
8179  {
8180# 1214 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8181  tmp___13 = add_mtd_blktrans_dev(trans);
8182  }
8183# 1214 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8184  if (tmp___13) {
8185# 1215 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8186    if (debug) {
8187      {
8188# 1215 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8189      printk("<7>sm_ftl: error in mtdblktrans layer\n");
8190      }
8191    } else {
8192
8193    }
8194# 1216 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8195    goto error6;
8196  } else {
8197
8198  }
8199# 1218 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8200  return;
8201  error6:
8202  {
8203# 1220 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8204  kfree((void const *)trans);
8205  }
8206  error5:
8207  {
8208# 1222 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8209  kfree((void const *)ftl->cache_data);
8210  }
8211  error4:
8212  {
8213# 1224 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8214  kfree((void const *)ftl->zones);
8215  }
8216  error3:
8217  {
8218# 1226 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8219  kfree((void const *)ftl->cis_buffer);
8220  }
8221  error2:
8222  {
8223# 1228 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8224  kfree((void const *)ftl);
8225  }
8226  error1:
8227# 1230 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8228  return;
8229}
8230}
8231# 1234 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8232static void sm_remove_dev(struct mtd_blktrans_dev *dev )
8233{ struct sm_ftl *ftl ;
8234  int i ;
8235  struct kfifo *__tmp ;
8236  struct __kfifo *__kfifo ;
8237
8238  {
8239  {
8240# 1236 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8241  ftl = (struct sm_ftl *)dev->priv;
8242# 1239 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8243  del_mtd_blktrans_dev(dev);
8244# 1240 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8245  ftl->trans = (struct mtd_blktrans_dev *)((void *)0);
8246# 1242 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8247  i = 0;
8248  }
8249  {
8250# 1242 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8251  while (1) {
8252    while_continue: ;
8253# 1242 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8254    if (i < ftl->zone_count) {
8255
8256    } else {
8257# 1242 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8258      goto while_break;
8259    }
8260# 1244 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8261    if (! (ftl->zones + i)->initialized) {
8262# 1245 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8263      goto __Cont;
8264    } else {
8265
8266    }
8267    {
8268# 1247 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8269    kfree((void const *)(ftl->zones + i)->lba_to_phys_table);
8270# 1248 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8271    __tmp = & (ftl->zones + i)->free_sectors;
8272# 1248 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8273    __kfifo = & __tmp->__annonCompField39.kfifo;
8274    }
8275# 1248 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8276    if (sizeof(*__tmp) == sizeof(struct __kfifo )) {
8277      {
8278# 1248 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8279      __kfifo_free(__kfifo);
8280      }
8281    } else {
8282
8283    }
8284    __Cont:
8285# 1242 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8286    i = i + 1;
8287  }
8288  while_break___0: ;
8289  }
8290  while_break:
8291  {
8292# 1251 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8293  sm_delete_sysfs_attributes(ftl);
8294# 1252 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8295  kfree((void const *)ftl->cis_buffer);
8296# 1253 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8297  kfree((void const *)ftl->zones);
8298# 1254 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8299  kfree((void const *)ftl->cache_data);
8300# 1255 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8301  kfree((void const *)ftl);
8302  }
8303# 1256 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8304  return;
8305}
8306}
8307# 1258 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8308static struct mtd_blktrans_ops sm_ftl_ops =
8309# 1258 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8310     {(char *)"smblk", -1, 3, 512, 0, & sm_read, & sm_write, (int (*)(struct mtd_blktrans_dev *dev ,
8311                                                                    unsigned long block ,
8312                                                                    unsigned int nr_blocks ))0,
8313    (void (*)(struct mtd_blktrans_dev *dev ))0, & sm_getgeo, & sm_flush, (int (*)(struct mtd_blktrans_dev *dev ))0,
8314    & sm_release, & sm_add_mtd, & sm_remove_dev, {(struct list_head *)0, (struct list_head *)0},
8315    {(struct list_head *)0, (struct list_head *)0}, & __this_module};
8316# 1280 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8317static struct lock_class_key __key___8 ;
8318# 1277 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8319static int sm_module_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
8320# 1277 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8321static int sm_module_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
8322# 1277 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8323static int sm_module_init(void)
8324{ int error ;
8325  char const *__lock_name ;
8326  struct workqueue_struct *tmp___7 ;
8327  long tmp___8 ;
8328  long tmp___9 ;
8329  long tmp ;
8330  long tmp___10 ;
8331
8332  {
8333  {
8334# 1279 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8335  error = 0;
8336# 1280 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8337  __lock_name = "(\"smflush\")";
8338# 1280 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8339  tmp___7 = __alloc_workqueue_key("smflush", 14U, 1, & __key___8, __lock_name);
8340# 1280 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8341  cache_flush_workqueue = tmp___7;
8342# 1282 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8343  tmp = (long )IS_ERR((void const *)cache_flush_workqueue);
8344# 1282 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8345  tmp___9 = tmp;
8346  }
8347# 1282 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8348  if (tmp___9) {
8349    {
8350# 1283 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8351    tmp___10 = (long )PTR_ERR((void const *)cache_flush_workqueue);
8352# 1283 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8353    tmp___8 = tmp___10;
8354    }
8355# 1283 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8356    return ((int )tmp___8);
8357  } else {
8358
8359  }
8360  {
8361# 1285 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8362  error = register_mtd_blktrans(& sm_ftl_ops);
8363  }
8364# 1286 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8365  if (error) {
8366    {
8367# 1287 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8368    destroy_workqueue(cache_flush_workqueue);
8369    }
8370  } else {
8371
8372  }
8373# 1288 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8374  return (error);
8375}
8376}
8377# 1292 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8378static void sm_module_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
8379# 1292 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8380static void sm_module_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
8381# 1292 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8382static void sm_module_exit(void)
8383{
8384
8385  {
8386  {
8387# 1294 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8388  destroy_workqueue(cache_flush_workqueue);
8389# 1295 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8390  deregister_mtd_blktrans(& sm_ftl_ops);
8391  }
8392# 1296 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8393  return;
8394}
8395}
8396# 1298 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8397int init_module(void)
8398{ int tmp___7 ;
8399
8400  {
8401  {
8402# 1298 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8403  tmp___7 = sm_module_init();
8404  }
8405# 1298 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8406  return (tmp___7);
8407}
8408}
8409# 1299 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8410void cleanup_module(void)
8411{
8412
8413  {
8414  {
8415# 1299 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8416  sm_module_exit();
8417  }
8418# 1299 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8419  return;
8420}
8421}
8422# 1301 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8423static char const __mod_license1301[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
8424__aligned__(1))) =
8425# 1301 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8426  { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
8427        (char const )'n', (char const )'s', (char const )'e', (char const )'=',
8428        (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
8429# 1302 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8430static char const __mod_author1302[48] __attribute__((__used__, __unused__, __section__(".modinfo"),
8431__aligned__(1))) =
8432# 1302 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8433  { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
8434        (char const )'o', (char const )'r', (char const )'=', (char const )'M',
8435        (char const )'a', (char const )'x', (char const )'i', (char const )'m',
8436        (char const )' ', (char const )'L', (char const )'e', (char const )'v',
8437        (char const )'i', (char const )'t', (char const )'s', (char const )'k',
8438        (char const )'y', (char const )' ', (char const )'<', (char const )'m',
8439        (char const )'a', (char const )'x', (char const )'i', (char const )'m',
8440        (char const )'l', (char const )'e', (char const )'v', (char const )'i',
8441        (char const )'t', (char const )'s', (char const )'k', (char const )'y',
8442        (char const )'@', (char const )'g', (char const )'m', (char const )'a',
8443        (char const )'i', (char const )'l', (char const )'.', (char const )'c',
8444        (char const )'o', (char const )'m', (char const )'>', (char const )'\000'};
8445# 1303 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8446static char const __mod_description1303[48] __attribute__((__used__, __unused__,
8447__section__(".modinfo"), __aligned__(1))) =
8448# 1303 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8449  { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
8450        (char const )'r', (char const )'i', (char const )'p', (char const )'t',
8451        (char const )'i', (char const )'o', (char const )'n', (char const )'=',
8452        (char const )'S', (char const )'m', (char const )'a', (char const )'r',
8453        (char const )'t', (char const )'m', (char const )'e', (char const )'d',
8454        (char const )'i', (char const )'a', (char const )'/', (char const )'x',
8455        (char const )'D', (char const )' ', (char const )'m', (char const )'t',
8456        (char const )'d', (char const )' ', (char const )'t', (char const )'r',
8457        (char const )'a', (char const )'n', (char const )'s', (char const )'l',
8458        (char const )'a', (char const )'t', (char const )'i', (char const )'o',
8459        (char const )'n', (char const )' ', (char const )'l', (char const )'a',
8460        (char const )'y', (char const )'e', (char const )'r', (char const )'\000'};
8461# 1321 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8462void ldv_check_final_state(void) __attribute__((__ldv_model__)) ;
8463# 1327 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8464extern void ldv_initialize(void) ;
8465# 1330 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8466extern int nondet_int(void) ;
8467# 1333 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8468int LDV_IN_INTERRUPT ;
8469# 1336 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8470void main(void)
8471{ struct mtd_blktrans_dev *var_group1 ;
8472  struct hd_geometry *var_group2 ;
8473  struct mtd_blktrans_ops *var_group3 ;
8474  struct mtd_info *var_group4 ;
8475  unsigned long var_sm_read_28_p1 ;
8476  char *var_sm_read_28_p2 ;
8477  unsigned long var_sm_write_29_p1 ;
8478  char *var_sm_write_29_p2 ;
8479  int tmp___7 ;
8480  int ldv_s_sm_ftl_ops_mtd_blktrans_ops ;
8481  int tmp___8 ;
8482  int tmp___9 ;
8483
8484  {
8485  {
8486# 1401 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8487  LDV_IN_INTERRUPT = 1;
8488# 1410 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8489  ldv_initialize();
8490# 1419 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8491  tmp___7 = sm_module_init();
8492  }
8493# 1419 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8494  if (tmp___7) {
8495# 1420 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8496    goto ldv_final;
8497  } else {
8498
8499  }
8500# 1421 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8501  ldv_s_sm_ftl_ops_mtd_blktrans_ops = 0;
8502  {
8503# 1425 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8504  while (1) {
8505    while_continue: ;
8506    {
8507# 1425 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8508    tmp___9 = nondet_int();
8509    }
8510# 1425 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8511    if (tmp___9) {
8512
8513    } else
8514# 1425 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8515    if (! (ldv_s_sm_ftl_ops_mtd_blktrans_ops == 0)) {
8516
8517    } else {
8518# 1425 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8519      goto while_break;
8520    }
8521    {
8522# 1429 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8523    tmp___8 = nondet_int();
8524    }
8525# 1431 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8526    if (tmp___8 == 0) {
8527# 1431 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8528      goto case_0;
8529    } else
8530# 1450 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8531    if (tmp___8 == 1) {
8532# 1450 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8533      goto case_1;
8534    } else
8535# 1469 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8536    if (tmp___8 == 2) {
8537# 1469 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8538      goto case_2;
8539    } else
8540# 1488 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8541    if (tmp___8 == 3) {
8542# 1488 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8543      goto case_3;
8544    } else
8545# 1507 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8546    if (tmp___8 == 4) {
8547# 1507 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8548      goto case_4;
8549    } else
8550# 1526 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8551    if (tmp___8 == 5) {
8552# 1526 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8553      goto case_5;
8554    } else
8555# 1545 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8556    if (tmp___8 == 6) {
8557# 1545 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8558      goto case_6;
8559    } else {
8560# 1564 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8561      goto switch_default;
8562# 1429 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8563      if (0) {
8564        case_0:
8565# 1434 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8566        if (ldv_s_sm_ftl_ops_mtd_blktrans_ops == 0) {
8567          {
8568# 1442 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8569          sm_release(var_group1);
8570# 1443 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8571          ldv_s_sm_ftl_ops_mtd_blktrans_ops = 0;
8572          }
8573        } else {
8574
8575        }
8576# 1449 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8577        goto switch_break;
8578        case_1:
8579        {
8580# 1461 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8581        sm_getgeo(var_group1, var_group2);
8582        }
8583# 1468 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8584        goto switch_break;
8585        case_2:
8586        {
8587# 1480 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8588        sm_add_mtd(var_group3, var_group4);
8589        }
8590# 1487 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8591        goto switch_break;
8592        case_3:
8593        {
8594# 1499 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8595        sm_remove_dev(var_group1);
8596        }
8597# 1506 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8598        goto switch_break;
8599        case_4:
8600        {
8601# 1518 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8602        sm_read(var_group1, var_sm_read_28_p1, var_sm_read_28_p2);
8603        }
8604# 1525 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8605        goto switch_break;
8606        case_5:
8607        {
8608# 1537 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8609        sm_write(var_group1, var_sm_write_29_p1, var_sm_write_29_p2);
8610        }
8611# 1544 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8612        goto switch_break;
8613        case_6:
8614        {
8615# 1556 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8616        sm_flush(var_group1);
8617        }
8618# 1563 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8619        goto switch_break;
8620        switch_default:
8621# 1564 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8622        goto switch_break;
8623      } else {
8624        switch_break: ;
8625      }
8626    }
8627  }
8628  while_break___0: ;
8629  }
8630  while_break:
8631  {
8632# 1579 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8633  sm_module_exit();
8634  }
8635  ldv_final:
8636  {
8637# 1582 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8638  ldv_check_final_state();
8639  }
8640# 1585 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8641  return;
8642}
8643}
8644# 5 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast-assert.h"
8645void ldv_blast_assert(void)
8646{
8647
8648  {
8649  ERROR:
8650# 6 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast-assert.h"
8651  goto ERROR;
8652}
8653}
8654# 7 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast.h"
8655extern void *ldv_undefined_pointer(void) ;
8656# 1332 "include/linux/usb.h"
8657struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags ) __attribute__((__ldv_model__)) ;
8658# 1333 "include/linux/usb.h"
8659void usb_free_urb(struct urb *urb ) __attribute__((__ldv_model__)) ;
8660# 1377 "include/linux/usb.h"
8661void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
8662                         dma_addr_t *dma ) __attribute__((__ldv_model__)) ;
8663# 1379 "include/linux/usb.h"
8664void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma ) __attribute__((__ldv_model__)) ;
8665# 10 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8666void ldv_assume_stop(void) __attribute__((__ldv_model_inline__)) ;
8667# 22 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8668void ldv_assume_stop(void) __attribute__((__ldv_model_inline__)) ;
8669# 22 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8670void ldv_assume_stop(void)
8671{
8672
8673  {
8674  LDV_STOP:
8675# 23 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8676  goto LDV_STOP;
8677}
8678}
8679# 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8680int ldv_urb_state = 0;
8681# 31 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8682int ldv_coherent_state = 0;
8683# 62 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8684void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
8685                         dma_addr_t *dma ) __attribute__((__ldv_model__)) ;
8686# 62 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8687void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
8688                         dma_addr_t *dma )
8689{ void *arbitrary_memory ;
8690  void *tmp___7 ;
8691
8692  {
8693  {
8694# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8695  while (1) {
8696    while_continue: ;
8697    {
8698# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8699    tmp___7 = ldv_undefined_pointer();
8700# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8701    arbitrary_memory = tmp___7;
8702    }
8703# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8704    if (! arbitrary_memory) {
8705# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8706      return ((void *)0);
8707    } else {
8708
8709    }
8710# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8711    ldv_coherent_state = ldv_coherent_state + 1;
8712# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8713    return (arbitrary_memory);
8714# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8715    goto while_break;
8716  }
8717  while_break___0: ;
8718  }
8719  while_break: ;
8720# 65 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8721  return ((void *)0);
8722}
8723}
8724# 68 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8725void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma ) __attribute__((__ldv_model__)) ;
8726# 68 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8727void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma )
8728{
8729
8730  {
8731  {
8732# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8733  while (1) {
8734    while_continue: ;
8735# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8736    if (! ((unsigned long )addr != (unsigned long )((void *)0))) {
8737      {
8738# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8739      ldv_assume_stop();
8740      }
8741    } else {
8742
8743    }
8744# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8745    if (addr) {
8746# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8747      if (ldv_coherent_state >= 1) {
8748
8749      } else {
8750        {
8751# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8752        ldv_blast_assert();
8753        }
8754      }
8755# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8756      ldv_coherent_state = ldv_coherent_state - 1;
8757    } else {
8758
8759    }
8760# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8761    goto while_break;
8762  }
8763  while_break___0: ;
8764  }
8765  while_break: ;
8766# 71 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8767  return;
8768}
8769}
8770# 74 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8771struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags ) __attribute__((__ldv_model__)) ;
8772# 74 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8773struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags )
8774{ void *arbitrary_memory ;
8775  void *tmp___7 ;
8776
8777  {
8778  {
8779# 75 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8780  while (1) {
8781    while_continue: ;
8782    {
8783# 75 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8784    tmp___7 = ldv_undefined_pointer();
8785# 75 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8786    arbitrary_memory = tmp___7;
8787    }
8788# 75 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8789    if (! arbitrary_memory) {
8790# 75 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8791      return ((struct urb *)((void *)0));
8792    } else {
8793
8794    }
8795# 75 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8796    ldv_urb_state = ldv_urb_state + 1;
8797# 75 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8798    return ((struct urb *)arbitrary_memory);
8799# 75 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8800    goto while_break;
8801  }
8802  while_break___0: ;
8803  }
8804  while_break: ;
8805# 76 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8806  return ((struct urb *)0);
8807}
8808}
8809# 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8810void usb_free_urb(struct urb *urb ) __attribute__((__ldv_model__)) ;
8811# 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8812void usb_free_urb(struct urb *urb )
8813{
8814
8815  {
8816  {
8817# 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8818  while (1) {
8819    while_continue: ;
8820# 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8821    if (! ((unsigned long )urb != (unsigned long )((struct urb *)0))) {
8822      {
8823# 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8824      ldv_assume_stop();
8825      }
8826    } else {
8827
8828    }
8829# 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8830    if (urb) {
8831# 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8832      if (ldv_urb_state >= 1) {
8833
8834      } else {
8835        {
8836# 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8837        ldv_blast_assert();
8838        }
8839      }
8840# 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8841      ldv_urb_state = ldv_urb_state - 1;
8842    } else {
8843
8844    }
8845# 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8846    goto while_break;
8847  }
8848  while_break___0: ;
8849  }
8850  while_break: ;
8851# 81 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8852  return;
8853}
8854}
8855# 84 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8856void ldv_check_final_state(void) __attribute__((__ldv_model__)) ;
8857# 84 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8858void ldv_check_final_state(void)
8859{
8860
8861  {
8862# 86 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8863  if (ldv_urb_state == 0) {
8864
8865  } else {
8866    {
8867# 86 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8868    ldv_blast_assert();
8869    }
8870  }
8871# 88 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8872  if (ldv_coherent_state == 0) {
8873
8874  } else {
8875    {
8876# 88 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8877    ldv_blast_assert();
8878    }
8879  }
8880# 89 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8881  return;
8882}
8883}