extern void abort(void); #include void reach_error() { assert(0); } /* Generated by CIL v. 1.5.1 */ /* print_CIL_Input is false */ struct kernel_symbol { unsigned long value ; char const *name ; }; struct module; typedef signed char __s8; typedef unsigned char __u8; typedef short __s16; typedef unsigned short __u16; typedef int __s32; typedef unsigned int __u32; typedef unsigned long long __u64; typedef signed char s8; typedef unsigned char u8; typedef short s16; typedef unsigned short u16; typedef int s32; typedef unsigned int u32; typedef long long s64; typedef unsigned long long u64; typedef long __kernel_long_t; typedef unsigned long __kernel_ulong_t; typedef int __kernel_pid_t; typedef __kernel_long_t __kernel_suseconds_t; typedef unsigned int __kernel_uid32_t; typedef unsigned int __kernel_gid32_t; typedef __kernel_ulong_t __kernel_size_t; typedef __kernel_long_t __kernel_ssize_t; typedef long long __kernel_loff_t; typedef __kernel_long_t __kernel_time_t; typedef __kernel_long_t __kernel_clock_t; typedef int __kernel_timer_t; typedef int __kernel_clockid_t; typedef __u16 __le16; typedef __u16 __be16; typedef __u32 __le32; typedef __u32 __be32; typedef __u32 __wsum; typedef __u32 __kernel_dev_t; typedef __kernel_dev_t dev_t; typedef unsigned short umode_t; typedef __kernel_pid_t pid_t; typedef __kernel_clockid_t clockid_t; typedef _Bool bool; typedef __kernel_uid32_t uid_t; typedef __kernel_gid32_t gid_t; typedef __kernel_loff_t loff_t; typedef __kernel_size_t size_t; typedef __kernel_ssize_t ssize_t; typedef __kernel_time_t time_t; typedef __s32 int32_t; typedef __u8 uint8_t; typedef __u32 uint32_t; typedef __u64 uint64_t; typedef unsigned long sector_t; typedef unsigned long blkcnt_t; typedef u64 dma_addr_t; typedef unsigned int gfp_t; typedef unsigned int fmode_t; typedef unsigned int oom_flags_t; struct __anonstruct_atomic_t_6 { int counter ; }; typedef struct __anonstruct_atomic_t_6 atomic_t; struct __anonstruct_atomic64_t_7 { long counter ; }; typedef struct __anonstruct_atomic64_t_7 atomic64_t; struct list_head { struct list_head *next ; struct list_head *prev ; }; struct hlist_node; struct hlist_head { struct hlist_node *first ; }; struct hlist_node { struct hlist_node *next ; struct hlist_node **pprev ; }; struct callback_head { struct callback_head *next ; void (*func)(struct callback_head * ) ; }; struct pt_regs { unsigned long r15 ; unsigned long r14 ; unsigned long r13 ; unsigned long r12 ; unsigned long bp ; unsigned long bx ; unsigned long r11 ; unsigned long r10 ; unsigned long r9 ; unsigned long r8 ; unsigned long ax ; unsigned long cx ; unsigned long dx ; unsigned long si ; unsigned long di ; unsigned long orig_ax ; unsigned long ip ; unsigned long cs ; unsigned long flags ; unsigned long sp ; unsigned long ss ; }; struct __anonstruct_ldv_1022_9 { unsigned int a ; unsigned int b ; }; struct __anonstruct_ldv_1037_10 { u16 limit0 ; u16 base0 ; unsigned char base1 ; unsigned char type : 4 ; unsigned char s : 1 ; unsigned char dpl : 2 ; unsigned char p : 1 ; unsigned char limit : 4 ; unsigned char avl : 1 ; unsigned char l : 1 ; unsigned char d : 1 ; unsigned char g : 1 ; unsigned char base2 ; }; union __anonunion_ldv_1038_8 { struct __anonstruct_ldv_1022_9 ldv_1022 ; struct __anonstruct_ldv_1037_10 ldv_1037 ; }; struct desc_struct { union __anonunion_ldv_1038_8 ldv_1038 ; }; typedef unsigned long pteval_t; typedef unsigned long pgdval_t; typedef unsigned long pgprotval_t; struct __anonstruct_pte_t_11 { pteval_t pte ; }; typedef struct __anonstruct_pte_t_11 pte_t; struct pgprot { pgprotval_t pgprot ; }; typedef struct pgprot pgprot_t; struct __anonstruct_pgd_t_12 { pgdval_t pgd ; }; typedef struct __anonstruct_pgd_t_12 pgd_t; struct page; typedef struct page *pgtable_t; struct file; struct seq_file; struct thread_struct; struct mm_struct; struct task_struct; struct cpumask; struct arch_spinlock; typedef u16 __ticket_t; typedef u32 __ticketpair_t; struct __raw_tickets { __ticket_t head ; __ticket_t tail ; }; union __anonunion_ldv_1458_15 { __ticketpair_t head_tail ; struct __raw_tickets tickets ; }; struct arch_spinlock { union __anonunion_ldv_1458_15 ldv_1458 ; }; typedef struct arch_spinlock arch_spinlock_t; struct qrwlock { atomic_t cnts ; arch_spinlock_t lock ; }; typedef struct qrwlock arch_rwlock_t; typedef void (*ctor_fn_t)(void); struct _ddebug { char const *modname ; char const *function ; char const *filename ; char const *format ; unsigned int lineno : 18 ; unsigned char flags ; }; struct device; struct net_device; struct file_operations; struct completion; struct pid; struct bug_entry { int bug_addr_disp ; int file_disp ; unsigned short line ; unsigned short flags ; }; struct timespec; struct compat_timespec; struct __anonstruct_futex_17 { u32 *uaddr ; u32 val ; u32 flags ; u32 bitset ; u64 time ; u32 *uaddr2 ; }; struct __anonstruct_nanosleep_18 { clockid_t clockid ; struct timespec *rmtp ; struct compat_timespec *compat_rmtp ; u64 expires ; }; struct pollfd; struct __anonstruct_poll_19 { struct pollfd *ufds ; int nfds ; int has_timeout ; unsigned long tv_sec ; unsigned long tv_nsec ; }; union __anonunion_ldv_2850_16 { struct __anonstruct_futex_17 futex ; struct __anonstruct_nanosleep_18 nanosleep ; struct __anonstruct_poll_19 poll ; }; struct restart_block { long (*fn)(struct restart_block * ) ; union __anonunion_ldv_2850_16 ldv_2850 ; }; struct exec_domain; struct kernel_vm86_regs { struct pt_regs pt ; unsigned short es ; unsigned short __esh ; unsigned short ds ; unsigned short __dsh ; unsigned short fs ; unsigned short __fsh ; unsigned short gs ; unsigned short __gsh ; }; union __anonunion_ldv_2998_20 { struct pt_regs *regs ; struct kernel_vm86_regs *vm86 ; }; struct math_emu_info { long ___orig_eip ; union __anonunion_ldv_2998_20 ldv_2998 ; }; struct cpumask { unsigned long bits[128U] ; }; typedef struct cpumask cpumask_t; typedef struct cpumask *cpumask_var_t; struct map_segment; struct exec_domain { char const *name ; void (*handler)(int , struct pt_regs * ) ; unsigned char pers_low ; unsigned char pers_high ; unsigned long *signal_map ; unsigned long *signal_invmap ; struct map_segment *err_map ; struct map_segment *socktype_map ; struct map_segment *sockopt_map ; struct map_segment *af_map ; struct module *module ; struct exec_domain *next ; }; struct seq_operations; struct i387_fsave_struct { u32 cwd ; u32 swd ; u32 twd ; u32 fip ; u32 fcs ; u32 foo ; u32 fos ; u32 st_space[20U] ; u32 status ; }; struct __anonstruct_ldv_5289_25 { u64 rip ; u64 rdp ; }; struct __anonstruct_ldv_5295_26 { u32 fip ; u32 fcs ; u32 foo ; u32 fos ; }; union __anonunion_ldv_5296_24 { struct __anonstruct_ldv_5289_25 ldv_5289 ; struct __anonstruct_ldv_5295_26 ldv_5295 ; }; union __anonunion_ldv_5305_27 { u32 padding1[12U] ; u32 sw_reserved[12U] ; }; struct i387_fxsave_struct { u16 cwd ; u16 swd ; u16 twd ; u16 fop ; union __anonunion_ldv_5296_24 ldv_5296 ; u32 mxcsr ; u32 mxcsr_mask ; u32 st_space[32U] ; u32 xmm_space[64U] ; u32 padding[12U] ; union __anonunion_ldv_5305_27 ldv_5305 ; }; struct i387_soft_struct { u32 cwd ; u32 swd ; u32 twd ; u32 fip ; u32 fcs ; u32 foo ; u32 fos ; u32 st_space[20U] ; u8 ftop ; u8 changed ; u8 lookahead ; u8 no_update ; u8 rm ; u8 alimit ; struct math_emu_info *info ; u32 entry_eip ; }; struct ymmh_struct { u32 ymmh_space[64U] ; }; struct lwp_struct { u8 reserved[128U] ; }; struct bndregs_struct { u64 bndregs[8U] ; }; struct bndcsr_struct { u64 cfg_reg_u ; u64 status_reg ; }; struct xsave_hdr_struct { u64 xstate_bv ; u64 reserved1[2U] ; u64 reserved2[5U] ; }; struct xsave_struct { struct i387_fxsave_struct i387 ; struct xsave_hdr_struct xsave_hdr ; struct ymmh_struct ymmh ; struct lwp_struct lwp ; struct bndregs_struct bndregs ; struct bndcsr_struct bndcsr ; }; union thread_xstate { struct i387_fsave_struct fsave ; struct i387_fxsave_struct fxsave ; struct i387_soft_struct soft ; struct xsave_struct xsave ; }; struct fpu { unsigned int last_cpu ; unsigned int has_fpu ; union thread_xstate *state ; }; struct kmem_cache; struct perf_event; struct thread_struct { struct desc_struct tls_array[3U] ; unsigned long sp0 ; unsigned long sp ; unsigned long usersp ; unsigned short es ; unsigned short ds ; unsigned short fsindex ; unsigned short gsindex ; unsigned long fs ; unsigned long gs ; struct perf_event *ptrace_bps[4U] ; unsigned long debugreg6 ; unsigned long ptrace_dr7 ; unsigned long cr2 ; unsigned long trap_nr ; unsigned long error_code ; struct fpu fpu ; unsigned long *io_bitmap_ptr ; unsigned long iopl ; unsigned int io_bitmap_max ; unsigned char fpu_counter ; }; struct __anonstruct_mm_segment_t_29 { unsigned long seg ; }; typedef struct __anonstruct_mm_segment_t_29 mm_segment_t; typedef atomic64_t atomic_long_t; struct thread_info { struct task_struct *task ; struct exec_domain *exec_domain ; __u32 flags ; __u32 status ; __u32 cpu ; int saved_preempt_count ; mm_segment_t addr_limit ; struct restart_block restart_block ; void *sysenter_return ; unsigned char sig_on_uaccess_error : 1 ; unsigned char uaccess_err : 1 ; }; struct lockdep_map; struct stack_trace { unsigned int nr_entries ; unsigned int max_entries ; unsigned long *entries ; int skip ; }; struct lockdep_subclass_key { char __one_byte ; } __attribute__((__packed__)) ; struct lock_class_key { struct lockdep_subclass_key subkeys[8U] ; }; struct lock_class { struct list_head hash_entry ; struct list_head lock_entry ; struct lockdep_subclass_key *key ; unsigned int subclass ; unsigned int dep_gen_id ; unsigned long usage_mask ; struct stack_trace usage_traces[13U] ; struct list_head locks_after ; struct list_head locks_before ; unsigned int version ; unsigned long ops ; char const *name ; int name_version ; unsigned long contention_point[4U] ; unsigned long contending_point[4U] ; }; struct lockdep_map { struct lock_class_key *key ; struct lock_class *class_cache[2U] ; char const *name ; int cpu ; unsigned long ip ; }; struct held_lock { u64 prev_chain_key ; unsigned long acquire_ip ; struct lockdep_map *instance ; struct lockdep_map *nest_lock ; u64 waittime_stamp ; u64 holdtime_stamp ; unsigned short class_idx : 13 ; unsigned char irq_context : 2 ; unsigned char trylock : 1 ; unsigned char read : 2 ; unsigned char check : 1 ; unsigned char hardirqs_off : 1 ; unsigned short references : 12 ; }; struct raw_spinlock { arch_spinlock_t raw_lock ; unsigned int magic ; unsigned int owner_cpu ; void *owner ; struct lockdep_map dep_map ; }; typedef struct raw_spinlock raw_spinlock_t; struct __anonstruct_ldv_6346_31 { u8 __padding[24U] ; struct lockdep_map dep_map ; }; union __anonunion_ldv_6347_30 { struct raw_spinlock rlock ; struct __anonstruct_ldv_6346_31 ldv_6346 ; }; struct spinlock { union __anonunion_ldv_6347_30 ldv_6347 ; }; typedef struct spinlock spinlock_t; struct __anonstruct_rwlock_t_32 { arch_rwlock_t raw_lock ; unsigned int magic ; unsigned int owner_cpu ; void *owner ; struct lockdep_map dep_map ; }; typedef struct __anonstruct_rwlock_t_32 rwlock_t; struct seqcount { unsigned int sequence ; struct lockdep_map dep_map ; }; typedef struct seqcount seqcount_t; struct __anonstruct_seqlock_t_33 { struct seqcount seqcount ; spinlock_t lock ; }; typedef struct __anonstruct_seqlock_t_33 seqlock_t; struct timespec { __kernel_time_t tv_sec ; long tv_nsec ; }; struct timeval { __kernel_time_t tv_sec ; __kernel_suseconds_t tv_usec ; }; struct user_namespace; struct __anonstruct_kuid_t_34 { uid_t val ; }; typedef struct __anonstruct_kuid_t_34 kuid_t; struct __anonstruct_kgid_t_35 { gid_t val ; }; typedef struct __anonstruct_kgid_t_35 kgid_t; struct kstat { u64 ino ; dev_t dev ; umode_t mode ; unsigned int nlink ; kuid_t uid ; kgid_t gid ; dev_t rdev ; loff_t size ; struct timespec atime ; struct timespec mtime ; struct timespec ctime ; unsigned long blksize ; unsigned long long blocks ; }; struct __wait_queue_head { spinlock_t lock ; struct list_head task_list ; }; typedef struct __wait_queue_head wait_queue_head_t; struct __anonstruct_nodemask_t_36 { unsigned long bits[16U] ; }; typedef struct __anonstruct_nodemask_t_36 nodemask_t; struct optimistic_spin_queue; struct mutex { atomic_t count ; spinlock_t wait_lock ; struct list_head wait_list ; struct task_struct *owner ; char const *name ; void *magic ; struct lockdep_map dep_map ; }; struct mutex_waiter { struct list_head list ; struct task_struct *task ; void *magic ; }; struct rw_semaphore; struct rw_semaphore { long count ; raw_spinlock_t wait_lock ; struct list_head wait_list ; struct task_struct *owner ; struct optimistic_spin_queue *osq ; struct lockdep_map dep_map ; }; struct completion { unsigned int done ; wait_queue_head_t wait ; }; struct llist_node; struct llist_node { struct llist_node *next ; }; union ktime { s64 tv64 ; }; typedef union ktime ktime_t; struct tvec_base; struct timer_list { struct list_head entry ; unsigned long expires ; struct tvec_base *base ; void (*function)(unsigned long ) ; unsigned long data ; int slack ; int start_pid ; void *start_site ; char start_comm[16U] ; struct lockdep_map lockdep_map ; }; struct hrtimer; enum hrtimer_restart; struct workqueue_struct; struct work_struct; struct work_struct { atomic_long_t data ; struct list_head entry ; void (*func)(struct work_struct * ) ; struct lockdep_map lockdep_map ; }; struct delayed_work { struct work_struct work ; struct timer_list timer ; struct workqueue_struct *wq ; int cpu ; }; struct pm_message { int event ; }; typedef struct pm_message pm_message_t; struct dev_pm_ops { int (*prepare)(struct device * ) ; void (*complete)(struct device * ) ; int (*suspend)(struct device * ) ; int (*resume)(struct device * ) ; int (*freeze)(struct device * ) ; int (*thaw)(struct device * ) ; int (*poweroff)(struct device * ) ; int (*restore)(struct device * ) ; int (*suspend_late)(struct device * ) ; int (*resume_early)(struct device * ) ; int (*freeze_late)(struct device * ) ; int (*thaw_early)(struct device * ) ; int (*poweroff_late)(struct device * ) ; int (*restore_early)(struct device * ) ; int (*suspend_noirq)(struct device * ) ; int (*resume_noirq)(struct device * ) ; int (*freeze_noirq)(struct device * ) ; int (*thaw_noirq)(struct device * ) ; int (*poweroff_noirq)(struct device * ) ; int (*restore_noirq)(struct device * ) ; int (*runtime_suspend)(struct device * ) ; int (*runtime_resume)(struct device * ) ; int (*runtime_idle)(struct device * ) ; }; enum rpm_status { RPM_ACTIVE = 0, RPM_RESUMING = 1, RPM_SUSPENDED = 2, RPM_SUSPENDING = 3 } ; enum rpm_request { RPM_REQ_NONE = 0, RPM_REQ_IDLE = 1, RPM_REQ_SUSPEND = 2, RPM_REQ_AUTOSUSPEND = 3, RPM_REQ_RESUME = 4 } ; struct wakeup_source; struct pm_subsys_data { spinlock_t lock ; unsigned int refcount ; struct list_head clock_list ; }; struct dev_pm_qos; struct dev_pm_info { pm_message_t power_state ; unsigned char can_wakeup : 1 ; unsigned char async_suspend : 1 ; bool is_prepared ; bool is_suspended ; bool is_noirq_suspended ; bool is_late_suspended ; bool ignore_children ; bool early_init ; bool direct_complete ; spinlock_t lock ; struct list_head entry ; struct completion completion ; struct wakeup_source *wakeup ; bool wakeup_path ; bool syscore ; struct timer_list suspend_timer ; unsigned long timer_expires ; struct work_struct work ; wait_queue_head_t wait_queue ; atomic_t usage_count ; atomic_t child_count ; unsigned char disable_depth : 3 ; unsigned char idle_notification : 1 ; unsigned char request_pending : 1 ; unsigned char deferred_resume : 1 ; unsigned char run_wake : 1 ; unsigned char runtime_auto : 1 ; unsigned char no_callbacks : 1 ; unsigned char irq_safe : 1 ; unsigned char use_autosuspend : 1 ; unsigned char timer_autosuspends : 1 ; unsigned char memalloc_noio : 1 ; enum rpm_request request ; enum rpm_status runtime_status ; int runtime_error ; int autosuspend_delay ; unsigned long last_busy ; unsigned long active_jiffies ; unsigned long suspended_jiffies ; unsigned long accounting_timestamp ; struct pm_subsys_data *subsys_data ; void (*set_latency_tolerance)(struct device * , s32 ) ; struct dev_pm_qos *qos ; }; struct dev_pm_domain { struct dev_pm_ops ops ; }; struct __anonstruct_mm_context_t_101 { void *ldt ; int size ; unsigned short ia32_compat ; struct mutex lock ; void *vdso ; }; typedef struct __anonstruct_mm_context_t_101 mm_context_t; struct rb_node { unsigned long __rb_parent_color ; struct rb_node *rb_right ; struct rb_node *rb_left ; } __attribute__((__aligned__(sizeof(long )))) ; struct rb_root { struct rb_node *rb_node ; }; struct vm_area_struct; struct bio_vec; struct notifier_block; struct notifier_block { int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ; struct notifier_block *next ; int priority ; }; struct blocking_notifier_head { struct rw_semaphore rwsem ; struct notifier_block *head ; }; struct ctl_table; struct nsproxy; struct ctl_table_root; struct ctl_table_header; struct ctl_dir; typedef int proc_handler(struct ctl_table * , int , void * , size_t * , loff_t * ); struct ctl_table_poll { atomic_t event ; wait_queue_head_t wait ; }; struct ctl_table { char const *procname ; void *data ; int maxlen ; umode_t mode ; struct ctl_table *child ; proc_handler *proc_handler ; struct ctl_table_poll *poll ; void *extra1 ; void *extra2 ; }; struct ctl_node { struct rb_node node ; struct ctl_table_header *header ; }; struct __anonstruct_ldv_13760_129 { struct ctl_table *ctl_table ; int used ; int count ; int nreg ; }; union __anonunion_ldv_13762_128 { struct __anonstruct_ldv_13760_129 ldv_13760 ; struct callback_head rcu ; }; struct ctl_table_set; struct ctl_table_header { union __anonunion_ldv_13762_128 ldv_13762 ; struct completion *unregistering ; struct ctl_table *ctl_table_arg ; struct ctl_table_root *root ; struct ctl_table_set *set ; struct ctl_dir *parent ; struct ctl_node *node ; }; struct ctl_dir { struct ctl_table_header header ; struct rb_root root ; }; struct ctl_table_set { int (*is_seen)(struct ctl_table_set * ) ; struct ctl_dir dir ; }; struct ctl_table_root { struct ctl_table_set default_set ; struct ctl_table_set *(*lookup)(struct ctl_table_root * , struct nsproxy * ) ; int (*permissions)(struct ctl_table_header * , struct ctl_table * ) ; }; struct cred; struct inode; struct arch_uprobe_task { unsigned long saved_scratch_register ; unsigned int saved_trap_nr ; unsigned int saved_tf ; }; enum uprobe_task_state { UTASK_RUNNING = 0, UTASK_SSTEP = 1, UTASK_SSTEP_ACK = 2, UTASK_SSTEP_TRAPPED = 3 } ; struct __anonstruct_ldv_14006_136 { struct arch_uprobe_task autask ; unsigned long vaddr ; }; struct __anonstruct_ldv_14010_137 { struct callback_head dup_xol_work ; unsigned long dup_xol_addr ; }; union __anonunion_ldv_14011_135 { struct __anonstruct_ldv_14006_136 ldv_14006 ; struct __anonstruct_ldv_14010_137 ldv_14010 ; }; struct uprobe; struct return_instance; struct uprobe_task { enum uprobe_task_state state ; union __anonunion_ldv_14011_135 ldv_14011 ; struct uprobe *active_uprobe ; unsigned long xol_vaddr ; struct return_instance *return_instances ; unsigned int depth ; }; struct xol_area; struct uprobes_state { struct xol_area *xol_area ; }; struct address_space; union __anonunion_ldv_14120_138 { struct address_space *mapping ; void *s_mem ; }; union __anonunion_ldv_14126_140 { unsigned long index ; void *freelist ; bool pfmemalloc ; }; struct __anonstruct_ldv_14136_144 { unsigned short inuse ; unsigned short objects : 15 ; unsigned char frozen : 1 ; }; union __anonunion_ldv_14138_143 { atomic_t _mapcount ; struct __anonstruct_ldv_14136_144 ldv_14136 ; int units ; }; struct __anonstruct_ldv_14140_142 { union __anonunion_ldv_14138_143 ldv_14138 ; atomic_t _count ; }; union __anonunion_ldv_14142_141 { unsigned long counters ; struct __anonstruct_ldv_14140_142 ldv_14140 ; unsigned int active ; }; struct __anonstruct_ldv_14143_139 { union __anonunion_ldv_14126_140 ldv_14126 ; union __anonunion_ldv_14142_141 ldv_14142 ; }; struct __anonstruct_ldv_14150_146 { struct page *next ; int pages ; int pobjects ; }; struct slab; union __anonunion_ldv_14155_145 { struct list_head lru ; struct __anonstruct_ldv_14150_146 ldv_14150 ; struct slab *slab_page ; struct callback_head callback_head ; pgtable_t pmd_huge_pte ; }; union __anonunion_ldv_14161_147 { unsigned long private ; spinlock_t *ptl ; struct kmem_cache *slab_cache ; struct page *first_page ; }; struct page { unsigned long flags ; union __anonunion_ldv_14120_138 ldv_14120 ; struct __anonstruct_ldv_14143_139 ldv_14143 ; union __anonunion_ldv_14155_145 ldv_14155 ; union __anonunion_ldv_14161_147 ldv_14161 ; unsigned long debug_flags ; }; struct page_frag { struct page *page ; __u32 offset ; __u32 size ; }; struct __anonstruct_linear_149 { struct rb_node rb ; unsigned long rb_subtree_last ; }; union __anonunion_shared_148 { struct __anonstruct_linear_149 linear ; struct list_head nonlinear ; }; struct anon_vma; struct vm_operations_struct; struct mempolicy; struct vm_area_struct { unsigned long vm_start ; unsigned long vm_end ; struct vm_area_struct *vm_next ; struct vm_area_struct *vm_prev ; struct rb_node vm_rb ; unsigned long rb_subtree_gap ; struct mm_struct *vm_mm ; pgprot_t vm_page_prot ; unsigned long vm_flags ; union __anonunion_shared_148 shared ; struct list_head anon_vma_chain ; struct anon_vma *anon_vma ; struct vm_operations_struct const *vm_ops ; unsigned long vm_pgoff ; struct file *vm_file ; void *vm_private_data ; struct mempolicy *vm_policy ; }; struct core_thread { struct task_struct *task ; struct core_thread *next ; }; struct core_state { atomic_t nr_threads ; struct core_thread dumper ; struct completion startup ; }; struct task_rss_stat { int events ; int count[3U] ; }; struct mm_rss_stat { atomic_long_t count[3U] ; }; struct kioctx_table; struct linux_binfmt; struct mmu_notifier_mm; struct mm_struct { struct vm_area_struct *mmap ; struct rb_root mm_rb ; u32 vmacache_seqnum ; unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long , unsigned long , unsigned long ) ; unsigned long mmap_base ; unsigned long mmap_legacy_base ; unsigned long task_size ; unsigned long highest_vm_end ; pgd_t *pgd ; atomic_t mm_users ; atomic_t mm_count ; atomic_long_t nr_ptes ; int map_count ; spinlock_t page_table_lock ; struct rw_semaphore mmap_sem ; struct list_head mmlist ; unsigned long hiwater_rss ; unsigned long hiwater_vm ; unsigned long total_vm ; unsigned long locked_vm ; unsigned long pinned_vm ; unsigned long shared_vm ; unsigned long exec_vm ; unsigned long stack_vm ; unsigned long def_flags ; unsigned long start_code ; unsigned long end_code ; unsigned long start_data ; unsigned long end_data ; unsigned long start_brk ; unsigned long brk ; unsigned long start_stack ; unsigned long arg_start ; unsigned long arg_end ; unsigned long env_start ; unsigned long env_end ; unsigned long saved_auxv[46U] ; struct mm_rss_stat rss_stat ; struct linux_binfmt *binfmt ; cpumask_var_t cpu_vm_mask_var ; mm_context_t context ; unsigned long flags ; struct core_state *core_state ; spinlock_t ioctx_lock ; struct kioctx_table *ioctx_table ; struct task_struct *owner ; struct file *exe_file ; struct mmu_notifier_mm *mmu_notifier_mm ; struct cpumask cpumask_allocation ; unsigned long numa_next_scan ; unsigned long numa_scan_offset ; int numa_scan_seq ; bool tlb_flush_pending ; struct uprobes_state uprobes_state ; }; typedef __u64 Elf64_Addr; typedef __u16 Elf64_Half; typedef __u32 Elf64_Word; typedef __u64 Elf64_Xword; struct elf64_sym { Elf64_Word st_name ; unsigned char st_info ; unsigned char st_other ; Elf64_Half st_shndx ; Elf64_Addr st_value ; Elf64_Xword st_size ; }; typedef struct elf64_sym Elf64_Sym; union __anonunion_ldv_14524_153 { unsigned long bitmap[4U] ; struct callback_head callback_head ; }; struct idr_layer { int prefix ; int layer ; struct idr_layer *ary[256U] ; int count ; union __anonunion_ldv_14524_153 ldv_14524 ; }; struct idr { struct idr_layer *hint ; struct idr_layer *top ; int layers ; int cur ; spinlock_t lock ; int id_free_cnt ; struct idr_layer *id_free ; }; struct ida_bitmap { long nr_busy ; unsigned long bitmap[15U] ; }; struct ida { struct idr idr ; struct ida_bitmap *free_bitmap ; }; struct dentry; struct iattr; struct super_block; struct file_system_type; struct kernfs_open_node; struct kernfs_iattrs; struct kernfs_root; struct kernfs_elem_dir { unsigned long subdirs ; struct rb_root children ; struct kernfs_root *root ; }; struct kernfs_node; struct kernfs_elem_symlink { struct kernfs_node *target_kn ; }; struct kernfs_ops; struct kernfs_elem_attr { struct kernfs_ops const *ops ; struct kernfs_open_node *open ; loff_t size ; }; union __anonunion_ldv_14668_154 { struct kernfs_elem_dir dir ; struct kernfs_elem_symlink symlink ; struct kernfs_elem_attr attr ; }; struct kernfs_node { atomic_t count ; atomic_t active ; struct lockdep_map dep_map ; struct kernfs_node *parent ; char const *name ; struct rb_node rb ; void const *ns ; unsigned int hash ; union __anonunion_ldv_14668_154 ldv_14668 ; void *priv ; unsigned short flags ; umode_t mode ; unsigned int ino ; struct kernfs_iattrs *iattr ; }; struct kernfs_syscall_ops { int (*remount_fs)(struct kernfs_root * , int * , char * ) ; int (*show_options)(struct seq_file * , struct kernfs_root * ) ; int (*mkdir)(struct kernfs_node * , char const * , umode_t ) ; int (*rmdir)(struct kernfs_node * ) ; int (*rename)(struct kernfs_node * , struct kernfs_node * , char const * ) ; }; struct kernfs_root { struct kernfs_node *kn ; unsigned int flags ; struct ida ino_ida ; struct kernfs_syscall_ops *syscall_ops ; struct list_head supers ; wait_queue_head_t deactivate_waitq ; }; struct kernfs_open_file { struct kernfs_node *kn ; struct file *file ; void *priv ; struct mutex mutex ; int event ; struct list_head list ; size_t atomic_write_len ; bool mmapped ; struct vm_operations_struct const *vm_ops ; }; struct kernfs_ops { int (*seq_show)(struct seq_file * , void * ) ; void *(*seq_start)(struct seq_file * , loff_t * ) ; void *(*seq_next)(struct seq_file * , void * , loff_t * ) ; void (*seq_stop)(struct seq_file * , void * ) ; ssize_t (*read)(struct kernfs_open_file * , char * , size_t , loff_t ) ; size_t atomic_write_len ; ssize_t (*write)(struct kernfs_open_file * , char * , size_t , loff_t ) ; int (*mmap)(struct kernfs_open_file * , struct vm_area_struct * ) ; struct lock_class_key lockdep_key ; }; struct sock; struct kobject; enum kobj_ns_type { KOBJ_NS_TYPE_NONE = 0, KOBJ_NS_TYPE_NET = 1, KOBJ_NS_TYPES = 2 } ; struct kobj_ns_type_operations { enum kobj_ns_type type ; bool (*current_may_mount)(void) ; void *(*grab_current_ns)(void) ; void const *(*netlink_ns)(struct sock * ) ; void const *(*initial_ns)(void) ; void (*drop_ns)(void * ) ; }; struct bin_attribute; struct attribute { char const *name ; umode_t mode ; bool ignore_lockdep ; struct lock_class_key *key ; struct lock_class_key skey ; }; struct attribute_group { char const *name ; umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ; struct attribute **attrs ; struct bin_attribute **bin_attrs ; }; struct bin_attribute { struct attribute attr ; size_t size ; void *private ; ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * , loff_t , size_t ) ; ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * , loff_t , size_t ) ; int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ; }; struct sysfs_ops { ssize_t (*show)(struct kobject * , struct attribute * , char * ) ; ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ; }; struct kref { atomic_t refcount ; }; struct kset; struct kobj_type; struct kobject { char const *name ; struct list_head entry ; struct kobject *parent ; struct kset *kset ; struct kobj_type *ktype ; struct kernfs_node *sd ; struct kref kref ; struct delayed_work release ; unsigned char state_initialized : 1 ; unsigned char state_in_sysfs : 1 ; unsigned char state_add_uevent_sent : 1 ; unsigned char state_remove_uevent_sent : 1 ; unsigned char uevent_suppress : 1 ; }; struct kobj_type { void (*release)(struct kobject * ) ; struct sysfs_ops const *sysfs_ops ; struct attribute **default_attrs ; struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ; void const *(*namespace)(struct kobject * ) ; }; struct kobj_uevent_env { char *argv[3U] ; char *envp[32U] ; int envp_idx ; char buf[2048U] ; int buflen ; }; struct kset_uevent_ops { int (* const filter)(struct kset * , struct kobject * ) ; char const *(* const name)(struct kset * , struct kobject * ) ; int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ; }; struct kset { struct list_head list ; spinlock_t list_lock ; struct kobject kobj ; struct kset_uevent_ops const *uevent_ops ; }; struct kernel_param; struct kernel_param_ops { unsigned int flags ; int (*set)(char const * , struct kernel_param const * ) ; int (*get)(char * , struct kernel_param const * ) ; void (*free)(void * ) ; }; struct kparam_string; struct kparam_array; union __anonunion_ldv_15343_155 { void *arg ; struct kparam_string const *str ; struct kparam_array const *arr ; }; struct kernel_param { char const *name ; struct kernel_param_ops const *ops ; u16 perm ; s16 level ; union __anonunion_ldv_15343_155 ldv_15343 ; }; struct kparam_string { unsigned int maxlen ; char *string ; }; struct kparam_array { unsigned int max ; unsigned int elemsize ; unsigned int *num ; struct kernel_param_ops const *ops ; void *elem ; }; struct mod_arch_specific { }; struct module_param_attrs; struct module_kobject { struct kobject kobj ; struct module *mod ; struct kobject *drivers_dir ; struct module_param_attrs *mp ; struct completion *kobj_completion ; }; struct module_attribute { struct attribute attr ; ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ; ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * , size_t ) ; void (*setup)(struct module * , char const * ) ; int (*test)(struct module * ) ; void (*free)(struct module * ) ; }; struct exception_table_entry; enum module_state { MODULE_STATE_LIVE = 0, MODULE_STATE_COMING = 1, MODULE_STATE_GOING = 2, MODULE_STATE_UNFORMED = 3 } ; struct module_ref { unsigned long incs ; unsigned long decs ; }; struct module_sect_attrs; struct module_notes_attrs; struct tracepoint; struct ftrace_event_call; struct module { enum module_state state ; struct list_head list ; char name[56U] ; struct module_kobject mkobj ; struct module_attribute *modinfo_attrs ; char const *version ; char const *srcversion ; struct kobject *holders_dir ; struct kernel_symbol const *syms ; unsigned long const *crcs ; unsigned int num_syms ; struct kernel_param *kp ; unsigned int num_kp ; unsigned int num_gpl_syms ; struct kernel_symbol const *gpl_syms ; unsigned long const *gpl_crcs ; struct kernel_symbol const *unused_syms ; unsigned long const *unused_crcs ; unsigned int num_unused_syms ; unsigned int num_unused_gpl_syms ; struct kernel_symbol const *unused_gpl_syms ; unsigned long const *unused_gpl_crcs ; bool sig_ok ; struct kernel_symbol const *gpl_future_syms ; unsigned long const *gpl_future_crcs ; unsigned int num_gpl_future_syms ; unsigned int num_exentries ; struct exception_table_entry *extable ; int (*init)(void) ; void *module_init ; void *module_core ; unsigned int init_size ; unsigned int core_size ; unsigned int init_text_size ; unsigned int core_text_size ; unsigned int init_ro_size ; unsigned int core_ro_size ; struct mod_arch_specific arch ; unsigned int taints ; unsigned int num_bugs ; struct list_head bug_list ; struct bug_entry *bug_table ; Elf64_Sym *symtab ; Elf64_Sym *core_symtab ; unsigned int num_symtab ; unsigned int core_num_syms ; char *strtab ; char *core_strtab ; struct module_sect_attrs *sect_attrs ; struct module_notes_attrs *notes_attrs ; char *args ; void *percpu ; unsigned int percpu_size ; unsigned int num_tracepoints ; struct tracepoint * const *tracepoints_ptrs ; unsigned int num_trace_bprintk_fmt ; char const **trace_bprintk_fmt_start ; struct ftrace_event_call **trace_events ; unsigned int num_trace_events ; unsigned int num_ftrace_callsites ; unsigned long *ftrace_callsites ; struct list_head source_list ; struct list_head target_list ; void (*exit)(void) ; struct module_ref *refptr ; ctor_fn_t (**ctors)(void) ; unsigned int num_ctors ; }; struct mem_cgroup; struct kmem_cache_cpu { void **freelist ; unsigned long tid ; struct page *page ; struct page *partial ; unsigned int stat[26U] ; }; struct kmem_cache_order_objects { unsigned long x ; }; struct memcg_cache_params; struct kmem_cache_node; struct kmem_cache { struct kmem_cache_cpu *cpu_slab ; unsigned long flags ; unsigned long min_partial ; int size ; int object_size ; int offset ; int cpu_partial ; struct kmem_cache_order_objects oo ; struct kmem_cache_order_objects max ; struct kmem_cache_order_objects min ; gfp_t allocflags ; int refcount ; void (*ctor)(void * ) ; int inuse ; int align ; int reserved ; char const *name ; struct list_head list ; struct kobject kobj ; struct memcg_cache_params *memcg_params ; int max_attr_size ; struct kset *memcg_kset ; int remote_node_defrag_ratio ; struct kmem_cache_node *node[1024U] ; }; struct __anonstruct_ldv_15969_157 { struct callback_head callback_head ; struct kmem_cache *memcg_caches[0U] ; }; struct __anonstruct_ldv_15975_158 { struct mem_cgroup *memcg ; struct list_head list ; struct kmem_cache *root_cache ; atomic_t nr_pages ; }; union __anonunion_ldv_15976_156 { struct __anonstruct_ldv_15969_157 ldv_15969 ; struct __anonstruct_ldv_15975_158 ldv_15975 ; }; struct memcg_cache_params { bool is_root_cache ; union __anonunion_ldv_15976_156 ldv_15976 ; }; struct usb_interface; struct plist_head { struct list_head node_list ; }; struct plist_node { int prio ; struct list_head prio_list ; struct list_head node_list ; }; struct klist_node; struct klist_node { void *n_klist ; struct list_head n_node ; struct kref n_ref ; }; struct path; struct seq_file { char *buf ; size_t size ; size_t from ; size_t count ; size_t pad_until ; loff_t index ; loff_t read_pos ; u64 version ; struct mutex lock ; struct seq_operations const *op ; int poll_event ; struct user_namespace *user_ns ; void *private ; }; struct seq_operations { void *(*start)(struct seq_file * , loff_t * ) ; void (*stop)(struct seq_file * , void * ) ; void *(*next)(struct seq_file * , void * , loff_t * ) ; int (*show)(struct seq_file * , void * ) ; }; struct pinctrl; struct pinctrl_state; struct dev_pin_info { struct pinctrl *p ; struct pinctrl_state *default_state ; struct pinctrl_state *sleep_state ; struct pinctrl_state *idle_state ; }; struct dma_map_ops; struct dev_archdata { struct dma_map_ops *dma_ops ; void *iommu ; }; struct device_private; struct device_driver; struct driver_private; struct class; struct subsys_private; struct bus_type; struct device_node; struct iommu_ops; struct iommu_group; struct device_attribute; struct bus_type { char const *name ; char const *dev_name ; struct device *dev_root ; struct device_attribute *dev_attrs ; struct attribute_group const **bus_groups ; struct attribute_group const **dev_groups ; struct attribute_group const **drv_groups ; int (*match)(struct device * , struct device_driver * ) ; int (*uevent)(struct device * , struct kobj_uevent_env * ) ; int (*probe)(struct device * ) ; int (*remove)(struct device * ) ; void (*shutdown)(struct device * ) ; int (*online)(struct device * ) ; int (*offline)(struct device * ) ; int (*suspend)(struct device * , pm_message_t ) ; int (*resume)(struct device * ) ; struct dev_pm_ops const *pm ; struct iommu_ops *iommu_ops ; struct subsys_private *p ; struct lock_class_key lock_key ; }; struct device_type; struct of_device_id; struct acpi_device_id; struct device_driver { char const *name ; struct bus_type *bus ; struct module *owner ; char const *mod_name ; bool suppress_bind_attrs ; struct of_device_id const *of_match_table ; struct acpi_device_id const *acpi_match_table ; int (*probe)(struct device * ) ; int (*remove)(struct device * ) ; void (*shutdown)(struct device * ) ; int (*suspend)(struct device * , pm_message_t ) ; int (*resume)(struct device * ) ; struct attribute_group const **groups ; struct dev_pm_ops const *pm ; struct driver_private *p ; }; struct class_attribute; struct class { char const *name ; struct module *owner ; struct class_attribute *class_attrs ; struct attribute_group const **dev_groups ; struct kobject *dev_kobj ; int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ; char *(*devnode)(struct device * , umode_t * ) ; void (*class_release)(struct class * ) ; void (*dev_release)(struct device * ) ; int (*suspend)(struct device * , pm_message_t ) ; int (*resume)(struct device * ) ; struct kobj_ns_type_operations const *ns_type ; void const *(*namespace)(struct device * ) ; struct dev_pm_ops const *pm ; struct subsys_private *p ; }; struct class_attribute { struct attribute attr ; ssize_t (*show)(struct class * , struct class_attribute * , char * ) ; ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ; }; struct device_type { char const *name ; struct attribute_group const **groups ; int (*uevent)(struct device * , struct kobj_uevent_env * ) ; char *(*devnode)(struct device * , umode_t * , kuid_t * , kgid_t * ) ; void (*release)(struct device * ) ; struct dev_pm_ops const *pm ; }; struct device_attribute { struct attribute attr ; ssize_t (*show)(struct device * , struct device_attribute * , char * ) ; ssize_t (*store)(struct device * , struct device_attribute * , char const * , size_t ) ; }; struct device_dma_parameters { unsigned int max_segment_size ; unsigned long segment_boundary_mask ; }; struct acpi_device; struct acpi_dev_node { struct acpi_device *companion ; }; struct dma_coherent_mem; struct cma; struct device { struct device *parent ; struct device_private *p ; struct kobject kobj ; char const *init_name ; struct device_type const *type ; struct mutex mutex ; struct bus_type *bus ; struct device_driver *driver ; void *platform_data ; void *driver_data ; struct dev_pm_info power ; struct dev_pm_domain *pm_domain ; struct dev_pin_info *pins ; int numa_node ; u64 *dma_mask ; u64 coherent_dma_mask ; unsigned long dma_pfn_offset ; struct device_dma_parameters *dma_parms ; struct list_head dma_pools ; struct dma_coherent_mem *dma_mem ; struct cma *cma_area ; struct dev_archdata archdata ; struct device_node *of_node ; struct acpi_dev_node acpi_node ; dev_t devt ; u32 id ; spinlock_t devres_lock ; struct list_head devres_head ; struct klist_node knode_class ; struct class *class ; struct attribute_group const **groups ; void (*release)(struct device * ) ; struct iommu_group *iommu_group ; bool offline_disabled ; bool offline ; }; struct wakeup_source { char const *name ; struct list_head entry ; spinlock_t lock ; struct timer_list timer ; unsigned long timer_expires ; ktime_t total_time ; ktime_t max_time ; ktime_t last_time ; ktime_t start_prevent_time ; ktime_t prevent_sleep_time ; unsigned long event_count ; unsigned long active_count ; unsigned long relax_count ; unsigned long expire_count ; unsigned long wakeup_count ; bool active ; bool autosleep_enabled ; }; struct pm_qos_request { struct plist_node node ; int pm_qos_class ; struct delayed_work work ; }; struct pm_qos_flags_request { struct list_head node ; s32 flags ; }; enum dev_pm_qos_req_type { DEV_PM_QOS_RESUME_LATENCY = 1, DEV_PM_QOS_LATENCY_TOLERANCE = 2, DEV_PM_QOS_FLAGS = 3 } ; union __anonunion_data_159 { struct plist_node pnode ; struct pm_qos_flags_request flr ; }; struct dev_pm_qos_request { enum dev_pm_qos_req_type type ; union __anonunion_data_159 data ; struct device *dev ; }; enum pm_qos_type { PM_QOS_UNITIALIZED = 0, PM_QOS_MAX = 1, PM_QOS_MIN = 2 } ; struct pm_qos_constraints { struct plist_head list ; s32 target_value ; s32 default_value ; s32 no_constraint_value ; enum pm_qos_type type ; struct blocking_notifier_head *notifiers ; }; struct pm_qos_flags { struct list_head list ; s32 effective_flags ; }; struct dev_pm_qos { struct pm_qos_constraints resume_latency ; struct pm_qos_constraints latency_tolerance ; struct pm_qos_flags flags ; struct dev_pm_qos_request *resume_latency_req ; struct dev_pm_qos_request *latency_tolerance_req ; struct dev_pm_qos_request *flags_req ; }; struct iovec { void *iov_base ; __kernel_size_t iov_len ; }; union __anonunion_ldv_17676_160 { struct iovec const *iov ; struct bio_vec const *bvec ; }; struct iov_iter { int type ; size_t iov_offset ; size_t count ; union __anonunion_ldv_17676_160 ldv_17676 ; unsigned long nr_segs ; }; struct shrink_control { gfp_t gfp_mask ; unsigned long nr_to_scan ; nodemask_t nodes_to_scan ; int nid ; }; struct shrinker { unsigned long (*count_objects)(struct shrinker * , struct shrink_control * ) ; unsigned long (*scan_objects)(struct shrinker * , struct shrink_control * ) ; int seeks ; long batch ; unsigned long flags ; struct list_head list ; atomic_long_t *nr_deferred ; }; struct file_ra_state; struct user_struct; struct writeback_control; struct vm_fault { unsigned int flags ; unsigned long pgoff ; void *virtual_address ; struct page *page ; unsigned long max_pgoff ; pte_t *pte ; }; struct vm_operations_struct { void (*open)(struct vm_area_struct * ) ; void (*close)(struct vm_area_struct * ) ; int (*fault)(struct vm_area_struct * , struct vm_fault * ) ; void (*map_pages)(struct vm_area_struct * , struct vm_fault * ) ; int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ; int (*access)(struct vm_area_struct * , unsigned long , void * , int , int ) ; char const *(*name)(struct vm_area_struct * ) ; int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ; struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long ) ; int (*migrate)(struct vm_area_struct * , nodemask_t const * , nodemask_t const * , unsigned long ) ; int (*remap_pages)(struct vm_area_struct * , unsigned long , unsigned long , unsigned long ) ; }; struct scatterlist { unsigned long sg_magic ; unsigned long page_link ; unsigned int offset ; unsigned int length ; dma_addr_t dma_address ; unsigned int dma_length ; }; struct sg_table { struct scatterlist *sgl ; unsigned int nents ; unsigned int orig_nents ; }; typedef s32 dma_cookie_t; struct dql { unsigned int num_queued ; unsigned int adj_limit ; unsigned int last_obj_cnt ; unsigned int limit ; unsigned int num_completed ; unsigned int prev_ovlimit ; unsigned int prev_num_queued ; unsigned int prev_last_obj_cnt ; unsigned int lowest_slack ; unsigned long slack_start_time ; unsigned int max_limit ; unsigned int min_limit ; unsigned int slack_hold_time ; }; struct sem_undo_list; struct sysv_sem { struct sem_undo_list *undo_list ; }; typedef unsigned short __kernel_sa_family_t; typedef __kernel_sa_family_t sa_family_t; struct sockaddr { sa_family_t sa_family ; char sa_data[14U] ; }; struct msghdr { void *msg_name ; int msg_namelen ; struct iovec *msg_iov ; __kernel_size_t msg_iovlen ; void *msg_control ; __kernel_size_t msg_controllen ; unsigned int msg_flags ; }; struct __anonstruct_sync_serial_settings_162 { unsigned int clock_rate ; unsigned int clock_type ; unsigned short loopback ; }; typedef struct __anonstruct_sync_serial_settings_162 sync_serial_settings; struct __anonstruct_te1_settings_163 { unsigned int clock_rate ; unsigned int clock_type ; unsigned short loopback ; unsigned int slot_map ; }; typedef struct __anonstruct_te1_settings_163 te1_settings; struct __anonstruct_raw_hdlc_proto_164 { unsigned short encoding ; unsigned short parity ; }; typedef struct __anonstruct_raw_hdlc_proto_164 raw_hdlc_proto; struct __anonstruct_fr_proto_165 { unsigned int t391 ; unsigned int t392 ; unsigned int n391 ; unsigned int n392 ; unsigned int n393 ; unsigned short lmi ; unsigned short dce ; }; typedef struct __anonstruct_fr_proto_165 fr_proto; struct __anonstruct_fr_proto_pvc_166 { unsigned int dlci ; }; typedef struct __anonstruct_fr_proto_pvc_166 fr_proto_pvc; struct __anonstruct_fr_proto_pvc_info_167 { unsigned int dlci ; char master[16U] ; }; typedef struct __anonstruct_fr_proto_pvc_info_167 fr_proto_pvc_info; struct __anonstruct_cisco_proto_168 { unsigned int interval ; unsigned int timeout ; }; typedef struct __anonstruct_cisco_proto_168 cisco_proto; struct ifmap { unsigned long mem_start ; unsigned long mem_end ; unsigned short base_addr ; unsigned char irq ; unsigned char dma ; unsigned char port ; }; union __anonunion_ifs_ifsu_169 { raw_hdlc_proto *raw_hdlc ; cisco_proto *cisco ; fr_proto *fr ; fr_proto_pvc *fr_pvc ; fr_proto_pvc_info *fr_pvc_info ; sync_serial_settings *sync ; te1_settings *te1 ; }; struct if_settings { unsigned int type ; unsigned int size ; union __anonunion_ifs_ifsu_169 ifs_ifsu ; }; union __anonunion_ifr_ifrn_170 { char ifrn_name[16U] ; }; union __anonunion_ifr_ifru_171 { struct sockaddr ifru_addr ; struct sockaddr ifru_dstaddr ; struct sockaddr ifru_broadaddr ; struct sockaddr ifru_netmask ; struct sockaddr ifru_hwaddr ; short ifru_flags ; int ifru_ivalue ; int ifru_mtu ; struct ifmap ifru_map ; char ifru_slave[16U] ; char ifru_newname[16U] ; void *ifru_data ; struct if_settings ifru_settings ; }; struct ifreq { union __anonunion_ifr_ifrn_170 ifr_ifrn ; union __anonunion_ifr_ifru_171 ifr_ifru ; }; struct hlist_bl_node; struct hlist_bl_head { struct hlist_bl_node *first ; }; struct hlist_bl_node { struct hlist_bl_node *next ; struct hlist_bl_node **pprev ; }; struct __anonstruct_ldv_21755_174 { spinlock_t lock ; unsigned int count ; }; union __anonunion_ldv_21756_173 { struct __anonstruct_ldv_21755_174 ldv_21755 ; }; struct lockref { union __anonunion_ldv_21756_173 ldv_21756 ; }; struct nameidata; struct vfsmount; struct __anonstruct_ldv_21779_176 { u32 hash ; u32 len ; }; union __anonunion_ldv_21781_175 { struct __anonstruct_ldv_21779_176 ldv_21779 ; u64 hash_len ; }; struct qstr { union __anonunion_ldv_21781_175 ldv_21781 ; unsigned char const *name ; }; struct dentry_operations; union __anonunion_d_u_177 { struct list_head d_child ; struct callback_head d_rcu ; }; struct dentry { unsigned int d_flags ; seqcount_t d_seq ; struct hlist_bl_node d_hash ; struct dentry *d_parent ; struct qstr d_name ; struct inode *d_inode ; unsigned char d_iname[32U] ; struct lockref d_lockref ; struct dentry_operations const *d_op ; struct super_block *d_sb ; unsigned long d_time ; void *d_fsdata ; struct list_head d_lru ; union __anonunion_d_u_177 d_u ; struct list_head d_subdirs ; struct hlist_node d_alias ; }; struct dentry_operations { int (*d_revalidate)(struct dentry * , unsigned int ) ; int (*d_weak_revalidate)(struct dentry * , unsigned int ) ; int (*d_hash)(struct dentry const * , struct qstr * ) ; int (*d_compare)(struct dentry const * , struct dentry const * , unsigned int , char const * , struct qstr const * ) ; int (*d_delete)(struct dentry const * ) ; void (*d_release)(struct dentry * ) ; void (*d_prune)(struct dentry * ) ; void (*d_iput)(struct dentry * , struct inode * ) ; char *(*d_dname)(struct dentry * , char * , int ) ; struct vfsmount *(*d_automount)(struct path * ) ; int (*d_manage)(struct dentry * , bool ) ; }; struct path { struct vfsmount *mnt ; struct dentry *dentry ; }; struct list_lru_node { spinlock_t lock ; struct list_head list ; long nr_items ; }; struct list_lru { struct list_lru_node *node ; nodemask_t active_nodes ; }; struct __anonstruct_ldv_22142_179 { struct radix_tree_node *parent ; void *private_data ; }; union __anonunion_ldv_22144_178 { struct __anonstruct_ldv_22142_179 ldv_22142 ; struct callback_head callback_head ; }; struct radix_tree_node { unsigned int path ; unsigned int count ; union __anonunion_ldv_22144_178 ldv_22144 ; struct list_head private_list ; void *slots[64U] ; unsigned long tags[3U][1U] ; }; struct radix_tree_root { unsigned int height ; gfp_t gfp_mask ; struct radix_tree_node *rnode ; }; enum pid_type { PIDTYPE_PID = 0, PIDTYPE_PGID = 1, PIDTYPE_SID = 2, PIDTYPE_MAX = 3 } ; struct pid_namespace; struct upid { int nr ; struct pid_namespace *ns ; struct hlist_node pid_chain ; }; struct pid { atomic_t count ; unsigned int level ; struct hlist_head tasks[3U] ; struct callback_head rcu ; struct upid numbers[1U] ; }; struct pid_link { struct hlist_node node ; struct pid *pid ; }; struct kernel_cap_struct { __u32 cap[2U] ; }; typedef struct kernel_cap_struct kernel_cap_t; struct semaphore { raw_spinlock_t lock ; unsigned int count ; struct list_head wait_list ; }; struct fiemap_extent { __u64 fe_logical ; __u64 fe_physical ; __u64 fe_length ; __u64 fe_reserved64[2U] ; __u32 fe_flags ; __u32 fe_reserved[3U] ; }; enum migrate_mode { MIGRATE_ASYNC = 0, MIGRATE_SYNC_LIGHT = 1, MIGRATE_SYNC = 2 } ; struct block_device; struct io_context; struct cgroup_subsys_state; struct bio_vec { struct page *bv_page ; unsigned int bv_len ; unsigned int bv_offset ; }; struct export_operations; struct kiocb; struct pipe_inode_info; struct poll_table_struct; struct kstatfs; struct swap_info_struct; struct iattr { unsigned int ia_valid ; umode_t ia_mode ; kuid_t ia_uid ; kgid_t ia_gid ; loff_t ia_size ; struct timespec ia_atime ; struct timespec ia_mtime ; struct timespec ia_ctime ; struct file *ia_file ; }; struct percpu_counter { raw_spinlock_t lock ; s64 count ; struct list_head list ; s32 *counters ; }; struct fs_disk_quota { __s8 d_version ; __s8 d_flags ; __u16 d_fieldmask ; __u32 d_id ; __u64 d_blk_hardlimit ; __u64 d_blk_softlimit ; __u64 d_ino_hardlimit ; __u64 d_ino_softlimit ; __u64 d_bcount ; __u64 d_icount ; __s32 d_itimer ; __s32 d_btimer ; __u16 d_iwarns ; __u16 d_bwarns ; __s32 d_padding2 ; __u64 d_rtb_hardlimit ; __u64 d_rtb_softlimit ; __u64 d_rtbcount ; __s32 d_rtbtimer ; __u16 d_rtbwarns ; __s16 d_padding3 ; char d_padding4[8U] ; }; struct fs_qfilestat { __u64 qfs_ino ; __u64 qfs_nblks ; __u32 qfs_nextents ; }; typedef struct fs_qfilestat fs_qfilestat_t; struct fs_quota_stat { __s8 qs_version ; __u16 qs_flags ; __s8 qs_pad ; fs_qfilestat_t qs_uquota ; fs_qfilestat_t qs_gquota ; __u32 qs_incoredqs ; __s32 qs_btimelimit ; __s32 qs_itimelimit ; __s32 qs_rtbtimelimit ; __u16 qs_bwarnlimit ; __u16 qs_iwarnlimit ; }; struct fs_qfilestatv { __u64 qfs_ino ; __u64 qfs_nblks ; __u32 qfs_nextents ; __u32 qfs_pad ; }; struct fs_quota_statv { __s8 qs_version ; __u8 qs_pad1 ; __u16 qs_flags ; __u32 qs_incoredqs ; struct fs_qfilestatv qs_uquota ; struct fs_qfilestatv qs_gquota ; struct fs_qfilestatv qs_pquota ; __s32 qs_btimelimit ; __s32 qs_itimelimit ; __s32 qs_rtbtimelimit ; __u16 qs_bwarnlimit ; __u16 qs_iwarnlimit ; __u64 qs_pad2[8U] ; }; struct dquot; typedef __kernel_uid32_t projid_t; struct __anonstruct_kprojid_t_181 { projid_t val ; }; typedef struct __anonstruct_kprojid_t_181 kprojid_t; struct if_dqinfo { __u64 dqi_bgrace ; __u64 dqi_igrace ; __u32 dqi_flags ; __u32 dqi_valid ; }; enum quota_type { USRQUOTA = 0, GRPQUOTA = 1, PRJQUOTA = 2 } ; typedef long long qsize_t; union __anonunion_ldv_22941_182 { kuid_t uid ; kgid_t gid ; kprojid_t projid ; }; struct kqid { union __anonunion_ldv_22941_182 ldv_22941 ; enum quota_type type ; }; struct mem_dqblk { qsize_t dqb_bhardlimit ; qsize_t dqb_bsoftlimit ; qsize_t dqb_curspace ; qsize_t dqb_rsvspace ; qsize_t dqb_ihardlimit ; qsize_t dqb_isoftlimit ; qsize_t dqb_curinodes ; time_t dqb_btime ; time_t dqb_itime ; }; struct quota_format_type; struct mem_dqinfo { struct quota_format_type *dqi_format ; int dqi_fmt_id ; struct list_head dqi_dirty_list ; unsigned long dqi_flags ; unsigned int dqi_bgrace ; unsigned int dqi_igrace ; qsize_t dqi_maxblimit ; qsize_t dqi_maxilimit ; void *dqi_priv ; }; struct dquot { struct hlist_node dq_hash ; struct list_head dq_inuse ; struct list_head dq_free ; struct list_head dq_dirty ; struct mutex dq_lock ; atomic_t dq_count ; wait_queue_head_t dq_wait_unused ; struct super_block *dq_sb ; struct kqid dq_id ; loff_t dq_off ; unsigned long dq_flags ; struct mem_dqblk dq_dqb ; }; struct quota_format_ops { int (*check_quota_file)(struct super_block * , int ) ; int (*read_file_info)(struct super_block * , int ) ; int (*write_file_info)(struct super_block * , int ) ; int (*free_file_info)(struct super_block * , int ) ; int (*read_dqblk)(struct dquot * ) ; int (*commit_dqblk)(struct dquot * ) ; int (*release_dqblk)(struct dquot * ) ; }; struct dquot_operations { int (*write_dquot)(struct dquot * ) ; struct dquot *(*alloc_dquot)(struct super_block * , int ) ; void (*destroy_dquot)(struct dquot * ) ; int (*acquire_dquot)(struct dquot * ) ; int (*release_dquot)(struct dquot * ) ; int (*mark_dirty)(struct dquot * ) ; int (*write_info)(struct super_block * , int ) ; qsize_t *(*get_reserved_space)(struct inode * ) ; }; struct quotactl_ops { int (*quota_on)(struct super_block * , int , int , struct path * ) ; int (*quota_on_meta)(struct super_block * , int , int ) ; int (*quota_off)(struct super_block * , int ) ; int (*quota_sync)(struct super_block * , int ) ; int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ; int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ; int (*get_dqblk)(struct super_block * , struct kqid , struct fs_disk_quota * ) ; int (*set_dqblk)(struct super_block * , struct kqid , struct fs_disk_quota * ) ; int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ; int (*set_xstate)(struct super_block * , unsigned int , int ) ; int (*get_xstatev)(struct super_block * , struct fs_quota_statv * ) ; int (*rm_xquota)(struct super_block * , unsigned int ) ; }; struct quota_format_type { int qf_fmt_id ; struct quota_format_ops const *qf_ops ; struct module *qf_owner ; struct quota_format_type *qf_next ; }; struct quota_info { unsigned int flags ; struct mutex dqio_mutex ; struct mutex dqonoff_mutex ; struct rw_semaphore dqptr_sem ; struct inode *files[2U] ; struct mem_dqinfo info[2U] ; struct quota_format_ops const *ops[2U] ; }; struct address_space_operations { int (*writepage)(struct page * , struct writeback_control * ) ; int (*readpage)(struct file * , struct page * ) ; int (*writepages)(struct address_space * , struct writeback_control * ) ; int (*set_page_dirty)(struct page * ) ; int (*readpages)(struct file * , struct address_space * , struct list_head * , unsigned int ) ; int (*write_begin)(struct file * , struct address_space * , loff_t , unsigned int , unsigned int , struct page ** , void ** ) ; int (*write_end)(struct file * , struct address_space * , loff_t , unsigned int , unsigned int , struct page * , void * ) ; sector_t (*bmap)(struct address_space * , sector_t ) ; void (*invalidatepage)(struct page * , unsigned int , unsigned int ) ; int (*releasepage)(struct page * , gfp_t ) ; void (*freepage)(struct page * ) ; ssize_t (*direct_IO)(int , struct kiocb * , struct iov_iter * , loff_t ) ; int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ; int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ; int (*launder_page)(struct page * ) ; int (*is_partially_uptodate)(struct page * , unsigned long , unsigned long ) ; void (*is_dirty_writeback)(struct page * , bool * , bool * ) ; int (*error_remove_page)(struct address_space * , struct page * ) ; int (*swap_activate)(struct swap_info_struct * , struct file * , sector_t * ) ; void (*swap_deactivate)(struct file * ) ; }; struct backing_dev_info; struct address_space { struct inode *host ; struct radix_tree_root page_tree ; spinlock_t tree_lock ; unsigned int i_mmap_writable ; struct rb_root i_mmap ; struct list_head i_mmap_nonlinear ; struct mutex i_mmap_mutex ; unsigned long nrpages ; unsigned long nrshadows ; unsigned long writeback_index ; struct address_space_operations const *a_ops ; unsigned long flags ; struct backing_dev_info *backing_dev_info ; spinlock_t private_lock ; struct list_head private_list ; void *private_data ; }; struct request_queue; struct hd_struct; struct gendisk; struct block_device { dev_t bd_dev ; int bd_openers ; struct inode *bd_inode ; struct super_block *bd_super ; struct mutex bd_mutex ; struct list_head bd_inodes ; void *bd_claiming ; void *bd_holder ; int bd_holders ; bool bd_write_holder ; struct list_head bd_holder_disks ; struct block_device *bd_contains ; unsigned int bd_block_size ; struct hd_struct *bd_part ; unsigned int bd_part_count ; int bd_invalidated ; struct gendisk *bd_disk ; struct request_queue *bd_queue ; struct list_head bd_list ; unsigned long bd_private ; int bd_fsfreeze_count ; struct mutex bd_fsfreeze_mutex ; }; struct posix_acl; struct inode_operations; union __anonunion_ldv_23356_185 { unsigned int const i_nlink ; unsigned int __i_nlink ; }; union __anonunion_ldv_23376_186 { struct hlist_head i_dentry ; struct callback_head i_rcu ; }; struct file_lock; struct cdev; union __anonunion_ldv_23393_187 { struct pipe_inode_info *i_pipe ; struct block_device *i_bdev ; struct cdev *i_cdev ; }; struct inode { umode_t i_mode ; unsigned short i_opflags ; kuid_t i_uid ; kgid_t i_gid ; unsigned int i_flags ; struct posix_acl *i_acl ; struct posix_acl *i_default_acl ; struct inode_operations const *i_op ; struct super_block *i_sb ; struct address_space *i_mapping ; void *i_security ; unsigned long i_ino ; union __anonunion_ldv_23356_185 ldv_23356 ; dev_t i_rdev ; loff_t i_size ; struct timespec i_atime ; struct timespec i_mtime ; struct timespec i_ctime ; spinlock_t i_lock ; unsigned short i_bytes ; unsigned int i_blkbits ; blkcnt_t i_blocks ; unsigned long i_state ; struct mutex i_mutex ; unsigned long dirtied_when ; struct hlist_node i_hash ; struct list_head i_wb_list ; struct list_head i_lru ; struct list_head i_sb_list ; union __anonunion_ldv_23376_186 ldv_23376 ; u64 i_version ; atomic_t i_count ; atomic_t i_dio_count ; atomic_t i_writecount ; atomic_t i_readcount ; struct file_operations const *i_fop ; struct file_lock *i_flock ; struct address_space i_data ; struct dquot *i_dquot[2U] ; struct list_head i_devices ; union __anonunion_ldv_23393_187 ldv_23393 ; __u32 i_generation ; __u32 i_fsnotify_mask ; struct hlist_head i_fsnotify_marks ; void *i_private ; }; struct fown_struct { rwlock_t lock ; struct pid *pid ; enum pid_type pid_type ; kuid_t uid ; kuid_t euid ; int signum ; }; struct file_ra_state { unsigned long start ; unsigned int size ; unsigned int async_size ; unsigned int ra_pages ; unsigned int mmap_miss ; loff_t prev_pos ; }; union __anonunion_f_u_188 { struct llist_node fu_llist ; struct callback_head fu_rcuhead ; }; struct file { union __anonunion_f_u_188 f_u ; struct path f_path ; struct inode *f_inode ; struct file_operations const *f_op ; spinlock_t f_lock ; atomic_long_t f_count ; unsigned int f_flags ; fmode_t f_mode ; struct mutex f_pos_lock ; loff_t f_pos ; struct fown_struct f_owner ; struct cred const *f_cred ; struct file_ra_state f_ra ; u64 f_version ; void *f_security ; void *private_data ; struct list_head f_ep_links ; struct list_head f_tfile_llink ; struct address_space *f_mapping ; }; struct files_struct; typedef struct files_struct *fl_owner_t; struct file_lock_operations { void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ; void (*fl_release_private)(struct file_lock * ) ; }; struct lock_manager_operations { int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ; unsigned long (*lm_owner_key)(struct file_lock * ) ; void (*lm_notify)(struct file_lock * ) ; int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ; void (*lm_break)(struct file_lock * ) ; int (*lm_change)(struct file_lock ** , int ) ; }; struct net; struct nlm_lockowner; struct nfs_lock_info { u32 state ; struct nlm_lockowner *owner ; struct list_head list ; }; struct nfs4_lock_state; struct nfs4_lock_info { struct nfs4_lock_state *owner ; }; struct fasync_struct; struct __anonstruct_afs_190 { struct list_head link ; int state ; }; union __anonunion_fl_u_189 { struct nfs_lock_info nfs_fl ; struct nfs4_lock_info nfs4_fl ; struct __anonstruct_afs_190 afs ; }; struct file_lock { struct file_lock *fl_next ; struct hlist_node fl_link ; struct list_head fl_block ; fl_owner_t fl_owner ; unsigned int fl_flags ; unsigned char fl_type ; unsigned int fl_pid ; int fl_link_cpu ; struct pid *fl_nspid ; wait_queue_head_t fl_wait ; struct file *fl_file ; loff_t fl_start ; loff_t fl_end ; struct fasync_struct *fl_fasync ; unsigned long fl_break_time ; unsigned long fl_downgrade_time ; struct file_lock_operations const *fl_ops ; struct lock_manager_operations const *fl_lmops ; union __anonunion_fl_u_189 fl_u ; }; struct fasync_struct { spinlock_t fa_lock ; int magic ; int fa_fd ; struct fasync_struct *fa_next ; struct file *fa_file ; struct callback_head fa_rcu ; }; struct sb_writers { struct percpu_counter counter[3U] ; wait_queue_head_t wait ; int frozen ; wait_queue_head_t wait_unfrozen ; struct lockdep_map lock_map[3U] ; }; struct super_operations; struct xattr_handler; struct mtd_info; struct super_block { struct list_head s_list ; dev_t s_dev ; unsigned char s_blocksize_bits ; unsigned long s_blocksize ; loff_t s_maxbytes ; struct file_system_type *s_type ; struct super_operations const *s_op ; struct dquot_operations const *dq_op ; struct quotactl_ops const *s_qcop ; struct export_operations const *s_export_op ; unsigned long s_flags ; unsigned long s_magic ; struct dentry *s_root ; struct rw_semaphore s_umount ; int s_count ; atomic_t s_active ; void *s_security ; struct xattr_handler const **s_xattr ; struct list_head s_inodes ; struct hlist_bl_head s_anon ; struct list_head s_mounts ; struct block_device *s_bdev ; struct backing_dev_info *s_bdi ; struct mtd_info *s_mtd ; struct hlist_node s_instances ; struct quota_info s_dquot ; struct sb_writers s_writers ; char s_id[32U] ; u8 s_uuid[16U] ; void *s_fs_info ; unsigned int s_max_links ; fmode_t s_mode ; u32 s_time_gran ; struct mutex s_vfs_rename_mutex ; char *s_subtype ; char *s_options ; struct dentry_operations const *s_d_op ; int cleancache_poolid ; struct shrinker s_shrink ; atomic_long_t s_remove_count ; int s_readonly_remount ; struct workqueue_struct *s_dio_done_wq ; struct list_lru s_dentry_lru ; struct list_lru s_inode_lru ; struct callback_head rcu ; }; struct fiemap_extent_info { unsigned int fi_flags ; unsigned int fi_extents_mapped ; unsigned int fi_extents_max ; struct fiemap_extent *fi_extents_start ; }; struct dir_context { int (*actor)(void * , char const * , int , loff_t , u64 , unsigned int ) ; loff_t pos ; }; struct file_operations { struct module *owner ; loff_t (*llseek)(struct file * , loff_t , int ) ; ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ; ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ; ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long , loff_t ) ; ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long , loff_t ) ; ssize_t (*read_iter)(struct kiocb * , struct iov_iter * ) ; ssize_t (*write_iter)(struct kiocb * , struct iov_iter * ) ; int (*iterate)(struct file * , struct dir_context * ) ; unsigned int (*poll)(struct file * , struct poll_table_struct * ) ; long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ; long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ; int (*mmap)(struct file * , struct vm_area_struct * ) ; int (*open)(struct inode * , struct file * ) ; int (*flush)(struct file * , fl_owner_t ) ; int (*release)(struct inode * , struct file * ) ; int (*fsync)(struct file * , loff_t , loff_t , int ) ; int (*aio_fsync)(struct kiocb * , int ) ; int (*fasync)(int , struct file * , int ) ; int (*lock)(struct file * , int , struct file_lock * ) ; ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * , int ) ; unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long , unsigned long , unsigned long ) ; int (*check_flags)(int ) ; int (*flock)(struct file * , int , struct file_lock * ) ; ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t , unsigned int ) ; ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ) ; int (*setlease)(struct file * , long , struct file_lock ** ) ; long (*fallocate)(struct file * , int , loff_t , loff_t ) ; int (*show_fdinfo)(struct seq_file * , struct file * ) ; }; struct inode_operations { struct dentry *(*lookup)(struct inode * , struct dentry * , unsigned int ) ; void *(*follow_link)(struct dentry * , struct nameidata * ) ; int (*permission)(struct inode * , int ) ; struct posix_acl *(*get_acl)(struct inode * , int ) ; int (*readlink)(struct dentry * , char * , int ) ; void (*put_link)(struct dentry * , struct nameidata * , void * ) ; int (*create)(struct inode * , struct dentry * , umode_t , bool ) ; int (*link)(struct dentry * , struct inode * , struct dentry * ) ; int (*unlink)(struct inode * , struct dentry * ) ; int (*symlink)(struct inode * , struct dentry * , char const * ) ; int (*mkdir)(struct inode * , struct dentry * , umode_t ) ; int (*rmdir)(struct inode * , struct dentry * ) ; int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ; int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ; int (*rename2)(struct inode * , struct dentry * , struct inode * , struct dentry * , unsigned int ) ; int (*setattr)(struct dentry * , struct iattr * ) ; int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ; int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ; ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ; ssize_t (*listxattr)(struct dentry * , char * , size_t ) ; int (*removexattr)(struct dentry * , char const * ) ; int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 , u64 ) ; int (*update_time)(struct inode * , struct timespec * , int ) ; int (*atomic_open)(struct inode * , struct dentry * , struct file * , unsigned int , umode_t , int * ) ; int (*tmpfile)(struct inode * , struct dentry * , umode_t ) ; int (*set_acl)(struct inode * , struct posix_acl * , int ) ; }; struct super_operations { struct inode *(*alloc_inode)(struct super_block * ) ; void (*destroy_inode)(struct inode * ) ; void (*dirty_inode)(struct inode * , int ) ; int (*write_inode)(struct inode * , struct writeback_control * ) ; int (*drop_inode)(struct inode * ) ; void (*evict_inode)(struct inode * ) ; void (*put_super)(struct super_block * ) ; int (*sync_fs)(struct super_block * , int ) ; int (*freeze_fs)(struct super_block * ) ; int (*unfreeze_fs)(struct super_block * ) ; int (*statfs)(struct dentry * , struct kstatfs * ) ; int (*remount_fs)(struct super_block * , int * , char * ) ; void (*umount_begin)(struct super_block * ) ; int (*show_options)(struct seq_file * , struct dentry * ) ; int (*show_devname)(struct seq_file * , struct dentry * ) ; int (*show_path)(struct seq_file * , struct dentry * ) ; int (*show_stats)(struct seq_file * , struct dentry * ) ; ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ; ssize_t (*quota_write)(struct super_block * , int , char const * , size_t , loff_t ) ; int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ; long (*nr_cached_objects)(struct super_block * , int ) ; long (*free_cached_objects)(struct super_block * , long , int ) ; }; struct file_system_type { char const *name ; int fs_flags ; struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ; void (*kill_sb)(struct super_block * ) ; struct module *owner ; struct file_system_type *next ; struct hlist_head fs_supers ; struct lock_class_key s_lock_key ; struct lock_class_key s_umount_key ; struct lock_class_key s_vfs_rename_key ; struct lock_class_key s_writers_key[3U] ; struct lock_class_key i_lock_key ; struct lock_class_key i_mutex_key ; struct lock_class_key i_mutex_dir_key ; }; typedef unsigned long cputime_t; struct __anonstruct_sigset_t_191 { unsigned long sig[1U] ; }; typedef struct __anonstruct_sigset_t_191 sigset_t; struct siginfo; typedef void __signalfn_t(int ); typedef __signalfn_t *__sighandler_t; typedef void __restorefn_t(void); typedef __restorefn_t *__sigrestore_t; union sigval { int sival_int ; void *sival_ptr ; }; typedef union sigval sigval_t; struct __anonstruct__kill_193 { __kernel_pid_t _pid ; __kernel_uid32_t _uid ; }; struct __anonstruct__timer_194 { __kernel_timer_t _tid ; int _overrun ; char _pad[0U] ; sigval_t _sigval ; int _sys_private ; }; struct __anonstruct__rt_195 { __kernel_pid_t _pid ; __kernel_uid32_t _uid ; sigval_t _sigval ; }; struct __anonstruct__sigchld_196 { __kernel_pid_t _pid ; __kernel_uid32_t _uid ; int _status ; __kernel_clock_t _utime ; __kernel_clock_t _stime ; }; struct __anonstruct__sigfault_197 { void *_addr ; short _addr_lsb ; }; struct __anonstruct__sigpoll_198 { long _band ; int _fd ; }; struct __anonstruct__sigsys_199 { void *_call_addr ; int _syscall ; unsigned int _arch ; }; union __anonunion__sifields_192 { int _pad[28U] ; struct __anonstruct__kill_193 _kill ; struct __anonstruct__timer_194 _timer ; struct __anonstruct__rt_195 _rt ; struct __anonstruct__sigchld_196 _sigchld ; struct __anonstruct__sigfault_197 _sigfault ; struct __anonstruct__sigpoll_198 _sigpoll ; struct __anonstruct__sigsys_199 _sigsys ; }; struct siginfo { int si_signo ; int si_errno ; int si_code ; union __anonunion__sifields_192 _sifields ; }; typedef struct siginfo siginfo_t; struct sigpending { struct list_head list ; sigset_t signal ; }; struct sigaction { __sighandler_t sa_handler ; unsigned long sa_flags ; __sigrestore_t sa_restorer ; sigset_t sa_mask ; }; struct k_sigaction { struct sigaction sa ; }; struct seccomp_filter; struct seccomp { int mode ; struct seccomp_filter *filter ; }; struct rt_mutex_waiter; struct rlimit { __kernel_ulong_t rlim_cur ; __kernel_ulong_t rlim_max ; }; struct timerqueue_node { struct rb_node node ; ktime_t expires ; }; struct timerqueue_head { struct rb_root head ; struct timerqueue_node *next ; }; struct hrtimer_clock_base; struct hrtimer_cpu_base; enum hrtimer_restart { HRTIMER_NORESTART = 0, HRTIMER_RESTART = 1 } ; struct hrtimer { struct timerqueue_node node ; ktime_t _softexpires ; enum hrtimer_restart (*function)(struct hrtimer * ) ; struct hrtimer_clock_base *base ; unsigned long state ; int start_pid ; void *start_site ; char start_comm[16U] ; }; struct hrtimer_clock_base { struct hrtimer_cpu_base *cpu_base ; int index ; clockid_t clockid ; struct timerqueue_head active ; ktime_t resolution ; ktime_t (*get_time)(void) ; ktime_t softirq_time ; ktime_t offset ; }; struct hrtimer_cpu_base { raw_spinlock_t lock ; unsigned int active_bases ; unsigned int clock_was_set ; ktime_t expires_next ; int hres_active ; int hang_detected ; unsigned long nr_events ; unsigned long nr_retries ; unsigned long nr_hangs ; ktime_t max_hang_time ; struct hrtimer_clock_base clock_base[4U] ; }; struct task_io_accounting { u64 rchar ; u64 wchar ; u64 syscr ; u64 syscw ; u64 read_bytes ; u64 write_bytes ; u64 cancelled_write_bytes ; }; struct latency_record { unsigned long backtrace[12U] ; unsigned int count ; unsigned long time ; unsigned long max ; }; struct assoc_array_ptr; struct assoc_array { struct assoc_array_ptr *root ; unsigned long nr_leaves_on_tree ; }; typedef int32_t key_serial_t; typedef uint32_t key_perm_t; struct key; struct signal_struct; struct key_type; struct keyring_index_key { struct key_type *type ; char const *description ; size_t desc_len ; }; union __anonunion_ldv_26355_202 { struct list_head graveyard_link ; struct rb_node serial_node ; }; struct key_user; union __anonunion_ldv_26363_203 { time_t expiry ; time_t revoked_at ; }; struct __anonstruct_ldv_26376_205 { struct key_type *type ; char *description ; }; union __anonunion_ldv_26377_204 { struct keyring_index_key index_key ; struct __anonstruct_ldv_26376_205 ldv_26376 ; }; union __anonunion_type_data_206 { struct list_head link ; unsigned long x[2U] ; void *p[2U] ; int reject_error ; }; union __anonunion_payload_208 { unsigned long value ; void *rcudata ; void *data ; void *data2[2U] ; }; union __anonunion_ldv_26392_207 { union __anonunion_payload_208 payload ; struct assoc_array keys ; }; struct key { atomic_t usage ; key_serial_t serial ; union __anonunion_ldv_26355_202 ldv_26355 ; struct rw_semaphore sem ; struct key_user *user ; void *security ; union __anonunion_ldv_26363_203 ldv_26363 ; time_t last_used_at ; kuid_t uid ; kgid_t gid ; key_perm_t perm ; unsigned short quotalen ; unsigned short datalen ; unsigned long flags ; union __anonunion_ldv_26377_204 ldv_26377 ; union __anonunion_type_data_206 type_data ; union __anonunion_ldv_26392_207 ldv_26392 ; }; struct audit_context; struct group_info { atomic_t usage ; int ngroups ; int nblocks ; kgid_t small_block[32U] ; kgid_t *blocks[0U] ; }; struct cred { atomic_t usage ; atomic_t subscribers ; void *put_addr ; unsigned int magic ; kuid_t uid ; kgid_t gid ; kuid_t suid ; kgid_t sgid ; kuid_t euid ; kgid_t egid ; kuid_t fsuid ; kgid_t fsgid ; unsigned int securebits ; kernel_cap_t cap_inheritable ; kernel_cap_t cap_permitted ; kernel_cap_t cap_effective ; kernel_cap_t cap_bset ; unsigned char jit_keyring ; struct key *session_keyring ; struct key *process_keyring ; struct key *thread_keyring ; struct key *request_key_auth ; void *security ; struct user_struct *user ; struct user_namespace *user_ns ; struct group_info *group_info ; struct callback_head rcu ; }; struct futex_pi_state; struct robust_list_head; struct bio_list; struct fs_struct; struct perf_event_context; struct blk_plug; struct cfs_rq; struct task_group; struct sighand_struct { atomic_t count ; struct k_sigaction action[64U] ; spinlock_t siglock ; wait_queue_head_t signalfd_wqh ; }; struct pacct_struct { int ac_flag ; long ac_exitcode ; unsigned long ac_mem ; cputime_t ac_utime ; cputime_t ac_stime ; unsigned long ac_minflt ; unsigned long ac_majflt ; }; struct cpu_itimer { cputime_t expires ; cputime_t incr ; u32 error ; u32 incr_error ; }; struct cputime { cputime_t utime ; cputime_t stime ; }; struct task_cputime { cputime_t utime ; cputime_t stime ; unsigned long long sum_exec_runtime ; }; struct thread_group_cputimer { struct task_cputime cputime ; int running ; raw_spinlock_t lock ; }; struct autogroup; struct tty_struct; struct taskstats; struct tty_audit_buf; struct signal_struct { atomic_t sigcnt ; atomic_t live ; int nr_threads ; struct list_head thread_head ; wait_queue_head_t wait_chldexit ; struct task_struct *curr_target ; struct sigpending shared_pending ; int group_exit_code ; int notify_count ; struct task_struct *group_exit_task ; int group_stop_count ; unsigned int flags ; unsigned char is_child_subreaper : 1 ; unsigned char has_child_subreaper : 1 ; int posix_timer_id ; struct list_head posix_timers ; struct hrtimer real_timer ; struct pid *leader_pid ; ktime_t it_real_incr ; struct cpu_itimer it[2U] ; struct thread_group_cputimer cputimer ; struct task_cputime cputime_expires ; struct list_head cpu_timers[3U] ; struct pid *tty_old_pgrp ; int leader ; struct tty_struct *tty ; struct autogroup *autogroup ; cputime_t utime ; cputime_t stime ; cputime_t cutime ; cputime_t cstime ; cputime_t gtime ; cputime_t cgtime ; struct cputime prev_cputime ; unsigned long nvcsw ; unsigned long nivcsw ; unsigned long cnvcsw ; unsigned long cnivcsw ; unsigned long min_flt ; unsigned long maj_flt ; unsigned long cmin_flt ; unsigned long cmaj_flt ; unsigned long inblock ; unsigned long oublock ; unsigned long cinblock ; unsigned long coublock ; unsigned long maxrss ; unsigned long cmaxrss ; struct task_io_accounting ioac ; unsigned long long sum_sched_runtime ; struct rlimit rlim[16U] ; struct pacct_struct pacct ; struct taskstats *stats ; unsigned int audit_tty ; unsigned int audit_tty_log_passwd ; struct tty_audit_buf *tty_audit_buf ; struct rw_semaphore group_rwsem ; oom_flags_t oom_flags ; short oom_score_adj ; short oom_score_adj_min ; struct mutex cred_guard_mutex ; }; struct user_struct { atomic_t __count ; atomic_t processes ; atomic_t sigpending ; atomic_t inotify_watches ; atomic_t inotify_devs ; atomic_t fanotify_listeners ; atomic_long_t epoll_watches ; unsigned long mq_bytes ; unsigned long locked_shm ; struct key *uid_keyring ; struct key *session_keyring ; struct hlist_node uidhash_node ; kuid_t uid ; atomic_long_t locked_vm ; }; struct reclaim_state; struct sched_info { unsigned long pcount ; unsigned long long run_delay ; unsigned long long last_arrival ; unsigned long long last_queued ; }; struct task_delay_info { spinlock_t lock ; unsigned int flags ; struct timespec blkio_start ; struct timespec blkio_end ; u64 blkio_delay ; u64 swapin_delay ; u32 blkio_count ; u32 swapin_count ; struct timespec freepages_start ; struct timespec freepages_end ; u64 freepages_delay ; u32 freepages_count ; }; struct uts_namespace; struct load_weight { unsigned long weight ; u32 inv_weight ; }; struct sched_avg { u32 runnable_avg_sum ; u32 runnable_avg_period ; u64 last_runnable_update ; s64 decay_count ; unsigned long load_avg_contrib ; }; struct sched_statistics { u64 wait_start ; u64 wait_max ; u64 wait_count ; u64 wait_sum ; u64 iowait_count ; u64 iowait_sum ; u64 sleep_start ; u64 sleep_max ; s64 sum_sleep_runtime ; u64 block_start ; u64 block_max ; u64 exec_max ; u64 slice_max ; u64 nr_migrations_cold ; u64 nr_failed_migrations_affine ; u64 nr_failed_migrations_running ; u64 nr_failed_migrations_hot ; u64 nr_forced_migrations ; u64 nr_wakeups ; u64 nr_wakeups_sync ; u64 nr_wakeups_migrate ; u64 nr_wakeups_local ; u64 nr_wakeups_remote ; u64 nr_wakeups_affine ; u64 nr_wakeups_affine_attempts ; u64 nr_wakeups_passive ; u64 nr_wakeups_idle ; }; struct sched_entity { struct load_weight load ; struct rb_node run_node ; struct list_head group_node ; unsigned int on_rq ; u64 exec_start ; u64 sum_exec_runtime ; u64 vruntime ; u64 prev_sum_exec_runtime ; u64 nr_migrations ; struct sched_statistics statistics ; int depth ; struct sched_entity *parent ; struct cfs_rq *cfs_rq ; struct cfs_rq *my_q ; struct sched_avg avg ; }; struct rt_rq; struct sched_rt_entity { struct list_head run_list ; unsigned long timeout ; unsigned long watchdog_stamp ; unsigned int time_slice ; struct sched_rt_entity *back ; struct sched_rt_entity *parent ; struct rt_rq *rt_rq ; struct rt_rq *my_q ; }; struct sched_dl_entity { struct rb_node rb_node ; u64 dl_runtime ; u64 dl_deadline ; u64 dl_period ; u64 dl_bw ; s64 runtime ; u64 deadline ; unsigned int flags ; int dl_throttled ; int dl_new ; int dl_boosted ; int dl_yielded ; struct hrtimer dl_timer ; }; struct memcg_batch_info { int do_batch ; struct mem_cgroup *memcg ; unsigned long nr_pages ; unsigned long memsw_nr_pages ; }; struct memcg_oom_info { struct mem_cgroup *memcg ; gfp_t gfp_mask ; int order ; unsigned char may_oom : 1 ; }; struct sched_class; struct css_set; struct compat_robust_list_head; struct numa_group; struct ftrace_ret_stack; struct task_struct { long volatile state ; void *stack ; atomic_t usage ; unsigned int flags ; unsigned int ptrace ; struct llist_node wake_entry ; int on_cpu ; struct task_struct *last_wakee ; unsigned long wakee_flips ; unsigned long wakee_flip_decay_ts ; int wake_cpu ; int on_rq ; int prio ; int static_prio ; int normal_prio ; unsigned int rt_priority ; struct sched_class const *sched_class ; struct sched_entity se ; struct sched_rt_entity rt ; struct task_group *sched_task_group ; struct sched_dl_entity dl ; struct hlist_head preempt_notifiers ; unsigned int btrace_seq ; unsigned int policy ; int nr_cpus_allowed ; cpumask_t cpus_allowed ; struct sched_info sched_info ; struct list_head tasks ; struct plist_node pushable_tasks ; struct rb_node pushable_dl_tasks ; struct mm_struct *mm ; struct mm_struct *active_mm ; unsigned char brk_randomized : 1 ; u32 vmacache_seqnum ; struct vm_area_struct *vmacache[4U] ; struct task_rss_stat rss_stat ; int exit_state ; int exit_code ; int exit_signal ; int pdeath_signal ; unsigned int jobctl ; unsigned int personality ; unsigned char in_execve : 1 ; unsigned char in_iowait : 1 ; unsigned char no_new_privs : 1 ; unsigned char sched_reset_on_fork : 1 ; unsigned char sched_contributes_to_load : 1 ; pid_t pid ; pid_t tgid ; struct task_struct *real_parent ; struct task_struct *parent ; struct list_head children ; struct list_head sibling ; struct task_struct *group_leader ; struct list_head ptraced ; struct list_head ptrace_entry ; struct pid_link pids[3U] ; struct list_head thread_group ; struct list_head thread_node ; struct completion *vfork_done ; int *set_child_tid ; int *clear_child_tid ; cputime_t utime ; cputime_t stime ; cputime_t utimescaled ; cputime_t stimescaled ; cputime_t gtime ; struct cputime prev_cputime ; unsigned long nvcsw ; unsigned long nivcsw ; struct timespec start_time ; struct timespec real_start_time ; unsigned long min_flt ; unsigned long maj_flt ; struct task_cputime cputime_expires ; struct list_head cpu_timers[3U] ; struct cred const *real_cred ; struct cred const *cred ; char comm[16U] ; int link_count ; int total_link_count ; struct sysv_sem sysvsem ; unsigned long last_switch_count ; struct thread_struct thread ; struct fs_struct *fs ; struct files_struct *files ; struct nsproxy *nsproxy ; struct signal_struct *signal ; struct sighand_struct *sighand ; sigset_t blocked ; sigset_t real_blocked ; sigset_t saved_sigmask ; struct sigpending pending ; unsigned long sas_ss_sp ; size_t sas_ss_size ; int (*notifier)(void * ) ; void *notifier_data ; sigset_t *notifier_mask ; struct callback_head *task_works ; struct audit_context *audit_context ; kuid_t loginuid ; unsigned int sessionid ; struct seccomp seccomp ; u32 parent_exec_id ; u32 self_exec_id ; spinlock_t alloc_lock ; raw_spinlock_t pi_lock ; struct rb_root pi_waiters ; struct rb_node *pi_waiters_leftmost ; struct rt_mutex_waiter *pi_blocked_on ; struct task_struct *pi_top_task ; struct mutex_waiter *blocked_on ; unsigned int irq_events ; unsigned long hardirq_enable_ip ; unsigned long hardirq_disable_ip ; unsigned int hardirq_enable_event ; unsigned int hardirq_disable_event ; int hardirqs_enabled ; int hardirq_context ; unsigned long softirq_disable_ip ; unsigned long softirq_enable_ip ; unsigned int softirq_disable_event ; unsigned int softirq_enable_event ; int softirqs_enabled ; int softirq_context ; u64 curr_chain_key ; int lockdep_depth ; unsigned int lockdep_recursion ; struct held_lock held_locks[48U] ; gfp_t lockdep_reclaim_gfp ; void *journal_info ; struct bio_list *bio_list ; struct blk_plug *plug ; struct reclaim_state *reclaim_state ; struct backing_dev_info *backing_dev_info ; struct io_context *io_context ; unsigned long ptrace_message ; siginfo_t *last_siginfo ; struct task_io_accounting ioac ; u64 acct_rss_mem1 ; u64 acct_vm_mem1 ; cputime_t acct_timexpd ; nodemask_t mems_allowed ; seqcount_t mems_allowed_seq ; int cpuset_mem_spread_rotor ; int cpuset_slab_spread_rotor ; struct css_set *cgroups ; struct list_head cg_list ; struct robust_list_head *robust_list ; struct compat_robust_list_head *compat_robust_list ; struct list_head pi_state_list ; struct futex_pi_state *pi_state_cache ; struct perf_event_context *perf_event_ctxp[2U] ; struct mutex perf_event_mutex ; struct list_head perf_event_list ; struct mempolicy *mempolicy ; short il_next ; short pref_node_fork ; int numa_scan_seq ; unsigned int numa_scan_period ; unsigned int numa_scan_period_max ; int numa_preferred_nid ; unsigned long numa_migrate_retry ; u64 node_stamp ; u64 last_task_numa_placement ; u64 last_sum_exec_runtime ; struct callback_head numa_work ; struct list_head numa_entry ; struct numa_group *numa_group ; unsigned long *numa_faults_memory ; unsigned long total_numa_faults ; unsigned long *numa_faults_buffer_memory ; unsigned long *numa_faults_cpu ; unsigned long *numa_faults_buffer_cpu ; unsigned long numa_faults_locality[2U] ; unsigned long numa_pages_migrated ; struct callback_head rcu ; struct pipe_inode_info *splice_pipe ; struct page_frag task_frag ; struct task_delay_info *delays ; int make_it_fail ; int nr_dirtied ; int nr_dirtied_pause ; unsigned long dirty_paused_when ; int latency_record_count ; struct latency_record latency_record[32U] ; unsigned long timer_slack_ns ; unsigned long default_timer_slack_ns ; int curr_ret_stack ; struct ftrace_ret_stack *ret_stack ; unsigned long long ftrace_timestamp ; atomic_t trace_overrun ; atomic_t tracing_graph_pause ; unsigned long trace ; unsigned long trace_recursion ; struct memcg_batch_info memcg_batch ; unsigned int memcg_kmem_skip_account ; struct memcg_oom_info memcg_oom ; struct uprobe_task *utask ; unsigned int sequential_io ; unsigned int sequential_io_avg ; }; typedef s32 compat_time_t; typedef s32 compat_long_t; typedef u32 compat_uptr_t; struct compat_timespec { compat_time_t tv_sec ; s32 tv_nsec ; }; struct compat_robust_list { compat_uptr_t next ; }; struct compat_robust_list_head { struct compat_robust_list list ; compat_long_t futex_offset ; compat_uptr_t list_op_pending ; }; enum ldv_22438 { SS_FREE = 0, SS_UNCONNECTED = 1, SS_CONNECTING = 2, SS_CONNECTED = 3, SS_DISCONNECTING = 4 } ; typedef enum ldv_22438 socket_state; struct socket_wq { wait_queue_head_t wait ; struct fasync_struct *fasync_list ; struct callback_head rcu ; }; struct proto_ops; struct socket { socket_state state ; short type ; unsigned long flags ; struct socket_wq *wq ; struct file *file ; struct sock *sk ; struct proto_ops const *ops ; }; struct proto_ops { int family ; struct module *owner ; int (*release)(struct socket * ) ; int (*bind)(struct socket * , struct sockaddr * , int ) ; int (*connect)(struct socket * , struct sockaddr * , int , int ) ; int (*socketpair)(struct socket * , struct socket * ) ; int (*accept)(struct socket * , struct socket * , int ) ; int (*getname)(struct socket * , struct sockaddr * , int * , int ) ; unsigned int (*poll)(struct file * , struct socket * , struct poll_table_struct * ) ; int (*ioctl)(struct socket * , unsigned int , unsigned long ) ; int (*compat_ioctl)(struct socket * , unsigned int , unsigned long ) ; int (*listen)(struct socket * , int ) ; int (*shutdown)(struct socket * , int ) ; int (*setsockopt)(struct socket * , int , int , char * , unsigned int ) ; int (*getsockopt)(struct socket * , int , int , char * , int * ) ; int (*compat_setsockopt)(struct socket * , int , int , char * , unsigned int ) ; int (*compat_getsockopt)(struct socket * , int , int , char * , int * ) ; int (*sendmsg)(struct kiocb * , struct socket * , struct msghdr * , size_t ) ; int (*recvmsg)(struct kiocb * , struct socket * , struct msghdr * , size_t , int ) ; int (*mmap)(struct file * , struct socket * , struct vm_area_struct * ) ; ssize_t (*sendpage)(struct socket * , struct page * , int , size_t , int ) ; ssize_t (*splice_read)(struct socket * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ) ; int (*set_peek_off)(struct sock * , int ) ; }; struct exception_table_entry { int insn ; int fixup ; }; struct in6_addr; struct sk_buff; struct dma_attrs { unsigned long flags[1U] ; }; enum dma_data_direction { DMA_BIDIRECTIONAL = 0, DMA_TO_DEVICE = 1, DMA_FROM_DEVICE = 2, DMA_NONE = 3 } ; struct dma_map_ops { void *(*alloc)(struct device * , size_t , dma_addr_t * , gfp_t , struct dma_attrs * ) ; void (*free)(struct device * , size_t , void * , dma_addr_t , struct dma_attrs * ) ; int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t , size_t , struct dma_attrs * ) ; int (*get_sgtable)(struct device * , struct sg_table * , void * , dma_addr_t , size_t , struct dma_attrs * ) ; dma_addr_t (*map_page)(struct device * , struct page * , unsigned long , size_t , enum dma_data_direction , struct dma_attrs * ) ; void (*unmap_page)(struct device * , dma_addr_t , size_t , enum dma_data_direction , struct dma_attrs * ) ; int (*map_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction , struct dma_attrs * ) ; void (*unmap_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction , struct dma_attrs * ) ; void (*sync_single_for_cpu)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ; void (*sync_single_for_device)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ; void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ; void (*sync_sg_for_device)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ; int (*mapping_error)(struct device * , dma_addr_t ) ; int (*dma_supported)(struct device * , u64 ) ; int (*set_dma_mask)(struct device * , u64 ) ; int is_phys ; }; typedef u64 netdev_features_t; struct nf_conntrack { atomic_t use ; }; struct nf_bridge_info { atomic_t use ; unsigned int mask ; struct net_device *physindev ; struct net_device *physoutdev ; unsigned long data[4U] ; }; struct sk_buff_head { struct sk_buff *next ; struct sk_buff *prev ; __u32 qlen ; spinlock_t lock ; }; typedef unsigned int sk_buff_data_t; struct __anonstruct_ldv_30795_227 { u32 stamp_us ; u32 stamp_jiffies ; }; union __anonunion_ldv_30796_226 { u64 v64 ; struct __anonstruct_ldv_30795_227 ldv_30795 ; }; struct skb_mstamp { union __anonunion_ldv_30796_226 ldv_30796 ; }; union __anonunion_ldv_30815_228 { ktime_t tstamp ; struct skb_mstamp skb_mstamp ; }; struct sec_path; struct __anonstruct_ldv_30831_230 { __u16 csum_start ; __u16 csum_offset ; }; union __anonunion_ldv_30832_229 { __wsum csum ; struct __anonstruct_ldv_30831_230 ldv_30831 ; }; union __anonunion_ldv_30871_231 { unsigned int napi_id ; dma_cookie_t dma_cookie ; }; union __anonunion_ldv_30877_232 { __u32 mark ; __u32 dropcount ; __u32 reserved_tailroom ; }; struct sk_buff { struct sk_buff *next ; struct sk_buff *prev ; union __anonunion_ldv_30815_228 ldv_30815 ; struct sock *sk ; struct net_device *dev ; char cb[48U] ; unsigned long _skb_refdst ; struct sec_path *sp ; unsigned int len ; unsigned int data_len ; __u16 mac_len ; __u16 hdr_len ; union __anonunion_ldv_30832_229 ldv_30832 ; __u32 priority ; unsigned char ignore_df : 1 ; unsigned char cloned : 1 ; unsigned char ip_summed : 2 ; unsigned char nohdr : 1 ; unsigned char nfctinfo : 3 ; unsigned char pkt_type : 3 ; unsigned char fclone : 2 ; unsigned char ipvs_property : 1 ; unsigned char peeked : 1 ; unsigned char nf_trace : 1 ; __be16 protocol ; void (*destructor)(struct sk_buff * ) ; struct nf_conntrack *nfct ; struct nf_bridge_info *nf_bridge ; int skb_iif ; __u32 hash ; __be16 vlan_proto ; __u16 vlan_tci ; __u16 tc_index ; __u16 tc_verd ; __u16 queue_mapping ; unsigned char ndisc_nodetype : 2 ; unsigned char pfmemalloc : 1 ; unsigned char ooo_okay : 1 ; unsigned char l4_hash : 1 ; unsigned char wifi_acked_valid : 1 ; unsigned char wifi_acked : 1 ; unsigned char no_fcs : 1 ; unsigned char head_frag : 1 ; unsigned char encapsulation : 1 ; unsigned char encap_hdr_csum : 1 ; unsigned char csum_valid : 1 ; unsigned char csum_complete_sw : 1 ; union __anonunion_ldv_30871_231 ldv_30871 ; __u32 secmark ; union __anonunion_ldv_30877_232 ldv_30877 ; __be16 inner_protocol ; __u16 inner_transport_header ; __u16 inner_network_header ; __u16 inner_mac_header ; __u16 transport_header ; __u16 network_header ; __u16 mac_header ; sk_buff_data_t tail ; sk_buff_data_t end ; unsigned char *head ; unsigned char *data ; unsigned int truesize ; atomic_t users ; }; struct dst_entry; struct rtable; struct ethhdr { unsigned char h_dest[6U] ; unsigned char h_source[6U] ; __be16 h_proto ; }; struct ethtool_cmd { __u32 cmd ; __u32 supported ; __u32 advertising ; __u16 speed ; __u8 duplex ; __u8 port ; __u8 phy_address ; __u8 transceiver ; __u8 autoneg ; __u8 mdio_support ; __u32 maxtxpkt ; __u32 maxrxpkt ; __u16 speed_hi ; __u8 eth_tp_mdix ; __u8 eth_tp_mdix_ctrl ; __u32 lp_advertising ; __u32 reserved[2U] ; }; struct ethtool_drvinfo { __u32 cmd ; char driver[32U] ; char version[32U] ; char fw_version[32U] ; char bus_info[32U] ; char reserved1[32U] ; char reserved2[12U] ; __u32 n_priv_flags ; __u32 n_stats ; __u32 testinfo_len ; __u32 eedump_len ; __u32 regdump_len ; }; struct ethtool_wolinfo { __u32 cmd ; __u32 supported ; __u32 wolopts ; __u8 sopass[6U] ; }; struct ethtool_regs { __u32 cmd ; __u32 version ; __u32 len ; __u8 data[0U] ; }; struct ethtool_eeprom { __u32 cmd ; __u32 magic ; __u32 offset ; __u32 len ; __u8 data[0U] ; }; struct ethtool_eee { __u32 cmd ; __u32 supported ; __u32 advertised ; __u32 lp_advertised ; __u32 eee_active ; __u32 eee_enabled ; __u32 tx_lpi_enabled ; __u32 tx_lpi_timer ; __u32 reserved[2U] ; }; struct ethtool_modinfo { __u32 cmd ; __u32 type ; __u32 eeprom_len ; __u32 reserved[8U] ; }; struct ethtool_coalesce { __u32 cmd ; __u32 rx_coalesce_usecs ; __u32 rx_max_coalesced_frames ; __u32 rx_coalesce_usecs_irq ; __u32 rx_max_coalesced_frames_irq ; __u32 tx_coalesce_usecs ; __u32 tx_max_coalesced_frames ; __u32 tx_coalesce_usecs_irq ; __u32 tx_max_coalesced_frames_irq ; __u32 stats_block_coalesce_usecs ; __u32 use_adaptive_rx_coalesce ; __u32 use_adaptive_tx_coalesce ; __u32 pkt_rate_low ; __u32 rx_coalesce_usecs_low ; __u32 rx_max_coalesced_frames_low ; __u32 tx_coalesce_usecs_low ; __u32 tx_max_coalesced_frames_low ; __u32 pkt_rate_high ; __u32 rx_coalesce_usecs_high ; __u32 rx_max_coalesced_frames_high ; __u32 tx_coalesce_usecs_high ; __u32 tx_max_coalesced_frames_high ; __u32 rate_sample_interval ; }; struct ethtool_ringparam { __u32 cmd ; __u32 rx_max_pending ; __u32 rx_mini_max_pending ; __u32 rx_jumbo_max_pending ; __u32 tx_max_pending ; __u32 rx_pending ; __u32 rx_mini_pending ; __u32 rx_jumbo_pending ; __u32 tx_pending ; }; struct ethtool_channels { __u32 cmd ; __u32 max_rx ; __u32 max_tx ; __u32 max_other ; __u32 max_combined ; __u32 rx_count ; __u32 tx_count ; __u32 other_count ; __u32 combined_count ; }; struct ethtool_pauseparam { __u32 cmd ; __u32 autoneg ; __u32 rx_pause ; __u32 tx_pause ; }; struct ethtool_test { __u32 cmd ; __u32 flags ; __u32 reserved ; __u32 len ; __u64 data[0U] ; }; struct ethtool_stats { __u32 cmd ; __u32 n_stats ; __u64 data[0U] ; }; struct ethtool_tcpip4_spec { __be32 ip4src ; __be32 ip4dst ; __be16 psrc ; __be16 pdst ; __u8 tos ; }; struct ethtool_ah_espip4_spec { __be32 ip4src ; __be32 ip4dst ; __be32 spi ; __u8 tos ; }; struct ethtool_usrip4_spec { __be32 ip4src ; __be32 ip4dst ; __be32 l4_4_bytes ; __u8 tos ; __u8 ip_ver ; __u8 proto ; }; union ethtool_flow_union { struct ethtool_tcpip4_spec tcp_ip4_spec ; struct ethtool_tcpip4_spec udp_ip4_spec ; struct ethtool_tcpip4_spec sctp_ip4_spec ; struct ethtool_ah_espip4_spec ah_ip4_spec ; struct ethtool_ah_espip4_spec esp_ip4_spec ; struct ethtool_usrip4_spec usr_ip4_spec ; struct ethhdr ether_spec ; __u8 hdata[52U] ; }; struct ethtool_flow_ext { __u8 padding[2U] ; unsigned char h_dest[6U] ; __be16 vlan_etype ; __be16 vlan_tci ; __be32 data[2U] ; }; struct ethtool_rx_flow_spec { __u32 flow_type ; union ethtool_flow_union h_u ; struct ethtool_flow_ext h_ext ; union ethtool_flow_union m_u ; struct ethtool_flow_ext m_ext ; __u64 ring_cookie ; __u32 location ; }; struct ethtool_rxnfc { __u32 cmd ; __u32 flow_type ; __u64 data ; struct ethtool_rx_flow_spec fs ; __u32 rule_cnt ; __u32 rule_locs[0U] ; }; struct ethtool_flash { __u32 cmd ; __u32 region ; char data[128U] ; }; struct ethtool_dump { __u32 cmd ; __u32 version ; __u32 flag ; __u32 len ; __u8 data[0U] ; }; struct ethtool_ts_info { __u32 cmd ; __u32 so_timestamping ; __s32 phc_index ; __u32 tx_types ; __u32 tx_reserved[3U] ; __u32 rx_filters ; __u32 rx_reserved[3U] ; }; enum ethtool_phys_id_state { ETHTOOL_ID_INACTIVE = 0, ETHTOOL_ID_ACTIVE = 1, ETHTOOL_ID_ON = 2, ETHTOOL_ID_OFF = 3 } ; struct ethtool_ops { int (*get_settings)(struct net_device * , struct ethtool_cmd * ) ; int (*set_settings)(struct net_device * , struct ethtool_cmd * ) ; void (*get_drvinfo)(struct net_device * , struct ethtool_drvinfo * ) ; int (*get_regs_len)(struct net_device * ) ; void (*get_regs)(struct net_device * , struct ethtool_regs * , void * ) ; void (*get_wol)(struct net_device * , struct ethtool_wolinfo * ) ; int (*set_wol)(struct net_device * , struct ethtool_wolinfo * ) ; u32 (*get_msglevel)(struct net_device * ) ; void (*set_msglevel)(struct net_device * , u32 ) ; int (*nway_reset)(struct net_device * ) ; u32 (*get_link)(struct net_device * ) ; int (*get_eeprom_len)(struct net_device * ) ; int (*get_eeprom)(struct net_device * , struct ethtool_eeprom * , u8 * ) ; int (*set_eeprom)(struct net_device * , struct ethtool_eeprom * , u8 * ) ; int (*get_coalesce)(struct net_device * , struct ethtool_coalesce * ) ; int (*set_coalesce)(struct net_device * , struct ethtool_coalesce * ) ; void (*get_ringparam)(struct net_device * , struct ethtool_ringparam * ) ; int (*set_ringparam)(struct net_device * , struct ethtool_ringparam * ) ; void (*get_pauseparam)(struct net_device * , struct ethtool_pauseparam * ) ; int (*set_pauseparam)(struct net_device * , struct ethtool_pauseparam * ) ; void (*self_test)(struct net_device * , struct ethtool_test * , u64 * ) ; void (*get_strings)(struct net_device * , u32 , u8 * ) ; int (*set_phys_id)(struct net_device * , enum ethtool_phys_id_state ) ; void (*get_ethtool_stats)(struct net_device * , struct ethtool_stats * , u64 * ) ; int (*begin)(struct net_device * ) ; void (*complete)(struct net_device * ) ; u32 (*get_priv_flags)(struct net_device * ) ; int (*set_priv_flags)(struct net_device * , u32 ) ; int (*get_sset_count)(struct net_device * , int ) ; int (*get_rxnfc)(struct net_device * , struct ethtool_rxnfc * , u32 * ) ; int (*set_rxnfc)(struct net_device * , struct ethtool_rxnfc * ) ; int (*flash_device)(struct net_device * , struct ethtool_flash * ) ; int (*reset)(struct net_device * , u32 * ) ; u32 (*get_rxfh_key_size)(struct net_device * ) ; u32 (*get_rxfh_indir_size)(struct net_device * ) ; int (*get_rxfh)(struct net_device * , u32 * , u8 * ) ; int (*set_rxfh)(struct net_device * , u32 const * , u8 const * ) ; void (*get_channels)(struct net_device * , struct ethtool_channels * ) ; int (*set_channels)(struct net_device * , struct ethtool_channels * ) ; int (*get_dump_flag)(struct net_device * , struct ethtool_dump * ) ; int (*get_dump_data)(struct net_device * , struct ethtool_dump * , void * ) ; int (*set_dump)(struct net_device * , struct ethtool_dump * ) ; int (*get_ts_info)(struct net_device * , struct ethtool_ts_info * ) ; int (*get_module_info)(struct net_device * , struct ethtool_modinfo * ) ; int (*get_module_eeprom)(struct net_device * , struct ethtool_eeprom * , u8 * ) ; int (*get_eee)(struct net_device * , struct ethtool_eee * ) ; int (*set_eee)(struct net_device * , struct ethtool_eee * ) ; }; union __anonunion_in6_u_235 { __u8 u6_addr8[16U] ; __be16 u6_addr16[8U] ; __be32 u6_addr32[4U] ; }; struct in6_addr { union __anonunion_in6_u_235 in6_u ; }; struct prot_inuse; struct netns_core { struct ctl_table_header *sysctl_hdr ; int sysctl_somaxconn ; struct prot_inuse *inuse ; }; struct u64_stats_sync { }; struct ipstats_mib { u64 mibs[36U] ; struct u64_stats_sync syncp ; }; struct icmp_mib { unsigned long mibs[28U] ; }; struct icmpmsg_mib { atomic_long_t mibs[512U] ; }; struct icmpv6_mib { unsigned long mibs[6U] ; }; struct icmpv6_mib_device { atomic_long_t mibs[6U] ; }; struct icmpv6msg_mib { atomic_long_t mibs[512U] ; }; struct icmpv6msg_mib_device { atomic_long_t mibs[512U] ; }; struct tcp_mib { unsigned long mibs[16U] ; }; struct udp_mib { unsigned long mibs[8U] ; }; struct linux_mib { unsigned long mibs[103U] ; }; struct linux_xfrm_mib { unsigned long mibs[29U] ; }; struct proc_dir_entry; struct netns_mib { struct tcp_mib *tcp_statistics ; struct ipstats_mib *ip_statistics ; struct linux_mib *net_statistics ; struct udp_mib *udp_statistics ; struct udp_mib *udplite_statistics ; struct icmp_mib *icmp_statistics ; struct icmpmsg_mib *icmpmsg_statistics ; struct proc_dir_entry *proc_net_devsnmp6 ; struct udp_mib *udp_stats_in6 ; struct udp_mib *udplite_stats_in6 ; struct ipstats_mib *ipv6_statistics ; struct icmpv6_mib *icmpv6_statistics ; struct icmpv6msg_mib *icmpv6msg_statistics ; struct linux_xfrm_mib *xfrm_statistics ; }; struct netns_unix { int sysctl_max_dgram_qlen ; struct ctl_table_header *ctl ; }; struct netns_packet { struct mutex sklist_lock ; struct hlist_head sklist ; }; struct netns_frags { int nqueues ; struct list_head lru_list ; spinlock_t lru_lock ; struct percpu_counter mem ; int timeout ; int high_thresh ; int low_thresh ; }; struct tcpm_hash_bucket; struct ipv4_devconf; struct fib_rules_ops; struct fib_table; struct local_ports { seqlock_t lock ; int range[2U] ; }; struct ping_group_range { seqlock_t lock ; kgid_t range[2U] ; }; struct inet_peer_base; struct xt_table; struct netns_ipv4 { struct ctl_table_header *forw_hdr ; struct ctl_table_header *frags_hdr ; struct ctl_table_header *ipv4_hdr ; struct ctl_table_header *route_hdr ; struct ctl_table_header *xfrm4_hdr ; struct ipv4_devconf *devconf_all ; struct ipv4_devconf *devconf_dflt ; struct fib_rules_ops *rules_ops ; bool fib_has_custom_rules ; struct fib_table *fib_local ; struct fib_table *fib_main ; struct fib_table *fib_default ; int fib_num_tclassid_users ; struct hlist_head *fib_table_hash ; struct sock *fibnl ; struct sock **icmp_sk ; struct inet_peer_base *peers ; struct tcpm_hash_bucket *tcp_metrics_hash ; unsigned int tcp_metrics_hash_log ; struct netns_frags frags ; struct xt_table *iptable_filter ; struct xt_table *iptable_mangle ; struct xt_table *iptable_raw ; struct xt_table *arptable_filter ; struct xt_table *iptable_security ; struct xt_table *nat_table ; int sysctl_icmp_echo_ignore_all ; int sysctl_icmp_echo_ignore_broadcasts ; int sysctl_icmp_ignore_bogus_error_responses ; int sysctl_icmp_ratelimit ; int sysctl_icmp_ratemask ; int sysctl_icmp_errors_use_inbound_ifaddr ; struct local_ports ip_local_ports ; int sysctl_tcp_ecn ; int sysctl_ip_no_pmtu_disc ; int sysctl_ip_fwd_use_pmtu ; int sysctl_fwmark_reflect ; int sysctl_tcp_fwmark_accept ; struct ping_group_range ping_group_range ; atomic_t dev_addr_genid ; unsigned long *sysctl_local_reserved_ports ; struct list_head mr_tables ; struct fib_rules_ops *mr_rules_ops ; atomic_t rt_genid ; }; struct neighbour; struct dst_ops { unsigned short family ; __be16 protocol ; unsigned int gc_thresh ; int (*gc)(struct dst_ops * ) ; struct dst_entry *(*check)(struct dst_entry * , __u32 ) ; unsigned int (*default_advmss)(struct dst_entry const * ) ; unsigned int (*mtu)(struct dst_entry const * ) ; u32 *(*cow_metrics)(struct dst_entry * , unsigned long ) ; void (*destroy)(struct dst_entry * ) ; void (*ifdown)(struct dst_entry * , struct net_device * , int ) ; struct dst_entry *(*negative_advice)(struct dst_entry * ) ; void (*link_failure)(struct sk_buff * ) ; void (*update_pmtu)(struct dst_entry * , struct sock * , struct sk_buff * , u32 ) ; void (*redirect)(struct dst_entry * , struct sock * , struct sk_buff * ) ; int (*local_out)(struct sk_buff * ) ; struct neighbour *(*neigh_lookup)(struct dst_entry const * , struct sk_buff * , void const * ) ; struct kmem_cache *kmem_cachep ; struct percpu_counter pcpuc_entries ; }; struct netns_sysctl_ipv6 { struct ctl_table_header *hdr ; struct ctl_table_header *route_hdr ; struct ctl_table_header *icmp_hdr ; struct ctl_table_header *frags_hdr ; struct ctl_table_header *xfrm6_hdr ; int bindv6only ; int flush_delay ; int ip6_rt_max_size ; int ip6_rt_gc_min_interval ; int ip6_rt_gc_timeout ; int ip6_rt_gc_interval ; int ip6_rt_gc_elasticity ; int ip6_rt_mtu_expires ; int ip6_rt_min_advmss ; int flowlabel_consistency ; int icmpv6_time ; int anycast_src_echo_reply ; int fwmark_reflect ; }; struct ipv6_devconf; struct rt6_info; struct rt6_statistics; struct fib6_table; struct netns_ipv6 { struct netns_sysctl_ipv6 sysctl ; struct ipv6_devconf *devconf_all ; struct ipv6_devconf *devconf_dflt ; struct inet_peer_base *peers ; struct netns_frags frags ; struct xt_table *ip6table_filter ; struct xt_table *ip6table_mangle ; struct xt_table *ip6table_raw ; struct xt_table *ip6table_security ; struct xt_table *ip6table_nat ; struct rt6_info *ip6_null_entry ; struct rt6_statistics *rt6_stats ; struct timer_list ip6_fib_timer ; struct hlist_head *fib_table_hash ; struct fib6_table *fib6_main_tbl ; struct dst_ops ip6_dst_ops ; unsigned int ip6_rt_gc_expire ; unsigned long ip6_rt_last_gc ; struct rt6_info *ip6_prohibit_entry ; struct rt6_info *ip6_blk_hole_entry ; struct fib6_table *fib6_local_tbl ; struct fib_rules_ops *fib6_rules_ops ; struct sock **icmp_sk ; struct sock *ndisc_sk ; struct sock *tcp_sk ; struct sock *igmp_sk ; struct list_head mr6_tables ; struct fib_rules_ops *mr6_rules_ops ; atomic_t dev_addr_genid ; atomic_t rt_genid ; }; struct netns_nf_frag { struct netns_sysctl_ipv6 sysctl ; struct netns_frags frags ; }; struct netns_sysctl_lowpan { struct ctl_table_header *frags_hdr ; }; struct netns_ieee802154_lowpan { struct netns_sysctl_lowpan sysctl ; struct netns_frags frags ; u16 max_dsize ; }; struct sctp_mib; struct netns_sctp { struct sctp_mib *sctp_statistics ; struct proc_dir_entry *proc_net_sctp ; struct ctl_table_header *sysctl_header ; struct sock *ctl_sock ; struct list_head local_addr_list ; struct list_head addr_waitq ; struct timer_list addr_wq_timer ; struct list_head auto_asconf_splist ; spinlock_t addr_wq_lock ; spinlock_t local_addr_lock ; unsigned int rto_initial ; unsigned int rto_min ; unsigned int rto_max ; int rto_alpha ; int rto_beta ; int max_burst ; int cookie_preserve_enable ; char *sctp_hmac_alg ; unsigned int valid_cookie_life ; unsigned int sack_timeout ; unsigned int hb_interval ; int max_retrans_association ; int max_retrans_path ; int max_retrans_init ; int pf_retrans ; int sndbuf_policy ; int rcvbuf_policy ; int default_auto_asconf ; int addip_enable ; int addip_noauth ; int prsctp_enable ; int auth_enable ; int scope_policy ; int rwnd_upd_shift ; unsigned long max_autoclose ; }; struct netns_dccp { struct sock *v4_ctl_sk ; struct sock *v6_ctl_sk ; }; struct nlattr; struct nf_logger; struct netns_nf { struct proc_dir_entry *proc_netfilter ; struct nf_logger const *nf_loggers[13U] ; struct ctl_table_header *nf_log_dir_header ; }; struct ebt_table; struct netns_xt { struct list_head tables[13U] ; bool notrack_deprecated_warning ; struct ebt_table *broute_table ; struct ebt_table *frame_filter ; struct ebt_table *frame_nat ; bool ulog_warn_deprecated ; bool ebt_ulog_warn_deprecated ; }; struct hlist_nulls_node; struct hlist_nulls_head { struct hlist_nulls_node *first ; }; struct hlist_nulls_node { struct hlist_nulls_node *next ; struct hlist_nulls_node **pprev ; }; struct nf_proto_net { struct ctl_table_header *ctl_table_header ; struct ctl_table *ctl_table ; struct ctl_table_header *ctl_compat_header ; struct ctl_table *ctl_compat_table ; unsigned int users ; }; struct nf_generic_net { struct nf_proto_net pn ; unsigned int timeout ; }; struct nf_tcp_net { struct nf_proto_net pn ; unsigned int timeouts[14U] ; unsigned int tcp_loose ; unsigned int tcp_be_liberal ; unsigned int tcp_max_retrans ; }; struct nf_udp_net { struct nf_proto_net pn ; unsigned int timeouts[2U] ; }; struct nf_icmp_net { struct nf_proto_net pn ; unsigned int timeout ; }; struct nf_ip_net { struct nf_generic_net generic ; struct nf_tcp_net tcp ; struct nf_udp_net udp ; struct nf_icmp_net icmp ; struct nf_icmp_net icmpv6 ; struct ctl_table_header *ctl_table_header ; struct ctl_table *ctl_table ; }; struct ct_pcpu { spinlock_t lock ; struct hlist_nulls_head unconfirmed ; struct hlist_nulls_head dying ; struct hlist_nulls_head tmpl ; }; struct ip_conntrack_stat; struct nf_ct_event_notifier; struct nf_exp_event_notifier; struct netns_ct { atomic_t count ; unsigned int expect_count ; struct ctl_table_header *sysctl_header ; struct ctl_table_header *acct_sysctl_header ; struct ctl_table_header *tstamp_sysctl_header ; struct ctl_table_header *event_sysctl_header ; struct ctl_table_header *helper_sysctl_header ; char *slabname ; unsigned int sysctl_log_invalid ; unsigned int sysctl_events_retry_timeout ; int sysctl_events ; int sysctl_acct ; int sysctl_auto_assign_helper ; bool auto_assign_helper_warned ; int sysctl_tstamp ; int sysctl_checksum ; unsigned int htable_size ; seqcount_t generation ; struct kmem_cache *nf_conntrack_cachep ; struct hlist_nulls_head *hash ; struct hlist_head *expect_hash ; struct ct_pcpu *pcpu_lists ; struct ip_conntrack_stat *stat ; struct nf_ct_event_notifier *nf_conntrack_event_cb ; struct nf_exp_event_notifier *nf_expect_event_cb ; struct nf_ip_net nf_ct_proto ; unsigned int labels_used ; u8 label_words ; struct hlist_head *nat_bysource ; unsigned int nat_htable_size ; }; struct nft_af_info; struct netns_nftables { struct list_head af_info ; struct list_head commit_list ; struct nft_af_info *ipv4 ; struct nft_af_info *ipv6 ; struct nft_af_info *inet ; struct nft_af_info *arp ; struct nft_af_info *bridge ; u8 gencursor ; u8 genctr ; }; struct tasklet_struct { struct tasklet_struct *next ; unsigned long state ; atomic_t count ; void (*func)(unsigned long ) ; unsigned long data ; }; struct flow_cache_percpu { struct hlist_head *hash_table ; int hash_count ; u32 hash_rnd ; int hash_rnd_recalc ; struct tasklet_struct flush_tasklet ; }; struct flow_cache { u32 hash_shift ; struct flow_cache_percpu *percpu ; struct notifier_block hotcpu_notifier ; int low_watermark ; int high_watermark ; struct timer_list rnd_timer ; }; struct xfrm_policy_hash { struct hlist_head *table ; unsigned int hmask ; }; struct netns_xfrm { struct list_head state_all ; struct hlist_head *state_bydst ; struct hlist_head *state_bysrc ; struct hlist_head *state_byspi ; unsigned int state_hmask ; unsigned int state_num ; struct work_struct state_hash_work ; struct hlist_head state_gc_list ; struct work_struct state_gc_work ; struct list_head policy_all ; struct hlist_head *policy_byidx ; unsigned int policy_idx_hmask ; struct hlist_head policy_inexact[6U] ; struct xfrm_policy_hash policy_bydst[6U] ; unsigned int policy_count[6U] ; struct work_struct policy_hash_work ; struct sock *nlsk ; struct sock *nlsk_stash ; u32 sysctl_aevent_etime ; u32 sysctl_aevent_rseqth ; int sysctl_larval_drop ; u32 sysctl_acq_expires ; struct ctl_table_header *sysctl_hdr ; struct dst_ops xfrm4_dst_ops ; struct dst_ops xfrm6_dst_ops ; spinlock_t xfrm_state_lock ; rwlock_t xfrm_policy_lock ; struct mutex xfrm_cfg_mutex ; struct flow_cache flow_cache_global ; atomic_t flow_cache_genid ; struct list_head flow_cache_gc_list ; spinlock_t flow_cache_gc_lock ; struct work_struct flow_cache_gc_work ; struct work_struct flow_cache_flush_work ; struct mutex flow_flush_sem ; }; struct net_generic; struct netns_ipvs; struct net { atomic_t passive ; atomic_t count ; spinlock_t rules_mod_lock ; struct list_head list ; struct list_head cleanup_list ; struct list_head exit_list ; struct user_namespace *user_ns ; unsigned int proc_inum ; struct proc_dir_entry *proc_net ; struct proc_dir_entry *proc_net_stat ; struct ctl_table_set sysctls ; struct sock *rtnl ; struct sock *genl_sock ; struct list_head dev_base_head ; struct hlist_head *dev_name_head ; struct hlist_head *dev_index_head ; unsigned int dev_base_seq ; int ifindex ; unsigned int dev_unreg_count ; struct list_head rules_ops ; struct net_device *loopback_dev ; struct netns_core core ; struct netns_mib mib ; struct netns_packet packet ; struct netns_unix unx ; struct netns_ipv4 ipv4 ; struct netns_ipv6 ipv6 ; struct netns_ieee802154_lowpan ieee802154_lowpan ; struct netns_sctp sctp ; struct netns_dccp dccp ; struct netns_nf nf ; struct netns_xt xt ; struct netns_ct ct ; struct netns_nftables nft ; struct netns_nf_frag nf_frag ; struct sock *nfnl ; struct sock *nfnl_stash ; struct sk_buff_head wext_nlevents ; struct net_generic *gen ; struct netns_xfrm xfrm ; struct netns_ipvs *ipvs ; struct sock *diag_nlsk ; atomic_t fnhe_genid ; }; struct dsa_chip_data { struct device *mii_bus ; int sw_addr ; char *port_names[12U] ; s8 *rtable ; }; struct dsa_platform_data { struct device *netdev ; int nr_chips ; struct dsa_chip_data *chip ; }; struct dsa_switch; struct dsa_switch_tree { struct dsa_platform_data *pd ; struct net_device *master_netdev ; __be16 tag_protocol ; s8 cpu_switch ; s8 cpu_port ; int link_poll_needed ; struct work_struct link_poll_work ; struct timer_list link_poll_timer ; struct dsa_switch *ds[4U] ; }; struct dsa_switch_driver; struct mii_bus; struct dsa_switch { struct dsa_switch_tree *dst ; int index ; struct dsa_chip_data *pd ; struct dsa_switch_driver *drv ; struct mii_bus *master_mii_bus ; u32 dsa_port_mask ; u32 phys_port_mask ; struct mii_bus *slave_mii_bus ; struct net_device *ports[12U] ; }; struct dsa_switch_driver { struct list_head list ; __be16 tag_protocol ; int priv_size ; char *(*probe)(struct mii_bus * , int ) ; int (*setup)(struct dsa_switch * ) ; int (*set_addr)(struct dsa_switch * , u8 * ) ; int (*phy_read)(struct dsa_switch * , int , int ) ; int (*phy_write)(struct dsa_switch * , int , int , u16 ) ; void (*poll_link)(struct dsa_switch * ) ; void (*get_strings)(struct dsa_switch * , int , uint8_t * ) ; void (*get_ethtool_stats)(struct dsa_switch * , int , uint64_t * ) ; int (*get_sset_count)(struct dsa_switch * ) ; }; struct ieee_ets { __u8 willing ; __u8 ets_cap ; __u8 cbs ; __u8 tc_tx_bw[8U] ; __u8 tc_rx_bw[8U] ; __u8 tc_tsa[8U] ; __u8 prio_tc[8U] ; __u8 tc_reco_bw[8U] ; __u8 tc_reco_tsa[8U] ; __u8 reco_prio_tc[8U] ; }; struct ieee_maxrate { __u64 tc_maxrate[8U] ; }; struct ieee_pfc { __u8 pfc_cap ; __u8 pfc_en ; __u8 mbc ; __u16 delay ; __u64 requests[8U] ; __u64 indications[8U] ; }; struct cee_pg { __u8 willing ; __u8 error ; __u8 pg_en ; __u8 tcs_supported ; __u8 pg_bw[8U] ; __u8 prio_pg[8U] ; }; struct cee_pfc { __u8 willing ; __u8 error ; __u8 pfc_en ; __u8 tcs_supported ; }; struct dcb_app { __u8 selector ; __u8 priority ; __u16 protocol ; }; struct dcb_peer_app_info { __u8 willing ; __u8 error ; }; struct dcbnl_rtnl_ops { int (*ieee_getets)(struct net_device * , struct ieee_ets * ) ; int (*ieee_setets)(struct net_device * , struct ieee_ets * ) ; int (*ieee_getmaxrate)(struct net_device * , struct ieee_maxrate * ) ; int (*ieee_setmaxrate)(struct net_device * , struct ieee_maxrate * ) ; int (*ieee_getpfc)(struct net_device * , struct ieee_pfc * ) ; int (*ieee_setpfc)(struct net_device * , struct ieee_pfc * ) ; int (*ieee_getapp)(struct net_device * , struct dcb_app * ) ; int (*ieee_setapp)(struct net_device * , struct dcb_app * ) ; int (*ieee_delapp)(struct net_device * , struct dcb_app * ) ; int (*ieee_peer_getets)(struct net_device * , struct ieee_ets * ) ; int (*ieee_peer_getpfc)(struct net_device * , struct ieee_pfc * ) ; u8 (*getstate)(struct net_device * ) ; u8 (*setstate)(struct net_device * , u8 ) ; void (*getpermhwaddr)(struct net_device * , u8 * ) ; void (*setpgtccfgtx)(struct net_device * , int , u8 , u8 , u8 , u8 ) ; void (*setpgbwgcfgtx)(struct net_device * , int , u8 ) ; void (*setpgtccfgrx)(struct net_device * , int , u8 , u8 , u8 , u8 ) ; void (*setpgbwgcfgrx)(struct net_device * , int , u8 ) ; void (*getpgtccfgtx)(struct net_device * , int , u8 * , u8 * , u8 * , u8 * ) ; void (*getpgbwgcfgtx)(struct net_device * , int , u8 * ) ; void (*getpgtccfgrx)(struct net_device * , int , u8 * , u8 * , u8 * , u8 * ) ; void (*getpgbwgcfgrx)(struct net_device * , int , u8 * ) ; void (*setpfccfg)(struct net_device * , int , u8 ) ; void (*getpfccfg)(struct net_device * , int , u8 * ) ; u8 (*setall)(struct net_device * ) ; u8 (*getcap)(struct net_device * , int , u8 * ) ; int (*getnumtcs)(struct net_device * , int , u8 * ) ; int (*setnumtcs)(struct net_device * , int , u8 ) ; u8 (*getpfcstate)(struct net_device * ) ; void (*setpfcstate)(struct net_device * , u8 ) ; void (*getbcncfg)(struct net_device * , int , u32 * ) ; void (*setbcncfg)(struct net_device * , int , u32 ) ; void (*getbcnrp)(struct net_device * , int , u8 * ) ; void (*setbcnrp)(struct net_device * , int , u8 ) ; u8 (*setapp)(struct net_device * , u8 , u16 , u8 ) ; u8 (*getapp)(struct net_device * , u8 , u16 ) ; u8 (*getfeatcfg)(struct net_device * , int , u8 * ) ; u8 (*setfeatcfg)(struct net_device * , int , u8 ) ; u8 (*getdcbx)(struct net_device * ) ; u8 (*setdcbx)(struct net_device * , u8 ) ; int (*peer_getappinfo)(struct net_device * , struct dcb_peer_app_info * , u16 * ) ; int (*peer_getapptable)(struct net_device * , struct dcb_app * ) ; int (*cee_peer_getpg)(struct net_device * , struct cee_pg * ) ; int (*cee_peer_getpfc)(struct net_device * , struct cee_pfc * ) ; }; struct taskstats { __u16 version ; __u32 ac_exitcode ; __u8 ac_flag ; __u8 ac_nice ; __u64 cpu_count ; __u64 cpu_delay_total ; __u64 blkio_count ; __u64 blkio_delay_total ; __u64 swapin_count ; __u64 swapin_delay_total ; __u64 cpu_run_real_total ; __u64 cpu_run_virtual_total ; char ac_comm[32U] ; __u8 ac_sched ; __u8 ac_pad[3U] ; __u32 ac_uid ; __u32 ac_gid ; __u32 ac_pid ; __u32 ac_ppid ; __u32 ac_btime ; __u64 ac_etime ; __u64 ac_utime ; __u64 ac_stime ; __u64 ac_minflt ; __u64 ac_majflt ; __u64 coremem ; __u64 virtmem ; __u64 hiwater_rss ; __u64 hiwater_vm ; __u64 read_char ; __u64 write_char ; __u64 read_syscalls ; __u64 write_syscalls ; __u64 read_bytes ; __u64 write_bytes ; __u64 cancelled_write_bytes ; __u64 nvcsw ; __u64 nivcsw ; __u64 ac_utimescaled ; __u64 ac_stimescaled ; __u64 cpu_scaled_run_real_total ; __u64 freepages_count ; __u64 freepages_delay_total ; }; struct percpu_ref; typedef void percpu_ref_func_t(struct percpu_ref * ); struct percpu_ref { atomic_t count ; unsigned int *pcpu_count ; percpu_ref_func_t *release ; percpu_ref_func_t *confirm_kill ; struct callback_head rcu ; }; struct cgroup_root; struct cgroup_subsys; struct cgroup; struct cgroup_subsys_state { struct cgroup *cgroup ; struct cgroup_subsys *ss ; struct percpu_ref refcnt ; struct cgroup_subsys_state *parent ; struct list_head sibling ; struct list_head children ; int id ; unsigned int flags ; u64 serial_nr ; struct callback_head callback_head ; struct work_struct destroy_work ; }; struct cgroup { struct cgroup_subsys_state self ; unsigned long flags ; int id ; int populated_cnt ; struct kernfs_node *kn ; struct kernfs_node *populated_kn ; unsigned int child_subsys_mask ; struct cgroup_subsys_state *subsys[12U] ; struct cgroup_root *root ; struct list_head cset_links ; struct list_head e_csets[12U] ; struct list_head release_list ; struct list_head pidlists ; struct mutex pidlist_mutex ; wait_queue_head_t offline_waitq ; }; struct cgroup_root { struct kernfs_root *kf_root ; unsigned int subsys_mask ; int hierarchy_id ; struct cgroup cgrp ; atomic_t nr_cgrps ; struct list_head root_list ; unsigned int flags ; struct idr cgroup_idr ; char release_agent_path[4096U] ; char name[64U] ; }; struct css_set { atomic_t refcount ; struct hlist_node hlist ; struct list_head tasks ; struct list_head mg_tasks ; struct list_head cgrp_links ; struct cgroup *dfl_cgrp ; struct cgroup_subsys_state *subsys[12U] ; struct list_head mg_preload_node ; struct list_head mg_node ; struct cgroup *mg_src_cgrp ; struct css_set *mg_dst_cset ; struct list_head e_cset_node[12U] ; struct callback_head callback_head ; }; struct cftype { char name[64U] ; int private ; umode_t mode ; size_t max_write_len ; unsigned int flags ; struct cgroup_subsys *ss ; struct list_head node ; struct kernfs_ops *kf_ops ; u64 (*read_u64)(struct cgroup_subsys_state * , struct cftype * ) ; s64 (*read_s64)(struct cgroup_subsys_state * , struct cftype * ) ; int (*seq_show)(struct seq_file * , void * ) ; void *(*seq_start)(struct seq_file * , loff_t * ) ; void *(*seq_next)(struct seq_file * , void * , loff_t * ) ; void (*seq_stop)(struct seq_file * , void * ) ; int (*write_u64)(struct cgroup_subsys_state * , struct cftype * , u64 ) ; int (*write_s64)(struct cgroup_subsys_state * , struct cftype * , s64 ) ; ssize_t (*write)(struct kernfs_open_file * , char * , size_t , loff_t ) ; struct lock_class_key lockdep_key ; }; struct cgroup_taskset; struct cgroup_subsys { struct cgroup_subsys_state *(*css_alloc)(struct cgroup_subsys_state * ) ; int (*css_online)(struct cgroup_subsys_state * ) ; void (*css_offline)(struct cgroup_subsys_state * ) ; void (*css_free)(struct cgroup_subsys_state * ) ; int (*can_attach)(struct cgroup_subsys_state * , struct cgroup_taskset * ) ; void (*cancel_attach)(struct cgroup_subsys_state * , struct cgroup_taskset * ) ; void (*attach)(struct cgroup_subsys_state * , struct cgroup_taskset * ) ; void (*fork)(struct task_struct * ) ; void (*exit)(struct cgroup_subsys_state * , struct cgroup_subsys_state * , struct task_struct * ) ; void (*bind)(struct cgroup_subsys_state * ) ; int disabled ; int early_init ; bool broken_hierarchy ; bool warned_broken_hierarchy ; int id ; char const *name ; struct cgroup_root *root ; struct idr css_idr ; struct list_head cfts ; struct cftype *base_cftypes ; }; struct netprio_map { struct callback_head rcu ; u32 priomap_len ; u32 priomap[] ; }; struct xfrm_policy; struct xfrm_state; struct request_sock; struct mnt_namespace; struct ipc_namespace; struct nsproxy { atomic_t count ; struct uts_namespace *uts_ns ; struct ipc_namespace *ipc_ns ; struct mnt_namespace *mnt_ns ; struct pid_namespace *pid_ns_for_children ; struct net *net_ns ; }; struct nlmsghdr { __u32 nlmsg_len ; __u16 nlmsg_type ; __u16 nlmsg_flags ; __u32 nlmsg_seq ; __u32 nlmsg_pid ; }; struct nlattr { __u16 nla_len ; __u16 nla_type ; }; struct netlink_callback { struct sk_buff *skb ; struct nlmsghdr const *nlh ; int (*dump)(struct sk_buff * , struct netlink_callback * ) ; int (*done)(struct netlink_callback * ) ; void *data ; struct module *module ; u16 family ; u16 min_dump_alloc ; unsigned int prev_seq ; unsigned int seq ; long args[6U] ; }; struct ndmsg { __u8 ndm_family ; __u8 ndm_pad1 ; __u16 ndm_pad2 ; __s32 ndm_ifindex ; __u16 ndm_state ; __u8 ndm_flags ; __u8 ndm_type ; }; struct rtnl_link_stats64 { __u64 rx_packets ; __u64 tx_packets ; __u64 rx_bytes ; __u64 tx_bytes ; __u64 rx_errors ; __u64 tx_errors ; __u64 rx_dropped ; __u64 tx_dropped ; __u64 multicast ; __u64 collisions ; __u64 rx_length_errors ; __u64 rx_over_errors ; __u64 rx_crc_errors ; __u64 rx_frame_errors ; __u64 rx_fifo_errors ; __u64 rx_missed_errors ; __u64 tx_aborted_errors ; __u64 tx_carrier_errors ; __u64 tx_fifo_errors ; __u64 tx_heartbeat_errors ; __u64 tx_window_errors ; __u64 rx_compressed ; __u64 tx_compressed ; }; struct ifla_vf_info { __u32 vf ; __u8 mac[32U] ; __u32 vlan ; __u32 qos ; __u32 spoofchk ; __u32 linkstate ; __u32 min_tx_rate ; __u32 max_tx_rate ; }; struct netpoll_info; struct phy_device; struct wireless_dev; enum netdev_tx { __NETDEV_TX_MIN = (-0x7FFFFFFF-1), NETDEV_TX_OK = 0, NETDEV_TX_BUSY = 16, NETDEV_TX_LOCKED = 32 } ; typedef enum netdev_tx netdev_tx_t; struct net_device_stats { unsigned long rx_packets ; unsigned long tx_packets ; unsigned long rx_bytes ; unsigned long tx_bytes ; unsigned long rx_errors ; unsigned long tx_errors ; unsigned long rx_dropped ; unsigned long tx_dropped ; unsigned long multicast ; unsigned long collisions ; unsigned long rx_length_errors ; unsigned long rx_over_errors ; unsigned long rx_crc_errors ; unsigned long rx_frame_errors ; unsigned long rx_fifo_errors ; unsigned long rx_missed_errors ; unsigned long tx_aborted_errors ; unsigned long tx_carrier_errors ; unsigned long tx_fifo_errors ; unsigned long tx_heartbeat_errors ; unsigned long tx_window_errors ; unsigned long rx_compressed ; unsigned long tx_compressed ; }; struct neigh_parms; struct netdev_hw_addr_list { struct list_head list ; int count ; }; struct hh_cache { u16 hh_len ; u16 __pad ; seqlock_t hh_lock ; unsigned long hh_data[16U] ; }; struct header_ops { int (*create)(struct sk_buff * , struct net_device * , unsigned short , void const * , void const * , unsigned int ) ; int (*parse)(struct sk_buff const * , unsigned char * ) ; int (*rebuild)(struct sk_buff * ) ; int (*cache)(struct neighbour const * , struct hh_cache * , __be16 ) ; void (*cache_update)(struct hh_cache * , struct net_device const * , unsigned char const * ) ; }; struct napi_struct { struct list_head poll_list ; unsigned long state ; int weight ; unsigned int gro_count ; int (*poll)(struct napi_struct * , int ) ; spinlock_t poll_lock ; int poll_owner ; struct net_device *dev ; struct sk_buff *gro_list ; struct sk_buff *skb ; struct list_head dev_list ; struct hlist_node napi_hash_node ; unsigned int napi_id ; }; enum rx_handler_result { RX_HANDLER_CONSUMED = 0, RX_HANDLER_ANOTHER = 1, RX_HANDLER_EXACT = 2, RX_HANDLER_PASS = 3 } ; typedef enum rx_handler_result rx_handler_result_t; typedef rx_handler_result_t rx_handler_func_t(struct sk_buff ** ); struct Qdisc; struct netdev_queue { struct net_device *dev ; struct Qdisc *qdisc ; struct Qdisc *qdisc_sleeping ; struct kobject kobj ; int numa_node ; spinlock_t _xmit_lock ; int xmit_lock_owner ; unsigned long trans_start ; unsigned long trans_timeout ; unsigned long state ; struct dql dql ; }; struct rps_map { unsigned int len ; struct callback_head rcu ; u16 cpus[0U] ; }; struct rps_dev_flow { u16 cpu ; u16 filter ; unsigned int last_qtail ; }; struct rps_dev_flow_table { unsigned int mask ; struct callback_head rcu ; struct rps_dev_flow flows[0U] ; }; struct netdev_rx_queue { struct rps_map *rps_map ; struct rps_dev_flow_table *rps_flow_table ; struct kobject kobj ; struct net_device *dev ; }; struct xps_map { unsigned int len ; unsigned int alloc_len ; struct callback_head rcu ; u16 queues[0U] ; }; struct xps_dev_maps { struct callback_head rcu ; struct xps_map *cpu_map[0U] ; }; struct netdev_tc_txq { u16 count ; u16 offset ; }; struct netdev_fcoe_hbainfo { char manufacturer[64U] ; char serial_number[64U] ; char hardware_version[64U] ; char driver_version[64U] ; char optionrom_version[64U] ; char firmware_version[64U] ; char model[256U] ; char model_description[256U] ; }; struct netdev_phys_port_id { unsigned char id[32U] ; unsigned char id_len ; }; struct net_device_ops { int (*ndo_init)(struct net_device * ) ; void (*ndo_uninit)(struct net_device * ) ; int (*ndo_open)(struct net_device * ) ; int (*ndo_stop)(struct net_device * ) ; netdev_tx_t (*ndo_start_xmit)(struct sk_buff * , struct net_device * ) ; u16 (*ndo_select_queue)(struct net_device * , struct sk_buff * , void * , u16 (*)(struct net_device * , struct sk_buff * ) ) ; void (*ndo_change_rx_flags)(struct net_device * , int ) ; void (*ndo_set_rx_mode)(struct net_device * ) ; int (*ndo_set_mac_address)(struct net_device * , void * ) ; int (*ndo_validate_addr)(struct net_device * ) ; int (*ndo_do_ioctl)(struct net_device * , struct ifreq * , int ) ; int (*ndo_set_config)(struct net_device * , struct ifmap * ) ; int (*ndo_change_mtu)(struct net_device * , int ) ; int (*ndo_neigh_setup)(struct net_device * , struct neigh_parms * ) ; void (*ndo_tx_timeout)(struct net_device * ) ; struct rtnl_link_stats64 *(*ndo_get_stats64)(struct net_device * , struct rtnl_link_stats64 * ) ; struct net_device_stats *(*ndo_get_stats)(struct net_device * ) ; int (*ndo_vlan_rx_add_vid)(struct net_device * , __be16 , u16 ) ; int (*ndo_vlan_rx_kill_vid)(struct net_device * , __be16 , u16 ) ; void (*ndo_poll_controller)(struct net_device * ) ; int (*ndo_netpoll_setup)(struct net_device * , struct netpoll_info * ) ; void (*ndo_netpoll_cleanup)(struct net_device * ) ; int (*ndo_busy_poll)(struct napi_struct * ) ; int (*ndo_set_vf_mac)(struct net_device * , int , u8 * ) ; int (*ndo_set_vf_vlan)(struct net_device * , int , u16 , u8 ) ; int (*ndo_set_vf_rate)(struct net_device * , int , int , int ) ; int (*ndo_set_vf_spoofchk)(struct net_device * , int , bool ) ; int (*ndo_get_vf_config)(struct net_device * , int , struct ifla_vf_info * ) ; int (*ndo_set_vf_link_state)(struct net_device * , int , int ) ; int (*ndo_set_vf_port)(struct net_device * , int , struct nlattr ** ) ; int (*ndo_get_vf_port)(struct net_device * , int , struct sk_buff * ) ; int (*ndo_setup_tc)(struct net_device * , u8 ) ; int (*ndo_fcoe_enable)(struct net_device * ) ; int (*ndo_fcoe_disable)(struct net_device * ) ; int (*ndo_fcoe_ddp_setup)(struct net_device * , u16 , struct scatterlist * , unsigned int ) ; int (*ndo_fcoe_ddp_done)(struct net_device * , u16 ) ; int (*ndo_fcoe_ddp_target)(struct net_device * , u16 , struct scatterlist * , unsigned int ) ; int (*ndo_fcoe_get_hbainfo)(struct net_device * , struct netdev_fcoe_hbainfo * ) ; int (*ndo_fcoe_get_wwn)(struct net_device * , u64 * , int ) ; int (*ndo_rx_flow_steer)(struct net_device * , struct sk_buff const * , u16 , u32 ) ; int (*ndo_add_slave)(struct net_device * , struct net_device * ) ; int (*ndo_del_slave)(struct net_device * , struct net_device * ) ; netdev_features_t (*ndo_fix_features)(struct net_device * , netdev_features_t ) ; int (*ndo_set_features)(struct net_device * , netdev_features_t ) ; int (*ndo_neigh_construct)(struct neighbour * ) ; void (*ndo_neigh_destroy)(struct neighbour * ) ; int (*ndo_fdb_add)(struct ndmsg * , struct nlattr ** , struct net_device * , unsigned char const * , u16 ) ; int (*ndo_fdb_del)(struct ndmsg * , struct nlattr ** , struct net_device * , unsigned char const * ) ; int (*ndo_fdb_dump)(struct sk_buff * , struct netlink_callback * , struct net_device * , int ) ; int (*ndo_bridge_setlink)(struct net_device * , struct nlmsghdr * ) ; int (*ndo_bridge_getlink)(struct sk_buff * , u32 , u32 , struct net_device * , u32 ) ; int (*ndo_bridge_dellink)(struct net_device * , struct nlmsghdr * ) ; int (*ndo_change_carrier)(struct net_device * , bool ) ; int (*ndo_get_phys_port_id)(struct net_device * , struct netdev_phys_port_id * ) ; void (*ndo_add_vxlan_port)(struct net_device * , sa_family_t , __be16 ) ; void (*ndo_del_vxlan_port)(struct net_device * , sa_family_t , __be16 ) ; void *(*ndo_dfwd_add_station)(struct net_device * , struct net_device * ) ; void (*ndo_dfwd_del_station)(struct net_device * , void * ) ; netdev_tx_t (*ndo_dfwd_start_xmit)(struct sk_buff * , struct net_device * , void * ) ; int (*ndo_get_lock_subclass)(struct net_device * ) ; }; struct __anonstruct_adj_list_246 { struct list_head upper ; struct list_head lower ; }; struct __anonstruct_all_adj_list_247 { struct list_head upper ; struct list_head lower ; }; struct iw_handler_def; struct iw_public_data; struct forwarding_accel_ops; struct vlan_info; struct tipc_bearer; struct in_device; struct dn_dev; struct inet6_dev; struct cpu_rmap; struct pcpu_lstats; struct pcpu_sw_netstats; struct pcpu_dstats; struct pcpu_vstats; union __anonunion_ldv_40136_248 { void *ml_priv ; struct pcpu_lstats *lstats ; struct pcpu_sw_netstats *tstats ; struct pcpu_dstats *dstats ; struct pcpu_vstats *vstats ; }; struct garp_port; struct mrp_port; struct rtnl_link_ops; struct net_device { char name[16U] ; struct hlist_node name_hlist ; char *ifalias ; unsigned long mem_end ; unsigned long mem_start ; unsigned long base_addr ; int irq ; unsigned long state ; struct list_head dev_list ; struct list_head napi_list ; struct list_head unreg_list ; struct list_head close_list ; struct __anonstruct_adj_list_246 adj_list ; struct __anonstruct_all_adj_list_247 all_adj_list ; netdev_features_t features ; netdev_features_t hw_features ; netdev_features_t wanted_features ; netdev_features_t vlan_features ; netdev_features_t hw_enc_features ; netdev_features_t mpls_features ; int ifindex ; int iflink ; struct net_device_stats stats ; atomic_long_t rx_dropped ; atomic_long_t tx_dropped ; atomic_t carrier_changes ; struct iw_handler_def const *wireless_handlers ; struct iw_public_data *wireless_data ; struct net_device_ops const *netdev_ops ; struct ethtool_ops const *ethtool_ops ; struct forwarding_accel_ops const *fwd_ops ; struct header_ops const *header_ops ; unsigned int flags ; unsigned int priv_flags ; unsigned short gflags ; unsigned short padded ; unsigned char operstate ; unsigned char link_mode ; unsigned char if_port ; unsigned char dma ; unsigned int mtu ; unsigned short type ; unsigned short hard_header_len ; unsigned short needed_headroom ; unsigned short needed_tailroom ; unsigned char perm_addr[32U] ; unsigned char addr_assign_type ; unsigned char addr_len ; unsigned short neigh_priv_len ; unsigned short dev_id ; unsigned short dev_port ; spinlock_t addr_list_lock ; struct netdev_hw_addr_list uc ; struct netdev_hw_addr_list mc ; struct netdev_hw_addr_list dev_addrs ; struct kset *queues_kset ; bool uc_promisc ; unsigned int promiscuity ; unsigned int allmulti ; struct vlan_info *vlan_info ; struct dsa_switch_tree *dsa_ptr ; struct tipc_bearer *tipc_ptr ; void *atalk_ptr ; struct in_device *ip_ptr ; struct dn_dev *dn_ptr ; struct inet6_dev *ip6_ptr ; void *ax25_ptr ; struct wireless_dev *ieee80211_ptr ; unsigned long last_rx ; unsigned char *dev_addr ; struct netdev_rx_queue *_rx ; unsigned int num_rx_queues ; unsigned int real_num_rx_queues ; rx_handler_func_t *rx_handler ; void *rx_handler_data ; struct netdev_queue *ingress_queue ; unsigned char broadcast[32U] ; struct netdev_queue *_tx ; unsigned int num_tx_queues ; unsigned int real_num_tx_queues ; struct Qdisc *qdisc ; unsigned long tx_queue_len ; spinlock_t tx_global_lock ; struct xps_dev_maps *xps_maps ; struct cpu_rmap *rx_cpu_rmap ; unsigned long trans_start ; int watchdog_timeo ; struct timer_list watchdog_timer ; int *pcpu_refcnt ; struct list_head todo_list ; struct hlist_node index_hlist ; struct list_head link_watch_list ; unsigned char reg_state ; bool dismantle ; unsigned short rtnl_link_state ; void (*destructor)(struct net_device * ) ; struct netpoll_info *npinfo ; struct net *nd_net ; union __anonunion_ldv_40136_248 ldv_40136 ; struct garp_port *garp_port ; struct mrp_port *mrp_port ; struct device dev ; struct attribute_group const *sysfs_groups[4U] ; struct attribute_group const *sysfs_rx_queue_group ; struct rtnl_link_ops const *rtnl_link_ops ; unsigned int gso_max_size ; u16 gso_max_segs ; struct dcbnl_rtnl_ops const *dcbnl_ops ; u8 num_tc ; struct netdev_tc_txq tc_to_txq[16U] ; u8 prio_tc_map[16U] ; unsigned int fcoe_ddp_xid ; struct netprio_map *priomap ; struct phy_device *phydev ; struct lock_class_key *qdisc_tx_busylock ; int group ; struct pm_qos_request pm_qos_req ; }; struct pcpu_sw_netstats { u64 rx_packets ; u64 rx_bytes ; u64 tx_packets ; u64 tx_bytes ; struct u64_stats_sync syncp ; }; struct res_counter { unsigned long long usage ; unsigned long long max_usage ; unsigned long long limit ; unsigned long long soft_limit ; unsigned long long failcnt ; spinlock_t lock ; struct res_counter *parent ; }; struct kioctx; typedef int kiocb_cancel_fn(struct kiocb * ); union __anonunion_ki_obj_249 { void *user ; struct task_struct *tsk ; }; struct eventfd_ctx; struct kiocb { struct file *ki_filp ; struct kioctx *ki_ctx ; kiocb_cancel_fn *ki_cancel ; void *private ; union __anonunion_ki_obj_249 ki_obj ; __u64 ki_user_data ; loff_t ki_pos ; size_t ki_nbytes ; struct list_head ki_list ; struct eventfd_ctx *ki_eventfd ; }; struct sock_filter { __u16 code ; __u8 jt ; __u8 jf ; __u32 k ; }; struct sock_filter_int { __u8 code ; unsigned char dst_reg : 4 ; unsigned char src_reg : 4 ; __s16 off ; __s32 imm ; }; struct sock_fprog_kern { u16 len ; struct sock_filter *filter ; }; union __anonunion_ldv_42851_250 { struct sock_filter insns[0U] ; struct sock_filter_int insnsi[0U] ; struct work_struct work ; }; struct sk_filter { atomic_t refcnt ; unsigned char jited : 1 ; unsigned int len : 31 ; struct sock_fprog_kern *orig_prog ; struct callback_head rcu ; unsigned int (*bpf_func)(struct sk_buff const * , struct sock_filter_int const * ) ; union __anonunion_ldv_42851_250 ldv_42851 ; }; struct pollfd { int fd ; short events ; short revents ; }; struct poll_table_struct { void (*_qproc)(struct file * , wait_queue_head_t * , struct poll_table_struct * ) ; unsigned long _key ; }; struct nla_policy { u16 type ; u16 len ; }; struct rtnl_link_ops { struct list_head list ; char const *kind ; size_t priv_size ; void (*setup)(struct net_device * ) ; int maxtype ; struct nla_policy const *policy ; int (*validate)(struct nlattr ** , struct nlattr ** ) ; int (*newlink)(struct net * , struct net_device * , struct nlattr ** , struct nlattr ** ) ; int (*changelink)(struct net_device * , struct nlattr ** , struct nlattr ** ) ; void (*dellink)(struct net_device * , struct list_head * ) ; size_t (*get_size)(struct net_device const * ) ; int (*fill_info)(struct sk_buff * , struct net_device const * ) ; size_t (*get_xstats_size)(struct net_device const * ) ; int (*fill_xstats)(struct sk_buff * , struct net_device const * ) ; unsigned int (*get_num_tx_queues)(void) ; unsigned int (*get_num_rx_queues)(void) ; int slave_maxtype ; struct nla_policy const *slave_policy ; int (*slave_validate)(struct nlattr ** , struct nlattr ** ) ; int (*slave_changelink)(struct net_device * , struct net_device * , struct nlattr ** , struct nlattr ** ) ; size_t (*get_slave_size)(struct net_device const * , struct net_device const * ) ; int (*fill_slave_info)(struct sk_buff * , struct net_device const * , struct net_device const * ) ; }; struct neigh_table; struct neigh_parms { struct net *net ; struct net_device *dev ; struct neigh_parms *next ; int (*neigh_setup)(struct neighbour * ) ; void (*neigh_cleanup)(struct neighbour * ) ; struct neigh_table *tbl ; void *sysctl_table ; int dead ; atomic_t refcnt ; struct callback_head callback_head ; int reachable_time ; int data[12U] ; unsigned long data_state[1U] ; }; struct neigh_statistics { unsigned long allocs ; unsigned long destroys ; unsigned long hash_grows ; unsigned long res_failed ; unsigned long lookups ; unsigned long hits ; unsigned long rcv_probes_mcast ; unsigned long rcv_probes_ucast ; unsigned long periodic_gc_runs ; unsigned long forced_gc_runs ; unsigned long unres_discards ; }; struct neigh_ops; struct neighbour { struct neighbour *next ; struct neigh_table *tbl ; struct neigh_parms *parms ; unsigned long confirmed ; unsigned long updated ; rwlock_t lock ; atomic_t refcnt ; struct sk_buff_head arp_queue ; unsigned int arp_queue_len_bytes ; struct timer_list timer ; unsigned long used ; atomic_t probes ; __u8 flags ; __u8 nud_state ; __u8 type ; __u8 dead ; seqlock_t ha_lock ; unsigned char ha[32U] ; struct hh_cache hh ; int (*output)(struct neighbour * , struct sk_buff * ) ; struct neigh_ops const *ops ; struct callback_head rcu ; struct net_device *dev ; u8 primary_key[0U] ; }; struct neigh_ops { int family ; void (*solicit)(struct neighbour * , struct sk_buff * ) ; void (*error_report)(struct neighbour * , struct sk_buff * ) ; int (*output)(struct neighbour * , struct sk_buff * ) ; int (*connected_output)(struct neighbour * , struct sk_buff * ) ; }; struct pneigh_entry { struct pneigh_entry *next ; struct net *net ; struct net_device *dev ; u8 flags ; u8 key[0U] ; }; struct neigh_hash_table { struct neighbour **hash_buckets ; unsigned int hash_shift ; __u32 hash_rnd[4U] ; struct callback_head rcu ; }; struct neigh_table { struct neigh_table *next ; int family ; int entry_size ; int key_len ; __u32 (*hash)(void const * , struct net_device const * , __u32 * ) ; int (*constructor)(struct neighbour * ) ; int (*pconstructor)(struct pneigh_entry * ) ; void (*pdestructor)(struct pneigh_entry * ) ; void (*proxy_redo)(struct sk_buff * ) ; char *id ; struct neigh_parms parms ; int gc_interval ; int gc_thresh1 ; int gc_thresh2 ; int gc_thresh3 ; unsigned long last_flush ; struct delayed_work gc_work ; struct timer_list proxy_timer ; struct sk_buff_head proxy_queue ; atomic_t entries ; rwlock_t lock ; unsigned long last_rand ; struct neigh_statistics *stats ; struct neigh_hash_table *nht ; struct pneigh_entry **phash_buckets ; }; struct dn_route; union __anonunion_ldv_44344_255 { struct dst_entry *next ; struct rtable *rt_next ; struct rt6_info *rt6_next ; struct dn_route *dn_next ; }; struct dst_entry { struct callback_head callback_head ; struct dst_entry *child ; struct net_device *dev ; struct dst_ops *ops ; unsigned long _metrics ; unsigned long expires ; struct dst_entry *path ; struct dst_entry *from ; struct xfrm_state *xfrm ; int (*input)(struct sk_buff * ) ; int (*output)(struct sock * , struct sk_buff * ) ; unsigned short flags ; unsigned short pending_confirm ; short error ; short obsolete ; unsigned short header_len ; unsigned short trailer_len ; __u32 tclassid ; long __pad_to_align_refcnt[2U] ; atomic_t __refcnt ; int __use ; unsigned long lastuse ; union __anonunion_ldv_44344_255 ldv_44344 ; }; struct __anonstruct_socket_lock_t_256 { spinlock_t slock ; int owned ; wait_queue_head_t wq ; struct lockdep_map dep_map ; }; typedef struct __anonstruct_socket_lock_t_256 socket_lock_t; struct proto; typedef __u32 __portpair; typedef __u64 __addrpair; struct __anonstruct_ldv_44579_258 { __be32 skc_daddr ; __be32 skc_rcv_saddr ; }; union __anonunion_ldv_44580_257 { __addrpair skc_addrpair ; struct __anonstruct_ldv_44579_258 ldv_44579 ; }; union __anonunion_ldv_44584_259 { unsigned int skc_hash ; __u16 skc_u16hashes[2U] ; }; struct __anonstruct_ldv_44590_261 { __be16 skc_dport ; __u16 skc_num ; }; union __anonunion_ldv_44591_260 { __portpair skc_portpair ; struct __anonstruct_ldv_44590_261 ldv_44590 ; }; union __anonunion_ldv_44600_262 { struct hlist_node skc_bind_node ; struct hlist_nulls_node skc_portaddr_node ; }; union __anonunion_ldv_44609_263 { struct hlist_node skc_node ; struct hlist_nulls_node skc_nulls_node ; }; struct sock_common { union __anonunion_ldv_44580_257 ldv_44580 ; union __anonunion_ldv_44584_259 ldv_44584 ; union __anonunion_ldv_44591_260 ldv_44591 ; unsigned short skc_family ; unsigned char volatile skc_state ; unsigned char skc_reuse : 4 ; unsigned char skc_reuseport : 4 ; int skc_bound_dev_if ; union __anonunion_ldv_44600_262 ldv_44600 ; struct proto *skc_prot ; struct net *skc_net ; struct in6_addr skc_v6_daddr ; struct in6_addr skc_v6_rcv_saddr ; int skc_dontcopy_begin[0U] ; union __anonunion_ldv_44609_263 ldv_44609 ; int skc_tx_queue_mapping ; atomic_t skc_refcnt ; int skc_dontcopy_end[0U] ; }; struct cg_proto; struct __anonstruct_sk_backlog_264 { atomic_t rmem_alloc ; int len ; struct sk_buff *head ; struct sk_buff *tail ; }; struct sock { struct sock_common __sk_common ; socket_lock_t sk_lock ; struct sk_buff_head sk_receive_queue ; struct __anonstruct_sk_backlog_264 sk_backlog ; int sk_forward_alloc ; __u32 sk_rxhash ; unsigned int sk_napi_id ; unsigned int sk_ll_usec ; atomic_t sk_drops ; int sk_rcvbuf ; struct sk_filter *sk_filter ; struct socket_wq *sk_wq ; struct xfrm_policy *sk_policy[2U] ; unsigned long sk_flags ; struct dst_entry *sk_rx_dst ; struct dst_entry *sk_dst_cache ; spinlock_t sk_dst_lock ; atomic_t sk_wmem_alloc ; atomic_t sk_omem_alloc ; int sk_sndbuf ; struct sk_buff_head sk_write_queue ; unsigned char sk_shutdown : 2 ; unsigned char sk_no_check_tx : 1 ; unsigned char sk_no_check_rx : 1 ; unsigned char sk_userlocks : 4 ; unsigned char sk_protocol ; unsigned short sk_type ; int sk_wmem_queued ; gfp_t sk_allocation ; u32 sk_pacing_rate ; u32 sk_max_pacing_rate ; netdev_features_t sk_route_caps ; netdev_features_t sk_route_nocaps ; int sk_gso_type ; unsigned int sk_gso_max_size ; u16 sk_gso_max_segs ; int sk_rcvlowat ; unsigned long sk_lingertime ; struct sk_buff_head sk_error_queue ; struct proto *sk_prot_creator ; rwlock_t sk_callback_lock ; int sk_err ; int sk_err_soft ; unsigned short sk_ack_backlog ; unsigned short sk_max_ack_backlog ; __u32 sk_priority ; __u32 sk_cgrp_prioidx ; struct pid *sk_peer_pid ; struct cred const *sk_peer_cred ; long sk_rcvtimeo ; long sk_sndtimeo ; void *sk_protinfo ; struct timer_list sk_timer ; ktime_t sk_stamp ; struct socket *sk_socket ; void *sk_user_data ; struct page_frag sk_frag ; struct sk_buff *sk_send_head ; __s32 sk_peek_off ; int sk_write_pending ; void *sk_security ; __u32 sk_mark ; u32 sk_classid ; struct cg_proto *sk_cgrp ; void (*sk_state_change)(struct sock * ) ; void (*sk_data_ready)(struct sock * ) ; void (*sk_write_space)(struct sock * ) ; void (*sk_error_report)(struct sock * ) ; int (*sk_backlog_rcv)(struct sock * , struct sk_buff * ) ; void (*sk_destruct)(struct sock * ) ; }; struct request_sock_ops; struct timewait_sock_ops; struct inet_hashinfo; struct raw_hashinfo; struct udp_table; union __anonunion_h_265 { struct inet_hashinfo *hashinfo ; struct udp_table *udp_table ; struct raw_hashinfo *raw_hash ; }; struct proto { void (*close)(struct sock * , long ) ; int (*connect)(struct sock * , struct sockaddr * , int ) ; int (*disconnect)(struct sock * , int ) ; struct sock *(*accept)(struct sock * , int , int * ) ; int (*ioctl)(struct sock * , int , unsigned long ) ; int (*init)(struct sock * ) ; void (*destroy)(struct sock * ) ; void (*shutdown)(struct sock * , int ) ; int (*setsockopt)(struct sock * , int , int , char * , unsigned int ) ; int (*getsockopt)(struct sock * , int , int , char * , int * ) ; int (*compat_setsockopt)(struct sock * , int , int , char * , unsigned int ) ; int (*compat_getsockopt)(struct sock * , int , int , char * , int * ) ; int (*compat_ioctl)(struct sock * , unsigned int , unsigned long ) ; int (*sendmsg)(struct kiocb * , struct sock * , struct msghdr * , size_t ) ; int (*recvmsg)(struct kiocb * , struct sock * , struct msghdr * , size_t , int , int , int * ) ; int (*sendpage)(struct sock * , struct page * , int , size_t , int ) ; int (*bind)(struct sock * , struct sockaddr * , int ) ; int (*backlog_rcv)(struct sock * , struct sk_buff * ) ; void (*release_cb)(struct sock * ) ; void (*mtu_reduced)(struct sock * ) ; void (*hash)(struct sock * ) ; void (*unhash)(struct sock * ) ; void (*rehash)(struct sock * ) ; int (*get_port)(struct sock * , unsigned short ) ; void (*clear_sk)(struct sock * , int ) ; unsigned int inuse_idx ; bool (*stream_memory_free)(struct sock const * ) ; void (*enter_memory_pressure)(struct sock * ) ; atomic_long_t *memory_allocated ; struct percpu_counter *sockets_allocated ; int *memory_pressure ; long *sysctl_mem ; int *sysctl_wmem ; int *sysctl_rmem ; int max_header ; bool no_autobind ; struct kmem_cache *slab ; unsigned int obj_size ; int slab_flags ; struct percpu_counter *orphan_count ; struct request_sock_ops *rsk_prot ; struct timewait_sock_ops *twsk_prot ; union __anonunion_h_265 h ; struct module *owner ; char name[32U] ; struct list_head node ; int (*init_cgroup)(struct mem_cgroup * , struct cgroup_subsys * ) ; void (*destroy_cgroup)(struct mem_cgroup * ) ; struct cg_proto *(*proto_cgroup)(struct mem_cgroup * ) ; }; struct cg_proto { struct res_counter memory_allocated ; struct percpu_counter sockets_allocated ; int memory_pressure ; long sysctl_mem[3U] ; unsigned long flags ; struct mem_cgroup *memcg ; }; struct request_sock_ops { int family ; int obj_size ; struct kmem_cache *slab ; char *slab_name ; int (*rtx_syn_ack)(struct sock * , struct request_sock * ) ; void (*send_ack)(struct sock * , struct sk_buff * , struct request_sock * ) ; void (*send_reset)(struct sock * , struct sk_buff * ) ; void (*destructor)(struct request_sock * ) ; void (*syn_ack_timeout)(struct sock * , struct request_sock * ) ; }; struct request_sock { struct sock_common __req_common ; struct request_sock *dl_next ; u16 mss ; u8 num_retrans ; unsigned char cookie_ts : 1 ; unsigned char num_timeout : 7 ; u32 window_clamp ; u32 rcv_wnd ; u32 ts_recent ; unsigned long expires ; struct request_sock_ops const *rsk_ops ; struct sock *sk ; u32 secid ; u32 peer_secid ; }; struct timewait_sock_ops { struct kmem_cache *twsk_slab ; char *twsk_slab_name ; unsigned int twsk_obj_size ; int (*twsk_unique)(struct sock * , struct sock * , void * ) ; void (*twsk_destructor)(struct sock * ) ; }; typedef unsigned long kernel_ulong_t; struct acpi_device_id { __u8 id[9U] ; kernel_ulong_t driver_data ; }; struct of_device_id { char name[32U] ; char type[32U] ; char compatible[128U] ; void const *data ; }; struct usb_device_descriptor { __u8 bLength ; __u8 bDescriptorType ; __le16 bcdUSB ; __u8 bDeviceClass ; __u8 bDeviceSubClass ; __u8 bDeviceProtocol ; __u8 bMaxPacketSize0 ; __le16 idVendor ; __le16 idProduct ; __le16 bcdDevice ; __u8 iManufacturer ; __u8 iProduct ; __u8 iSerialNumber ; __u8 bNumConfigurations ; }; struct usb_config_descriptor { __u8 bLength ; __u8 bDescriptorType ; __le16 wTotalLength ; __u8 bNumInterfaces ; __u8 bConfigurationValue ; __u8 iConfiguration ; __u8 bmAttributes ; __u8 bMaxPower ; }; struct usb_interface_descriptor { __u8 bLength ; __u8 bDescriptorType ; __u8 bInterfaceNumber ; __u8 bAlternateSetting ; __u8 bNumEndpoints ; __u8 bInterfaceClass ; __u8 bInterfaceSubClass ; __u8 bInterfaceProtocol ; __u8 iInterface ; }; struct usb_endpoint_descriptor { __u8 bLength ; __u8 bDescriptorType ; __u8 bEndpointAddress ; __u8 bmAttributes ; __le16 wMaxPacketSize ; __u8 bInterval ; __u8 bRefresh ; __u8 bSynchAddress ; }; struct usb_ss_ep_comp_descriptor { __u8 bLength ; __u8 bDescriptorType ; __u8 bMaxBurst ; __u8 bmAttributes ; __le16 wBytesPerInterval ; }; struct usb_interface_assoc_descriptor { __u8 bLength ; __u8 bDescriptorType ; __u8 bFirstInterface ; __u8 bInterfaceCount ; __u8 bFunctionClass ; __u8 bFunctionSubClass ; __u8 bFunctionProtocol ; __u8 iFunction ; }; struct usb_bos_descriptor { __u8 bLength ; __u8 bDescriptorType ; __le16 wTotalLength ; __u8 bNumDeviceCaps ; }; struct usb_ext_cap_descriptor { __u8 bLength ; __u8 bDescriptorType ; __u8 bDevCapabilityType ; __le32 bmAttributes ; }; struct usb_ss_cap_descriptor { __u8 bLength ; __u8 bDescriptorType ; __u8 bDevCapabilityType ; __u8 bmAttributes ; __le16 wSpeedSupported ; __u8 bFunctionalitySupport ; __u8 bU1devExitLat ; __le16 bU2DevExitLat ; }; struct usb_ss_container_id_descriptor { __u8 bLength ; __u8 bDescriptorType ; __u8 bDevCapabilityType ; __u8 bReserved ; __u8 ContainerID[16U] ; }; enum usb_device_speed { USB_SPEED_UNKNOWN = 0, USB_SPEED_LOW = 1, USB_SPEED_FULL = 2, USB_SPEED_HIGH = 3, USB_SPEED_WIRELESS = 4, USB_SPEED_SUPER = 5 } ; enum usb_device_state { USB_STATE_NOTATTACHED = 0, USB_STATE_ATTACHED = 1, USB_STATE_POWERED = 2, USB_STATE_RECONNECTING = 3, USB_STATE_UNAUTHENTICATED = 4, USB_STATE_DEFAULT = 5, USB_STATE_ADDRESS = 6, USB_STATE_CONFIGURED = 7, USB_STATE_SUSPENDED = 8 } ; struct usb_device; struct wusb_dev; struct ep_device; struct usb_host_endpoint { struct usb_endpoint_descriptor desc ; struct usb_ss_ep_comp_descriptor ss_ep_comp ; struct list_head urb_list ; void *hcpriv ; struct ep_device *ep_dev ; unsigned char *extra ; int extralen ; int enabled ; int streams ; }; struct usb_host_interface { struct usb_interface_descriptor desc ; int extralen ; unsigned char *extra ; struct usb_host_endpoint *endpoint ; char *string ; }; enum usb_interface_condition { USB_INTERFACE_UNBOUND = 0, USB_INTERFACE_BINDING = 1, USB_INTERFACE_BOUND = 2, USB_INTERFACE_UNBINDING = 3 } ; struct usb_interface { struct usb_host_interface *altsetting ; struct usb_host_interface *cur_altsetting ; unsigned int num_altsetting ; struct usb_interface_assoc_descriptor *intf_assoc ; int minor ; enum usb_interface_condition condition ; unsigned char sysfs_files_created : 1 ; unsigned char ep_devs_created : 1 ; unsigned char unregistering : 1 ; unsigned char needs_remote_wakeup : 1 ; unsigned char needs_altsetting0 : 1 ; unsigned char needs_binding : 1 ; unsigned char reset_running : 1 ; unsigned char resetting_device : 1 ; struct device dev ; struct device *usb_dev ; atomic_t pm_usage_cnt ; struct work_struct reset_ws ; }; struct usb_interface_cache { unsigned int num_altsetting ; struct kref ref ; struct usb_host_interface altsetting[0U] ; }; struct usb_host_config { struct usb_config_descriptor desc ; char *string ; struct usb_interface_assoc_descriptor *intf_assoc[16U] ; struct usb_interface *interface[32U] ; struct usb_interface_cache *intf_cache[32U] ; unsigned char *extra ; int extralen ; }; struct usb_host_bos { struct usb_bos_descriptor *desc ; struct usb_ext_cap_descriptor *ext_cap ; struct usb_ss_cap_descriptor *ss_cap ; struct usb_ss_container_id_descriptor *ss_id ; }; struct usb_devmap { unsigned long devicemap[2U] ; }; struct mon_bus; struct usb_bus { struct device *controller ; int busnum ; char const *bus_name ; u8 uses_dma ; u8 uses_pio_for_control ; u8 otg_port ; unsigned char is_b_host : 1 ; unsigned char b_hnp_enable : 1 ; unsigned char no_stop_on_short : 1 ; unsigned char no_sg_constraint : 1 ; unsigned int sg_tablesize ; int devnum_next ; struct usb_devmap devmap ; struct usb_device *root_hub ; struct usb_bus *hs_companion ; struct list_head bus_list ; struct mutex usb_address0_mutex ; int bandwidth_allocated ; int bandwidth_int_reqs ; int bandwidth_isoc_reqs ; unsigned int resuming_ports ; struct mon_bus *mon_bus ; int monitored ; }; struct usb_tt; enum usb_device_removable { USB_DEVICE_REMOVABLE_UNKNOWN = 0, USB_DEVICE_REMOVABLE = 1, USB_DEVICE_FIXED = 2 } ; struct usb2_lpm_parameters { unsigned int besl ; int timeout ; }; struct usb3_lpm_parameters { unsigned int mel ; unsigned int pel ; unsigned int sel ; int timeout ; }; struct usb_device { int devnum ; char devpath[16U] ; u32 route ; enum usb_device_state state ; enum usb_device_speed speed ; struct usb_tt *tt ; int ttport ; unsigned int toggle[2U] ; struct usb_device *parent ; struct usb_bus *bus ; struct usb_host_endpoint ep0 ; struct device dev ; struct usb_device_descriptor descriptor ; struct usb_host_bos *bos ; struct usb_host_config *config ; struct usb_host_config *actconfig ; struct usb_host_endpoint *ep_in[16U] ; struct usb_host_endpoint *ep_out[16U] ; char **rawdescriptors ; unsigned short bus_mA ; u8 portnum ; u8 level ; unsigned char can_submit : 1 ; unsigned char persist_enabled : 1 ; unsigned char have_langid : 1 ; unsigned char authorized : 1 ; unsigned char authenticated : 1 ; unsigned char wusb : 1 ; unsigned char lpm_capable : 1 ; unsigned char usb2_hw_lpm_capable : 1 ; unsigned char usb2_hw_lpm_besl_capable : 1 ; unsigned char usb2_hw_lpm_enabled : 1 ; unsigned char usb2_hw_lpm_allowed : 1 ; unsigned char usb3_lpm_enabled : 1 ; int string_langid ; char *product ; char *manufacturer ; char *serial ; struct list_head filelist ; int maxchild ; u32 quirks ; atomic_t urbnum ; unsigned long active_duration ; unsigned long connect_time ; unsigned char do_remote_wakeup : 1 ; unsigned char reset_resume : 1 ; unsigned char port_is_suspended : 1 ; struct wusb_dev *wusb_dev ; int slot_id ; enum usb_device_removable removable ; struct usb2_lpm_parameters l1_params ; struct usb3_lpm_parameters u1_params ; struct usb3_lpm_parameters u2_params ; unsigned int lpm_disable_count ; }; struct usb_iso_packet_descriptor { unsigned int offset ; unsigned int length ; unsigned int actual_length ; int status ; }; struct urb; struct usb_anchor { struct list_head urb_list ; wait_queue_head_t wait ; spinlock_t lock ; atomic_t suspend_wakeups ; unsigned char poisoned : 1 ; }; struct urb { struct kref kref ; void *hcpriv ; atomic_t use_count ; atomic_t reject ; int unlinked ; struct list_head urb_list ; struct list_head anchor_list ; struct usb_anchor *anchor ; struct usb_device *dev ; struct usb_host_endpoint *ep ; unsigned int pipe ; unsigned int stream_id ; int status ; unsigned int transfer_flags ; void *transfer_buffer ; dma_addr_t transfer_dma ; struct scatterlist *sg ; int num_mapped_sgs ; int num_sgs ; u32 transfer_buffer_length ; u32 actual_length ; unsigned char *setup_packet ; dma_addr_t setup_dma ; int start_frame ; int number_of_packets ; int interval ; int error_count ; void *context ; void (*complete)(struct urb * ) ; struct usb_iso_packet_descriptor iso_frame_desc[0U] ; }; struct ipv6_devconf { __s32 forwarding ; __s32 hop_limit ; __s32 mtu6 ; __s32 accept_ra ; __s32 accept_redirects ; __s32 autoconf ; __s32 dad_transmits ; __s32 rtr_solicits ; __s32 rtr_solicit_interval ; __s32 rtr_solicit_delay ; __s32 force_mld_version ; __s32 mldv1_unsolicited_report_interval ; __s32 mldv2_unsolicited_report_interval ; __s32 use_tempaddr ; __s32 temp_valid_lft ; __s32 temp_prefered_lft ; __s32 regen_max_retry ; __s32 max_desync_factor ; __s32 max_addresses ; __s32 accept_ra_defrtr ; __s32 accept_ra_pinfo ; __s32 accept_ra_rtr_pref ; __s32 rtr_probe_interval ; __s32 accept_ra_rt_info_max_plen ; __s32 proxy_ndp ; __s32 accept_source_route ; __s32 optimistic_dad ; __s32 mc_forwarding ; __s32 disable_ipv6 ; __s32 accept_dad ; __s32 force_tllao ; __s32 ndisc_notify ; __s32 suppress_frag_ndisc ; void *sysctl ; }; struct ip6_sf_list { struct ip6_sf_list *sf_next ; struct in6_addr sf_addr ; unsigned long sf_count[2U] ; unsigned char sf_gsresp ; unsigned char sf_oldin ; unsigned char sf_crcount ; }; struct ifmcaddr6 { struct in6_addr mca_addr ; struct inet6_dev *idev ; struct ifmcaddr6 *next ; struct ip6_sf_list *mca_sources ; struct ip6_sf_list *mca_tomb ; unsigned int mca_sfmode ; unsigned char mca_crcount ; unsigned long mca_sfcount[2U] ; struct timer_list mca_timer ; unsigned int mca_flags ; int mca_users ; atomic_t mca_refcnt ; spinlock_t mca_lock ; unsigned long mca_cstamp ; unsigned long mca_tstamp ; }; struct ifacaddr6 { struct in6_addr aca_addr ; struct inet6_dev *aca_idev ; struct rt6_info *aca_rt ; struct ifacaddr6 *aca_next ; int aca_users ; atomic_t aca_refcnt ; spinlock_t aca_lock ; unsigned long aca_cstamp ; unsigned long aca_tstamp ; }; struct ipv6_devstat { struct proc_dir_entry *proc_dir_entry ; struct ipstats_mib *ipv6 ; struct icmpv6_mib_device *icmpv6dev ; struct icmpv6msg_mib_device *icmpv6msgdev ; }; struct inet6_dev { struct net_device *dev ; struct list_head addr_list ; struct ifmcaddr6 *mc_list ; struct ifmcaddr6 *mc_tomb ; spinlock_t mc_lock ; unsigned char mc_qrv ; unsigned char mc_gq_running ; unsigned char mc_ifc_count ; unsigned char mc_dad_count ; unsigned long mc_v1_seen ; unsigned long mc_qi ; unsigned long mc_qri ; unsigned long mc_maxdelay ; struct timer_list mc_gq_timer ; struct timer_list mc_ifc_timer ; struct timer_list mc_dad_timer ; struct ifacaddr6 *ac_list ; rwlock_t lock ; atomic_t refcnt ; __u32 if_flags ; int dead ; u8 rndid[8U] ; struct timer_list regen_timer ; struct list_head tempaddr_list ; struct in6_addr token ; struct neigh_parms *nd_parms ; struct ipv6_devconf cnf ; struct ipv6_devstat stats ; struct timer_list rs_timer ; __u8 rs_probes ; unsigned long tstamp ; struct callback_head rcu ; }; union __anonunion_ldv_49376_280 { __be32 a4 ; __be32 a6[4U] ; }; struct inetpeer_addr_base { union __anonunion_ldv_49376_280 ldv_49376 ; }; struct inetpeer_addr { struct inetpeer_addr_base addr ; __u16 family ; }; union __anonunion_ldv_49391_281 { struct list_head gc_list ; struct callback_head gc_rcu ; }; struct __anonstruct_ldv_49395_283 { atomic_t rid ; }; union __anonunion_ldv_49398_282 { struct __anonstruct_ldv_49395_283 ldv_49395 ; struct callback_head rcu ; struct inet_peer *gc_next ; }; struct inet_peer { struct inet_peer *avl_left ; struct inet_peer *avl_right ; struct inetpeer_addr daddr ; __u32 avl_height ; u32 metrics[15U] ; u32 rate_tokens ; unsigned long rate_last ; union __anonunion_ldv_49391_281 ldv_49391 ; union __anonunion_ldv_49398_282 ldv_49398 ; __u32 dtime ; atomic_t refcnt ; }; struct inet_peer_base { struct inet_peer *root ; seqlock_t lock ; u32 flush_seq ; int total ; }; struct rtable { struct dst_entry dst ; int rt_genid ; unsigned int rt_flags ; __u16 rt_type ; __u8 rt_is_input ; __u8 rt_uses_gateway ; int rt_iif ; __be32 rt_gateway ; u32 rt_pmtu ; struct list_head rt_uncached ; }; typedef char CHAR; typedef int INT; typedef unsigned char UCHAR; typedef unsigned char B_UINT8; typedef unsigned short USHORT; typedef unsigned short B_UINT16; typedef unsigned int UINT; typedef unsigned int B_UINT32; typedef unsigned long ULONG; typedef char *PCHAR; typedef void *PVOID; typedef unsigned char *PUCHAR; typedef unsigned long long LARGE_INTEGER; typedef unsigned int UINT32; enum bcm_nvm_type { NVM_AUTODETECT = 0, NVM_EEPROM = 1, NVM_FLASH = 2, NVM_UNKNOWN = 3 } ; struct bcm_mibs_parameters { u32 wmanIfSfid ; u32 wmanIfCmnCpsSfState ; u32 wmanIfCmnCpsMaxSustainedRate ; u32 wmanIfCmnCpsMaxTrafficBurst ; u32 wmanIfCmnCpsMinReservedRate ; u32 wmanIfCmnCpsToleratedJitter ; u32 wmanIfCmnCpsMaxLatency ; u32 wmanIfCmnCpsFixedVsVariableSduInd ; u32 wmanIfCmnCpsSduSize ; u32 wmanIfCmnCpsSfSchedulingType ; u32 wmanIfCmnCpsArqEnable ; u32 wmanIfCmnCpsArqWindowSize ; u32 wmanIfCmnCpsArqBlockLifetime ; u32 wmanIfCmnCpsArqSyncLossTimeout ; u32 wmanIfCmnCpsArqDeliverInOrder ; u32 wmanIfCmnCpsArqRxPurgeTimeout ; u32 wmanIfCmnCpsArqBlockSize ; u32 wmanIfCmnCpsMinRsvdTolerableRate ; u32 wmanIfCmnCpsReqTxPolicy ; u32 wmanIfCmnSfCsSpecification ; u32 wmanIfCmnCpsTargetSaid ; }; struct bcm_mibs_dropped_cntrl_msg { unsigned long cm_responses ; unsigned long cm_control_newdsx_multiclassifier_resp ; unsigned long link_control_resp ; unsigned long status_rsp ; unsigned long stats_pointer_resp ; unsigned long idle_mode_status ; unsigned long auth_ss_host_msg ; unsigned long low_priority_message ; }; struct bcm_phs_rule { u8 u8PHSI ; u8 u8PHSFLength ; u8 u8PHSF[255U] ; u8 u8PHSMLength ; u8 u8PHSM[255U] ; u8 u8PHSS ; u8 u8PHSV ; u8 u8RefCnt ; u8 bUnclassifiedPHSRule ; u8 u8Reserved[3U] ; long PHSModifiedBytes ; unsigned long PHSModifiedNumPackets ; unsigned long PHSErrorNumPackets ; }; struct bcm_phs_classifier_entry { u8 bUsed ; u16 uiClassifierRuleId ; u8 u8PHSI ; struct bcm_phs_rule *pstPhsRule ; u8 bUnclassifiedPHSRule ; }; struct bcm_phs_classifier_table { u16 uiTotalClassifiers ; struct bcm_phs_classifier_entry stActivePhsRulesList[20U] ; struct bcm_phs_classifier_entry stOldPhsRulesList[20U] ; u16 uiOldestPhsRuleIndex ; }; struct bcm_phs_entry { u8 bUsed ; u16 uiVcid ; struct bcm_phs_classifier_table *pstClassifierTable ; }; struct bcm_phs_table { u16 uiTotalServiceFlows ; struct bcm_phs_entry stSFList[17U] ; }; struct bcm_phs_extension { struct bcm_phs_table *pstServiceFlowPhsRulesTable ; void *CompressedTxBuffer ; void *UnCompressedRxBuffer ; }; enum bcm_led_events { SHUTDOWN_EXIT = 0, DRIVER_INIT = 1, FW_DOWNLOAD = 2, FW_DOWNLOAD_DONE = 4, NO_NETWORK_ENTRY = 8, NORMAL_OPERATION = 16, LOWPOWER_MODE_ENTER = 32, IDLEMODE_CONTINUE = 64, IDLEMODE_EXIT = 128, LED_THREAD_INACTIVE = 256, LED_THREAD_ACTIVE = 512, DRIVER_HALT = 255 } ; struct bcm_led_state_info { unsigned char LED_Type ; unsigned char LED_On_State ; unsigned char LED_Blink_State ; unsigned char GPIO_Num ; unsigned char BitPolarity ; }; struct bcm_led_info { struct bcm_led_state_info LEDState[4U] ; bool bIdleMode_tx_from_host ; bool bIdle_led_off ; wait_queue_head_t notify_led_event ; wait_queue_head_t idleModeSyncEvent ; struct task_struct *led_cntrl_threadid ; int led_thread_running ; bool bLedInitDone ; }; enum bcm_flash2x_section_val { NO_SECTION_VAL = 0, ISO_IMAGE1 = 1, ISO_IMAGE2 = 2, DSD0 = 3, DSD1 = 4, DSD2 = 5, VSA0 = 6, VSA1 = 7, VSA2 = 8, SCSI = 9, CONTROL_SECTION = 10, ISO_IMAGE1_PART2 = 11, ISO_IMAGE1_PART3 = 12, ISO_IMAGE2_PART2 = 13, ISO_IMAGE2_PART3 = 14, TOTAL_SECTIONS = 15 } ; struct bcm_flash_cs_info { u32 MagicNumber ; u32 FlashLayoutVersion ; u32 ISOImageVersion ; u32 SCSIFirmwareVersion ; u32 OffsetFromZeroForPart1ISOImage ; u32 OffsetFromZeroForScsiFirmware ; u32 SizeOfScsiFirmware ; u32 OffsetFromZeroForPart2ISOImage ; u32 OffsetFromZeroForCalibrationStart ; u32 OffsetFromZeroForCalibrationEnd ; u32 OffsetFromZeroForVSAStart ; u32 OffsetFromZeroForVSAEnd ; u32 OffsetFromZeroForControlSectionStart ; u32 OffsetFromZeroForControlSectionData ; u32 CDLessInactivityTimeout ; u32 NewImageSignature ; u32 FlashSectorSizeSig ; u32 FlashSectorSize ; u32 FlashWriteSupportSize ; u32 TotalFlashSize ; u32 FlashBaseAddr ; u32 FlashPartMaxSize ; u32 IsCDLessDeviceBootSig ; u32 MassStorageTimeout ; }; struct bcm_flash2x_cs_info { u32 MagicNumber ; u32 FlashLayoutVersion ; u32 ISOImageVersion ; u32 SCSIFirmwareVersion ; u32 OffsetFromZeroForPart1ISOImage ; u32 OffsetFromZeroForScsiFirmware ; u32 SizeOfScsiFirmware ; u32 OffsetFromZeroForPart2ISOImage ; u32 OffsetFromZeroForDSDStart ; u32 OffsetFromZeroForDSDEnd ; u32 OffsetFromZeroForVSAStart ; u32 OffsetFromZeroForVSAEnd ; u32 OffsetFromZeroForControlSectionStart ; u32 OffsetFromZeroForControlSectionData ; u32 CDLessInactivityTimeout ; u32 NewImageSignature ; u32 FlashSectorSizeSig ; u32 FlashSectorSize ; u32 FlashWriteSupportSize ; u32 TotalFlashSize ; u32 FlashBaseAddr ; u32 FlashPartMaxSize ; u32 IsCDLessDeviceBootSig ; u32 MassStorageTimeout ; u32 OffsetISOImage1Part1Start ; u32 OffsetISOImage1Part1End ; u32 OffsetISOImage1Part2Start ; u32 OffsetISOImage1Part2End ; u32 OffsetISOImage1Part3Start ; u32 OffsetISOImage1Part3End ; u32 OffsetISOImage2Part1Start ; u32 OffsetISOImage2Part1End ; u32 OffsetISOImage2Part2Start ; u32 OffsetISOImage2Part2End ; u32 OffsetISOImage2Part3Start ; u32 OffsetISOImage2Part3End ; u32 OffsetFromDSDStartForDSDHeader ; u32 OffsetFromZeroForDSD1Start ; u32 OffsetFromZeroForDSD1End ; u32 OffsetFromZeroForDSD2Start ; u32 OffsetFromZeroForDSD2End ; u32 OffsetFromZeroForVSA1Start ; u32 OffsetFromZeroForVSA1End ; u32 OffsetFromZeroForVSA2Start ; u32 OffsetFromZeroForVSA2End ; u32 SectorAccessBitMap[64U] ; }; struct bcm_vendor_section_info { u32 OffsetFromZeroForSectionStart ; u32 OffsetFromZeroForSectionEnd ; u32 AccessFlags ; u32 Reserved[16U] ; }; struct bcm_flash2x_vendor_info { struct bcm_vendor_section_info VendorSection[15U] ; u32 Reserved[16U] ; }; struct bcm_target_params { u32 m_u32CfgVersion ; u32 m_u32CenterFrequency ; u32 m_u32BandAScan ; u32 m_u32BandBScan ; u32 m_u32BandCScan ; u32 m_u32ErtpsOptions ; u32 m_u32PHSEnable ; u32 m_u32HoEnable ; u32 m_u32HoReserved1 ; u32 m_u32HoReserved2 ; u32 m_u32MimoEnable ; u32 m_u32SecurityEnable ; u32 m_u32PowerSavingModesEnable ; u32 m_u32PowerSavingModeOptions ; u32 m_u32ArqEnable ; u32 m_u32HarqEnable ; u32 m_u32EEPROMFlag ; u32 m_u32Customize ; u32 m_u32ConfigBW ; u32 m_u32ShutDownInitThresholdTimer ; u32 m_u32RadioParameter ; u32 m_u32PhyParameter1 ; u32 m_u32PhyParameter2 ; u32 m_u32PhyParameter3 ; u32 m_u32TestOptions ; u32 m_u32MaxMACDataperDLFrame ; u32 m_u32MaxMACDataperULFrame ; u32 m_u32Corr2MacFlags ; u32 HostDrvrConfig1 ; u32 HostDrvrConfig2 ; u32 HostDrvrConfig3 ; u32 HostDrvrConfig4 ; u32 HostDrvrConfig5 ; u32 HostDrvrConfig6 ; u32 m_u32SegmentedPUSCenable ; u32 m_u32BandAMCEnable ; }; struct bcm_debug_state { unsigned int type ; unsigned int subtype[9U] ; unsigned int debug_level ; }; struct __anonstruct_ldv_50768_289 { ULONG ulIpv4Addr[4U] ; ULONG ulIpv4Mask[4U] ; }; struct __anonstruct_ldv_50772_290 { ULONG ulIpv6Addr[16U] ; ULONG ulIpv6Mask[16U] ; }; struct __anonstruct_ldv_50776_291 { UCHAR ucIpv4Address[16U] ; UCHAR ucIpv4Mask[16U] ; }; struct __anonstruct_ldv_50780_292 { UCHAR ucIpv6Address[64U] ; UCHAR ucIpv6Mask[64U] ; }; union u_ip_address { struct __anonstruct_ldv_50768_289 ldv_50768 ; struct __anonstruct_ldv_50772_290 ldv_50772 ; struct __anonstruct_ldv_50776_291 ldv_50776 ; struct __anonstruct_ldv_50780_292 ldv_50780 ; }; struct bcm_hdr_suppression_contextinfo { UCHAR ucaHdrSuppressionInBuf[255U] ; UCHAR ucaHdrSuppressionOutBuf[256U] ; }; struct bcm_classifier_rule { ULONG ulSFID ; UCHAR ucReserved[2U] ; B_UINT16 uiClassifierRuleIndex ; bool bUsed ; USHORT usVCID_Value ; B_UINT8 u8ClassifierRulePriority ; union u_ip_address stSrcIpAddress ; UCHAR ucIPSourceAddressLength ; union u_ip_address stDestIpAddress ; UCHAR ucIPDestinationAddressLength ; UCHAR ucIPTypeOfServiceLength ; UCHAR ucTosLow ; UCHAR ucTosHigh ; UCHAR ucTosMask ; UCHAR ucProtocolLength ; UCHAR ucProtocol[32U] ; USHORT usSrcPortRangeLo[4U] ; USHORT usSrcPortRangeHi[4U] ; UCHAR ucSrcPortRangeLength ; USHORT usDestPortRangeLo[4U] ; USHORT usDestPortRangeHi[4U] ; UCHAR ucDestPortRangeLength ; bool bProtocolValid ; bool bTOSValid ; bool bDestIpValid ; bool bSrcIpValid ; UCHAR ucDirection ; bool bIpv6Protocol ; UINT32 u32PHSRuleID ; struct bcm_phs_rule sPhsRule ; UCHAR u8AssociatedPHSI ; UCHAR ucEthCSSrcMACLen ; UCHAR au8EThCSSrcMAC[6U] ; UCHAR au8EThCSSrcMACMask[6U] ; UCHAR ucEthCSDestMACLen ; UCHAR au8EThCSDestMAC[6U] ; UCHAR au8EThCSDestMACMask[6U] ; UCHAR ucEtherTypeLen ; UCHAR au8EthCSEtherType[3U] ; UCHAR usUserPriority[2U] ; USHORT usVLANID ; USHORT usValidityBitMap ; }; struct bcm_fragmented_packet_info { bool bUsed ; ULONG ulSrcIpAddress ; USHORT usIpIdentification ; struct bcm_classifier_rule *pstMatchedClassifierEntry ; bool bOutOfOrderFragment ; }; struct __anonstruct_ldv_50870_294 { struct sk_buff *FirstTxQueue ; struct sk_buff *LastTxQueue ; }; struct __anonstruct_ldv_50874_295 { struct sk_buff *ControlHead ; struct sk_buff *ControlTail ; }; union __anonunion_ldv_50875_293 { struct __anonstruct_ldv_50870_294 ldv_50870 ; struct __anonstruct_ldv_50874_295 ldv_50874 ; }; struct bcm_packet_info { ULONG ulSFID ; USHORT usVCID_Value ; UINT uiThreshold ; B_UINT8 u8TrafficPriority ; bool bValid ; bool bActive ; bool bActivateRequestSent ; B_UINT8 u8QueueType ; UINT uiMaxBucketSize ; UINT uiCurrentQueueDepthOnTarget ; UINT uiCurrentBytesOnHost ; UINT uiCurrentPacketsOnHost ; UINT uiDroppedCountBytes ; UINT uiDroppedCountPackets ; UINT uiSentBytes ; UINT uiSentPackets ; UINT uiCurrentDrainRate ; UINT uiThisPeriodSentBytes ; LARGE_INTEGER liDrainCalculated ; UINT uiCurrentTokenCount ; LARGE_INTEGER liLastUpdateTokenAt ; UINT uiMaxAllowedRate ; UINT NumOfPacketsSent ; UCHAR ucDirection ; USHORT usCID ; struct bcm_mibs_parameters stMibsExtServiceFlowTable ; UINT uiCurrentRxRate ; UINT uiThisPeriodRxBytes ; UINT uiTotalRxBytes ; UINT uiTotalTxBytes ; UINT uiPendedLast ; UCHAR ucIpVersion ; union __anonunion_ldv_50875_293 ldv_50875 ; bool bProtocolValid ; bool bTOSValid ; bool bDestIpValid ; bool bSrcIpValid ; bool bActiveSet ; bool bAdmittedSet ; bool bAuthorizedSet ; bool bClassifierPriority ; UCHAR ucServiceClassName[32U] ; bool bHeaderSuppressionEnabled ; spinlock_t SFQueueLock ; void *pstSFIndication ; struct timeval stLastUpdateTokenAt ; atomic_t uiPerSFTxResourceCount ; UINT uiMaxLatency ; UCHAR bIPCSSupport ; UCHAR bEthCSSupport ; }; struct bcm_mini_adapter; struct bcm_tarang_data { struct bcm_tarang_data *next ; struct bcm_mini_adapter *Adapter ; struct sk_buff *RxAppControlHead ; struct sk_buff *RxAppControlTail ; int AppCtrlQueueLen ; bool MacTracingEnabled ; bool bApplicationToExit ; struct bcm_mibs_dropped_cntrl_msg stDroppedAppCntrlMsgs ; ULONG RxCntrlMsgBitMask ; }; struct bcm_targetdsx_buffer { ULONG ulTargetDsxBuffer ; B_UINT16 tid ; bool valid ; }; struct bcm_mini_adapter { struct bcm_mini_adapter *next ; struct net_device *dev ; u32 msg_enable ; CHAR *caDsxReqResp ; atomic_t ApplicationRunning ; bool AppCtrlQueueOverFlow ; atomic_t CurrentApplicationCount ; atomic_t RegisteredApplicationCount ; bool LinkUpStatus ; bool TimerActive ; u32 StatisticsPointer ; struct sk_buff *RxControlHead ; struct sk_buff *RxControlTail ; struct semaphore RxAppControlQueuelock ; struct semaphore fw_download_sema ; struct bcm_tarang_data *pTarangs ; spinlock_t control_queue_lock ; wait_queue_head_t process_read_wait_queue ; atomic_t TotalPacketCount ; atomic_t TxPktAvail ; atomic_t CurrNumFreeTxDesc ; USHORT PrevNumRecvDescs ; USHORT CurrNumRecvDescs ; UINT u32TotalDSD ; struct bcm_packet_info PackInfo[17U] ; struct bcm_classifier_rule astClassifierTable[100U] ; bool TransferMode ; bool bETHCSEnabled ; ULONG BEBucketSize ; ULONG rtPSBucketSize ; UCHAR LinkStatus ; bool AutoLinkUp ; bool AutoSyncup ; int major ; int minor ; wait_queue_head_t tx_packet_wait_queue ; wait_queue_head_t process_rx_cntrlpkt ; atomic_t process_waiting ; bool fw_download_done ; char *txctlpacket[100U] ; atomic_t cntrlpktCnt ; atomic_t index_app_read_cntrlpkt ; atomic_t index_wr_txcntrlpkt ; atomic_t index_rd_txcntrlpkt ; UINT index_datpkt ; struct semaphore rdmwrmsync ; struct bcm_targetdsx_buffer astTargetDsxBuffer[24U] ; ULONG ulFreeTargetBufferCnt ; ULONG ulCurrentTargetBuffer ; ULONG ulTotalTargetBuffersAvailable ; unsigned long chip_id ; wait_queue_head_t lowpower_mode_wait_queue ; bool bFlashBoot ; bool bBinDownloaded ; bool bCfgDownloaded ; bool bSyncUpRequestSent ; USHORT usBestEffortQueueIndex ; wait_queue_head_t ioctl_fw_dnld_wait_queue ; bool waiting_to_fw_download_done ; pid_t fw_download_process_pid ; struct bcm_target_params *pstargetparams ; bool device_removed ; bool DeviceAccess ; bool bIsAutoCorrectEnabled ; bool bDDRInitDone ; int DDRSetting ; ULONG ulPowerSaveMode ; spinlock_t txtransmitlock ; B_UINT8 txtransmit_running ; struct task_struct *control_packet_handler ; struct task_struct *transmit_packet_thread ; struct bcm_led_info LEDInfo ; enum bcm_led_events DriverState ; PVOID pvInterfaceAdapter ; int (*bcm_file_download)(PVOID , struct file * , unsigned int ) ; int (*bcm_file_readback_from_chip)(PVOID , struct file * , unsigned int ) ; int (*interface_rdm)(PVOID , UINT , PVOID , int ) ; int (*interface_wrm)(PVOID , UINT , PVOID , int ) ; int (*interface_transmit)(PVOID , PVOID , UINT ) ; bool IdleMode ; bool bDregRequestSentInIdleMode ; bool bTriedToWakeUpFromlowPowerMode ; bool bShutStatus ; bool bWakeUpDevice ; unsigned int usIdleModePattern ; bool bLinkDownRequested ; int downloadDDR ; struct bcm_phs_extension stBCMPhsContext ; struct bcm_hdr_suppression_contextinfo stPhsTxContextInfo ; uint8_t ucaPHSPktRestoreBuf[2048U] ; uint8_t bPHSEnabled ; bool AutoFirmDld ; bool bMipsConfig ; bool bDPLLConfig ; UINT32 aTxPktSizeHist[12U] ; UINT32 aRxPktSizeHist[12U] ; struct bcm_fragmented_packet_info astFragmentedPktClassifierTable[256U] ; atomic_t uiMBupdate ; UINT32 PmuMode ; enum bcm_nvm_type eNVMType ; UINT uiSectorSize ; UINT uiSectorSizeInCFG ; bool bSectorSizeOverride ; bool bStatusWrite ; UINT uiNVMDSDSize ; UINT uiVendorExtnFlag ; UINT ulFlashCalStart ; ULONG ulFlashControlSectionStart ; ULONG ulFlashWriteSize ; ULONG ulFlashID ; int (*fpFlashWrite)(struct bcm_mini_adapter * , UINT , PVOID ) ; int (*fpFlashWriteWithStatusCheck)(struct bcm_mini_adapter * , UINT , PVOID ) ; struct semaphore NVMRdmWrmLock ; struct device *pstCreatedClassDevice ; struct bcm_flash2x_cs_info *psFlash2xCSInfo ; struct bcm_flash_cs_info *psFlashCSInfo ; struct bcm_flash2x_vendor_info *psFlash2xVendorInfo ; UINT uiFlashBaseAdd ; UINT uiActiveISOOffset ; enum bcm_flash2x_section_val eActiveISO ; enum bcm_flash2x_section_val eActiveDSD ; UINT uiActiveDSDOffsetAtFwDld ; UINT uiFlashLayoutMajorVersion ; UINT uiFlashLayoutMinorVersion ; bool bAllDSDWriteAllow ; bool bSigCorrupted ; bool bHeaderChangeAllowed ; int SelectedChip ; bool bEndPointHalted ; bool bFlashRawRead ; bool bPreparingForLowPowerMode ; bool bDoSuspend ; UINT syscfgBefFwDld ; bool StopAllXaction ; UINT32 liTimeSinceLastNetEntry ; struct semaphore LowPowerModeSync ; ULONG liDrainCalculated ; UINT gpioBitMap ; struct bcm_debug_state stDebugState ; }; struct bcm_firmware_info { void *pvMappedFirmwareAddress ; ULONG u32FirmwareLength ; ULONG u32StartingAddress ; }; struct bcm_bulk_endpoint_in { char *bulk_in_buffer ; size_t bulk_in_size ; unsigned char bulk_in_endpointAddr ; unsigned int bulk_in_pipe ; }; struct bcm_bulk_endpoint_out { unsigned char bulk_out_buffer ; size_t bulk_out_size ; unsigned char bulk_out_endpointAddr ; unsigned int bulk_out_pipe ; unsigned char int_out_interval ; }; struct bcm_intr_endpoint_in { char *int_in_buffer ; size_t int_in_size ; unsigned char int_in_endpointAddr ; unsigned char int_in_interval ; unsigned int int_in_pipe ; }; struct bcm_intr_endpoint_out { char *int_out_buffer ; size_t int_out_size ; unsigned char int_out_endpointAddr ; unsigned char int_out_interval ; unsigned int int_out_pipe ; }; struct bcm_usb_tcb { struct urb *urb ; void *psIntfAdapter ; bool bUsed ; }; struct bcm_usb_rcb { struct urb *urb ; void *psIntfAdapter ; bool bUsed ; }; struct bcm_interface_adapter { struct usb_device *udev ; struct usb_interface *interface ; struct bcm_bulk_endpoint_in sBulkIn ; struct bcm_bulk_endpoint_out sBulkOut ; struct bcm_intr_endpoint_in sIntrIn ; struct bcm_intr_endpoint_out sIntrOut ; unsigned long ulInterruptData[2U] ; struct urb *psInterruptUrb ; struct bcm_usb_tcb asUsbTcb[128U] ; struct bcm_usb_rcb asUsbRcb[128U] ; atomic_t uNumTcbUsed ; atomic_t uCurrTcb ; atomic_t uNumRcbUsed ; atomic_t uCurrRcb ; struct bcm_mini_adapter *psAdapter ; bool bFlashBoot ; bool bHighSpeedDevice ; bool bSuspended ; bool bPreparingForBusSuspend ; struct work_struct usbSuspendWork ; }; enum hrtimer_restart; typedef void VOID; typedef unsigned int *PUINT; struct __wait_queue; typedef struct __wait_queue wait_queue_t; struct __wait_queue { unsigned int flags ; void *private ; int (*func)(wait_queue_t * , unsigned int , int , void * ) ; struct list_head task_list ; }; enum hrtimer_restart; struct usb_device_id { __u16 match_flags ; __u16 idVendor ; __u16 idProduct ; __u16 bcdDevice_lo ; __u16 bcdDevice_hi ; __u8 bDeviceClass ; __u8 bDeviceSubClass ; __u8 bDeviceProtocol ; __u8 bInterfaceClass ; __u8 bInterfaceSubClass ; __u8 bInterfaceProtocol ; __u8 bInterfaceNumber ; kernel_ulong_t driver_info ; }; struct usb_driver; struct usb_dynids { spinlock_t lock ; struct list_head list ; }; struct usbdrv_wrap { struct device_driver driver ; int for_devices ; }; struct usb_driver { char const *name ; int (*probe)(struct usb_interface * , struct usb_device_id const * ) ; void (*disconnect)(struct usb_interface * ) ; int (*unlocked_ioctl)(struct usb_interface * , unsigned int , void * ) ; int (*suspend)(struct usb_interface * , pm_message_t ) ; int (*resume)(struct usb_interface * ) ; int (*reset_resume)(struct usb_interface * ) ; int (*pre_reset)(struct usb_interface * ) ; int (*post_reset)(struct usb_interface * ) ; struct usb_device_id const *id_table ; struct usb_dynids dynids ; struct usbdrv_wrap drvwrap ; unsigned char no_dynamic_id : 1 ; unsigned char supports_autosuspend : 1 ; unsigned char disable_hub_initiated_lpm : 1 ; unsigned char soft_unbind : 1 ; }; typedef int ldv_func_ret_type___2; enum hrtimer_restart; struct bcm_leader { USHORT Vcid ; USHORT PLength ; UCHAR Status ; UCHAR Unused[3U] ; }; enum hrtimer_restart; enum hrtimer_restart; enum hrtimer_restart; struct bcm_link_request { struct bcm_leader Leader ; UCHAR szData[4U] ; }; enum hrtimer_restart; struct bcm_packet_class_rules { u16 u16UserPriority ; u16 u16VLANID ; u16 u16PacketClassificationRuleIndex ; u8 u8ClassifierRulePriority ; u8 u8IPTypeOfServiceLength ; u8 u8IPTypeOfService[3U] ; u8 u8Protocol ; u8 u8IPMaskedSourceAddressLength ; u8 u8IPMaskedSourceAddress[32U] ; u8 u8IPDestinationAddressLength ; u8 u8IPDestinationAddress[32U] ; u8 u8ProtocolSourcePortRangeLength ; u8 u8ProtocolSourcePortRange[4U] ; u8 u8ProtocolDestPortRangeLength ; u8 u8ProtocolDestPortRange[4U] ; u8 u8EthernetDestMacAddressLength ; u8 u8EthernetDestMacAddress[12U] ; u8 u8EthernetSourceMACAddressLength ; u8 u8EthernetSourceMACAddress[12U] ; u8 u8EthertypeLength ; u8 u8Ethertype[3U] ; u8 u8AssociatedPHSI ; u8 u8VendorSpecificClassifierParamLength ; u8 u8VendorSpecificClassifierParam[1U] ; u8 u8IPv6FlowLableLength ; u8 u8IPv6FlowLable[3U] ; u8 u8ClassifierActionRule ; u16 u16ValidityBitMap ; }; struct bcm_phs_rules { u8 u8PHSI ; u8 u8PHSFLength ; u8 u8PHSF[255U] ; u8 u8PHSMLength ; u8 u8PHSM[255U] ; u8 u8PHSS ; u8 u8PHSV ; u8 u8VendorSpecificPHSParamsLength ; u8 u8VendorSpecificPHSParams[10U] ; u8 u8Padding[2U] ; }; struct bcm_convergence_types { u8 u8ClassfierDSCAction ; u8 u8PhsDSCAction ; u8 u8Padding[2U] ; struct bcm_packet_class_rules cCPacketClassificationRule ; struct bcm_phs_rules cPhsRule ; }; struct bcm_connect_mgr_params { u32 u32SFID ; u32 u32MaxSustainedTrafficRate ; u32 u32MaxTrafficBurst ; u32 u32MinReservedTrafficRate ; u32 u32ToleratedJitter ; u32 u32MaximumLatency ; u16 u16CID ; u16 u16TargetSAID ; u16 u16ARQWindowSize ; u16 u16ARQRetryTxTimeOut ; u16 u16ARQRetryRxTimeOut ; u16 u16ARQBlockLifeTime ; u16 u16ARQSyncLossTimeOut ; u16 u16ARQRxPurgeTimeOut ; u16 u16ARQBlockSize ; u16 u16SDUInterArrivalTime ; u16 u16TimeBase ; u16 u16UnsolicitedGrantInterval ; u16 u16UnsolicitedPollingInterval ; u16 u16MacOverhead ; u16 u16MBSContentsID[10U] ; u8 u8MBSContentsIDLength ; u8 u8ServiceClassNameLength ; u8 u8ServiceClassName[32U] ; u8 u8MBSService ; u8 u8QosParamSet ; u8 u8TrafficPriority ; u8 u8ServiceFlowSchedulingType ; u8 u8RequesttransmissionPolicy ; u8 u8FixedLengthVSVariableLengthSDUIndicator ; u8 u8SDUSize ; u8 u8ARQEnable ; u8 u8ARQDeliverInOrder ; u8 u8RxARQAckProcessingTime ; u8 u8CSSpecification ; u8 u8TypeOfDataDeliveryService ; u8 u8PagingPreference ; u8 u8MBSZoneIdentifierassignment ; u8 u8TrafficIndicationPreference ; u8 u8GlobalServicesClassNameLength ; u8 u8GlobalServicesClassName[6U] ; u8 u8SNFeedbackEnabled ; u8 u8FSNSize ; u8 u8CIDAllocation4activeBSsLength ; u8 u8CIDAllocation4activeBSs[10U] ; u8 u8PDUSNExtendedSubheader4HarqReordering ; u8 u8HARQServiceFlows ; u8 u8AuthTokenLength ; u8 u8AuthToken[10U] ; u8 u8HarqChannelMappingLength ; u8 u8HARQChannelMapping[16U] ; u8 u8VendorSpecificQoSParamLength ; u8 u8VendorSpecificQoSParam[1U] ; u8 u8TotalClassifiers ; u8 bValid ; u8 u8Padding ; struct bcm_convergence_types cConvergenceSLTypes[4U] ; }; struct bcm_add_request { u8 u8Type ; u8 eConnectionDir ; u16 u16TID ; u16 u16CID ; u16 u16VCID ; struct bcm_connect_mgr_params *psfParameterSet ; }; struct bcm_add_indication { u8 u8Type ; u8 eConnectionDir ; u16 u16TID ; u16 u16CID ; u16 u16VCID ; struct bcm_connect_mgr_params *psfAuthorizedSet ; struct bcm_connect_mgr_params *psfAdmittedSet ; struct bcm_connect_mgr_params *psfActiveSet ; u8 u8CC ; u8 u8Padd ; u16 u16Padd ; }; struct bcm_del_request { u8 u8Type ; u8 u8Padding ; u16 u16TID ; u32 u32SFID ; }; struct bcm_del_indication { u8 u8Type ; u8 u8Padding ; u16 u16TID ; u16 u16CID ; u16 u16VCID ; u32 u32SFID ; u8 u8ConfirmationCode ; u8 u8Padding1[3U] ; }; struct bcm_stim_sfhostnotify { u32 SFID ; u16 newCID ; u16 VCID ; u8 RetainSF ; u8 QoSParamSet ; u16 u16reserved ; }; struct bcm_add_indication_alt { u8 u8Type ; u8 u8Direction ; u16 u16TID ; u16 u16CID ; u16 u16VCID ; struct bcm_connect_mgr_params sfAuthorizedSet ; struct bcm_connect_mgr_params sfAdmittedSet ; struct bcm_connect_mgr_params sfActiveSet ; u8 u8CC ; u8 u8Padd ; u16 u16Padd ; }; struct bcm_change_indication { u8 u8Type ; u8 u8Direction ; u16 u16TID ; u16 u16CID ; u16 u16VCID ; struct bcm_connect_mgr_params sfAuthorizedSet ; struct bcm_connect_mgr_params sfAdmittedSet ; struct bcm_connect_mgr_params sfActiveSet ; u8 u8CC ; u8 u8Padd ; u16 u16Padd ; }; enum bcm_ipaddr_context { eSrcIpAddress = 0, eDestIpAddress = 1 } ; enum E_CLASSIFIER_ACTION { eInvalidClassifierAction = 0, eAddClassifier = 1, eReplaceClassifier = 2, eDeleteClassifier = 3 } ; enum hrtimer_restart; struct bcm_ipv6_hdr { unsigned char ucVersionPrio ; unsigned char aucFlowLabel[3U] ; unsigned short usPayloadLength ; unsigned char ucNextHeader ; unsigned char ucHopLimit ; unsigned long ulSrcIpAddress[4U] ; unsigned long ulDestIpAddress[4U] ; }; struct bcm_ipv6_routing_hdr { unsigned char ucNextHeader ; unsigned char ucRoutingType ; unsigned char ucNumAddresses ; unsigned char ucNextAddress ; unsigned long ulReserved ; }; struct bcm_ipv6_dest_options_hdr { unsigned char ucNextHeader ; unsigned char ucHdrExtLen ; unsigned char ucDestOptions[6U] ; }; struct bcm_ipv6_authentication_hdr { unsigned char ucNextHeader ; unsigned char ucLength ; unsigned short usReserved ; unsigned long ulSecurityParametersIndex ; }; typedef __u16 __sum16; enum hrtimer_restart; struct tcphdr { __be16 source ; __be16 dest ; __be32 seq ; __be32 ack_seq ; unsigned char res1 : 4 ; unsigned char doff : 4 ; unsigned char fin : 1 ; unsigned char syn : 1 ; unsigned char rst : 1 ; unsigned char psh : 1 ; unsigned char ack : 1 ; unsigned char urg : 1 ; unsigned char ece : 1 ; unsigned char cwr : 1 ; __be16 window ; __sum16 check ; __be16 urg_ptr ; }; struct udphdr { __be16 source ; __be16 dest ; __be16 len ; __sum16 check ; }; struct iphdr { unsigned char ihl : 4 ; unsigned char version : 4 ; __u8 tos ; __be16 tot_len ; __be16 id ; __be16 frag_off ; __u8 ttl ; __u8 protocol ; __sum16 check ; __be32 saddr ; __be32 daddr ; }; struct bcm_eth_header { UCHAR au8DestinationAddress[6U] ; UCHAR au8SourceAddress[6U] ; USHORT u16Etype ; }; union __anonunion_ldv_51242_296 { struct udphdr uhdr ; struct tcphdr thdr ; }; struct bcm_transport_header { union __anonunion_ldv_51242_296 ldv_51242 ; }; enum bcm_ip_frame_type { eNonIPPacket = 0, eIPv4Packet = 1, eIPv6Packet = 2 } ; enum bcm_eth_frame_type { eEthUnsupportedFrame = 0, eEth802LLCFrame = 1, eEth802LLCSNAPFrame = 2, eEth802QVLANFrame = 3, eEthOtherFrame = 4 } ; struct bcm_eth_packet_info { enum bcm_ip_frame_type eNwpktIPFrameType ; enum bcm_eth_frame_type eNwpktEthFrameType ; unsigned short usEtherType ; unsigned char ucDSAP ; }; struct bcm_eth_q_frame { struct bcm_eth_header EThHdr ; unsigned char UserPriority : 3 ; unsigned char CFI : 1 ; unsigned short VLANID : 12 ; unsigned short EthType ; }; struct bcm_eth_llc_frame { struct bcm_eth_header EThHdr ; unsigned char DSAP ; unsigned char SSAP ; unsigned char Control ; }; struct bcm_eth_llc_snap_frame { struct bcm_eth_header EThHdr ; unsigned char DSAP ; unsigned char SSAP ; unsigned char Control ; unsigned char OUI[3U] ; unsigned short usEtherType ; }; struct bcm_tcp_header { unsigned short usSrcPort ; unsigned short usDestPort ; unsigned long ulSeqNumber ; unsigned long ulAckNumber ; unsigned char HeaderLength ; unsigned char ucFlags ; unsigned short usWindowsSize ; unsigned short usChkSum ; unsigned short usUrgetPtr ; }; enum hrtimer_restart; struct skb_frag_struct; typedef struct skb_frag_struct skb_frag_t; struct __anonstruct_page_225 { struct page *p ; }; struct skb_frag_struct { struct __anonstruct_page_225 page ; __u32 page_offset ; __u32 size ; }; struct skb_shared_hwtstamps { ktime_t hwtstamp ; ktime_t syststamp ; }; struct skb_shared_info { unsigned char nr_frags ; __u8 tx_flags ; unsigned short gso_size ; unsigned short gso_segs ; unsigned short gso_type ; struct sk_buff *frag_list ; struct skb_shared_hwtstamps hwtstamps ; __be32 ip6_frag_id ; atomic_t dataref ; void *destructor_arg ; skb_frag_t frags[17U] ; }; enum hrtimer_restart; enum hrtimer_restart; struct bcm_ddr_setting { UINT ulRegAddress ; UINT ulRegValue ; }; enum hrtimer_restart; enum hrtimer_restart; enum hrtimer_restart; enum hrtimer_restart; typedef unsigned long ulong; enum hrtimer_restart; struct bcm_link_state { unsigned char ucLinkStatus ; unsigned char bIdleMode ; unsigned char bShutdownMode ; }; struct __anonstruct_ldv_50188_285 { unsigned long ulIpv4Addr[4U] ; unsigned long ulIpv4Mask[4U] ; }; struct __anonstruct_ldv_50192_286 { unsigned long ulIpv6Addr[16U] ; unsigned long ulIpv6Mask[16U] ; }; struct __anonstruct_ldv_50196_287 { unsigned char ucIpv4Address[16U] ; unsigned char ucIpv4Mask[16U] ; }; struct __anonstruct_ldv_50200_288 { unsigned char ucIpv6Address[64U] ; unsigned char ucIpv6Mask[64U] ; }; union bcm_mibs_ip_addr { struct __anonstruct_ldv_50188_285 ldv_50188 ; struct __anonstruct_ldv_50192_286 ldv_50192 ; struct __anonstruct_ldv_50196_287 ldv_50196 ; struct __anonstruct_ldv_50200_288 ldv_50200 ; }; struct bcm_mibs_host_info { u64 GoodTransmits ; u64 GoodReceives ; unsigned long NumDesUsed ; unsigned long CurrNumFreeDesc ; unsigned long PrevNumFreeDesc ; unsigned long PrevNumRcevBytes ; unsigned long CurrNumRcevBytes ; unsigned long BEBucketSize ; unsigned long rtPSBucketSize ; unsigned long LastTxQueueIndex ; bool TxOutofDescriptors ; bool TimerActive ; u32 u32TotalDSD ; u32 aTxPktSizeHist[12U] ; u32 aRxPktSizeHist[12U] ; }; struct bcm_mibs_classifier_rule { unsigned long ulSFID ; unsigned char ucReserved[2U] ; u16 uiClassifierRuleIndex ; bool bUsed ; unsigned short usVCID_Value ; u8 u8ClassifierRulePriority ; union bcm_mibs_ip_addr stSrcIpAddress ; unsigned char ucIPSourceAddressLength ; union bcm_mibs_ip_addr stDestIpAddress ; unsigned char ucIPDestinationAddressLength ; unsigned char ucIPTypeOfServiceLength ; unsigned char ucTosLow ; unsigned char ucTosHigh ; unsigned char ucTosMask ; unsigned char ucProtocolLength ; unsigned char ucProtocol[32U] ; unsigned short usSrcPortRangeLo[4U] ; unsigned short usSrcPortRangeHi[4U] ; unsigned char ucSrcPortRangeLength ; unsigned short usDestPortRangeLo[4U] ; unsigned short usDestPortRangeHi[4U] ; unsigned char ucDestPortRangeLength ; bool bProtocolValid ; bool bTOSValid ; bool bDestIpValid ; bool bSrcIpValid ; unsigned char ucDirection ; bool bIpv6Protocol ; u32 u32PHSRuleID ; }; struct bcm_mibs_phs_rule { unsigned long ulSFID ; u8 u8PHSI ; u8 u8PHSFLength ; u8 u8PHSF[255U] ; u8 u8PHSMLength ; u8 u8PHSM[255U] ; u8 u8PHSS ; u8 u8PHSV ; u8 reserved[5U] ; long PHSModifiedBytes ; unsigned long PHSModifiedNumPackets ; unsigned long PHSErrorNumPackets ; }; struct bcm_mibs_table { unsigned long ulSFID ; unsigned short usVCID_Value ; unsigned int uiThreshold ; u8 u8TrafficPriority ; bool bValid ; bool bActive ; bool bActivateRequestSent ; u8 u8QueueType ; unsigned int uiMaxBucketSize ; unsigned int uiCurrentQueueDepthOnTarget ; unsigned int uiCurrentBytesOnHost ; unsigned int uiCurrentPacketsOnHost ; unsigned int uiDroppedCountBytes ; unsigned int uiDroppedCountPackets ; unsigned int uiSentBytes ; unsigned int uiSentPackets ; unsigned int uiCurrentDrainRate ; unsigned int uiThisPeriodSentBytes ; u64 liDrainCalculated ; unsigned int uiCurrentTokenCount ; u64 liLastUpdateTokenAt ; unsigned int uiMaxAllowedRate ; unsigned int NumOfPacketsSent ; unsigned char ucDirection ; unsigned short usCID ; struct bcm_mibs_parameters stMibsExtServiceFlowTable ; unsigned int uiCurrentRxRate ; unsigned int uiThisPeriodRxBytes ; unsigned int uiTotalRxBytes ; unsigned int uiTotalTxBytes ; }; struct bcm_host_stats_mibs { struct bcm_mibs_host_info stHostInfo ; struct bcm_mibs_classifier_rule astClassifierTable[100U] ; struct bcm_mibs_table astSFtable[17U] ; struct bcm_mibs_phs_rule astPhsRulesTable[100U] ; struct bcm_mibs_dropped_cntrl_msg stDroppedAppCntrlMsgs ; }; struct bcm_rdm_buffer { unsigned long Register ; unsigned long Length ; }; struct bcm_wrm_buffer { unsigned long Register ; unsigned long Length ; unsigned char Data[4U] ; }; struct bcm_ioctl_buffer { void *InputBuffer ; unsigned long InputLength ; void *OutputBuffer ; unsigned long OutputLength ; }; struct bcm_gpio_info { unsigned int uiGpioNumber ; unsigned int uiGpioValue ; }; struct bcm_user_thread_req { unsigned int ThreadState ; }; enum bcm_interface_type { BCM_MII = 0, BCM_CARDBUS = 1, BCM_USB = 2, BCM_SDIO = 3, BCM_PCMCIA = 4 } ; struct bcm_driver_info { enum bcm_nvm_type u32NVMType ; unsigned int MaxRDMBufferSize ; enum bcm_interface_type u32InterfaceType ; unsigned int u32DSDStartOffset ; unsigned int u32RxAlignmentCorrection ; unsigned int u32Reserved[10U] ; }; struct bcm_nvm_readwrite { void *pBuffer ; uint32_t uiOffset ; uint32_t uiNumBytes ; bool bVerify ; }; struct bcm_bulk_wrm_buffer { unsigned long Register ; unsigned long SwapEndian ; unsigned long Values[1U] ; }; struct bcm_flash2x_readwrite { enum bcm_flash2x_section_val Section ; u32 offset ; u32 numOfBytes ; u32 bVerify ; void *pDataBuff ; }; struct bcm_flash2x_copy_section { enum bcm_flash2x_section_val SrcSection ; enum bcm_flash2x_section_val DstSection ; u32 offset ; u32 numOfBytes ; }; struct bcm_flash2x_bitmap { unsigned char ISO_IMAGE1 ; unsigned char ISO_IMAGE2 ; unsigned char DSD0 ; unsigned char DSD1 ; unsigned char DSD2 ; unsigned char VSA0 ; unsigned char VSA1 ; unsigned char VSA2 ; unsigned char SCSI ; unsigned char CONTROL_SECTION ; unsigned char Reserved0 ; unsigned char Reserved1 ; unsigned char Reserved2 ; }; struct bcm_time_elapsed { u64 ul64TimeElapsedSinceNetEntry ; u32 uiReserved[4U] ; }; struct bcm_gpio_multi_info { unsigned int uiGPIOCommand ; unsigned int uiGPIOMask ; unsigned int uiGPIOValue ; }; struct bcm_gpio_multi_mode { unsigned int uiGPIOMode ; unsigned int uiGPIOMask ; }; enum hrtimer_restart; enum hrtimer_restart; typedef long LONG; enum bcm_phs_classifier_context { eActiveClassifierRuleContext = 0, eOldClassifierRuleContext = 1 } ; enum hrtimer_restart; typedef unsigned long long ULONG64; enum hrtimer_restart; enum hrtimer_restart; typedef struct page___0 *pgtable_t___0; struct __anonstruct____missing_field_name_211 { unsigned int inuse : 16 ; unsigned int objects : 15 ; unsigned int frozen : 1 ; }; union __anonunion____missing_field_name_210 { atomic_t _mapcount ; struct __anonstruct____missing_field_name_211 __annonCompField39 ; int units ; }; struct __anonstruct____missing_field_name_209 { union __anonunion____missing_field_name_210 __annonCompField40 ; atomic_t _count ; }; union __anonunion____missing_field_name_208 { unsigned long counters ; struct __anonstruct____missing_field_name_209 __annonCompField41 ; unsigned int active ; }; struct __anonstruct____missing_field_name_206 { union __anonunion_ldv_14126_140 __annonCompField38 ; union __anonunion____missing_field_name_208 __annonCompField42 ; }; struct __anonstruct____missing_field_name_213 { struct page___0 *next ; int pages ; int pobjects ; }; union __anonunion____missing_field_name_212 { struct list_head lru ; struct __anonstruct____missing_field_name_213 __annonCompField44 ; struct slab *slab_page ; struct callback_head callback_head ; pgtable_t___0 pmd_huge_pte ; }; union __anonunion____missing_field_name_214 { unsigned long private ; spinlock_t *ptl ; struct kmem_cache___0 *slab_cache ; struct page___0 *first_page ; }; struct page___0 { unsigned long flags ; union __anonunion_ldv_14120_138 __annonCompField37 ; struct __anonstruct____missing_field_name_206 __annonCompField43 ; union __anonunion____missing_field_name_212 __annonCompField45 ; union __anonunion____missing_field_name_214 __annonCompField46 ; unsigned long debug_flags ; } __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ; enum kobj_ns_type; struct attribute___0 { char const *name ; umode_t mode ; bool ignore_lockdep : 1 ; struct lock_class_key *key ; struct lock_class_key skey ; }; struct sysfs_ops___0 { ssize_t (*show)(struct kobject___0 * , struct attribute___0 * , char * ) ; ssize_t (*store)(struct kobject___0 * , struct attribute___0 * , char const * , size_t ) ; }; struct kobject___0 { char const *name ; struct list_head entry ; struct kobject___0 *parent ; struct kset *kset ; struct kobj_type___0 *ktype ; struct kernfs_node *sd ; struct kref kref ; struct delayed_work release ; unsigned int state_initialized : 1 ; unsigned int state_in_sysfs : 1 ; unsigned int state_add_uevent_sent : 1 ; unsigned int state_remove_uevent_sent : 1 ; unsigned int uevent_suppress : 1 ; }; struct kobj_type___0 { void (*release)(struct kobject___0 *kobj ) ; struct sysfs_ops___0 const *sysfs_ops ; struct attribute___0 **default_attrs ; struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject___0 *kobj ) ; void const *(*namespace)(struct kobject___0 *kobj ) ; }; struct kmem_cache_cpu___0 { void **freelist ; unsigned long tid ; struct page___0 *page ; struct page___0 *partial ; unsigned int stat[26] ; }; struct kmem_cache___0 { struct kmem_cache_cpu___0 *cpu_slab ; unsigned long flags ; unsigned long min_partial ; int size ; int object_size ; int offset ; int cpu_partial ; struct kmem_cache_order_objects oo ; struct kmem_cache_order_objects max ; struct kmem_cache_order_objects min ; gfp_t allocflags ; int refcount ; void (*ctor)(void * ) ; int inuse ; int align ; int reserved ; char const *name ; struct list_head list ; struct kobject___0 kobj ; struct memcg_cache_params___0 *memcg_params ; int max_attr_size ; struct kset *memcg_kset ; int remote_node_defrag_ratio ; struct kmem_cache_node *node[1 << 10] ; }; struct __anonstruct____missing_field_name_227 { struct callback_head callback_head ; struct kmem_cache___0 *memcg_caches[0] ; }; struct __anonstruct____missing_field_name_228 { struct mem_cgroup *memcg ; struct list_head list ; struct kmem_cache___0 *root_cache ; atomic_t nr_pages ; }; union __anonunion____missing_field_name_226 { struct __anonstruct____missing_field_name_227 __annonCompField50 ; struct __anonstruct____missing_field_name_228 __annonCompField51 ; }; struct memcg_cache_params___0 { bool is_root_cache ; union __anonunion____missing_field_name_226 __annonCompField52 ; }; long ldv__builtin_expect(long exp , long c ) ; extern int printk(char const * , ...) ; extern int __dynamic_pr_debug(struct _ddebug * , char const * , ...) ; extern void might_fault(void) ; extern void __bad_percpu_size(void) ; extern int memcmp(void const * , void const * , size_t ) ; __inline static void atomic_set(atomic_t *v , int i ) { { v->counter = i; return; } } extern unsigned long kernel_stack ; __inline static struct thread_info *current_thread_info(void) { struct thread_info *ti ; unsigned long pfo_ret__ ; { switch (8UL) { case 1UL: __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "p" (& kernel_stack)); goto ldv_5945; case 2UL: __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& kernel_stack)); goto ldv_5945; case 4UL: __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& kernel_stack)); goto ldv_5945; case 8UL: __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& kernel_stack)); goto ldv_5945; default: __bad_percpu_size(); } ldv_5945: ti = (struct thread_info *)(pfo_ret__ - 16344UL); return (ti); } } extern void __wake_up(wait_queue_head_t * , unsigned int , int , void * ) ; extern void kfree(void const * ) ; extern void *ldv_malloc(size_t); void *__kmalloc(size_t size, gfp_t t) { return ldv_malloc(size); } extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ; __inline static void *ldv_kmalloc_12(size_t size , gfp_t flags ) { void *tmp___2 ; { tmp___2 = __kmalloc(size, flags); return (tmp___2); } } __inline static void *kmalloc(size_t size , gfp_t flags ) ; __inline static void *kzalloc(size_t size , gfp_t flags ) ; void ldv_check_alloc_flags(gfp_t flags ) ; extern void *malloc(size_t size ) ; extern void *calloc(size_t nmemb , size_t size ) ; extern int __VERIFIER_nondet_int(void) ; extern unsigned long __VERIFIER_nondet_ulong(void) ; extern void abort(void); void assume_abort_if_not(int cond) { if(!cond) {abort();} } __inline static bool IS_ERR(void const *ptr ) ; void *ldv_malloc(size_t size ) { void *p ; void *tmp ; int tmp___0 ; { tmp___0 = __VERIFIER_nondet_int(); if (tmp___0 != 0) { return ((void *)0); } else { tmp = malloc(size); p = tmp; assume_abort_if_not((unsigned long )p != (unsigned long )((void *)0)); assume_abort_if_not(IS_ERR(p) == 0); return (p); } } } void *ldv_zalloc(size_t size ) { void *p ; void *tmp ; int tmp___0 ; { tmp___0 = __VERIFIER_nondet_int(); if (tmp___0 != 0) { return ((void *)0); } else { tmp = calloc(1UL, size); p = tmp; assume_abort_if_not((unsigned long )p != (unsigned long )((void *)0)); assume_abort_if_not(IS_ERR(p) == 0); return (p); } } } int ldv_undef_int(void) { int tmp ; { tmp = __VERIFIER_nondet_int(); return (tmp); } } unsigned long ldv_undef_ulong(void) { unsigned long tmp ; { tmp = __VERIFIER_nondet_ulong(); return (tmp); } } __inline static void ldv_error(void) { { ERROR: ; {reach_error();} } } long ldv__builtin_expect(long exp , long c ) { { return (exp); } } void ldv__builtin_trap(void) { { ldv_error(); return; } } int LDV_IN_INTERRUPT = 1; extern ssize_t vfs_read(struct file * , char * , size_t , loff_t * ) ; extern unsigned long _copy_from_user(void * , void const * , unsigned int ) ; extern void __copy_from_user_overflow(void) ; __inline static unsigned long copy_from_user(void *to , void const *from , unsigned long n ) { int sz ; unsigned long tmp ; long tmp___0 ; long tmp___1 ; { tmp = __builtin_object_size((void const *)to, 0); sz = (int )tmp; might_fault(); tmp___0 = ldv__builtin_expect(sz < 0, 1L); if (tmp___0 != 0L) { n = _copy_from_user(to, from, (unsigned int )n); } else { tmp___1 = ldv__builtin_expect((unsigned long )sz >= n, 1L); if (tmp___1 != 0L) { n = _copy_from_user(to, from, (unsigned int )n); } else { __copy_from_user_overflow(); } } return (n); } } extern struct sk_buff *skb_clone(struct sk_buff * , gfp_t ) ; struct sk_buff *ldv_skb_clone_24(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_32(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; extern struct sk_buff *skb_copy(struct sk_buff const * , gfp_t ) ; struct sk_buff *ldv_skb_copy_26(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; extern int pskb_expand_head(struct sk_buff * , int , int , gfp_t ) ; int ldv_pskb_expand_head_22(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_30(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_31(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; extern struct sk_buff *__netdev_alloc_skb(struct net_device * , unsigned int , gfp_t ) ; void *ldv_malloc(size_t size ) ; struct sk_buff *ldv___netdev_alloc_skb_27(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_28(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_29(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; int ddr_init(struct bcm_mini_adapter *Adapter ) ; int rdm(struct bcm_mini_adapter *Adapter , unsigned int uiAddress , PCHAR pucBuff , size_t sSize ) ; int wrm(struct bcm_mini_adapter *Adapter , unsigned int uiAddress , PCHAR pucBuff , size_t sSize ) ; int wrmalt(struct bcm_mini_adapter *Adapter , unsigned int uiAddress , unsigned int *pucBuff , size_t size ) ; void beceem_parse_target_struct(struct bcm_mini_adapter *Adapter ) ; int bcm_ioctl_fw_download(struct bcm_mini_adapter *Adapter , struct bcm_firmware_info *psFwInfo ) ; int InitLedSettings(struct bcm_mini_adapter *Adapter ) ; INT PropagateCalParamsFromFlashToMemory(struct bcm_mini_adapter *Adapter ) ; INT BcmInitNVM(struct bcm_mini_adapter *ps_adapter ) ; INT buffDnldVerify(struct bcm_mini_adapter *Adapter , unsigned char *mappedbuffer , unsigned int u32FirmwareLength , unsigned long u32StartingAddress ) ; INT InterfaceRDM(struct bcm_interface_adapter *psIntfAdapter , unsigned int addr , void *buff , int len ) ; INT InterfaceWRM(struct bcm_interface_adapter *psIntfAdapter , unsigned int addr , void *buff , int len ) ; int InterfaceFileDownload(PVOID arg , struct file *flp , unsigned int on_chip_loc ) ; int InterfaceFileReadbackFromChip(PVOID arg , struct file *flp , unsigned int on_chip_loc ) ; int InterfaceFileDownload(PVOID arg , struct file *flp , unsigned int on_chip_loc ) { mm_segment_t oldfs ; int errno ; int len ; loff_t pos ; struct bcm_interface_adapter *psIntfAdapter ; char *buff ; void *tmp ; struct thread_info *tmp___0 ; struct thread_info *tmp___1 ; mm_segment_t __constr_expr_0 ; ssize_t tmp___2 ; struct thread_info *tmp___3 ; { oldfs.seg = 0UL; errno = 0; len = 0; pos = 0LL; psIntfAdapter = (struct bcm_interface_adapter *)arg; tmp = kmalloc(2048UL, 208U); buff = (char *)tmp; if ((unsigned long )buff == (unsigned long )((char *)0)) { return (-12); } else { } ldv_51724: tmp___0 = current_thread_info(); oldfs = tmp___0->addr_limit; tmp___1 = current_thread_info(); __constr_expr_0.seg = 0xffffffffffffffffUL; tmp___1->addr_limit = __constr_expr_0; tmp___2 = vfs_read(flp, buff, 2048UL, & pos); len = (int )tmp___2; tmp___3 = current_thread_info(); tmp___3->addr_limit = oldfs; if (len <= 0) { if (len < 0) { errno = len; } else { errno = 0; } goto ldv_51723; } else { } errno = InterfaceWRM(psIntfAdapter, on_chip_loc, (PVOID )buff, len); if (errno != 0) { goto ldv_51723; } else { } on_chip_loc = on_chip_loc + 2048U; goto ldv_51724; ldv_51723: kfree((void const *)buff); return (errno); } } int InterfaceFileReadbackFromChip(PVOID arg , struct file *flp , unsigned int on_chip_loc ) { char *buff ; char *buff_readback ; unsigned int reg ; mm_segment_t oldfs ; int errno ; int len ; int is_config_file ; loff_t pos ; int fw_down ; INT Status ; struct bcm_interface_adapter *psIntfAdapter ; int bytes ; void *tmp ; void *tmp___0 ; struct thread_info *tmp___1 ; struct thread_info *tmp___2 ; mm_segment_t __constr_expr_0 ; ssize_t tmp___3 ; struct thread_info *tmp___4 ; int tmp___5 ; { reg = 0U; oldfs.seg = 0UL; errno = 0; len = 0; is_config_file = 0; pos = 0LL; Status = 0; psIntfAdapter = (struct bcm_interface_adapter *)arg; tmp = kzalloc(2048UL, 1U); buff = (char *)tmp; tmp___0 = kzalloc(2048UL, 1U); buff_readback = (char *)tmp___0; if ((unsigned long )buff == (unsigned long )((char *)0) || (unsigned long )buff_readback == (unsigned long )((char *)0)) { kfree((void const *)buff); kfree((void const *)buff_readback); return (-12); } else { } is_config_file = on_chip_loc == 3210784768U; ldv_51748: tmp___1 = current_thread_info(); oldfs = tmp___1->addr_limit; tmp___2 = current_thread_info(); __constr_expr_0.seg = 0xffffffffffffffffUL; tmp___2->addr_limit = __constr_expr_0; tmp___3 = vfs_read(flp, buff, 2048UL, & pos); len = (int )tmp___3; tmp___4 = current_thread_info(); tmp___4->addr_limit = oldfs; fw_down = fw_down + 1; if (len <= 0) { if (len < 0) { errno = len; } else { errno = 0; } goto ldv_51743; } else { } bytes = InterfaceRDM(psIntfAdapter, on_chip_loc, (PVOID )buff_readback, len); if (bytes < 0) { Status = bytes; goto exit; } else { } reg = reg + 1U; if ((unsigned long )len - 4UL <= 3UL) { tmp___5 = memcmp((void const *)buff_readback, (void const *)buff, (size_t )len); if (tmp___5 != 0) { Status = -5; goto exit; } else { } } else { len = len + -4; goto ldv_51746; ldv_51745: ; if (*((unsigned int *)buff_readback + (unsigned long )len) != *((unsigned int *)buff + (unsigned long )len)) { Status = -5; goto exit; } else { } len = len + -4; ldv_51746: ; if (len != 0) { goto ldv_51745; } else { } } on_chip_loc = on_chip_loc + 2048U; goto ldv_51748; ldv_51743: ; exit: kfree((void const *)buff); kfree((void const *)buff_readback); return (Status); } } static int bcm_download_config_file(struct bcm_mini_adapter *Adapter , struct bcm_firmware_info *psFwInfo ) { int retval ; B_UINT32 value ; void *tmp ; unsigned long tmp___0 ; struct _ddebug descriptor___0 ; long tmp___2 ; { retval = 0; value = 0U; if ((unsigned long )Adapter->pstargetparams == (unsigned long )((struct bcm_target_params *)0)) { tmp = kmalloc(144UL, 208U); Adapter->pstargetparams = (struct bcm_target_params *)tmp; if ((unsigned long )Adapter->pstargetparams == (unsigned long )((struct bcm_target_params *)0)) { return (-12); } else { } } else { } if (psFwInfo->u32FirmwareLength != 144UL) { return (-5); } else { } tmp___0 = copy_from_user((void *)Adapter->pstargetparams, (void const *)psFwInfo->pvMappedFirmwareAddress, psFwInfo->u32FirmwareLength); retval = (int )tmp___0; if (retval != 0) { kfree((void const *)Adapter->pstargetparams); Adapter->pstargetparams = (struct bcm_target_params *)0; return (-14); } else { } beceem_parse_target_struct(Adapter); BcmInitNVM(Adapter); retval = InitLedSettings(Adapter); if (retval != 0) { return (retval); } else { } if (Adapter->LEDInfo.led_thread_running & 1) { Adapter->LEDInfo.bLedInitDone = 0; Adapter->DriverState = 1; __wake_up(& Adapter->LEDInfo.notify_led_event, 3U, 1, (void *)0); } else { } if (Adapter->LEDInfo.led_thread_running & 1) { Adapter->DriverState = 2; __wake_up(& Adapter->LEDInfo.notify_led_event, 3U, 1, (void *)0); } else { } retval = ddr_init(Adapter); if (retval != 0) { return (retval); } else { } value = 0U; wrmalt(Adapter, 3215982596U, & value, 4UL); wrmalt(Adapter, 3215982592U, & value, 4UL); if ((unsigned int )Adapter->eNVMType == 2U) { retval = PropagateCalParamsFromFlashToMemory(Adapter); if (retval != 0) { return (retval); } else { } } else { } retval = buffDnldVerify(Adapter, (unsigned char *)Adapter->pstargetparams, 144U, 3210784768UL); if (retval != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_download_config_file"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceDld.o.c.prepared"; descriptor___0.format = "%s:\nconfiguration file not downloaded properly"; descriptor___0.lineno = 223U; descriptor___0.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nconfiguration file not downloaded properly", "bcm_download_config_file"); } else { } } else { } } else { Adapter->bCfgDownloaded = 1; } return (retval); } } int bcm_ioctl_fw_download(struct bcm_mini_adapter *Adapter , struct bcm_firmware_info *psFwInfo ) { int retval ; PUCHAR buff ; void *tmp ; unsigned long tmp___0 ; { retval = 0; buff = (PUCHAR )0U; atomic_set(& Adapter->uiMBupdate, 0); if (! Adapter->bCfgDownloaded && psFwInfo->u32StartingAddress != 3210784768UL) { return (-22); } else { } if (psFwInfo->u32StartingAddress == 3210784768UL) { retval = bcm_download_config_file(Adapter, psFwInfo); } else { tmp = kzalloc(psFwInfo->u32FirmwareLength, 208U); buff = (PUCHAR )tmp; if ((unsigned long )buff == (unsigned long )((PUCHAR )0U)) { return (-12); } else { } tmp___0 = copy_from_user((void *)buff, (void const *)psFwInfo->pvMappedFirmwareAddress, psFwInfo->u32FirmwareLength); retval = (int )tmp___0; if (retval != 0) { retval = -14; goto error; } else { } retval = buffDnldVerify(Adapter, buff, (unsigned int )psFwInfo->u32FirmwareLength, psFwInfo->u32StartingAddress); if (retval != 0) { goto error; } else { } } error: kfree((void const *)buff); return (retval); } } static INT buffDnld(struct bcm_mini_adapter *Adapter , PUCHAR mappedbuffer , UINT u32FirmwareLength , ULONG u32StartingAddress ) { unsigned int len ; int retval ; { len = 0U; retval = 0; len = u32FirmwareLength; goto ldv_51775; ldv_51774: len = 2048U < u32FirmwareLength ? 2048U : u32FirmwareLength; retval = wrm(Adapter, (UINT )u32StartingAddress, (PCHAR )mappedbuffer, (size_t )len); if (retval != 0) { goto ldv_51773; } else { } u32StartingAddress = (ULONG )len + u32StartingAddress; u32FirmwareLength = u32FirmwareLength - len; mappedbuffer = mappedbuffer + (unsigned long )len; ldv_51775: ; if (u32FirmwareLength != 0U) { goto ldv_51774; } else { } ldv_51773: ; return (retval); } } static INT buffRdbkVerify(struct bcm_mini_adapter *Adapter , PUCHAR mappedbuffer , UINT u32FirmwareLength , ULONG u32StartingAddress ) { UINT len ; INT retval ; PUCHAR readbackbuff ; void *tmp ; int bytes ; int tmp___0 ; { len = u32FirmwareLength; retval = 0; tmp = kzalloc(2048UL, 208U); readbackbuff = (PUCHAR )tmp; if ((unsigned long )readbackbuff == (unsigned long )((PUCHAR )0U)) { return (-12); } else { } goto ldv_51789; ldv_51788: len = 2048U < u32FirmwareLength ? 2048U : u32FirmwareLength; bytes = rdm(Adapter, (UINT )u32StartingAddress, (PCHAR )readbackbuff, (size_t )len); if (bytes < 0) { retval = bytes; goto ldv_51786; } else { } tmp___0 = memcmp((void const *)readbackbuff, (void const *)mappedbuffer, (size_t )len); if (tmp___0 != 0) { printk("\v%s() failed. The firmware doesn\'t match what was written", "buffRdbkVerify"); retval = -5; } else { } u32StartingAddress = (ULONG )len + u32StartingAddress; u32FirmwareLength = u32FirmwareLength - len; mappedbuffer = mappedbuffer + (unsigned long )len; ldv_51789: ; if (u32FirmwareLength != 0U && retval == 0) { goto ldv_51788; } else { } ldv_51786: kfree((void const *)readbackbuff); return (retval); } } INT buffDnldVerify(struct bcm_mini_adapter *Adapter , unsigned char *mappedbuffer , unsigned int u32FirmwareLength , unsigned long u32StartingAddress ) { INT status ; { status = 0; status = buffDnld(Adapter, mappedbuffer, u32FirmwareLength, u32StartingAddress); if (status != 0) { goto error; } else { } status = buffRdbkVerify(Adapter, mappedbuffer, u32FirmwareLength, u32StartingAddress); if (status != 0) { } else { } error: ; return (status); } } __inline static void *kmalloc(size_t size , gfp_t flags ) { { ldv_check_alloc_flags(flags); ldv_kmalloc_12(size, flags); return ((void *)0); } } void *ldv_zalloc(size_t size ) ; __inline static void *kzalloc(size_t size , gfp_t flags ) { { ldv_check_alloc_flags(flags); return ((void *)0); } } int ldv_pskb_expand_head_22(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_24(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_26(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_27(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_28(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_29(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_30(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_31(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_32(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } __inline static __u32 __arch_swab32(__u32 val ) { { __asm__ ("bswapl %0": "=r" (val): "0" (val)); return (val); } } __inline static __u32 __fswab32(__u32 val ) { __u32 tmp ; { tmp = __arch_swab32(val); return (tmp); } } extern unsigned long volatile jiffies ; extern unsigned long msecs_to_jiffies(unsigned int const ) ; struct sk_buff *ldv_skb_clone_68(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_76(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_70(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_66(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_74(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_75(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_71(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_72(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_73(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; extern int usb_autopm_get_interface(struct usb_interface * ) ; extern int usb_interrupt_msg(struct usb_device * , unsigned int , void * , int , int * , int ) ; __inline static unsigned int __create_pipe(struct usb_device *dev , unsigned int endpoint ) { { return ((unsigned int )(dev->devnum << 8) | (endpoint << 15)); } } int rdmalt(struct bcm_mini_adapter *Adapter , unsigned int uiAddress , unsigned int *pucBuff , size_t size ) ; void SendIdleModeResponse(struct bcm_mini_adapter *Adapter ) ; VOID OverrideServiceFlowParams(struct bcm_mini_adapter *Adapter , PUINT puiBuffer ) ; INT InterfaceIdleModeWakeup(struct bcm_mini_adapter *Adapter ) ; INT InterfaceIdleModeRespond(struct bcm_mini_adapter *Adapter , unsigned int *puiBuffer ) ; VOID InterfaceHandleShutdownModeWakeup(struct bcm_mini_adapter *Adapter ) ; INT InterfaceIdleModeRespond(struct bcm_mini_adapter *Adapter , unsigned int *puiBuffer ) { int status ; unsigned int uiRegRead ; int bytes ; __u32 tmp ; __u32 tmp___0 ; __u32 tmp___1 ; { status = 0; uiRegRead = 0U; tmp___1 = __fswab32(*puiBuffer); if (tmp___1 == 210U) { tmp = __fswab32(*(puiBuffer + 1UL)); if (tmp == 0U) { status = wrmalt(Adapter, 267395068U, & uiRegRead, 4UL); if (status != 0) { return (status); } else { } if (Adapter->ulPowerSaveMode == 0UL) { uiRegRead = 0U; status = wrmalt(Adapter, 251658364U, & uiRegRead, 4UL); if (status != 0) { return (status); } else { } } else if (Adapter->ulPowerSaveMode != 4UL) { bytes = rdmalt(Adapter, 251730032U, & uiRegRead, 4UL); if (bytes < 0) { status = bytes; return (status); } else { } bytes = rdmalt(Adapter, 251730036U, & uiRegRead, 4UL); if (bytes < 0) { status = bytes; return (status); } else { } } else { } Adapter->IdleMode = 0; Adapter->bTriedToWakeUpFromlowPowerMode = 0; __wake_up(& Adapter->lowpower_mode_wait_queue, 3U, 1, (void *)0); } else { if ((int )Adapter->IdleMode) { return (status); } else { } uiRegRead = 0U; if (((Adapter->chip_id == 3201184529UL || Adapter->chip_id == 3201184528UL) || Adapter->chip_id == 3201184513UL) || Adapter->chip_id == 3201184545UL) { bytes = rdmalt(Adapter, 251661656U, & uiRegRead, 4UL); if (bytes < 0) { status = bytes; return (status); } else { } uiRegRead = uiRegRead | 131072U; status = wrmalt(Adapter, 251661656U, & uiRegRead, 4UL); if (status != 0) { return (status); } else { } } else { } SendIdleModeResponse(Adapter); } } else { tmp___0 = __fswab32(*puiBuffer); if (tmp___0 == 187U) { OverrideServiceFlowParams(Adapter, puiBuffer); } else { } } return (status); } } static int InterfaceAbortIdlemode(struct bcm_mini_adapter *Adapter , unsigned int Pattern ) { int status ; unsigned int value ; unsigned int chip_id ; unsigned long timeout ; unsigned long itr ; int lenwritten ; unsigned char aucAbortPattern[8U] ; struct bcm_interface_adapter *psInterfaceAdapter ; unsigned int tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; unsigned long tmp___2 ; struct _ddebug descriptor___2 ; long tmp___4 ; struct _ddebug descriptor___4 ; long tmp___6 ; { status = 0; timeout = 0UL; itr = 0UL; lenwritten = 0; aucAbortPattern[0] = 255U; aucAbortPattern[1] = 255U; aucAbortPattern[2] = 255U; aucAbortPattern[3] = 255U; aucAbortPattern[4] = 255U; aucAbortPattern[5] = 255U; aucAbortPattern[6] = 255U; aucAbortPattern[7] = 255U; psInterfaceAdapter = (struct bcm_interface_adapter *)Adapter->pvInterfaceAdapter; if ((int )psInterfaceAdapter->bSuspended && (int )Adapter->bDoSuspend) { status = usb_autopm_get_interface(psInterfaceAdapter->interface); } else { } if (Adapter->ulPowerSaveMode == 0UL || Adapter->ulPowerSaveMode == 4UL) { status = wrmalt(Adapter, 267395068U, & Pattern, 4UL); if (status != 0) { return (status); } else { } } else { } if (Adapter->ulPowerSaveMode == 0UL) { value = 2147483648U; status = wrmalt(Adapter, 251658364U, & value, 4UL); if (status != 0) { return (status); } else { } } else if (Adapter->ulPowerSaveMode != 4UL) { tmp = __create_pipe(psInterfaceAdapter->udev, (unsigned int )psInterfaceAdapter->sIntrOut.int_out_endpointAddr); status = usb_interrupt_msg(psInterfaceAdapter->udev, tmp | 1073741824U, (void *)(& aucAbortPattern), 8, & lenwritten, 5000); if (status != 0) { return (status); } else if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 8192U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "InterfaceAbortIdlemode"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceIdleMode.o.c.prepared"; descriptor___0.format = "%s:\nNOB Sent down :%d"; descriptor___0.lineno = 230U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nNOB Sent down :%d", "InterfaceAbortIdlemode", lenwritten); } else { } } else { } tmp___2 = msecs_to_jiffies(50U); timeout = tmp___2 + (unsigned long )jiffies; goto ldv_51741; ldv_51740: itr = itr + 1UL; rdmalt(Adapter, 251658240U, & chip_id, 4UL); if ((chip_id & 4294967055U) == 3201184256U) { chip_id = chip_id & 4294967055U; } else { } if ((unsigned long )chip_id == Adapter->chip_id) { goto ldv_51739; } else { } ldv_51741: ; if ((long )((unsigned long )jiffies - timeout) < 0L) { goto ldv_51740; } else { } ldv_51739: ; if ((long )(timeout - (unsigned long )jiffies) < 0L) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 8192U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "InterfaceAbortIdlemode"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceIdleMode.o.c.prepared"; descriptor___2.format = "%s:\nNot able to read chip-id even after 25 msec"; descriptor___2.lineno = 246U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nNot able to read chip-id even after 25 msec", "InterfaceAbortIdlemode"); } else { } } else { } } else if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 8192U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "InterfaceAbortIdlemode"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceIdleMode.o.c.prepared"; descriptor___4.format = "%s:\nNumber of completed iteration toread chip-id :%lu"; descriptor___4.lineno = 251U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nNumber of completed iteration toread chip-id :%lu", "InterfaceAbortIdlemode", itr); } else { } } else { } status = wrmalt(Adapter, 267395068U, & Pattern, 4UL); if (status != 0) { return (status); } else { } } else { } return (status); } } INT InterfaceIdleModeWakeup(struct bcm_mini_adapter *Adapter ) { struct _ddebug descriptor___0 ; long tmp___0 ; { if ((int )Adapter->bTriedToWakeUpFromlowPowerMode) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 8192U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "InterfaceIdleModeWakeup"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceIdleMode.o.c.prepared"; descriptor___0.format = "%s:\nWake up already attempted.. ignoring\n"; descriptor___0.lineno = 265U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nWake up already attempted.. ignoring\n", "InterfaceIdleModeWakeup"); } else { } } else { } } else { Adapter->bTriedToWakeUpFromlowPowerMode = 1; InterfaceAbortIdlemode(Adapter, Adapter->usIdleModePattern); } return (0); } } VOID InterfaceHandleShutdownModeWakeup(struct bcm_mini_adapter *Adapter ) { unsigned int uiRegVal ; INT Status ; int bytes ; { uiRegVal = 0U; Status = 0; if (Adapter->ulPowerSaveMode == 0UL) { uiRegVal = 0U; Status = wrmalt(Adapter, 251658364U, & uiRegVal, 4UL); if (Status != 0) { return; } else { } } else { bytes = rdmalt(Adapter, 251730032U, & uiRegVal, 4UL); if (bytes < 0) { Status = bytes; return; } else { } bytes = rdmalt(Adapter, 251730036U, & uiRegVal, 4UL); if (bytes < 0) { Status = bytes; return; } else { } } return; } } int ldv_pskb_expand_head_66(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_68(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_70(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_71(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_72(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_73(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_74(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_75(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_76(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } extern struct module __this_module ; __inline static void INIT_LIST_HEAD(struct list_head *list ) { { list->next = list; list->prev = list; return; } } extern void *memset(void * , int , size_t ) ; __inline static long PTR_ERR(void const *ptr ) { { return ((long )ptr); } } __inline static bool IS_ERR(void const *ptr ) { long tmp ; { tmp = ldv__builtin_expect((unsigned long )ptr > 0xfffffffffffff000UL, 0L); return (tmp != 0L); } } extern void lockdep_init_map(struct lockdep_map * , char const * , struct lock_class_key * , int ) ; extern long prepare_to_wait_event(wait_queue_head_t * , wait_queue_t * , int ) ; extern void finish_wait(wait_queue_head_t * , wait_queue_t * ) ; extern void __init_work(struct work_struct * , int ) ; __inline static void *kmalloc(size_t size , gfp_t flags ) ; __inline static void *kzalloc(size_t size , gfp_t flags ) ; __inline static void ldv_stop(void) { { LDV_STOP: ; goto LDV_STOP; } } struct net_device *bcm_ethtool_ops_group0 ; int ldv_state_variable_0 ; int ldv_state_variable_3 ; struct inode *bcm_fops_group1 ; int ldv_state_variable_2 ; int ref_cnt ; struct file *bcm_fops_group2 ; int ldv_state_variable_1 ; struct net_device *bcmNetDevOps_group1 ; int usb_counter ; struct usb_interface *usbbcm_driver_group1 ; int ldv_state_variable_4 ; void ldv_initialize_ethtool_ops_2(void) ; void ldv_usb_driver_4(void) ; extern struct class *__class_create(struct module * , char const * , struct lock_class_key * ) ; extern void class_destroy(struct class * ) ; extern int device_init_wakeup(struct device * , bool ) ; __inline static void *dev_get_drvdata(struct device const *dev ) { { return ((void *)dev->driver_data); } } __inline static void dev_set_drvdata(struct device *dev , void *data ) { { dev->driver_data = data; return; } } extern int dev_err(struct device const * , char const * , ...) ; extern int _dev_info(struct device const * , char const * , ...) ; extern void __const_udelay(unsigned long ) ; extern void msleep(unsigned int ) ; extern long schedule_timeout(long ) ; struct sk_buff *ldv_skb_clone_112(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_120(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_114(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_110(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_118(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_119(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_115(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_116(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_117(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; __inline static void *netdev_priv(struct net_device const *dev ) { { return ((void *)dev + 3264U); } } extern void netif_device_detach(struct net_device * ) ; __inline static u32 netif_msg_init(int debug_value , int default_msg_enable_bits ) { { if (debug_value < 0 || (unsigned int )debug_value > 31U) { return ((u32 )default_msg_enable_bits); } else { } if (debug_value == 0) { return (0U); } else { } return ((u32 )((1 << debug_value) + -1)); } } extern struct net_device *alloc_etherdev_mqs(int , unsigned int , unsigned int ) ; __inline static int usb_endpoint_dir_in(struct usb_endpoint_descriptor const *epd ) { { return ((int )((signed char )epd->bEndpointAddress) < 0); } } __inline static int usb_endpoint_dir_out(struct usb_endpoint_descriptor const *epd ) { { return ((int )((signed char )epd->bEndpointAddress) >= 0); } } __inline static int usb_endpoint_xfer_bulk(struct usb_endpoint_descriptor const *epd ) { { return (((int )epd->bmAttributes & 3) == 2); } } __inline static int usb_endpoint_xfer_int(struct usb_endpoint_descriptor const *epd ) { { return (((int )epd->bmAttributes & 3) == 3); } } __inline static int usb_endpoint_is_bulk_in(struct usb_endpoint_descriptor const *epd ) { int tmp ; int tmp___0 ; int tmp___1 ; { tmp = usb_endpoint_xfer_bulk(epd); if (tmp != 0) { tmp___0 = usb_endpoint_dir_in(epd); if (tmp___0 != 0) { tmp___1 = 1; } else { tmp___1 = 0; } } else { tmp___1 = 0; } return (tmp___1); } } __inline static int usb_endpoint_is_bulk_out(struct usb_endpoint_descriptor const *epd ) { int tmp ; int tmp___0 ; int tmp___1 ; { tmp = usb_endpoint_xfer_bulk(epd); if (tmp != 0) { tmp___0 = usb_endpoint_dir_out(epd); if (tmp___0 != 0) { tmp___1 = 1; } else { tmp___1 = 0; } } else { tmp___1 = 0; } return (tmp___1); } } __inline static int usb_endpoint_is_int_in(struct usb_endpoint_descriptor const *epd ) { int tmp ; int tmp___0 ; int tmp___1 ; { tmp = usb_endpoint_xfer_int(epd); if (tmp != 0) { tmp___0 = usb_endpoint_dir_in(epd); if (tmp___0 != 0) { tmp___1 = 1; } else { tmp___1 = 0; } } else { tmp___1 = 0; } return (tmp___1); } } __inline static int usb_endpoint_is_int_out(struct usb_endpoint_descriptor const *epd ) { int tmp ; int tmp___0 ; int tmp___1 ; { tmp = usb_endpoint_xfer_int(epd); if (tmp != 0) { tmp___0 = usb_endpoint_dir_out(epd); if (tmp___0 != 0) { tmp___1 = 1; } else { tmp___1 = 0; } } else { tmp___1 = 0; } return (tmp___1); } } extern void pm_runtime_set_autosuspend_delay(struct device * , int ) ; __inline static void *usb_get_intfdata(struct usb_interface *intf ) { void *tmp ; { tmp = dev_get_drvdata((struct device const *)(& intf->dev)); return (tmp); } } __inline static void usb_set_intfdata(struct usb_interface *intf , void *data ) { { dev_set_drvdata(& intf->dev, data); return; } } __inline static struct usb_device *interface_to_usbdev(struct usb_interface *intf ) { struct device const *__mptr ; { __mptr = (struct device const *)intf->dev.parent; return ((struct usb_device *)__mptr + 0xffffffffffffff70UL); } } extern struct usb_device *usb_get_dev(struct usb_device * ) ; extern void usb_put_dev(struct usb_device * ) ; extern int usb_reset_device(struct usb_device * ) ; extern void usb_enable_autosuspend(struct usb_device * ) ; extern void usb_disable_autosuspend(struct usb_device * ) ; extern int usb_register_driver(struct usb_driver * , struct module * , char const * ) ; int ldv_usb_register_driver_124(struct usb_driver *ldv_func_arg1 , struct module *ldv_func_arg2 , char const *ldv_func_arg3 ) ; extern void usb_deregister(struct usb_driver * ) ; void ldv_usb_deregister_125(struct usb_driver *arg ) ; extern struct urb *usb_alloc_urb(int , gfp_t ) ; struct urb *ldv_usb_alloc_urb_122(int ldv_func_arg1 , gfp_t flags ) ; struct urb *ldv_usb_alloc_urb_123(int ldv_func_arg1 , gfp_t flags ) ; extern void usb_free_urb(struct urb * ) ; extern int usb_set_interface(struct usb_device * , int , int ) ; int InitAdapter(struct bcm_mini_adapter *psAdapter ) ; int register_control_device_interface(struct bcm_mini_adapter *Adapter ) ; VOID AdapterFree(struct bcm_mini_adapter *Adapter ) ; int reset_card_proc(struct bcm_mini_adapter *ps_adapter ) ; int InitCardAndDownloadFirmware(struct bcm_mini_adapter *ps_adapter ) ; INT BeceemEEPROMBulkRead(struct bcm_mini_adapter *Adapter , PUINT pBuffer , unsigned int uiOffset , unsigned int uiNumBytes ) ; INT BeceemEEPROMBulkWrite(struct bcm_mini_adapter *Adapter , PUCHAR pBuffer , unsigned int uiOffset , unsigned int uiNumBytes , bool bVerify ) ; INT ReadBeceemEEPROM(struct bcm_mini_adapter *Adapter , unsigned int uiOffset , unsigned int *pBuffer ) ; VOID putUsbSuspend(struct work_struct *work ) ; int CreateInterruptUrb(struct bcm_interface_adapter *psIntfAdapter ) ; INT StartInterruptUrb(struct bcm_interface_adapter *psIntfAdapter ) ; int BcmRDM(void *arg , unsigned int addr , void *buff , int len ) ; int BcmWRM(void *arg , unsigned int addr , void *buff , int len ) ; bool InterfaceRx(struct bcm_interface_adapter *psIntfAdapter ) ; INT InterfaceTransmitPacket(PVOID arg , PVOID data , UINT len ) ; struct class *bcm_class ; static struct usb_device_id InterfaceUsbtable[10U] = { {3U, 6543U, 768U, (unsigned short)0, (unsigned short)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, 0UL}, {3U, 6543U, 528U, (unsigned short)0, (unsigned short)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, 0UL}, {3U, 6543U, 544U, (unsigned short)0, (unsigned short)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, 0UL}, {3U, 6543U, 350U, (unsigned short)0, (unsigned short)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, 0UL}, {3U, 6610U, 306U, (unsigned short)0, (unsigned short)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, 0UL}, {3U, 1161U, 57367U, (unsigned short)0, (unsigned short)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, 0UL}, {3U, 6610U, 7U, (unsigned short)0, (unsigned short)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, 0UL}, {3U, 6610U, 370U, (unsigned short)0, (unsigned short)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, 0UL}, {3U, 6610U, 371U, (unsigned short)0, (unsigned short)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, 0UL}}; struct usb_device_id const __mod_usb__InterfaceUsbtable_device_table ; static int debug = -1; static unsigned int const default_msg = 255U; static int InterfaceAdapterInit(struct bcm_interface_adapter *psIntfAdapter ) ; static void InterfaceAdapterFree(struct bcm_interface_adapter *psIntfAdapter ) { int i ; struct _ddebug descriptor___0 ; long tmp___0 ; { i = 0; if ((psIntfAdapter->psAdapter)->LEDInfo.led_thread_running & 1) { (psIntfAdapter->psAdapter)->DriverState = 255; __wake_up(& (psIntfAdapter->psAdapter)->LEDInfo.notify_led_event, 3U, 1, (void *)0); } else { } reset_card_proc(psIntfAdapter->psAdapter); goto ldv_51766; ldv_51765: ; if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && (int )(psIntfAdapter->psAdapter)->stDebugState.type & 1) && (int )(psIntfAdapter->psAdapter)->stDebugState.subtype[1] & 1) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "InterfaceAdapterFree"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceInit.o.c.prepared"; descriptor___0.format = "%s:\nDevice is being accessed.\n"; descriptor___0.lineno = 85U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nDevice is being accessed.\n", "InterfaceAdapterFree"); } else { } } else { } msleep(100U); ldv_51766: ; if ((int )(psIntfAdapter->psAdapter)->DeviceAccess) { goto ldv_51765; } else { } usb_free_urb(psIntfAdapter->psInterruptUrb); i = 0; goto ldv_51769; ldv_51768: ; if ((unsigned long )psIntfAdapter->asUsbTcb[i].urb != (unsigned long )((struct urb *)0)) { usb_free_urb(psIntfAdapter->asUsbTcb[i].urb); psIntfAdapter->asUsbTcb[i].urb = (struct urb *)0; } else { } i = i + 1; ldv_51769: ; if (i <= 127) { goto ldv_51768; } else { } i = 0; goto ldv_51772; ldv_51771: ; if ((unsigned long )psIntfAdapter->asUsbRcb[i].urb != (unsigned long )((struct urb *)0)) { kfree((void const *)(psIntfAdapter->asUsbRcb[i].urb)->transfer_buffer); usb_free_urb(psIntfAdapter->asUsbRcb[i].urb); psIntfAdapter->asUsbRcb[i].urb = (struct urb *)0; } else { } i = i + 1; ldv_51772: ; if (i <= 127) { goto ldv_51771; } else { } AdapterFree(psIntfAdapter->psAdapter); return; } } static void ConfigureEndPointTypesThroughEEPROM(struct bcm_mini_adapter *Adapter ) { u32 ulReg ; int bytes ; struct bcm_interface_adapter *interfaceAdapter ; struct _ddebug descriptor___0 ; long tmp___0 ; __u32 tmp___1 ; { ulReg = 2685403407U; BeceemEEPROMBulkWrite(Adapter, (unsigned char *)(& ulReg), 296U, 4U, 1); ulReg = 1073741824U; BeceemEEPROMBulkWrite(Adapter, (unsigned char *)(& ulReg), 300U, 4U, 1); ulReg = 2819621135U; BeceemEEPROMBulkWrite(Adapter, (unsigned char *)(& ulReg), 306U, 4U, 1); interfaceAdapter = (struct bcm_interface_adapter *)Adapter->pvInterfaceAdapter; if ((int )interfaceAdapter->bHighSpeedDevice) { ulReg = 654311424U; BeceemEEPROMBulkWrite(Adapter, (unsigned char *)(& ulReg), 310U, 4U, 1); } else { ulReg = 620756992U; BeceemEEPROMBulkWrite(Adapter, (unsigned char *)(& ulReg), 310U, 4U, 1); } ulReg = 4027580687U; BeceemEEPROMBulkWrite(Adapter, (unsigned char *)(& ulReg), 316U, 4U, 1); ulReg = 2348810240U; BeceemEEPROMBulkWrite(Adapter, (unsigned char *)(& ulReg), 320U, 4U, 1); bytes = rdmalt(Adapter, 251728120U, & ulReg, 4UL); if (bytes < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (int )Adapter->stDebugState.subtype[1] & 1) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "ConfigureEndPointTypesThroughEEPROM"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceInit.o.c.prepared"; descriptor___0.format = "%s:\nreading of Tx EP failed\n"; descriptor___0.lineno = 145U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nreading of Tx EP failed\n", "ConfigureEndPointTypesThroughEEPROM"); } else { } } else { } return; } else { } ulReg = ulReg | 6U; tmp___1 = __fswab32(ulReg); ulReg = tmp___1; BeceemEEPROMBulkWrite(Adapter, (unsigned char *)(& ulReg), 460U, 4U, 1); ulReg = 4161798415U; BeceemEEPROMBulkWrite(Adapter, (unsigned char *)(& ulReg), 456U, 4U, 1); ulReg = 3356492047U; BeceemEEPROMBulkWrite(Adapter, (unsigned char *)(& ulReg), 466U, 4U, 1); ulReg = 0U; BeceemEEPROMBulkWrite(Adapter, (unsigned char *)(& ulReg), 470U, 4U, 1); ReadBeceemEEPROM(Adapter, 508U, & ulReg); ulReg = ulReg & 16908287U; BeceemEEPROMBulkWrite(Adapter, (unsigned char *)(& ulReg), 508U, 4U, 1); ReadBeceemEEPROM(Adapter, 168U, & ulReg); if ((ulReg & 16711680U) >> 16 > 48U) { ulReg = (ulReg & 4278255615U) | 3145728U; BeceemEEPROMBulkWrite(Adapter, (unsigned char *)(& ulReg), 168U, 4U, 1); } else { } ReadBeceemEEPROM(Adapter, 328U, & ulReg); if ((ulReg & 16711680U) >> 16 > 48U) { ulReg = (ulReg & 4278255615U) | 3145728U; BeceemEEPROMBulkWrite(Adapter, (unsigned char *)(& ulReg), 328U, 4U, 1); } else { } ulReg = 0U; BeceemEEPROMBulkWrite(Adapter, (unsigned char *)(& ulReg), 290U, 4U, 1); ulReg = 0U; BeceemEEPROMBulkWrite(Adapter, (unsigned char *)(& ulReg), 450U, 4U, 1); return; } } static int usbbcm_device_probe(struct usb_interface *intf , struct usb_device_id const *id ) { struct usb_device *udev ; struct usb_device *tmp ; int retval ; struct bcm_mini_adapter *psAdapter ; struct bcm_interface_adapter *psIntfAdapter ; struct net_device *ndev ; void *tmp___0 ; int i ; void *tmp___3 ; struct _ddebug descriptor___2 ; long tmp___5 ; struct _ddebug descriptor___4 ; long tmp___7 ; struct _ddebug descriptor___6 ; long tmp___9 ; uint32_t uiNackZeroLengthInt ; struct lock_class_key __key ; atomic_long_t __constr_expr_0 ; struct _ddebug descriptor___8 ; long tmp___11 ; { tmp = interface_to_usbdev(intf); udev = tmp; ndev = alloc_etherdev_mqs(144096, 18U, 18U); if ((unsigned long )ndev == (unsigned long )((struct net_device *)0)) { dev_err((struct device const *)(& udev->dev), "beceem: no memory for device\n"); return (-12); } else { } ndev->dev.parent = & intf->dev; tmp___0 = netdev_priv((struct net_device const *)ndev); psAdapter = (struct bcm_mini_adapter *)tmp___0; psAdapter->dev = ndev; psAdapter->msg_enable = netif_msg_init(debug, (int )default_msg); psAdapter->stDebugState.debug_level = 7U; psAdapter->stDebugState.type = 1U; psAdapter->stDebugState.subtype[1] = 255U; i = 0; goto ldv_51797; ldv_51796: ; if (((i == 1 || i == 2) || i == 4) || i == 8) { printk("\016%s:subtype[%d] = 0x%08x\n", "usbbcm_device_probe", i, psAdapter->stDebugState.subtype[i]); } else { } i = i + 1; ldv_51797: ; if (i <= 8) { goto ldv_51796; } else { } retval = InitAdapter(psAdapter); if (retval != 0) { dev_err((struct device const *)(& udev->dev), "beceem: InitAdapter Failed\n"); AdapterFree(psAdapter); return (retval); } else { } tmp___3 = kzalloc(6400UL, 208U); psIntfAdapter = (struct bcm_interface_adapter *)tmp___3; if ((unsigned long )psIntfAdapter == (unsigned long )((struct bcm_interface_adapter *)0)) { AdapterFree(psAdapter); return (-12); } else { } psAdapter->pvInterfaceAdapter = (PVOID )psIntfAdapter; psIntfAdapter->psAdapter = psAdapter; psIntfAdapter->interface = intf; usb_set_intfdata(intf, (void *)psIntfAdapter); if ((((unsigned long )psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && psAdapter->stDebugState.debug_level > 6U) && (int )psAdapter->stDebugState.type & 1) && (int )psAdapter->stDebugState.subtype[1] & 1) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "usbbcm_device_probe"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceInit.o.c.prepared"; descriptor___2.format = "%s:\npsIntfAdapter 0x%p\n"; descriptor___2.lineno = 253U; descriptor___2.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\npsIntfAdapter 0x%p\n", "usbbcm_device_probe", psIntfAdapter); } else { } } else { } retval = InterfaceAdapterInit(psIntfAdapter); if (retval != 0) { if (retval == -2) { if ((((unsigned long )psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && psAdapter->stDebugState.debug_level > 6U) && (int )psAdapter->stDebugState.type & 1) && (int )psAdapter->stDebugState.subtype[1] & 1) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "usbbcm_device_probe"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceInit.o.c.prepared"; descriptor___4.format = "%s:\nFile Not Found. Use app to download.\n"; descriptor___4.lineno = 263U; descriptor___4.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nFile Not Found. Use app to download.\n", "usbbcm_device_probe"); } else { } } else { } return (0); } else { } if ((((unsigned long )psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && psAdapter->stDebugState.debug_level > 6U) && (int )psAdapter->stDebugState.type & 1) && (int )psAdapter->stDebugState.subtype[1] & 1) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "usbbcm_device_probe"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceInit.o.c.prepared"; descriptor___6.format = "%s:\nInterfaceAdapterInit failed.\n"; descriptor___6.lineno = 267U; descriptor___6.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nInterfaceAdapterInit failed.\n", "usbbcm_device_probe"); } else { } } else { } usb_set_intfdata(intf, (void *)0); udev = interface_to_usbdev(intf); usb_put_dev(udev); InterfaceAdapterFree(psIntfAdapter); return (retval); } else { } if (psAdapter->chip_id > 3201172224UL) { uiNackZeroLengthInt = 4U; retval = wrmalt(psAdapter, 251730040U, & uiNackZeroLengthInt, 4UL); if (retval != 0) { return (retval); } else { } } else { } if (((unsigned int )(udev->actconfig)->desc.bmAttributes & 32U) != 0U) { if ((int )psAdapter->bDoSuspend) { pm_runtime_set_autosuspend_delay(& udev->dev, 0); intf->needs_remote_wakeup = 1U; usb_enable_autosuspend(udev); device_init_wakeup(& intf->dev, 1); __init_work(& psIntfAdapter->usbSuspendWork, 0); __constr_expr_0.counter = 137438953408L; psIntfAdapter->usbSuspendWork.data = __constr_expr_0; lockdep_init_map(& psIntfAdapter->usbSuspendWork.lockdep_map, "(&psIntfAdapter->usbSuspendWork)", & __key, 0); INIT_LIST_HEAD(& psIntfAdapter->usbSuspendWork.entry); psIntfAdapter->usbSuspendWork.func = & putUsbSuspend; if ((((unsigned long )psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && psAdapter->stDebugState.debug_level > 6U) && (int )psAdapter->stDebugState.type & 1) && (int )psAdapter->stDebugState.subtype[1] & 1) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "usbbcm_device_probe"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceInit.o.c.prepared"; descriptor___8.format = "%s:\nEnabling USB Auto-Suspend\n"; descriptor___8.lineno = 298U; descriptor___8.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nEnabling USB Auto-Suspend\n", "usbbcm_device_probe"); } else { } } else { } } else { intf->needs_remote_wakeup = 0U; usb_disable_autosuspend(udev); } } else { } psAdapter->stDebugState.subtype[1] = 0U; return (retval); } } static void usbbcm_disconnect(struct usb_interface *intf ) { struct bcm_interface_adapter *psIntfAdapter ; void *tmp ; struct bcm_mini_adapter *psAdapter ; struct usb_device *udev ; struct usb_device *tmp___0 ; { tmp = usb_get_intfdata(intf); psIntfAdapter = (struct bcm_interface_adapter *)tmp; tmp___0 = interface_to_usbdev(intf); udev = tmp___0; if ((unsigned long )psIntfAdapter == (unsigned long )((struct bcm_interface_adapter *)0)) { return; } else { } psAdapter = psIntfAdapter->psAdapter; netif_device_detach(psAdapter->dev); if ((int )psAdapter->bDoSuspend) { intf->needs_remote_wakeup = 0U; } else { } psAdapter->device_removed = 1; usb_set_intfdata(intf, (void *)0); InterfaceAdapterFree(psIntfAdapter); usb_put_dev(udev); return; } } static int AllocUsbCb(struct bcm_interface_adapter *psIntfAdapter ) { int i ; { i = 0; i = 0; goto ldv_51824; ldv_51823: psIntfAdapter->asUsbTcb[i].urb = ldv_usb_alloc_urb_122(0, 208U); if ((unsigned long )psIntfAdapter->asUsbTcb[i].urb == (unsigned long )((struct urb *)0)) { printk("\016%s:Can\'t allocate Tx urb for index %d\n", "AllocUsbCb", i); return (-12); } else { } i = i + 1; ldv_51824: ; if (i <= 127) { goto ldv_51823; } else { } i = 0; goto ldv_51831; ldv_51830: psIntfAdapter->asUsbRcb[i].urb = ldv_usb_alloc_urb_123(0, 208U); if ((unsigned long )psIntfAdapter->asUsbRcb[i].urb == (unsigned long )((struct urb *)0)) { printk("\016%s:Can\'t allocate Rx urb for index %d\n", "AllocUsbCb", i); return (-12); } else { } (psIntfAdapter->asUsbRcb[i].urb)->transfer_buffer = kmalloc(2048UL, 208U); if ((unsigned long )(psIntfAdapter->asUsbRcb[i].urb)->transfer_buffer == (unsigned long )((void *)0)) { printk("\016%s:Can\'t allocate Rx buffer for index %d\n", "AllocUsbCb", i); return (-12); } else { } (psIntfAdapter->asUsbRcb[i].urb)->transfer_buffer_length = 2048U; i = i + 1; ldv_51831: ; if (i <= 127) { goto ldv_51830; } else { } return (0); } } static int device_run(struct bcm_interface_adapter *psIntfAdapter ) { int value ; UINT status ; int tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; INT tmp___2 ; long __ret ; wait_queue_t __wait ; long __ret___0 ; long __int ; long tmp___3 ; bool __cond ; bool __cond___0 ; int tmp___4 ; { value = 0; status = 0U; tmp = InitCardAndDownloadFirmware(psIntfAdapter->psAdapter); status = (UINT )tmp; if (status != 0U) { printk("\vbeceemInitCardAndDownloadFirmware failed.\n"); return ((int )status); } else { } if ((int )(psIntfAdapter->psAdapter)->fw_download_done) { tmp___2 = StartInterruptUrb(psIntfAdapter); if (tmp___2 != 0) { if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && (int )(psIntfAdapter->psAdapter)->stDebugState.type & 1) && (int )(psIntfAdapter->psAdapter)->stDebugState.subtype[1] & 1) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "device_run"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceInit.o.c.prepared"; descriptor___0.format = "%s:\nCannot send interrupt in URB\n"; descriptor___0.lineno = 389U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nCannot send interrupt in URB\n", "device_run"); } else { } } else { } } else { } (psIntfAdapter->psAdapter)->waiting_to_fw_download_done = 0; __ret = 1250L; __cond___0 = (psIntfAdapter->psAdapter)->waiting_to_fw_download_done; if ((int )__cond___0 && __ret == 0L) { __ret = 1L; } else { } if (((int )__cond___0 || __ret == 0L) == 0) { __ret___0 = 1250L; INIT_LIST_HEAD(& __wait.task_list); __wait.flags = 0U; ldv_51851: tmp___3 = prepare_to_wait_event(& (psIntfAdapter->psAdapter)->ioctl_fw_dnld_wait_queue, & __wait, 2); __int = tmp___3; __cond = (psIntfAdapter->psAdapter)->waiting_to_fw_download_done; if ((int )__cond && __ret___0 == 0L) { __ret___0 = 1L; } else { } if (((int )__cond || __ret___0 == 0L) != 0) { goto ldv_51850; } else { } __ret___0 = schedule_timeout(__ret___0); goto ldv_51851; ldv_51850: finish_wait(& (psIntfAdapter->psAdapter)->ioctl_fw_dnld_wait_queue, & __wait); __ret = __ret___0; } else { } value = (int )__ret; if (value == 0) { printk("\vbeceem: Timeout waiting for mailbox interrupt.\n"); } else { } tmp___4 = register_control_device_interface(psIntfAdapter->psAdapter); if (tmp___4 < 0) { printk("\vbeceem: Register Control Device failed.\n"); return (-5); } else { } } else { } return (0); } } static int InterfaceAdapterInit(struct bcm_interface_adapter *psIntfAdapter ) { struct usb_host_interface *iface_desc ; struct usb_endpoint_descriptor *endpoint ; size_t buffer_size ; unsigned long value ; int retval ; int usedIntOutForBulkTransfer ; bool bBcm16 ; UINT uiData ; int bytes ; struct usb_device *tmp ; struct _ddebug descriptor___2 ; long tmp___3 ; struct _ddebug descriptor___4 ; long tmp___5 ; struct _ddebug descriptor___6 ; long tmp___7 ; struct _ddebug descriptor___8 ; long tmp___9 ; int tmp___10 ; int tmp___11 ; UINT _uiData ; struct _ddebug descriptor___10 ; long tmp___13 ; int tmp___14 ; struct _ddebug descriptor___12 ; long tmp___16 ; struct _ddebug descriptor___14 ; long tmp___18 ; struct _ddebug descriptor___16 ; long tmp___20 ; int tmp___21 ; unsigned int tmp___22 ; int tmp___23 ; unsigned int tmp___24 ; int tmp___25 ; void *tmp___26 ; int tmp___27 ; unsigned int tmp___28 ; void *tmp___29 ; int tmp___30 ; int tmp___33 ; { retval = 0; usedIntOutForBulkTransfer = 0; bBcm16 = 0; uiData = 0U; tmp = interface_to_usbdev(psIntfAdapter->interface); psIntfAdapter->udev = usb_get_dev(tmp); psIntfAdapter->bHighSpeedDevice = (unsigned int )(psIntfAdapter->udev)->speed == 3U; (psIntfAdapter->psAdapter)->interface_rdm = & BcmRDM; (psIntfAdapter->psAdapter)->interface_wrm = & BcmWRM; bytes = rdmalt(psIntfAdapter->psAdapter, 251658240U, (unsigned int *)(& (psIntfAdapter->psAdapter)->chip_id), 4UL); if (bytes < 0) { retval = bytes; printk("\016%s:CHIP ID Read Failed\n", "InterfaceAdapterInit"); return (retval); } else { } if (((psIntfAdapter->psAdapter)->chip_id & 0xffffffffffffff0fUL) == 3201184256UL) { (psIntfAdapter->psAdapter)->chip_id = (psIntfAdapter->psAdapter)->chip_id & 0xffffffffffffff0fUL; } else { } _dev_info((struct device const *)(& (psIntfAdapter->udev)->dev), "RDM Chip ID 0x%lx\n", (psIntfAdapter->psAdapter)->chip_id); iface_desc = (psIntfAdapter->interface)->cur_altsetting; if ((psIntfAdapter->psAdapter)->chip_id == 3201172240UL) { BeceemEEPROMBulkRead(psIntfAdapter->psAdapter, & uiData, 0U, 4U); if (uiData == 1296254274U) { bBcm16 = 1; } else { } _dev_info((struct device const *)(& (psIntfAdapter->udev)->dev), "number of alternate setting %d\n", (psIntfAdapter->interface)->num_altsetting); if ((int )bBcm16) { if ((int )psIntfAdapter->bHighSpeedDevice) { retval = usb_set_interface(psIntfAdapter->udev, 0, 1); } else { } if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && (int )(psIntfAdapter->psAdapter)->stDebugState.type & 1) && (int )(psIntfAdapter->psAdapter)->stDebugState.subtype[1] & 1) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "InterfaceAdapterInit"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceInit.o.c.prepared"; descriptor___2.format = "%s:\nBCM16 is applicable on this dongle\n"; descriptor___2.lineno = 474U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nBCM16 is applicable on this dongle\n", "InterfaceAdapterInit"); } else { } } else { } if (retval != 0 || ! psIntfAdapter->bHighSpeedDevice) { usedIntOutForBulkTransfer = 1; endpoint = & (iface_desc->endpoint + 1UL)->desc; if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && (int )(psIntfAdapter->psAdapter)->stDebugState.type & 1) && (int )(psIntfAdapter->psAdapter)->stDebugState.subtype[1] & 1) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "InterfaceAdapterInit"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceInit.o.c.prepared"; descriptor___4.format = "%s:\nInterface altsetting failed or modem is configured to Full Speed, hence will work on default setting 0\n"; descriptor___4.lineno = 481U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nInterface altsetting failed or modem is configured to Full Speed, hence will work on default setting 0\n", "InterfaceAdapterInit"); } else { } } else { } if ((int )psIntfAdapter->bHighSpeedDevice) { tmp___10 = usb_endpoint_is_int_out((struct usb_endpoint_descriptor const *)endpoint); if (tmp___10 == 0) { goto _L; } else { goto _L___0; } } else _L___0: /* CIL Label */ if (! psIntfAdapter->bHighSpeedDevice) { tmp___11 = usb_endpoint_is_bulk_out((struct usb_endpoint_descriptor const *)endpoint); if (tmp___11 == 0) { _L: /* CIL Label */ if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && (int )(psIntfAdapter->psAdapter)->stDebugState.type & 1) && (int )(psIntfAdapter->psAdapter)->stDebugState.subtype[1] & 1) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "InterfaceAdapterInit"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceInit.o.c.prepared"; descriptor___6.format = "%s:\nConfiguring the EEPROM\n"; descriptor___6.lineno = 496U; descriptor___6.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nConfiguring the EEPROM\n", "InterfaceAdapterInit"); } else { } } else { } ConfigureEndPointTypesThroughEEPROM(psIntfAdapter->psAdapter); retval = usb_reset_device(psIntfAdapter->udev); if (retval != 0) { if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && (int )(psIntfAdapter->psAdapter)->stDebugState.type & 1) && (int )(psIntfAdapter->psAdapter)->stDebugState.subtype[1] & 1) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "InterfaceAdapterInit"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceInit.o.c.prepared"; descriptor___8.format = "%s:\nreset failed. Re-enumerating the device.\n"; descriptor___8.lineno = 514U; descriptor___8.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nreset failed. Re-enumerating the device.\n", "InterfaceAdapterInit"); } else { } } else { } return (retval); } else { } } else { } } else { } if (! psIntfAdapter->bHighSpeedDevice) { tmp___14 = usb_endpoint_is_bulk_out((struct usb_endpoint_descriptor const *)endpoint); if (tmp___14 != 0) { _uiData = 654311424U; if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && (int )(psIntfAdapter->psAdapter)->stDebugState.type & 1) && (int )(psIntfAdapter->psAdapter)->stDebugState.subtype[1] & 1) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "InterfaceAdapterInit"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceInit.o.c.prepared"; descriptor___10.format = "%s:\nReverting Bulk to INT as it is in Full Speed mode.\n"; descriptor___10.lineno = 526U; descriptor___10.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nReverting Bulk to INT as it is in Full Speed mode.\n", "InterfaceAdapterInit"); } else { } } else { } BeceemEEPROMBulkWrite(psIntfAdapter->psAdapter, (unsigned char *)(& _uiData), 310U, 4U, 1); } else { } } else { } } else { usedIntOutForBulkTransfer = 3; endpoint = & (iface_desc->endpoint + 3UL)->desc; if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && (int )(psIntfAdapter->psAdapter)->stDebugState.type & 1) && (int )(psIntfAdapter->psAdapter)->stDebugState.subtype[1] & 1) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "InterfaceAdapterInit"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceInit.o.c.prepared"; descriptor___12.format = "%s:\nChoosing AltSetting as a default setting.\n"; descriptor___12.lineno = 538U; descriptor___12.flags = 0U; tmp___16 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___16 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nChoosing AltSetting as a default setting.\n", "InterfaceAdapterInit"); } else { } } else { } tmp___21 = usb_endpoint_is_int_out((struct usb_endpoint_descriptor const *)endpoint); if (tmp___21 == 0) { if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && (int )(psIntfAdapter->psAdapter)->stDebugState.type & 1) && (int )(psIntfAdapter->psAdapter)->stDebugState.subtype[1] & 1) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "InterfaceAdapterInit"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceInit.o.c.prepared"; descriptor___14.format = "%s:\nDongle does not have BCM16 Fix.\n"; descriptor___14.lineno = 543U; descriptor___14.flags = 0U; tmp___18 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___18 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nDongle does not have BCM16 Fix.\n", "InterfaceAdapterInit"); } else { } } else { } ConfigureEndPointTypesThroughEEPROM(psIntfAdapter->psAdapter); retval = usb_reset_device(psIntfAdapter->udev); if (retval != 0) { if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && (int )(psIntfAdapter->psAdapter)->stDebugState.type & 1) && (int )(psIntfAdapter->psAdapter)->stDebugState.subtype[1] & 1) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "InterfaceAdapterInit"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceInit.o.c.prepared"; descriptor___16.format = "%s:\nreset failed. Re-enumerating the device.\n"; descriptor___16.lineno = 561U; descriptor___16.flags = 0U; tmp___20 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___20 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\nreset failed. Re-enumerating the device.\n", "InterfaceAdapterInit"); } else { } } else { } return (retval); } else { } } else { } } } else { } } else { } iface_desc = (psIntfAdapter->interface)->cur_altsetting; value = 0UL; goto ldv_51887; ldv_51886: endpoint = & (iface_desc->endpoint + value)->desc; if ((unsigned int )psIntfAdapter->sBulkIn.bulk_in_endpointAddr == 0U) { tmp___23 = usb_endpoint_is_bulk_in((struct usb_endpoint_descriptor const *)endpoint); if (tmp___23 != 0) { buffer_size = (size_t )endpoint->wMaxPacketSize; psIntfAdapter->sBulkIn.bulk_in_size = buffer_size; psIntfAdapter->sBulkIn.bulk_in_endpointAddr = endpoint->bEndpointAddress; tmp___22 = __create_pipe(psIntfAdapter->udev, (unsigned int )psIntfAdapter->sBulkIn.bulk_in_endpointAddr); psIntfAdapter->sBulkIn.bulk_in_pipe = tmp___22 | 3221225600U; } else { } } else { } if ((unsigned int )psIntfAdapter->sBulkOut.bulk_out_endpointAddr == 0U) { tmp___25 = usb_endpoint_is_bulk_out((struct usb_endpoint_descriptor const *)endpoint); if (tmp___25 != 0) { psIntfAdapter->sBulkOut.bulk_out_endpointAddr = endpoint->bEndpointAddress; tmp___24 = __create_pipe(psIntfAdapter->udev, (unsigned int )psIntfAdapter->sBulkOut.bulk_out_endpointAddr); psIntfAdapter->sBulkOut.bulk_out_pipe = tmp___24 | 3221225472U; } else { } } else { } if ((unsigned int )psIntfAdapter->sIntrIn.int_in_endpointAddr == 0U) { tmp___27 = usb_endpoint_is_int_in((struct usb_endpoint_descriptor const *)endpoint); if (tmp___27 != 0) { buffer_size = (size_t )endpoint->wMaxPacketSize; psIntfAdapter->sIntrIn.int_in_size = buffer_size; psIntfAdapter->sIntrIn.int_in_endpointAddr = endpoint->bEndpointAddress; psIntfAdapter->sIntrIn.int_in_interval = endpoint->bInterval; tmp___26 = kmalloc(buffer_size, 208U); psIntfAdapter->sIntrIn.int_in_buffer = (char *)tmp___26; if ((unsigned long )psIntfAdapter->sIntrIn.int_in_buffer == (unsigned long )((char *)0)) { return (-22); } else { } } else { } } else { } if ((unsigned int )psIntfAdapter->sIntrOut.int_out_endpointAddr == 0U) { tmp___30 = usb_endpoint_is_int_out((struct usb_endpoint_descriptor const *)endpoint); if (tmp___30 != 0) { if (((unsigned int )psIntfAdapter->sBulkOut.bulk_out_endpointAddr == 0U && (psIntfAdapter->psAdapter)->chip_id == 3201172240UL) && (unsigned long )usedIntOutForBulkTransfer == value) { buffer_size = (size_t )endpoint->wMaxPacketSize; psIntfAdapter->sBulkOut.bulk_out_size = buffer_size; psIntfAdapter->sBulkOut.bulk_out_endpointAddr = endpoint->bEndpointAddress; tmp___28 = __create_pipe(psIntfAdapter->udev, (unsigned int )psIntfAdapter->sBulkOut.bulk_out_endpointAddr); psIntfAdapter->sBulkOut.bulk_out_pipe = tmp___28 | 1073741824U; psIntfAdapter->sBulkOut.int_out_interval = endpoint->bInterval; } else if (value == 5UL) { buffer_size = (size_t )endpoint->wMaxPacketSize; psIntfAdapter->sIntrOut.int_out_size = buffer_size; psIntfAdapter->sIntrOut.int_out_endpointAddr = endpoint->bEndpointAddress; psIntfAdapter->sIntrOut.int_out_interval = endpoint->bInterval; tmp___29 = kmalloc(buffer_size, 208U); psIntfAdapter->sIntrOut.int_out_buffer = (char *)tmp___29; if ((unsigned long )psIntfAdapter->sIntrOut.int_out_buffer == (unsigned long )((char *)0)) { return (-22); } else { } } else { } } else { } } else { } value = value + 1UL; ldv_51887: ; if ((unsigned long )iface_desc->desc.bNumEndpoints > value) { goto ldv_51886; } else { } usb_set_intfdata(psIntfAdapter->interface, (void *)psIntfAdapter); (psIntfAdapter->psAdapter)->bcm_file_download = & InterfaceFileDownload; (psIntfAdapter->psAdapter)->bcm_file_readback_from_chip = & InterfaceFileReadbackFromChip; (psIntfAdapter->psAdapter)->interface_transmit = & InterfaceTransmitPacket; retval = CreateInterruptUrb(psIntfAdapter); if (retval != 0) { printk("\016%s:Cannot create interrupt urb\n", "InterfaceAdapterInit"); return (retval); } else { } retval = AllocUsbCb(psIntfAdapter); if (retval != 0) { return (retval); } else { } tmp___33 = device_run(psIntfAdapter); return (tmp___33); } } static int InterfaceSuspend(struct usb_interface *intf , pm_message_t message ) { struct bcm_interface_adapter *psIntfAdapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; { tmp = usb_get_intfdata(intf); psIntfAdapter = (struct bcm_interface_adapter *)tmp; psIntfAdapter->bSuspended = 1; if ((int )psIntfAdapter->bPreparingForBusSuspend) { psIntfAdapter->bPreparingForBusSuspend = 0; if ((unsigned int )(psIntfAdapter->psAdapter)->LinkStatus == 4U) { (psIntfAdapter->psAdapter)->IdleMode = 1; if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && (int )(psIntfAdapter->psAdapter)->stDebugState.type & 1) && (int )(psIntfAdapter->psAdapter)->stDebugState.subtype[1] & 1) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "InterfaceSuspend"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceInit.o.c.prepared"; descriptor___0.format = "%s:\nHost Entered in PMU Idle Mode.\n"; descriptor___0.lineno = 680U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nHost Entered in PMU Idle Mode.\n", "InterfaceSuspend"); } else { } } else { } } else { (psIntfAdapter->psAdapter)->bShutStatus = 1; if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && (int )(psIntfAdapter->psAdapter)->stDebugState.type & 1) && (int )(psIntfAdapter->psAdapter)->stDebugState.subtype[1] & 1) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "InterfaceSuspend"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceInit.o.c.prepared"; descriptor___2.format = "%s:\nHost Entered in PMU Shutdown Mode.\n"; descriptor___2.lineno = 686U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nHost Entered in PMU Shutdown Mode.\n", "InterfaceSuspend"); } else { } } else { } } } else { } (psIntfAdapter->psAdapter)->bPreparingForLowPowerMode = 0; __wake_up(& (psIntfAdapter->psAdapter)->lowpower_mode_wait_queue, 3U, 1, (void *)0); return (0); } } static int InterfaceResume(struct usb_interface *intf ) { struct bcm_interface_adapter *psIntfAdapter ; void *tmp ; unsigned long __ms ; unsigned long tmp___0 ; { tmp = usb_get_intfdata(intf); psIntfAdapter = (struct bcm_interface_adapter *)tmp; __ms = 100UL; goto ldv_51907; ldv_51906: __const_udelay(4295000UL); ldv_51907: tmp___0 = __ms; __ms = __ms - 1UL; if (tmp___0 != 0UL) { goto ldv_51906; } else { } psIntfAdapter->bSuspended = 0; StartInterruptUrb(psIntfAdapter); InterfaceRx(psIntfAdapter); return (0); } } static struct usb_driver usbbcm_driver = {"usbbcm", & usbbcm_device_probe, & usbbcm_disconnect, 0, & InterfaceSuspend, & InterfaceResume, 0, 0, 0, (struct usb_device_id const *)(& InterfaceUsbtable), {{{{{{0U}}, 0U, 0U, 0, {0, {0, 0}, 0, 0, 0UL}}}}, {0, 0}}, {{0, 0, 0, 0, (_Bool)0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0}, (unsigned char)0, 1U, (unsigned char)0, (unsigned char)0}; static int bcm_init(void) { int retval ; struct lock_class_key __key ; struct class *tmp ; long tmp___0 ; bool tmp___1 ; { printk("\016%s: %s, %s\n", (char *)"beceem", (char *)"Beceem Communications Inc. WiMAX driver", (char *)"5.2.45"); printk("\016%s\n", (char *)"Copyright 2010. Beceem Communications Inc"); tmp = __class_create(& __this_module, "beceem", & __key); bcm_class = tmp; tmp___1 = IS_ERR((void const *)bcm_class); if ((int )tmp___1) { printk("\vbeceem: could not create class\n"); tmp___0 = PTR_ERR((void const *)bcm_class); return ((int )tmp___0); } else { } retval = ldv_usb_register_driver_124(& usbbcm_driver, & __this_module, "bcm_wimax"); if (retval < 0) { printk("\vbeceem: could not register usb driver\n"); class_destroy(bcm_class); return (retval); } else { } return (0); } } static void bcm_exit(void) { { ldv_usb_deregister_125(& usbbcm_driver); class_destroy(bcm_class); return; } } int ldv_retval_2 ; int ldv_retval_0 ; int ldv_retval_5 ; extern void ldv_initialize(void) ; int ldv_retval_1 ; extern void ldv_check_final_state(void) ; extern int ldv_reset_resume_4(void) ; int ldv_retval_3 ; void ldv_usb_driver_4(void) { void *tmp ; { tmp = ldv_zalloc(1560UL); usbbcm_driver_group1 = (struct usb_interface *)tmp; return; } } void ldv_main_exported_1(void) ; void ldv_main_exported_3(void) ; void ldv_main_exported_2(void) ; int main(void) { struct usb_device_id *ldvarg1 ; void *tmp ; pm_message_t ldvarg0 ; int tmp___0 ; int tmp___1 ; int tmp___2 ; { tmp = ldv_zalloc(32UL); ldvarg1 = (struct usb_device_id *)tmp; ldv_initialize(); memset((void *)(& ldvarg0), 0, 4UL); ldv_state_variable_4 = 0; ldv_state_variable_1 = 0; ref_cnt = 0; ldv_state_variable_0 = 1; ldv_state_variable_3 = 0; ldv_state_variable_2 = 0; ldv_51983: tmp___0 = __VERIFIER_nondet_int(); switch (tmp___0) { case 0: ; if (ldv_state_variable_4 != 0) { tmp___1 = __VERIFIER_nondet_int(); switch (tmp___1) { case 0: ; if (ldv_state_variable_4 == 1) { ldv_retval_3 = usbbcm_device_probe(usbbcm_driver_group1, (struct usb_device_id const *)ldvarg1); if (ldv_retval_3 == 0) { ldv_state_variable_4 = 2; ref_cnt = ref_cnt + 1; } else { } } else { } goto ldv_51966; case 1: ; if (ldv_state_variable_4 == 3 && usb_counter == 0) { usbbcm_disconnect(usbbcm_driver_group1); ldv_state_variable_4 = 1; ref_cnt = ref_cnt - 1; } else { } if (ldv_state_variable_4 == 2 && usb_counter == 0) { usbbcm_disconnect(usbbcm_driver_group1); ldv_state_variable_4 = 1; ref_cnt = ref_cnt - 1; } else { } goto ldv_51966; case 2: ; if (ldv_state_variable_4 == 2) { ldv_retval_2 = InterfaceSuspend(usbbcm_driver_group1, ldvarg0); if (ldv_retval_2 == 0) { ldv_state_variable_4 = 3; } else { } } else { } goto ldv_51966; case 3: ; if (ldv_state_variable_4 == 3) { ldv_retval_1 = InterfaceResume(usbbcm_driver_group1); if (ldv_retval_1 == 0) { ldv_state_variable_4 = 2; } else { } } else { } goto ldv_51966; case 4: ; if (ldv_state_variable_4 == 3) { ldv_retval_0 = ldv_reset_resume_4(); if (ldv_retval_0 == 0) { ldv_state_variable_4 = 2; } else { } } else { } goto ldv_51966; default: ldv_stop(); } ldv_51966: ; } else { } goto ldv_51972; case 1: ; if (ldv_state_variable_1 != 0) { ldv_main_exported_1(); } else { } goto ldv_51972; case 2: ; if (ldv_state_variable_0 != 0) { tmp___2 = __VERIFIER_nondet_int(); switch (tmp___2) { case 0: ; if (ldv_state_variable_0 == 2 && ref_cnt == 0) { bcm_exit(); ldv_state_variable_0 = 3; goto ldv_final; } else { } goto ldv_51977; case 1: ; if (ldv_state_variable_0 == 1) { ldv_retval_5 = bcm_init(); if (ldv_retval_5 != 0) { ldv_state_variable_0 = 3; goto ldv_final; } else { } if (ldv_retval_5 == 0) { ldv_state_variable_0 = 2; ldv_state_variable_2 = 1; ldv_initialize_ethtool_ops_2(); } else { } } else { } goto ldv_51977; default: ldv_stop(); } ldv_51977: ; } else { } goto ldv_51972; case 3: ; if (ldv_state_variable_3 != 0) { ldv_main_exported_3(); } else { } goto ldv_51972; case 4: ; if (ldv_state_variable_2 != 0) { ldv_main_exported_2(); } else { } goto ldv_51972; default: ldv_stop(); } ldv_51972: ; goto ldv_51983; ldv_final: ldv_check_final_state(); return 0; } } int ldv_pskb_expand_head_110(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_112(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_114(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_115(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_116(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_117(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_118(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_119(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_120(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct urb *ldv_usb_alloc_urb_122(int ldv_func_arg1 , gfp_t flags ) { struct urb *tmp ; { ldv_check_alloc_flags(flags); tmp = usb_alloc_urb(ldv_func_arg1, flags); return (tmp); } } struct urb *ldv_usb_alloc_urb_123(int ldv_func_arg1 , gfp_t flags ) { struct urb *tmp ; { ldv_check_alloc_flags(flags); tmp = usb_alloc_urb(ldv_func_arg1, flags); return (tmp); } } int ldv_usb_register_driver_124(struct usb_driver *ldv_func_arg1 , struct module *ldv_func_arg2 , char const *ldv_func_arg3 ) { ldv_func_ret_type___2 ldv_func_res ; int tmp ; { tmp = usb_register_driver(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3); ldv_func_res = tmp; ldv_state_variable_4 = 1; usb_counter = 0; ldv_usb_driver_4(); return (ldv_func_res); } } void ldv_usb_deregister_125(struct usb_driver *arg ) { { usb_deregister(arg); ldv_state_variable_4 = 0; return; } } void ldv_spin_lock(void) ; void ldv_spin_unlock(void) ; __inline static int constant_test_bit(long nr , unsigned long const volatile *addr ) { { return ((int )((unsigned long )*(addr + (unsigned long )(nr >> 6)) >> ((int )nr & 63)) & 1); } } __inline static __u16 __fswab16(__u16 val ) { { return ((__u16 )((int )((short )((int )val << 8)) | (int )((short )((int )val >> 8)))); } } extern void *memcpy(void * , void const * , size_t ) ; __inline static int atomic_read(atomic_t const *v ) { { return ((int )*((int volatile *)(& v->counter))); } } __inline static void atomic_inc(atomic_t *v ) { { __asm__ volatile (".pushsection .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.popsection\n671:\n\tlock; incl %0": "+m" (v->counter)); return; } } __inline static void atomic_dec(atomic_t *v ) { { __asm__ volatile (".pushsection .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.popsection\n671:\n\tlock; decl %0": "+m" (v->counter)); return; } } extern void _raw_spin_lock(raw_spinlock_t * ) ; extern void _raw_spin_unlock(raw_spinlock_t * ) ; __inline static void ldv_spin_lock_141(spinlock_t *lock ) { { _raw_spin_lock(& lock->ldv_6347.rlock); return; } } __inline static void spin_lock(spinlock_t *lock ) ; __inline static void ldv_spin_unlock_145(spinlock_t *lock ) { { _raw_spin_unlock(& lock->ldv_6347.rlock); return; } } __inline static void spin_unlock(spinlock_t *lock ) ; extern void consume_skb(struct sk_buff * ) ; struct sk_buff *ldv_skb_clone_164(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_172(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_166(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_162(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_170(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_171(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; extern unsigned char *skb_put(struct sk_buff * , unsigned int ) ; extern unsigned char *skb_push(struct sk_buff * , unsigned int ) ; extern unsigned char *skb_pull(struct sk_buff * , unsigned int ) ; __inline static void skb_reserve(struct sk_buff *skb , int len ) { { skb->data = skb->data + (unsigned long )len; skb->tail = skb->tail + (sk_buff_data_t )len; return; } } struct sk_buff *ldv___netdev_alloc_skb_167(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_168(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_169(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; __inline static struct sk_buff *netdev_alloc_skb(struct net_device *dev , unsigned int length ) { struct sk_buff *tmp ; { tmp = ldv___netdev_alloc_skb_167(dev, length, 32U); return (tmp); } } __inline static struct sk_buff *dev_alloc_skb(unsigned int length ) { struct sk_buff *tmp ; { tmp = netdev_alloc_skb((struct net_device *)0, length); return (tmp); } } __inline static bool netif_running(struct net_device const *dev ) { int tmp ; { tmp = constant_test_bit(0L, (unsigned long const volatile *)(& dev->state)); return (tmp != 0); } } extern int netif_rx(struct sk_buff * ) ; extern __be16 eth_type_trans(struct sk_buff * , struct net_device * ) ; __inline static void usb_fill_bulk_urb(struct urb *urb , struct usb_device *dev , unsigned int pipe , void *transfer_buffer , int buffer_length , void (*complete_fn)(struct urb * ) , void *context ) { { urb->dev = dev; urb->pipe = pipe; urb->transfer_buffer = transfer_buffer; urb->transfer_buffer_length = (u32 )buffer_length; urb->complete = complete_fn; urb->context = context; return; } } extern int usb_submit_urb(struct urb * , gfp_t ) ; int ldv_usb_submit_urb_174(struct urb *ldv_func_arg1 , gfp_t flags ) ; int PHSReceive(struct bcm_mini_adapter *Adapter , USHORT usVcid , struct sk_buff *packet , UINT *punPacketLen , UCHAR *pucEthernetHdr , UINT bHeaderSuppressionEnabled ) ; static int SearchVcid(struct bcm_mini_adapter *Adapter , unsigned short usVcid ) { int iIndex ; { iIndex = 0; iIndex = 16; goto ldv_51723; ldv_51722: ; if ((int )Adapter->PackInfo[iIndex].usVCID_Value == (int )usVcid) { return (iIndex); } else { } iIndex = iIndex - 1; ldv_51723: ; if (iIndex >= 0) { goto ldv_51722; } else { } return (18); } } static struct bcm_usb_rcb *GetBulkInRcb(struct bcm_interface_adapter *psIntfAdapter ) { struct bcm_usb_rcb *pRcb ; UINT index ; int tmp ; struct _ddebug descriptor___0 ; int tmp___2 ; long tmp___3 ; int tmp___4 ; { pRcb = (struct bcm_usb_rcb *)0; index = 0U; tmp___4 = atomic_read((atomic_t const *)(& psIntfAdapter->uNumRcbUsed)); if (tmp___4 <= 127 && ! (psIntfAdapter->psAdapter)->StopAllXaction) { tmp = atomic_read((atomic_t const *)(& psIntfAdapter->uCurrRcb)); index = (UINT )tmp; pRcb = (struct bcm_usb_rcb *)(& psIntfAdapter->asUsbRcb) + (unsigned long )index; pRcb->bUsed = 1; pRcb->psIntfAdapter = (void *)psIntfAdapter; if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 4U) != 0U) && (int )(psIntfAdapter->psAdapter)->stDebugState.subtype[4] & 1) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "GetBulkInRcb"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceRx.o.c.prepared"; descriptor___0.format = "%s:\nGot Rx desc %d used %d"; descriptor___0.lineno = 64U; descriptor___0.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___3 != 0L) { tmp___2 = atomic_read((atomic_t const *)(& psIntfAdapter->uNumRcbUsed)); __dynamic_pr_debug(& descriptor___0, "%s:\nGot Rx desc %d used %d", "GetBulkInRcb", index, tmp___2); } else { } } else { } index = (index + 1U) & 127U; atomic_set(& psIntfAdapter->uCurrRcb, (int )index); atomic_inc(& psIntfAdapter->uNumRcbUsed); } else { } return (pRcb); } } static void read_bulk_callback(struct urb *urb ) { struct sk_buff *skb ; bool bHeaderSupressionEnabled ; int QueueIndex ; UINT uiIndex ; int process_done ; struct bcm_usb_rcb *pRcb ; struct bcm_interface_adapter *psIntfAdapter ; struct bcm_mini_adapter *Adapter ; struct bcm_leader *pLeader ; long tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; struct _ddebug descriptor___4 ; long tmp___5 ; struct _ddebug descriptor___6 ; long tmp___7 ; struct _ddebug descriptor___8 ; long tmp___9 ; struct _ddebug descriptor___12 ; long tmp___13 ; size_t __len ; void *__ret ; struct _ddebug descriptor___14 ; long tmp___15 ; size_t __len___0 ; void *__ret___0 ; struct _ddebug descriptor___16 ; long tmp___17 ; size_t __len___1 ; void *__ret___1 ; size_t __len___2 ; void *__ret___2 ; struct _ddebug descriptor___18 ; long tmp___19 ; bool tmp___20 ; __u16 tmp___21 ; { skb = (struct sk_buff *)0; bHeaderSupressionEnabled = 0; QueueIndex = 18; uiIndex = 0U; process_done = 1; pRcb = (struct bcm_usb_rcb *)urb->context; psIntfAdapter = (struct bcm_interface_adapter *)pRcb->psIntfAdapter; Adapter = psIntfAdapter->psAdapter; pLeader = (struct bcm_leader *)urb->transfer_buffer; tmp = ldv__builtin_expect((Adapter->msg_enable & 2048U) != 0U, 0L); if (tmp != 0L) { printk("\016beceem %s: rx urb status %d length %d\n", (char *)(& (Adapter->dev)->name), urb->status, urb->actual_length); } else { } if (((int )Adapter->device_removed || (int )Adapter->bEndPointHalted) || urb->actual_length == 0U) { pRcb->bUsed = 0; atomic_dec(& psIntfAdapter->uNumRcbUsed); return; } else { } if (urb->status != 0) { if (urb->status == -32) { Adapter->bEndPointHalted = 1; __wake_up(& Adapter->tx_packet_wait_queue, 3U, 1, (void *)0); } else if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 4U) != 0U) && (int )Adapter->stDebugState.subtype[4] & 1) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "read_bulk_callback"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceRx.o.c.prepared"; descriptor___0.format = "%s:\nRx URB has got cancelled. status :%d"; descriptor___0.lineno = 102U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nRx URB has got cancelled. status :%d", "read_bulk_callback", urb->status); } else { } } else { } pRcb->bUsed = 0; atomic_dec(& psIntfAdapter->uNumRcbUsed); urb->status = 0; return; } else { } if ((int )Adapter->bDoSuspend && (int )Adapter->bPreparingForLowPowerMode) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 4U) != 0U) && (int )Adapter->stDebugState.subtype[4] & 1) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "read_bulk_callback"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceRx.o.c.prepared"; descriptor___2.format = "%s:\ndevice is going in low power mode while PMU option selected..hence rx packet should not be process"; descriptor___2.lineno = 111U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\ndevice is going in low power mode while PMU option selected..hence rx packet should not be process", "read_bulk_callback"); } else { } } else { } return; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 4U) != 0U) && (int )Adapter->stDebugState.subtype[4] & 1) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "read_bulk_callback"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceRx.o.c.prepared"; descriptor___4.format = "%s:\nRead back done len %d\n"; descriptor___4.lineno = 115U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nRead back done len %d\n", "read_bulk_callback", (int )pLeader->PLength); } else { } } else { } if ((unsigned int )pLeader->PLength == 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 4U) != 0U) && (int )Adapter->stDebugState.subtype[4] & 1) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "read_bulk_callback"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceRx.o.c.prepared"; descriptor___6.format = "%s:\nLeader Length 0"; descriptor___6.lineno = 117U; descriptor___6.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nLeader Length 0", "read_bulk_callback"); } else { } } else { } atomic_dec(& psIntfAdapter->uNumRcbUsed); return; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 4U) != 0U) && (int )Adapter->stDebugState.subtype[4] & 1) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "read_bulk_callback"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceRx.o.c.prepared"; descriptor___8.format = "%s:\nLeader Status:0x%hX, Length:0x%hX, VCID:0x%hX"; descriptor___8.lineno = 121U; descriptor___8.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nLeader Status:0x%hX, Length:0x%hX, VCID:0x%hX", "read_bulk_callback", (int )pLeader->Status, (int )pLeader->PLength, (int )pLeader->Vcid); } else { } } else { } if ((unsigned int )pLeader->PLength > 2048U) { if ((Adapter->msg_enable & 64U) != 0U) { printk("\016beceem %s: corrupted leader length...%d\n", (char *)(& (Adapter->dev)->name), (int )pLeader->PLength); } else { } (Adapter->dev)->stats.rx_dropped = (Adapter->dev)->stats.rx_dropped + 1UL; atomic_dec(& psIntfAdapter->uNumRcbUsed); return; } else { } QueueIndex = SearchVcid(Adapter, (int )pLeader->Vcid); if (QueueIndex <= 16) { bHeaderSupressionEnabled = Adapter->PackInfo[QueueIndex].bHeaderSuppressionEnabled; bHeaderSupressionEnabled = ((int )bHeaderSupressionEnabled & (int )Adapter->bPHSEnabled) != 0; } else { } skb = dev_alloc_skb((unsigned int )((int )pLeader->PLength + 48)); if ((unsigned long )skb == (unsigned long )((struct sk_buff *)0)) { printk("\016%s:NO SKBUFF!!! Dropping the Packet", "read_bulk_callback"); atomic_dec(& psIntfAdapter->uNumRcbUsed); return; } else { } tmp___21 = __fswab16((int )pLeader->Vcid); if ((unsigned int )tmp___21 == 0U || ((unsigned int )pLeader->Status <= 31U || (unsigned int )pLeader->Status > 63U)) { if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 4U) != 0U) && ((psIntfAdapter->psAdapter)->stDebugState.subtype[4] & 8U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "read_bulk_callback"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceRx.o.c.prepared"; descriptor___12.format = "%s:\nReceived control pkt..."; descriptor___12.lineno = 148U; descriptor___12.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nReceived control pkt...", "read_bulk_callback"); } else { } } else { } *((unsigned short *)skb->data) = (unsigned short )pLeader->Status; __len = (size_t )pLeader->PLength; __ret = memcpy((void *)skb->data + 2U, (void const *)urb->transfer_buffer + 8U, __len); skb->len = (unsigned int )pLeader->PLength + 2U; spin_lock(& Adapter->control_queue_lock); if ((unsigned long )Adapter->RxControlHead == (unsigned long )((struct sk_buff *)0)) { Adapter->RxControlHead = skb; } else { (Adapter->RxControlTail)->next = skb; } skb->next = (struct sk_buff *)0; Adapter->RxControlTail = skb; spin_unlock(& Adapter->control_queue_lock); atomic_inc(& Adapter->cntrlpktCnt); __wake_up(& Adapter->process_rx_cntrlpkt, 3U, 1, (void *)0); } else { if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 4U) != 0U) && ((psIntfAdapter->psAdapter)->stDebugState.subtype[4] & 16U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "read_bulk_callback"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceRx.o.c.prepared"; descriptor___14.format = "%s:\nReceived Data pkt..."; descriptor___14.lineno = 165U; descriptor___14.flags = 0U; tmp___15 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___15 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nReceived Data pkt...", "read_bulk_callback"); } else { } } else { } skb_reserve(skb, 34); __len___0 = (size_t )pLeader->PLength; __ret___0 = memcpy((void *)skb->data + 14U, (void const *)urb->transfer_buffer + 8U, __len___0); skb->dev = Adapter->dev; skb_put(skb, (unsigned int )((int )pLeader->PLength + 14)); Adapter->PackInfo[QueueIndex].uiTotalRxBytes = Adapter->PackInfo[QueueIndex].uiTotalRxBytes + (UINT )pLeader->PLength; Adapter->PackInfo[QueueIndex].uiThisPeriodRxBytes = Adapter->PackInfo[QueueIndex].uiThisPeriodRxBytes + (UINT )pLeader->PLength; if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 4U) != 0U) && ((psIntfAdapter->psAdapter)->stDebugState.subtype[4] & 16U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "read_bulk_callback"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceRx.o.c.prepared"; descriptor___16.format = "%s:\nReceived Data pkt of len :0x%X"; descriptor___16.lineno = 174U; descriptor___16.flags = 0U; tmp___17 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___17 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\nReceived Data pkt of len :0x%X", "read_bulk_callback", (int )pLeader->PLength); } else { } } else { } tmp___20 = netif_running((struct net_device const *)Adapter->dev); if ((int )tmp___20) { skb_pull(skb, 14U); PHSReceive(Adapter, (int )pLeader->Vcid, skb, & skb->len, (UCHAR *)0U, (UINT )bHeaderSupressionEnabled); if ((unsigned int )Adapter->PackInfo[QueueIndex].bEthCSSupport == 0U) { skb_push(skb, 14U); __len___1 = 6UL; if (__len___1 > 63UL) { __ret___1 = memcpy((void *)skb->data, (void const *)(skb->dev)->dev_addr, __len___1); } else { __ret___1 = memcpy((void *)skb->data, (void const *)(skb->dev)->dev_addr, __len___1); } __len___2 = 6UL; if (__len___2 > 63UL) { __ret___2 = memcpy((void *)skb->data + 6U, (void const *)(skb->dev)->dev_addr, __len___2); } else { __ret___2 = memcpy((void *)skb->data + 6U, (void const *)(skb->dev)->dev_addr, __len___2); } *(skb->data + 11UL) = (unsigned char )((int )*(skb->data + 11UL) + 1); *(skb->data + 12UL) = 8U; *(skb->data + 13UL) = 0U; pLeader->PLength = (unsigned int )pLeader->PLength + 14U; } else { } skb->protocol = eth_type_trans(skb, Adapter->dev); process_done = netif_rx(skb); } else { if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 4U) != 0U) && ((psIntfAdapter->psAdapter)->stDebugState.subtype[4] & 16U) != 0U) { descriptor___18.modname = "bcm_wimax"; descriptor___18.function = "read_bulk_callback"; descriptor___18.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceRx.o.c.prepared"; descriptor___18.format = "%s:\ni/f not up hance freeing SKB..."; descriptor___18.lineno = 196U; descriptor___18.flags = 0U; tmp___19 = ldv__builtin_expect((long )descriptor___18.flags & 1L, 0L); if (tmp___19 != 0L) { __dynamic_pr_debug(& descriptor___18, "%s:\ni/f not up hance freeing SKB...", "read_bulk_callback"); } else { } } else { } consume_skb(skb); } (Adapter->dev)->stats.rx_packets = (Adapter->dev)->stats.rx_packets + 1UL; (Adapter->dev)->stats.rx_bytes = (Adapter->dev)->stats.rx_bytes + (unsigned long )pLeader->PLength; uiIndex = 0U; goto ldv_51779; ldv_51778: ; if ((UINT )pLeader->PLength <= (uiIndex + 1U) * 128U && (UINT )pLeader->PLength > uiIndex * 128U) { Adapter->aRxPktSizeHist[uiIndex] = Adapter->aRxPktSizeHist[uiIndex] + 1U; } else { } uiIndex = uiIndex + 1U; ldv_51779: ; if (uiIndex <= 11U) { goto ldv_51778; } else { } } Adapter->PrevNumRecvDescs = (USHORT )((int )Adapter->PrevNumRecvDescs + 1); pRcb->bUsed = 0; atomic_dec(& psIntfAdapter->uNumRcbUsed); return; } } static int ReceiveRcb(struct bcm_interface_adapter *psIntfAdapter , struct bcm_usb_rcb *pRcb ) { struct urb *urb ; int retval ; unsigned int tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; { urb = pRcb->urb; retval = 0; tmp = __create_pipe(psIntfAdapter->udev, (unsigned int )psIntfAdapter->sBulkIn.bulk_in_endpointAddr); usb_fill_bulk_urb(urb, psIntfAdapter->udev, tmp | 3221225600U, urb->transfer_buffer, 2048, & read_bulk_callback, (void *)pRcb); if (((! (psIntfAdapter->psAdapter)->device_removed && ! (psIntfAdapter->psAdapter)->bEndPointHalted) && ! psIntfAdapter->bSuspended) && ! psIntfAdapter->bPreparingForBusSuspend) { retval = ldv_usb_submit_urb_174(urb, 32U); if (retval != 0) { if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 4U) != 0U) && (int )(psIntfAdapter->psAdapter)->stDebugState.subtype[4] & 1) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "ReceiveRcb"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceRx.o.c.prepared"; descriptor___0.format = "%s:\nfailed submitting read urb, error %d"; descriptor___0.lineno = 227U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nfailed submitting read urb, error %d", "ReceiveRcb", retval); } else { } } else { } if (retval == -32) { (psIntfAdapter->psAdapter)->bEndPointHalted = 1; __wake_up(& (psIntfAdapter->psAdapter)->tx_packet_wait_queue, 3U, 1, (void *)0); } else { } } else { } } else { } return (retval); } } bool InterfaceRx(struct bcm_interface_adapter *psIntfAdapter ) { USHORT RxDescCount ; int tmp ; struct bcm_usb_rcb *pRcb ; { tmp = atomic_read((atomic_t const *)(& psIntfAdapter->uNumRcbUsed)); RxDescCount = 64U - (unsigned int )((USHORT )tmp); pRcb = (struct bcm_usb_rcb *)0; goto ldv_51799; ldv_51798: pRcb = GetBulkInRcb(psIntfAdapter); if ((unsigned long )pRcb == (unsigned long )((struct bcm_usb_rcb *)0)) { printk("\016%s:Unable to get Rcb pointer", "InterfaceRx"); return (0); } else { } ReceiveRcb(psIntfAdapter, pRcb); RxDescCount = (USHORT )((int )RxDescCount - 1); ldv_51799: ; if ((unsigned int )RxDescCount != 0U) { goto ldv_51798; } else { } return (1); } } __inline static void spin_lock(spinlock_t *lock ) { { ldv_spin_lock(); ldv_spin_lock_141(lock); return; } } __inline static void spin_unlock(spinlock_t *lock ) { { ldv_spin_unlock(); ldv_spin_unlock_145(lock); return; } } int ldv_pskb_expand_head_162(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_164(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_166(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_167(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_168(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_169(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_170(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_171(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_172(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } int ldv_usb_submit_urb_174(struct urb *ldv_func_arg1 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = usb_submit_urb(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_210(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_218(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_212(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_208(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_216(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_217(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_213(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_214(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_215(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; __inline static void usb_fill_int_urb(struct urb *urb , struct usb_device *dev , unsigned int pipe , void *transfer_buffer , int buffer_length , void (*complete_fn)(struct urb * ) , void *context , int interval ) { int __val ; int __min ; int __max ; { urb->dev = dev; urb->pipe = pipe; urb->transfer_buffer = transfer_buffer; urb->transfer_buffer_length = (u32 )buffer_length; urb->complete = complete_fn; urb->context = context; if ((unsigned int )dev->speed == 3U || (unsigned int )dev->speed == 5U) { __val = interval; __min = 1; __max = 16; __val = __min > __val ? __min : __val; interval = __max < __val ? __max : __val; urb->interval = 1 << (interval + -1); } else { urb->interval = interval; } urb->start_frame = -1; return; } } struct urb *ldv_usb_alloc_urb_220(int ldv_func_arg1 , gfp_t flags ) ; int ldv_usb_submit_urb_221(struct urb *ldv_func_arg1 , gfp_t flags ) ; static void read_int_callback(struct urb *urb ) { int status ; struct bcm_interface_adapter *psIntfAdapter ; struct bcm_mini_adapter *Adapter ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; struct _ddebug descriptor___6 ; int tmp___7 ; long tmp___8 ; struct _ddebug descriptor___8 ; long tmp___10 ; int tmp___11 ; int tmp___12 ; struct _ddebug descriptor___10 ; long tmp___14 ; struct _ddebug descriptor___12 ; long tmp___16 ; struct _ddebug descriptor___14 ; long tmp___18 ; struct _ddebug descriptor___16 ; long tmp___20 ; struct _ddebug descriptor___18 ; long tmp___22 ; struct _ddebug descriptor___20 ; long tmp___24 ; { status = urb->status; psIntfAdapter = (struct bcm_interface_adapter *)urb->context; Adapter = psIntfAdapter->psAdapter; if ((Adapter->msg_enable & 512U) != 0U) { printk("\016beceem %s: interrupt status %d\n", (char *)(& (Adapter->dev)->name), status); } else { } if ((int )Adapter->device_removed) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 524288U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "read_int_callback"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceIsr.o.c.prepared"; descriptor___0.format = "%s:\nDevice has Got Removed."; descriptor___0.lineno = 53U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nDevice has Got Removed.", "read_int_callback"); } else { } } else { } return; } else { } if ((((int )Adapter->bPreparingForLowPowerMode && (int )Adapter->bDoSuspend) || (int )psIntfAdapter->bSuspended) || (int )psIntfAdapter->bPreparingForBusSuspend) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 524288U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "read_int_callback"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceIsr.o.c.prepared"; descriptor___2.format = "%s:\nInterrupt call back is called while suspending the device"; descriptor___2.lineno = 62U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nInterrupt call back is called while suspending the device", "read_int_callback"); } else { } } else { } return; } else { } switch (status) { case 0: ; if (urb->actual_length != 0U) { if ((psIntfAdapter->ulInterruptData[1] & 255UL) != 0UL) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 524288U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "read_int_callback"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceIsr.o.c.prepared"; descriptor___4.format = "%s:\nGot USIM interrupt"; descriptor___4.lineno = 74U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nGot USIM interrupt", "read_int_callback"); } else { } } else { } } else { } if ((psIntfAdapter->ulInterruptData[1] & 65280UL) != 0UL) { atomic_set(& Adapter->CurrNumFreeTxDesc, (int )((psIntfAdapter->ulInterruptData[1] & 65280UL) >> 8)); atomic_set(& Adapter->uiMBupdate, 1); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 524288U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "read_int_callback"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceIsr.o.c.prepared"; descriptor___6.format = "%s:\nTX mailbox contains %d"; descriptor___6.lineno = 85U; descriptor___6.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___8 != 0L) { tmp___7 = atomic_read((atomic_t const *)(& Adapter->CurrNumFreeTxDesc)); __dynamic_pr_debug(& descriptor___6, "%s:\nTX mailbox contains %d", "read_int_callback", tmp___7); } else { } } else { } } else { } if (psIntfAdapter->ulInterruptData[1] >> 16 != 0UL) { Adapter->CurrNumRecvDescs = (USHORT )(psIntfAdapter->ulInterruptData[1] >> 16); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 524288U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "read_int_callback"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceIsr.o.c.prepared"; descriptor___8.format = "%s:\nRX mailbox contains %d"; descriptor___8.lineno = 93U; descriptor___8.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nRX mailbox contains %d", "read_int_callback", (int )Adapter->CurrNumRecvDescs); } else { } } else { } InterfaceRx(psIntfAdapter); } else { } if ((int )Adapter->fw_download_done && Adapter->downloadDDR == 0) { tmp___11 = atomic_read((atomic_t const *)(& Adapter->CurrNumFreeTxDesc)); if (tmp___11 != 0) { (psIntfAdapter->psAdapter)->downloadDDR = (psIntfAdapter->psAdapter)->downloadDDR + 1; __wake_up(& Adapter->tx_packet_wait_queue, 3U, 1, (void *)0); } else { } } else { } if (! Adapter->waiting_to_fw_download_done) { Adapter->waiting_to_fw_download_done = 1; __wake_up(& Adapter->ioctl_fw_dnld_wait_queue, 3U, 1, (void *)0); } else { } tmp___12 = atomic_read((atomic_t const *)(& Adapter->TxPktAvail)); if (tmp___12 == 0) { atomic_set(& Adapter->TxPktAvail, 1); __wake_up(& Adapter->tx_packet_wait_queue, 3U, 1, (void *)0); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 524288U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "read_int_callback"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceIsr.o.c.prepared"; descriptor___10.format = "%s:\nFiring interrupt in URB"; descriptor___10.lineno = 112U; descriptor___10.flags = 0U; tmp___14 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___14 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nFiring interrupt in URB", "read_int_callback"); } else { } } else { } } else { } goto ldv_51743; case -2: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 524288U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "read_int_callback"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceIsr.o.c.prepared"; descriptor___12.format = "%s:\nURB has got disconnected...."; descriptor___12.lineno = 117U; descriptor___12.flags = 0U; tmp___16 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___16 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nURB has got disconnected....", "read_int_callback"); } else { } } else { } return; case -115: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 524288U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "read_int_callback"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceIsr.o.c.prepared"; descriptor___14.format = "%s:\nImpossibe condition has occurred... something very bad is going on"; descriptor___14.lineno = 126U; descriptor___14.flags = 0U; tmp___18 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___18 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nImpossibe condition has occurred... something very bad is going on", "read_int_callback"); } else { } } else { } goto ldv_51743; case -32: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 524288U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "read_int_callback"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceIsr.o.c.prepared"; descriptor___16.format = "%s:\nInterrupt IN endPoint has got halted/stalled...need to clear this"; descriptor___16.lineno = 132U; descriptor___16.flags = 0U; tmp___20 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___20 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\nInterrupt IN endPoint has got halted/stalled...need to clear this", "read_int_callback"); } else { } } else { } Adapter->bEndPointHalted = 1; __wake_up(& Adapter->tx_packet_wait_queue, 3U, 1, (void *)0); urb->status = 0; return; case -104: ; case -108: ; case -19: ; case -22: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 524288U) != 0U) { descriptor___18.modname = "bcm_wimax"; descriptor___18.function = "read_int_callback"; descriptor___18.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceIsr.o.c.prepared"; descriptor___18.format = "%s:\ninterrupt urb error %d"; descriptor___18.lineno = 151U; descriptor___18.flags = 0U; tmp___22 = ldv__builtin_expect((long )descriptor___18.flags & 1L, 0L); if (tmp___22 != 0L) { __dynamic_pr_debug(& descriptor___18, "%s:\ninterrupt urb error %d", "read_int_callback", status); } else { } } else { } urb->status = 0; goto ldv_51743; default: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 2U) != 0U) { descriptor___20.modname = "bcm_wimax"; descriptor___20.function = "read_int_callback"; descriptor___20.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceIsr.o.c.prepared"; descriptor___20.format = "%s:\nGOT DEFAULT INTERRUPT URB STATUS :%d..Please Analyze it..."; descriptor___20.lineno = 162U; descriptor___20.flags = 0U; tmp___24 = ldv__builtin_expect((long )descriptor___20.flags & 1L, 0L); if (tmp___24 != 0L) { __dynamic_pr_debug(& descriptor___20, "%s:\nGOT DEFAULT INTERRUPT URB STATUS :%d..Please Analyze it...", "read_int_callback", status); } else { } } else { } goto ldv_51743; } ldv_51743: StartInterruptUrb(psIntfAdapter); return; } } int CreateInterruptUrb(struct bcm_interface_adapter *psIntfAdapter ) { struct _ddebug descriptor___0 ; long tmp___0 ; unsigned int tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; { psIntfAdapter->psInterruptUrb = ldv_usb_alloc_urb_220(0, 208U); if ((unsigned long )psIntfAdapter->psInterruptUrb == (unsigned long )((struct urb *)0)) { if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 8U) != 0U) && ((psIntfAdapter->psAdapter)->stDebugState.subtype[8] & 524288U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "CreateInterruptUrb"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceIsr.o.c.prepared"; descriptor___0.format = "%s:\nCannot allocate interrupt urb"; descriptor___0.lineno = 177U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nCannot allocate interrupt urb", "CreateInterruptUrb"); } else { } } else { } return (-12); } else { } (psIntfAdapter->psInterruptUrb)->transfer_buffer = (void *)(& psIntfAdapter->ulInterruptData); (psIntfAdapter->psInterruptUrb)->transfer_buffer_length = 16U; tmp___1 = __create_pipe(psIntfAdapter->udev, (unsigned int )psIntfAdapter->sIntrIn.int_in_endpointAddr); psIntfAdapter->sIntrIn.int_in_pipe = tmp___1 | 1073741952U; usb_fill_int_urb(psIntfAdapter->psInterruptUrb, psIntfAdapter->udev, psIntfAdapter->sIntrIn.int_in_pipe, (psIntfAdapter->psInterruptUrb)->transfer_buffer, (int )(psIntfAdapter->psInterruptUrb)->transfer_buffer_length, & read_int_callback, (void *)psIntfAdapter, (int )psIntfAdapter->sIntrIn.int_in_interval); if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 8U) != 0U) && ((psIntfAdapter->psAdapter)->stDebugState.subtype[8] & 524288U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "CreateInterruptUrb"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceIsr.o.c.prepared"; descriptor___2.format = "%s:\nInterrupt Interval: %d\n"; descriptor___2.lineno = 197U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nInterrupt Interval: %d\n", "CreateInterruptUrb", (int )psIntfAdapter->sIntrIn.int_in_interval); } else { } } else { } return (0); } } INT StartInterruptUrb(struct bcm_interface_adapter *psIntfAdapter ) { INT status ; struct _ddebug descriptor___0 ; long tmp___0 ; { status = 0; if ((((! (psIntfAdapter->psAdapter)->device_removed && ! (psIntfAdapter->psAdapter)->bEndPointHalted) && ! psIntfAdapter->bSuspended) && ! psIntfAdapter->bPreparingForBusSuspend) && ! (psIntfAdapter->psAdapter)->StopAllXaction) { status = ldv_usb_submit_urb_221(psIntfAdapter->psInterruptUrb, 32U); if (status != 0) { if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 8U) != 0U) && ((psIntfAdapter->psAdapter)->stDebugState.subtype[8] & 524288U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "StartInterruptUrb"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceIsr.o.c.prepared"; descriptor___0.format = "%s:\nCannot send inturb %d\n"; descriptor___0.lineno = 216U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nCannot send inturb %d\n", "StartInterruptUrb", status); } else { } } else { } if (status == -32) { (psIntfAdapter->psAdapter)->bEndPointHalted = 1; __wake_up(& (psIntfAdapter->psAdapter)->tx_packet_wait_queue, 3U, 1, (void *)0); } else { } } else { } } else { } return (status); } } int ldv_pskb_expand_head_208(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_210(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_212(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_213(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_214(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_215(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_216(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_217(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_218(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct urb *ldv_usb_alloc_urb_220(int ldv_func_arg1 , gfp_t flags ) { struct urb *tmp ; { ldv_check_alloc_flags(flags); tmp = usb_alloc_urb(ldv_func_arg1, flags); return (tmp); } } int ldv_usb_submit_urb_221(struct urb *ldv_func_arg1 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = usb_submit_urb(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_258(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_266(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_260(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_256(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_264(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_265(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_261(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_262(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_263(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; extern void usb_autopm_put_interface(struct usb_interface * ) ; extern void usb_kill_urb(struct urb * ) ; extern int usb_control_msg(struct usb_device * , unsigned int , __u8 , __u8 , __u16 , __u16 , void * , __u16 , int ) ; extern int usb_clear_halt(struct usb_device * , int ) ; INT Bcm_clear_halt_of_endpoints(struct bcm_mini_adapter *Adapter ) ; VOID Bcm_kill_all_URBs(struct bcm_interface_adapter *psIntfAdapter ) ; INT InterfaceRDM(struct bcm_interface_adapter *psIntfAdapter , unsigned int addr , void *buff , int len ) { int bytes ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; unsigned int tmp___5 ; struct _ddebug descriptor___6 ; long tmp___7 ; struct _ddebug descriptor___8 ; long tmp___9 ; { if ((unsigned long )psIntfAdapter == (unsigned long )((struct bcm_interface_adapter *)0)) { return (-22); } else { } if ((int )(psIntfAdapter->psAdapter)->device_removed) { printk("\016%s:Device got removed", "InterfaceRDM"); return (-19); } else { } if ((int )(psIntfAdapter->psAdapter)->StopAllXaction && (psIntfAdapter->psAdapter)->chip_id > 3201184511UL) { if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 8U) != 0U) && ((psIntfAdapter->psAdapter)->stDebugState.subtype[8] & 32768U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "InterfaceRDM"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceMisc.o.c.prepared"; descriptor___2.format = "%s:\nCurrently Xaction is not allowed on the bus"; descriptor___2.lineno = 55U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nCurrently Xaction is not allowed on the bus", "InterfaceRDM"); } else { } } else { } return (-13); } else { } if ((int )psIntfAdapter->bSuspended || (int )psIntfAdapter->bPreparingForBusSuspend) { if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 8U) != 0U) && ((psIntfAdapter->psAdapter)->stDebugState.subtype[8] & 32768U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "InterfaceRDM"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceMisc.o.c.prepared"; descriptor___4.format = "%s:\nBus is in suspended states hence RDM not allowed.."; descriptor___4.lineno = 60U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nBus is in suspended states hence RDM not allowed..", "InterfaceRDM"); } else { } } else { } return (-13); } else { } (psIntfAdapter->psAdapter)->DeviceAccess = 1; tmp___5 = __create_pipe(psIntfAdapter->udev, 0U); bytes = usb_control_msg(psIntfAdapter->udev, tmp___5 | 2147483776U, 2, 194, (int )((__u16 )addr), (int )((__u16 )(addr >> 16)), buff, (int )((__u16 )len), 5000); if (bytes == -19) { (psIntfAdapter->psAdapter)->device_removed = 1; } else { } if (bytes < 0) { if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 8U) != 0U) && ((psIntfAdapter->psAdapter)->stDebugState.subtype[8] & 32768U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "InterfaceRDM"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceMisc.o.c.prepared"; descriptor___6.format = "%s:\nRDM failed status :%d"; descriptor___6.lineno = 79U; descriptor___6.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nRDM failed status :%d", "InterfaceRDM", bytes); } else { } } else { } } else if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 8U) != 0U) && ((psIntfAdapter->psAdapter)->stDebugState.subtype[8] & 32768U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "InterfaceRDM"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceMisc.o.c.prepared"; descriptor___8.format = "%s:\nRDM sent %d"; descriptor___8.lineno = 81U; descriptor___8.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nRDM sent %d", "InterfaceRDM", bytes); } else { } } else { } (psIntfAdapter->psAdapter)->DeviceAccess = 0; return (bytes); } } INT InterfaceWRM(struct bcm_interface_adapter *psIntfAdapter , unsigned int addr , void *buff , int len ) { int retval ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; unsigned int tmp___5 ; struct _ddebug descriptor___6 ; long tmp___7 ; struct _ddebug descriptor___8 ; long tmp___9 ; { retval = 0; if ((unsigned long )psIntfAdapter == (unsigned long )((struct bcm_interface_adapter *)0)) { return (-22); } else { } if ((int )(psIntfAdapter->psAdapter)->device_removed) { printk("\016%s:Device got removed", "InterfaceWRM"); return (-19); } else { } if ((int )(psIntfAdapter->psAdapter)->StopAllXaction && (psIntfAdapter->psAdapter)->chip_id > 3201184511UL) { if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 8U) != 0U) && ((psIntfAdapter->psAdapter)->stDebugState.subtype[8] & 16384U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "InterfaceWRM"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceMisc.o.c.prepared"; descriptor___2.format = "%s:\nCurrently Xaction is not allowed on the bus..."; descriptor___2.lineno = 103U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nCurrently Xaction is not allowed on the bus...", "InterfaceWRM"); } else { } } else { } return (-13); } else { } if ((int )psIntfAdapter->bSuspended || (int )psIntfAdapter->bPreparingForBusSuspend) { if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 8U) != 0U) && ((psIntfAdapter->psAdapter)->stDebugState.subtype[8] & 16384U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "InterfaceWRM"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceMisc.o.c.prepared"; descriptor___4.format = "%s:\nBus is in suspended states hence RDM not allowed.."; descriptor___4.lineno = 108U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nBus is in suspended states hence RDM not allowed..", "InterfaceWRM"); } else { } } else { } return (-13); } else { } (psIntfAdapter->psAdapter)->DeviceAccess = 1; tmp___5 = __create_pipe(psIntfAdapter->udev, 0U); retval = usb_control_msg(psIntfAdapter->udev, tmp___5 | 2147483648U, 1, 66, (int )((__u16 )addr), (int )((__u16 )(addr >> 16)), buff, (int )((__u16 )len), 5000); if (retval == -19) { (psIntfAdapter->psAdapter)->device_removed = 1; } else { } if (retval < 0) { if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 8U) != 0U) && ((psIntfAdapter->psAdapter)->stDebugState.subtype[8] & 16384U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "InterfaceWRM"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceMisc.o.c.prepared"; descriptor___6.format = "%s:\nWRM failed status :%d"; descriptor___6.lineno = 128U; descriptor___6.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nWRM failed status :%d", "InterfaceWRM", retval); } else { } } else { } (psIntfAdapter->psAdapter)->DeviceAccess = 0; return (retval); } else { (psIntfAdapter->psAdapter)->DeviceAccess = 0; if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 8U) != 0U) && ((psIntfAdapter->psAdapter)->stDebugState.subtype[8] & 16384U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "InterfaceWRM"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceMisc.o.c.prepared"; descriptor___8.format = "%s:\nWRM sent %d"; descriptor___8.lineno = 133U; descriptor___8.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nWRM sent %d", "InterfaceWRM", retval); } else { } } else { } return (0); } } } int BcmRDM(void *arg , unsigned int addr , void *buff , int len ) { INT tmp ; { tmp = InterfaceRDM((struct bcm_interface_adapter *)arg, addr, buff, len); return (tmp); } } int BcmWRM(void *arg , unsigned int addr , void *buff , int len ) { INT tmp ; { tmp = InterfaceWRM((struct bcm_interface_adapter *)arg, addr, buff, len); return (tmp); } } INT Bcm_clear_halt_of_endpoints(struct bcm_mini_adapter *Adapter ) { struct bcm_interface_adapter *psIntfAdapter ; int status ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; { psIntfAdapter = (struct bcm_interface_adapter *)Adapter->pvInterfaceAdapter; status = 0; Bcm_kill_all_URBs(psIntfAdapter); status = usb_clear_halt(psIntfAdapter->udev, (int )psIntfAdapter->sIntrIn.int_in_pipe); if (status != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 524288U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "Bcm_clear_halt_of_endpoints"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceMisc.o.c.prepared"; descriptor___0.format = "%s:\nUnable to Clear Halt of Interrupt IN end point. :%d "; descriptor___0.lineno = 180U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nUnable to Clear Halt of Interrupt IN end point. :%d ", "Bcm_clear_halt_of_endpoints", status); } else { } } else { } } else { } status = usb_clear_halt(psIntfAdapter->udev, (int )psIntfAdapter->sBulkIn.bulk_in_pipe); if (status != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 524288U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "Bcm_clear_halt_of_endpoints"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceMisc.o.c.prepared"; descriptor___2.format = "%s:\nUnable to Clear Halt of Bulk IN end point. :%d "; descriptor___2.lineno = 184U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nUnable to Clear Halt of Bulk IN end point. :%d ", "Bcm_clear_halt_of_endpoints", status); } else { } } else { } } else { } status = usb_clear_halt(psIntfAdapter->udev, (int )psIntfAdapter->sBulkOut.bulk_out_pipe); if (status != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 524288U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "Bcm_clear_halt_of_endpoints"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceMisc.o.c.prepared"; descriptor___4.format = "%s:\nUnable to Clear Halt of Bulk OUT end point. :%d "; descriptor___4.lineno = 188U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nUnable to Clear Halt of Bulk OUT end point. :%d ", "Bcm_clear_halt_of_endpoints", status); } else { } } else { } } else { } return (status); } } VOID Bcm_kill_all_URBs(struct bcm_interface_adapter *psIntfAdapter ) { struct urb *tempUrb ; unsigned int i ; { tempUrb = (struct urb *)0; if ((unsigned long )psIntfAdapter->psInterruptUrb != (unsigned long )((struct urb *)0)) { if ((psIntfAdapter->psInterruptUrb)->status == -115) { usb_kill_urb(psIntfAdapter->psInterruptUrb); } else { } } else { } i = 0U; goto ldv_51777; ldv_51776: tempUrb = psIntfAdapter->asUsbTcb[i].urb; if ((unsigned long )tempUrb != (unsigned long )((struct urb *)0)) { if (tempUrb->status == -115) { usb_kill_urb(tempUrb); } else { } } else { } i = i + 1U; ldv_51777: ; if (i <= 127U) { goto ldv_51776; } else { } i = 0U; goto ldv_51780; ldv_51779: tempUrb = psIntfAdapter->asUsbRcb[i].urb; if ((unsigned long )tempUrb != (unsigned long )((struct urb *)0)) { if (tempUrb->status == -115) { usb_kill_urb(tempUrb); } else { } } else { } i = i + 1U; ldv_51780: ; if (i <= 127U) { goto ldv_51779; } else { } atomic_set(& psIntfAdapter->uNumTcbUsed, 0); atomic_set(& psIntfAdapter->uCurrTcb, 0); atomic_set(& psIntfAdapter->uNumRcbUsed, 0); atomic_set(& psIntfAdapter->uCurrRcb, 0); return; } } VOID putUsbSuspend(struct work_struct *work ) { struct bcm_interface_adapter *psIntfAdapter ; struct usb_interface *intf ; struct work_struct const *__mptr ; { psIntfAdapter = (struct bcm_interface_adapter *)0; intf = (struct usb_interface *)0; __mptr = (struct work_struct const *)work; psIntfAdapter = (struct bcm_interface_adapter *)__mptr + 0xffffffffffffe750UL; intf = psIntfAdapter->interface; if (! psIntfAdapter->bSuspended) { usb_autopm_put_interface(intf); } else { } return; } } int ldv_pskb_expand_head_256(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_258(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_260(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_261(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_262(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_263(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_264(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_265(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_266(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } extern struct workqueue_struct *system_wq ; extern bool queue_work_on(int , struct workqueue_struct * , struct work_struct * ) ; __inline static bool queue_work(struct workqueue_struct *wq , struct work_struct *work ) { bool tmp ; { tmp = queue_work_on(8192, wq, work); return (tmp); } } __inline static bool schedule_work(struct work_struct *work ) { bool tmp ; { tmp = queue_work(system_wq, work); return (tmp); } } struct sk_buff *ldv_skb_clone_302(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_310(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_304(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_300(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_308(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_309(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_305(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_306(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_307(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; int ldv_usb_submit_urb_313(struct urb *ldv_func_arg1 , gfp_t flags ) ; extern void *usb_alloc_coherent(struct usb_device * , size_t , gfp_t , dma_addr_t * ) ; void *ldv_usb_alloc_coherent_312(struct usb_device *ldv_func_arg1 , size_t ldv_func_arg2 , gfp_t flags , dma_addr_t *ldv_func_arg4 ) ; extern void usb_free_coherent(struct usb_device * , size_t , void * , dma_addr_t ) ; struct net_device *gblpnetdev ; static void write_bulk_callback(struct urb *urb ) { struct bcm_usb_tcb *pTcb ; struct bcm_interface_adapter *psIntfAdapter ; struct bcm_link_request *pControlMsg ; struct bcm_mini_adapter *psAdapter ; bool bpowerDownMsg ; struct bcm_mini_adapter *Adapter ; void *tmp ; long tmp___0 ; struct _ddebug descriptor___0 ; long tmp___2 ; struct _ddebug descriptor___2 ; long tmp___4 ; struct _ddebug descriptor___4 ; long tmp___6 ; struct _ddebug descriptor___6 ; long tmp___8 ; struct _ddebug descriptor___8 ; long tmp___10 ; struct _ddebug descriptor___10 ; long tmp___12 ; { pTcb = (struct bcm_usb_tcb *)urb->context; psIntfAdapter = (struct bcm_interface_adapter *)pTcb->psIntfAdapter; pControlMsg = (struct bcm_link_request *)urb->transfer_buffer; psAdapter = psIntfAdapter->psAdapter; bpowerDownMsg = 0; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; tmp___0 = ldv__builtin_expect((Adapter->msg_enable & 1024U) != 0U, 0L); if (tmp___0 != 0L) { printk("\016beceem %s: transmit status %d\n", (char *)(& (Adapter->dev)->name), urb->status); } else { } if (urb->status != 0) { if (urb->status == -32) { (psIntfAdapter->psAdapter)->bEndPointHalted = 1; __wake_up(& (psIntfAdapter->psAdapter)->tx_packet_wait_queue, 3U, 1, (void *)0); } else if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 2U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "write_bulk_callback"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceTx.o.c.prepared"; descriptor___0.format = "%s:\nTx URB has got cancelled. status :%d"; descriptor___0.lineno = 57U; descriptor___0.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nTx URB has got cancelled. status :%d", "write_bulk_callback", urb->status); } else { } } else { } } else { } pTcb->bUsed = 0; atomic_dec(& psIntfAdapter->uNumTcbUsed); if ((int )psAdapter->bPreparingForLowPowerMode) { if ((unsigned int )pControlMsg->szData[0] == 210U && (unsigned int )pControlMsg->szData[1] == 2U) { bpowerDownMsg = 1; if (urb->status != 0) { psAdapter->bPreparingForLowPowerMode = 0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 2U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "write_bulk_callback"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceTx.o.c.prepared"; descriptor___2.format = "%s:\nIdle Mode Request msg failed to reach to Modem"; descriptor___2.lineno = 74U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nIdle Mode Request msg failed to reach to Modem", "write_bulk_callback"); } else { } } else { } __wake_up(& psAdapter->lowpower_mode_wait_queue, 3U, 1, (void *)0); StartInterruptUrb(psIntfAdapter); goto err_exit; } else { } if (! psAdapter->bDoSuspend) { psAdapter->IdleMode = 1; psAdapter->bPreparingForLowPowerMode = 0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 2U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "write_bulk_callback"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceTx.o.c.prepared"; descriptor___4.format = "%s:\nHost Entered in Idle Mode State..."; descriptor___4.lineno = 86U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nHost Entered in Idle Mode State...", "write_bulk_callback"); } else { } } else { } __wake_up(& psAdapter->lowpower_mode_wait_queue, 3U, 1, (void *)0); } else { } } else if ((((unsigned int )pControlMsg->Leader.Status == 131U && (unsigned int )pControlMsg->szData[0] == 246U) && (unsigned int )pControlMsg->szData[1] == 8U) && (unsigned int )pControlMsg->szData[2] == 1U) { if (urb->status != 0) { psAdapter->bPreparingForLowPowerMode = 0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 2U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "write_bulk_callback"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceTx.o.c.prepared"; descriptor___6.format = "%s:\nShutdown Request Msg failed to reach to Modem"; descriptor___6.lineno = 98U; descriptor___6.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nShutdown Request Msg failed to reach to Modem", "write_bulk_callback"); } else { } } else { } __wake_up(& psAdapter->lowpower_mode_wait_queue, 3U, 1, (void *)0); StartInterruptUrb(psIntfAdapter); goto err_exit; } else { } bpowerDownMsg = 1; if (! psAdapter->bDoSuspend) { psAdapter->bShutStatus = 1; psAdapter->bPreparingForLowPowerMode = 0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 2U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "write_bulk_callback"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceTx.o.c.prepared"; descriptor___8.format = "%s:\nHost Entered in shutdown Mode State..."; descriptor___8.lineno = 110U; descriptor___8.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nHost Entered in shutdown Mode State...", "write_bulk_callback"); } else { } } else { } __wake_up(& psAdapter->lowpower_mode_wait_queue, 3U, 1, (void *)0); } else { } } else { } if ((int )psAdapter->bDoSuspend && (int )bpowerDownMsg) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 2U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "write_bulk_callback"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceTx.o.c.prepared"; descriptor___10.format = "%s:\nIssuing the Bus suspend request to USB stack"; descriptor___10.lineno = 118U; descriptor___10.flags = 0U; tmp___12 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___12 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nIssuing the Bus suspend request to USB stack", "write_bulk_callback"); } else { } } else { } psIntfAdapter->bPreparingForBusSuspend = 1; schedule_work(& psIntfAdapter->usbSuspendWork); } else { } } else { } err_exit: usb_free_coherent(urb->dev, (size_t )urb->transfer_buffer_length, urb->transfer_buffer, urb->transfer_dma); return; } } static struct bcm_usb_tcb *GetBulkOutTcb(struct bcm_interface_adapter *psIntfAdapter ) { struct bcm_usb_tcb *pTcb ; UINT index ; int tmp ; struct _ddebug descriptor___0 ; int tmp___2 ; long tmp___3 ; int tmp___4 ; { pTcb = (struct bcm_usb_tcb *)0; index = 0U; tmp___4 = atomic_read((atomic_t const *)(& psIntfAdapter->uNumTcbUsed)); if (tmp___4 <= 127 && ! (psIntfAdapter->psAdapter)->StopAllXaction) { tmp = atomic_read((atomic_t const *)(& psIntfAdapter->uCurrTcb)); index = (UINT )tmp; pTcb = (struct bcm_usb_tcb *)(& psIntfAdapter->asUsbTcb) + (unsigned long )index; pTcb->bUsed = 1; pTcb->psIntfAdapter = (void *)psIntfAdapter; if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 2U) != 0U) && ((psIntfAdapter->psAdapter)->stDebugState.subtype[2] & 2U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "GetBulkOutTcb"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceTx.o.c.prepared"; descriptor___0.format = "%s:\nGot Tx desc %d used %d"; descriptor___0.lineno = 144U; descriptor___0.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___3 != 0L) { tmp___2 = atomic_read((atomic_t const *)(& psIntfAdapter->uNumTcbUsed)); __dynamic_pr_debug(& descriptor___0, "%s:\nGot Tx desc %d used %d", "GetBulkOutTcb", index, tmp___2); } else { } } else { } index = (index + 1U) & 127U; atomic_set(& psIntfAdapter->uCurrTcb, (int )index); atomic_inc(& psIntfAdapter->uNumTcbUsed); } else { } return (pTcb); } } static int TransmitTcb(struct bcm_interface_adapter *psIntfAdapter , struct bcm_usb_tcb *pTcb , PVOID data , int len ) { struct urb *urb ; int retval ; size_t __len ; void *__ret ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; { urb = pTcb->urb; retval = 0; urb->transfer_buffer = ldv_usb_alloc_coherent_312(psIntfAdapter->udev, (size_t )len, 32U, & urb->transfer_dma); if ((unsigned long )urb->transfer_buffer == (unsigned long )((void *)0)) { printk("\016%s:Error allocating memory\n", "TransmitTcb"); return (-12); } else { } __len = (size_t )len; __ret = memcpy(urb->transfer_buffer, (void const *)data, __len); urb->transfer_buffer_length = (u32 )len; if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 2U) != 0U) && ((psIntfAdapter->psAdapter)->stDebugState.subtype[2] & 2U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "TransmitTcb"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceTx.o.c.prepared"; descriptor___2.format = "%s:\nSending Bulk out packet\n"; descriptor___2.lineno = 167U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nSending Bulk out packet\n", "TransmitTcb"); } else { } } else { } if ((psIntfAdapter->psAdapter)->chip_id == 3201172240UL && (int )psIntfAdapter->bHighSpeedDevice) { usb_fill_int_urb(urb, psIntfAdapter->udev, psIntfAdapter->sBulkOut.bulk_out_pipe, urb->transfer_buffer, len, & write_bulk_callback, (void *)pTcb, (int )psIntfAdapter->sBulkOut.int_out_interval); } else { usb_fill_bulk_urb(urb, psIntfAdapter->udev, psIntfAdapter->sBulkOut.bulk_out_pipe, urb->transfer_buffer, len, & write_bulk_callback, (void *)pTcb); } urb->transfer_flags = urb->transfer_flags | 4U; if (((! (psIntfAdapter->psAdapter)->device_removed && ! (psIntfAdapter->psAdapter)->bEndPointHalted) && ! psIntfAdapter->bSuspended) && ! psIntfAdapter->bPreparingForBusSuspend) { retval = ldv_usb_submit_urb_313(urb, 32U); if (retval != 0) { if ((((unsigned long )psIntfAdapter->psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && (psIntfAdapter->psAdapter)->stDebugState.debug_level > 6U) && ((psIntfAdapter->psAdapter)->stDebugState.type & 2U) != 0U) && ((psIntfAdapter->psAdapter)->stDebugState.subtype[2] & 2U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "TransmitTcb"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/InterfaceTx.o.c.prepared"; descriptor___4.format = "%s:\nfailed submitting write urb, error %d"; descriptor___4.lineno = 187U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nfailed submitting write urb, error %d", "TransmitTcb", retval); } else { } } else { } if (retval == -32) { (psIntfAdapter->psAdapter)->bEndPointHalted = 1; __wake_up(& (psIntfAdapter->psAdapter)->tx_packet_wait_queue, 3U, 1, (void *)0); } else { } } else { } } else { } return (retval); } } INT InterfaceTransmitPacket(PVOID arg , PVOID data , UINT len ) { struct bcm_usb_tcb *pTcb ; struct bcm_interface_adapter *psIntfAdapter ; int tmp___1 ; { pTcb = (struct bcm_usb_tcb *)0; psIntfAdapter = (struct bcm_interface_adapter *)arg; pTcb = GetBulkOutTcb(psIntfAdapter); if ((unsigned long )pTcb == (unsigned long )((struct bcm_usb_tcb *)0)) { printk("\016%s:No URB to transmit packet, dropping packet", "InterfaceTransmitPacket"); return (-14); } else { } tmp___1 = TransmitTcb(psIntfAdapter, pTcb, data, (int )len); return (tmp___1); } } int ldv_pskb_expand_head_300(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_302(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_304(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_305(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_306(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_307(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_308(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_309(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_310(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } void *ldv_usb_alloc_coherent_312(struct usb_device *ldv_func_arg1 , size_t ldv_func_arg2 , gfp_t flags , dma_addr_t *ldv_func_arg4 ) { { ldv_check_alloc_flags(flags); usb_alloc_coherent(ldv_func_arg1, ldv_func_arg2, flags, ldv_func_arg4); return ((void *)0); } } int ldv_usb_submit_urb_313(struct urb *ldv_func_arg1 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = usb_submit_urb(ldv_func_arg1, flags); return (tmp); } } __inline static void clear_bit(long nr , unsigned long volatile *addr ) { { __asm__ volatile (".pushsection .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.popsection\n671:\n\tlock; btr %1,%0": "+m" (*((long volatile *)addr)): "Ir" (nr)); return; } } extern unsigned long get_seconds(void) ; __inline static void *kmalloc(size_t size , gfp_t flags ) ; extern unsigned long _copy_to_user(void * , void const * , unsigned int ) ; extern void __copy_to_user_overflow(void) ; __inline static unsigned long copy_to_user(void *to , void const *from , unsigned long n ) { int sz ; unsigned long tmp ; long tmp___0 ; long tmp___1 ; { tmp = __builtin_object_size(from, 0); sz = (int )tmp; might_fault(); tmp___0 = ldv__builtin_expect(sz < 0, 1L); if (tmp___0 != 0L) { n = _copy_to_user(to, from, (unsigned int )n); } else { tmp___1 = ldv__builtin_expect((unsigned long )sz >= n, 1L); if (tmp___1 != 0L) { n = _copy_to_user(to, from, (unsigned int )n); } else { __copy_to_user_overflow(); } } return (n); } } struct sk_buff *ldv_skb_clone_350(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_358(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_352(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_348(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_356(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_357(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_353(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_354(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_355(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; __inline static struct netdev_queue *netdev_get_tx_queue(struct net_device const *dev , unsigned int index ) { { return ((struct netdev_queue *)dev->_tx + (unsigned long )index); } } __inline static void netif_tx_start_queue(struct netdev_queue *dev_queue ) { { clear_bit(0L, (unsigned long volatile *)(& dev_queue->state)); return; } } __inline static void netif_start_queue(struct net_device *dev ) { struct netdev_queue *tmp ; { tmp = netdev_get_tx_queue((struct net_device const *)dev, 0U); netif_tx_start_queue(tmp); return; } } extern void netif_carrier_on(struct net_device * ) ; unsigned long StoreCmControlResponseMessage(struct bcm_mini_adapter *Adapter , void *pvBuffer , unsigned int *puBufferLength ) ; int AllocAdapterDsxBuffer(struct bcm_mini_adapter *Adapter ) ; int FreeAdapterDsxBuffer(struct bcm_mini_adapter *Adapter ) ; unsigned long SetUpTargetDsxBuffers(struct bcm_mini_adapter *Adapter ) ; bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter , void *pvBuffer ) ; void DumpPhsRules(struct bcm_phs_extension *pDeviceExtension ) ; ULONG PhsUpdateClassifierRule(void *pvContext , B_UINT16 uiVcid , B_UINT16 uiClsId , struct bcm_phs_rule *psPhsRule , B_UINT8 u8AssociatedPHSI ) ; ULONG PhsDeletePHSRule(void *pvContext , B_UINT16 uiVcid , B_UINT8 u8PHSI ) ; ULONG PhsDeleteClassifierRule(void *pvContext , B_UINT16 uiVcid , B_UINT16 uiClsId ) ; ULONG PhsDeleteSFRules(void *pvContext , B_UINT16 uiVcid ) ; VOID DeleteAllClassifiersForSF(struct bcm_mini_adapter *Adapter , UINT uiSearchRuleIndex ) ; INT CopyBufferToControlPacket(struct bcm_mini_adapter *Adapter , void *ioBuffer ) ; VOID SortPackInfo(struct bcm_mini_adapter *Adapter ) ; VOID SortClassifiers(struct bcm_mini_adapter *Adapter ) ; INT SearchSfid(struct bcm_mini_adapter *Adapter , UINT uiSfid ) ; int get_dsx_sf_data_to_application(struct bcm_mini_adapter *Adapter , UINT uiSFId , void *user_buffer ) ; void CopyMIBSExtendedSFParameters(struct bcm_mini_adapter *Adapter , struct bcm_connect_mgr_params *psfLocalSet , UINT uiSearchRuleIndex ) ; void ClearTargetDSXBuffer(struct bcm_mini_adapter *Adapter , B_UINT16 TID , bool bFreeAll ) ; void flush_queue(struct bcm_mini_adapter *Adapter , unsigned int iQIndex ) ; static ULONG GetNextTargetBufferLocation(struct bcm_mini_adapter *Adapter , B_UINT16 tid ) ; static void restore_endianess_of_pstClassifierEntry(struct bcm_classifier_rule *pstClassifierEntry , enum bcm_ipaddr_context eIpAddrContext ) ; static void apply_phs_rule_to_all_classifiers(struct bcm_mini_adapter *Adapter , UINT uiSearchRuleIndex , USHORT uVCID , struct bcm_phs_rule *sPhsRule , struct bcm_phs_rules *cPhsRule , struct bcm_add_indication_alt *pstAddIndication ) ; INT SearchSfid(struct bcm_mini_adapter *Adapter , UINT uiSfid ) { int i ; { i = 16; goto ldv_51735; ldv_51734: ; if (Adapter->PackInfo[i].ulSFID == (ULONG )uiSfid) { return (i); } else { } i = i - 1; ldv_51735: ; if (i >= 0) { goto ldv_51734; } else { } return (18); } } static int SearchFreeSfid(struct bcm_mini_adapter *Adapter ) { int i ; { i = 0; goto ldv_51742; ldv_51741: ; if (Adapter->PackInfo[i].ulSFID == 0UL) { return (i); } else { } i = i + 1; ldv_51742: ; if (i <= 15) { goto ldv_51741; } else { } return (18); } } static int SearchClsid(struct bcm_mini_adapter *Adapter , ULONG ulSFID , B_UINT16 uiClassifierID ) { int i ; { i = 0; goto ldv_51751; ldv_51750: ; if (((int )Adapter->astClassifierTable[i].bUsed && (int )Adapter->astClassifierTable[i].uiClassifierRuleIndex == (int )uiClassifierID) && Adapter->astClassifierTable[i].ulSFID == ulSFID) { return (i); } else { } i = i + 1; ldv_51751: ; if (i <= 99) { goto ldv_51750; } else { } return (101); } } static int SearchFreeClsid(struct bcm_mini_adapter *Adapter ) { int i ; { i = 0; goto ldv_51758; ldv_51757: ; if (! Adapter->astClassifierTable[i].bUsed) { return (i); } else { } i = i + 1; ldv_51758: ; if (i <= 99) { goto ldv_51757; } else { } return (101); } } static VOID deleteSFBySfid(struct bcm_mini_adapter *Adapter , UINT uiSearchRuleIndex ) { { flush_queue(Adapter, uiSearchRuleIndex); DeleteAllClassifiersForSF(Adapter, uiSearchRuleIndex); memset((void *)(& Adapter->PackInfo) + (unsigned long )uiSearchRuleIndex, 0, 200UL); return; } } __inline static VOID CopyIpAddrToClassifier(struct bcm_classifier_rule *pstClassifierEntry , B_UINT8 u8IpAddressLen , B_UINT8 *pu8IpAddressMaskSrc , bool bIpVersion6 , enum bcm_ipaddr_context eIpAddrContext ) { int i ; UINT nSizeOfIPAddressInBytes ; UCHAR *ptrClassifierIpAddress ; UCHAR *ptrClassifierIpMask ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; union u_ip_address *st_dest_ip ; union u_ip_address *st_src_ip ; struct _ddebug descriptor___2 ; long tmp___3 ; size_t __len ; void *__ret ; __u32 tmp___4 ; struct _ddebug descriptor___4 ; long tmp___6 ; __u32 tmp___7 ; struct _ddebug descriptor___6 ; long tmp___9 ; size_t __len___0 ; void *__ret___0 ; __u32 tmp___10 ; struct _ddebug descriptor___8 ; long tmp___12 ; __u32 tmp___13 ; struct _ddebug descriptor___10 ; long tmp___15 ; { i = 0; nSizeOfIPAddressInBytes = 4U; ptrClassifierIpAddress = (UCHAR *)0U; ptrClassifierIpMask = (UCHAR *)0U; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if ((int )bIpVersion6) { nSizeOfIPAddressInBytes = 16U; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "CopyIpAddrToClassifier"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___0.format = "%s:\nIp Address Range Length:0x%X "; descriptor___0.lineno = 182U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nIp Address Range Length:0x%X ", "CopyIpAddrToClassifier", (int )u8IpAddressLen); } else { } } else { } if (((int )bIpVersion6 ? 128 : 32) >= (int )u8IpAddressLen) { st_dest_ip = & pstClassifierEntry->stDestIpAddress; st_src_ip = & pstClassifierEntry->stSrcIpAddress; if ((unsigned int )eIpAddrContext == 1U) { pstClassifierEntry->ucIPDestinationAddressLength = (UCHAR )((UINT )u8IpAddressLen / (nSizeOfIPAddressInBytes * 2U)); if ((int )bIpVersion6) { ptrClassifierIpAddress = (UCHAR *)(& st_dest_ip->ldv_50780.ucIpv6Address); ptrClassifierIpMask = (UCHAR *)(& st_dest_ip->ldv_50780.ucIpv6Mask); } else { ptrClassifierIpAddress = (UCHAR *)(& st_dest_ip->ldv_50776.ucIpv4Address); ptrClassifierIpMask = (UCHAR *)(& st_dest_ip->ldv_50776.ucIpv4Mask); } } else if ((unsigned int )eIpAddrContext == 0U) { pstClassifierEntry->ucIPSourceAddressLength = (UCHAR )((UINT )u8IpAddressLen / (nSizeOfIPAddressInBytes * 2U)); if ((int )bIpVersion6) { ptrClassifierIpAddress = (UCHAR *)(& st_src_ip->ldv_50780.ucIpv6Address); ptrClassifierIpMask = (UCHAR *)(& st_src_ip->ldv_50780.ucIpv6Mask); } else { ptrClassifierIpAddress = (UCHAR *)(& st_src_ip->ldv_50776.ucIpv4Address); ptrClassifierIpMask = (UCHAR *)(& st_src_ip->ldv_50776.ucIpv4Mask); } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "CopyIpAddrToClassifier"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___2.format = "%s:\nAddress Length:0x%X\n"; descriptor___2.lineno = 226U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nAddress Length:0x%X\n", "CopyIpAddrToClassifier", (int )pstClassifierEntry->ucIPDestinationAddressLength); } else { } } else { } goto ldv_51798; ldv_51797: __len = (size_t )nSizeOfIPAddressInBytes; __ret = memcpy((void *)ptrClassifierIpAddress + (unsigned long )((UINT )i * nSizeOfIPAddressInBytes), (void const *)pu8IpAddressMaskSrc + (unsigned long )(((UINT )i * nSizeOfIPAddressInBytes) * 2U), __len); if (! bIpVersion6) { if ((unsigned int )eIpAddrContext == 0U) { tmp___4 = __fswab32((unsigned int )st_src_ip->ldv_50768.ulIpv4Addr[i]); st_src_ip->ldv_50768.ulIpv4Addr[i] = (ULONG )tmp___4; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "CopyIpAddrToClassifier"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___4.format = "%s:\nSrc Ip Address:0x%luX "; descriptor___4.lineno = 244U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nSrc Ip Address:0x%luX ", "CopyIpAddrToClassifier", st_src_ip->ldv_50768.ulIpv4Addr[i]); } else { } } else { } } else if ((unsigned int )eIpAddrContext == 1U) { tmp___7 = __fswab32((unsigned int )st_dest_ip->ldv_50768.ulIpv4Addr[i]); st_dest_ip->ldv_50768.ulIpv4Addr[i] = (ULONG )tmp___7; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "CopyIpAddrToClassifier"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___6.format = "%s:\nDest Ip Address:0x%luX "; descriptor___6.lineno = 253U; descriptor___6.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nDest Ip Address:0x%luX ", "CopyIpAddrToClassifier", st_dest_ip->ldv_50768.ulIpv4Addr[i]); } else { } } else { } } else { } } else { } u8IpAddressLen = (int )u8IpAddressLen - (int )((B_UINT8 )nSizeOfIPAddressInBytes); if ((UINT )u8IpAddressLen >= nSizeOfIPAddressInBytes) { __len___0 = (size_t )nSizeOfIPAddressInBytes; __ret___0 = memcpy((void *)ptrClassifierIpMask + (unsigned long )((UINT )i * nSizeOfIPAddressInBytes), (void const *)(pu8IpAddressMaskSrc + ((unsigned long )nSizeOfIPAddressInBytes + (unsigned long )(((UINT )i * nSizeOfIPAddressInBytes) * 2U))), __len___0); if (! bIpVersion6) { if ((unsigned int )eIpAddrContext == 0U) { tmp___10 = __fswab32((unsigned int )st_src_ip->ldv_50768.ulIpv4Mask[i]); st_src_ip->ldv_50768.ulIpv4Mask[i] = (ULONG )tmp___10; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "CopyIpAddrToClassifier"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___8.format = "%s:\nSrc Ip Mask Address:0x%luX "; descriptor___8.lineno = 274U; descriptor___8.flags = 0U; tmp___12 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___12 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nSrc Ip Mask Address:0x%luX ", "CopyIpAddrToClassifier", st_src_ip->ldv_50768.ulIpv4Mask[i]); } else { } } else { } } else if ((unsigned int )eIpAddrContext == 1U) { tmp___13 = __fswab32((unsigned int )st_dest_ip->ldv_50768.ulIpv4Mask[i]); st_dest_ip->ldv_50768.ulIpv4Mask[i] = (ULONG )tmp___13; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "CopyIpAddrToClassifier"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___10.format = "%s:\nDest Ip Mask Address:0x%luX "; descriptor___10.lineno = 283U; descriptor___10.flags = 0U; tmp___15 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___15 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nDest Ip Mask Address:0x%luX ", "CopyIpAddrToClassifier", st_dest_ip->ldv_50768.ulIpv4Mask[i]); } else { } } else { } } else { } } else { } u8IpAddressLen = (int )u8IpAddressLen - (int )((B_UINT8 )nSizeOfIPAddressInBytes); } else { } if ((unsigned int )u8IpAddressLen == 0U) { pstClassifierEntry->bDestIpValid = 1; } else { } i = i + 1; ldv_51798: ; if ((UINT )u8IpAddressLen >= nSizeOfIPAddressInBytes && i <= 3) { goto ldv_51797; } else { } if ((int )bIpVersion6) { restore_endianess_of_pstClassifierEntry(pstClassifierEntry, eIpAddrContext); } else { } } else { } return; } } void ClearTargetDSXBuffer(struct bcm_mini_adapter *Adapter , B_UINT16 TID , bool bFreeAll ) { int i ; struct bcm_targetdsx_buffer *curr_buf ; { i = 0; goto ldv_51812; ldv_51811: curr_buf = (struct bcm_targetdsx_buffer *)(& Adapter->astTargetDsxBuffer) + (unsigned long )i; if ((int )curr_buf->valid) { goto ldv_51807; } else { } if ((int )bFreeAll || (int )curr_buf->tid == (int )TID) { printk("\016%s:ClearTargetDSXBuffer: found tid %d buffer cleared %lx\n", "ClearTargetDSXBuffer", (int )TID, curr_buf->ulTargetDsxBuffer); curr_buf->valid = 1; curr_buf->tid = 0U; Adapter->ulFreeTargetBufferCnt = Adapter->ulFreeTargetBufferCnt + 1UL; } else { } ldv_51807: i = i + 1; ldv_51812: ; if ((ULONG )i < Adapter->ulTotalTargetBuffersAvailable) { goto ldv_51811; } else { } return; } } __inline static VOID CopyClassifierRuleToSF(struct bcm_mini_adapter *Adapter , struct bcm_convergence_types *psfCSType , UINT uiSearchRuleIndex , UINT nClassifierIndex ) { struct bcm_classifier_rule *pstClassifierEntry ; int i ; struct bcm_packet_class_rules *pack_class_rule ; struct _ddebug descriptor___0 ; __u16 tmp___1 ; long tmp___2 ; struct _ddebug descriptor___2 ; long tmp___4 ; __u16 tmp___5 ; struct _ddebug descriptor___4 ; long tmp___7 ; __u16 tmp___8 ; struct _ddebug descriptor___6 ; long tmp___10 ; __u16 tmp___11 ; struct _ddebug descriptor___8 ; long tmp___13 ; __u16 tmp___14 ; struct _ddebug descriptor___10 ; long tmp___16 ; struct _ddebug descriptor___12 ; long tmp___18 ; struct _ddebug descriptor___14 ; long tmp___20 ; __u16 tmp___21 ; struct _ddebug descriptor___16 ; long tmp___23 ; size_t __len ; void *__ret ; size_t __len___0 ; void *__ret___0 ; size_t __len___1 ; void *__ret___1 ; size_t __len___2 ; void *__ret___2 ; size_t __len___3 ; void *__ret___3 ; size_t __len___4 ; void *__ret___4 ; __u16 tmp___24 ; __u16 tmp___25 ; { pstClassifierEntry = (struct bcm_classifier_rule *)0; pack_class_rule = & psfCSType->cCPacketClassificationRule; if ((unsigned int )Adapter->PackInfo[uiSearchRuleIndex].usVCID_Value == 0U || nClassifierIndex > 99U) { return; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "CopyClassifierRuleToSF"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___0.format = "%s:\nStoring Classifier Rule Index : %X"; descriptor___0.lineno = 349U; descriptor___0.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___2 != 0L) { tmp___1 = __fswab16((int )pack_class_rule->u16PacketClassificationRuleIndex); __dynamic_pr_debug(& descriptor___0, "%s:\nStoring Classifier Rule Index : %X", "CopyClassifierRuleToSF", (int )tmp___1); } else { } } else { } if (nClassifierIndex > 99U) { return; } else { } pstClassifierEntry = (struct bcm_classifier_rule *)(& Adapter->astClassifierTable) + (unsigned long )nClassifierIndex; if ((unsigned long )pstClassifierEntry != (unsigned long )((struct bcm_classifier_rule *)0)) { pstClassifierEntry->bIpv6Protocol = (unsigned int )Adapter->PackInfo[uiSearchRuleIndex].ucIpVersion == 6U; pstClassifierEntry->ucDestPortRangeLength = (UCHAR )((unsigned int )pack_class_rule->u8ProtocolDestPortRangeLength / 4U); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "CopyClassifierRuleToSF"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___2.format = "%s:\nDestination Port Range Length:0x%X "; descriptor___2.lineno = 365U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nDestination Port Range Length:0x%X ", "CopyClassifierRuleToSF", (int )pstClassifierEntry->ucDestPortRangeLength); } else { } } else { } if ((unsigned int )pack_class_rule->u8ProtocolDestPortRangeLength <= 4U) { i = 0; goto ldv_51831; ldv_51830: pstClassifierEntry->usDestPortRangeLo[i] = *((unsigned short *)(& pack_class_rule->u8ProtocolDestPortRange) + (unsigned long )i); pstClassifierEntry->usDestPortRangeHi[i] = *((unsigned short *)(& pack_class_rule->u8ProtocolDestPortRange) + ((unsigned long )i + 2UL)); tmp___5 = __fswab16((int )pstClassifierEntry->usDestPortRangeLo[i]); pstClassifierEntry->usDestPortRangeLo[i] = tmp___5; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "CopyClassifierRuleToSF"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___4.format = "%s:\nDestination Port Range Lo:0x%X "; descriptor___4.lineno = 378U; descriptor___4.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nDestination Port Range Lo:0x%X ", "CopyClassifierRuleToSF", (int )pstClassifierEntry->usDestPortRangeLo[i]); } else { } } else { } tmp___8 = __fswab16((int )pstClassifierEntry->usDestPortRangeHi[i]); pstClassifierEntry->usDestPortRangeHi[i] = tmp___8; i = i + 1; ldv_51831: ; if ((int )pstClassifierEntry->ucDestPortRangeLength > i) { goto ldv_51830; } else { } } else { pstClassifierEntry->ucDestPortRangeLength = 0U; } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "CopyClassifierRuleToSF"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___6.format = "%s:\nSource Port Range Length:0x%X "; descriptor___6.lineno = 389U; descriptor___6.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nSource Port Range Length:0x%X ", "CopyClassifierRuleToSF", (int )pack_class_rule->u8ProtocolSourcePortRangeLength); } else { } } else { } if ((unsigned int )pack_class_rule->u8ProtocolSourcePortRangeLength <= 4U) { pstClassifierEntry->ucSrcPortRangeLength = (UCHAR )((unsigned int )pack_class_rule->u8ProtocolSourcePortRangeLength / 4U); i = 0; goto ldv_51838; ldv_51837: pstClassifierEntry->usSrcPortRangeLo[i] = *((unsigned short *)(& pack_class_rule->u8ProtocolSourcePortRange) + (unsigned long )i); pstClassifierEntry->usSrcPortRangeHi[i] = *((unsigned short *)(& pack_class_rule->u8ProtocolSourcePortRange) + ((unsigned long )i + 2UL)); tmp___11 = __fswab16((int )pstClassifierEntry->usSrcPortRangeLo[i]); pstClassifierEntry->usSrcPortRangeLo[i] = tmp___11; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "CopyClassifierRuleToSF"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___8.format = "%s:\nSource Port Range Lo:0x%X "; descriptor___8.lineno = 405U; descriptor___8.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nSource Port Range Lo:0x%X ", "CopyClassifierRuleToSF", (int )pstClassifierEntry->usSrcPortRangeLo[i]); } else { } } else { } tmp___14 = __fswab16((int )pstClassifierEntry->usSrcPortRangeHi[i]); pstClassifierEntry->usSrcPortRangeHi[i] = tmp___14; i = i + 1; ldv_51838: ; if ((int )pstClassifierEntry->ucSrcPortRangeLength > i) { goto ldv_51837; } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "CopyClassifierRuleToSF"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___10.format = "%s:\nIp Destination Parameters : "; descriptor___10.lineno = 412U; descriptor___10.flags = 0U; tmp___16 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___16 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nIp Destination Parameters : ", "CopyClassifierRuleToSF"); } else { } } else { } CopyIpAddrToClassifier(pstClassifierEntry, (int )pack_class_rule->u8IPDestinationAddressLength, (B_UINT8 *)(& pack_class_rule->u8IPDestinationAddress), (unsigned int )Adapter->PackInfo[uiSearchRuleIndex].ucIpVersion == 6U, 1); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "CopyClassifierRuleToSF"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___12.format = "%s:\nIp Source Parameters : "; descriptor___12.lineno = 421U; descriptor___12.flags = 0U; tmp___18 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___18 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nIp Source Parameters : ", "CopyClassifierRuleToSF"); } else { } } else { } CopyIpAddrToClassifier(pstClassifierEntry, (int )pack_class_rule->u8IPMaskedSourceAddressLength, (B_UINT8 *)(& pack_class_rule->u8IPMaskedSourceAddress), (unsigned int )Adapter->PackInfo[uiSearchRuleIndex].ucIpVersion == 6U, 0); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "CopyClassifierRuleToSF"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___14.format = "%s:\nTOS Length:0x%X "; descriptor___14.lineno = 432U; descriptor___14.flags = 0U; tmp___20 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___20 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nTOS Length:0x%X ", "CopyClassifierRuleToSF", (int )pack_class_rule->u8IPTypeOfServiceLength); } else { } } else { } if ((unsigned int )pack_class_rule->u8IPTypeOfServiceLength == 3U) { pstClassifierEntry->ucIPTypeOfServiceLength = pack_class_rule->u8IPTypeOfServiceLength; pstClassifierEntry->ucTosLow = pack_class_rule->u8IPTypeOfService[0]; pstClassifierEntry->ucTosHigh = pack_class_rule->u8IPTypeOfService[1]; pstClassifierEntry->ucTosMask = pack_class_rule->u8IPTypeOfService[2]; pstClassifierEntry->bTOSValid = 1; } else { } if ((unsigned int )pack_class_rule->u8Protocol == 0U) { pstClassifierEntry->ucProtocolLength = 0U; } else { pstClassifierEntry->ucProtocolLength = 1U; } pstClassifierEntry->ucProtocol[0] = pack_class_rule->u8Protocol; pstClassifierEntry->u8ClassifierRulePriority = pack_class_rule->u8ClassifierRulePriority; pstClassifierEntry->ucDirection = Adapter->PackInfo[uiSearchRuleIndex].ucDirection; tmp___21 = __fswab16((int )pack_class_rule->u16PacketClassificationRuleIndex); pstClassifierEntry->uiClassifierRuleIndex = tmp___21; pstClassifierEntry->usVCID_Value = Adapter->PackInfo[uiSearchRuleIndex].usVCID_Value; pstClassifierEntry->ulSFID = Adapter->PackInfo[uiSearchRuleIndex].ulSFID; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "CopyClassifierRuleToSF"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___16.format = "%s:\nSearch Index %d Dir: %d, Index: %d, Vcid: %d\n"; descriptor___16.lineno = 469U; descriptor___16.flags = 0U; tmp___23 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___23 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\nSearch Index %d Dir: %d, Index: %d, Vcid: %d\n", "CopyClassifierRuleToSF", uiSearchRuleIndex, (int )pstClassifierEntry->ucDirection, (int )pstClassifierEntry->uiClassifierRuleIndex, (int )pstClassifierEntry->usVCID_Value); } else { } } else { } if ((unsigned int )pack_class_rule->u8AssociatedPHSI != 0U) { pstClassifierEntry->u8AssociatedPHSI = pack_class_rule->u8AssociatedPHSI; } else { } pstClassifierEntry->ucEthCSSrcMACLen = pack_class_rule->u8EthernetSourceMACAddressLength; __len = 6UL; if (__len > 63UL) { __ret = memcpy((void *)(& pstClassifierEntry->au8EThCSSrcMAC), (void const *)(& pack_class_rule->u8EthernetSourceMACAddress), __len); } else { __ret = memcpy((void *)(& pstClassifierEntry->au8EThCSSrcMAC), (void const *)(& pack_class_rule->u8EthernetSourceMACAddress), __len); } __len___0 = 6UL; if (__len___0 > 63UL) { __ret___0 = memcpy((void *)(& pstClassifierEntry->au8EThCSSrcMACMask), (void const *)(& pack_class_rule->u8EthernetSourceMACAddress) + 6U, __len___0); } else { __ret___0 = memcpy((void *)(& pstClassifierEntry->au8EThCSSrcMACMask), (void const *)(& pack_class_rule->u8EthernetSourceMACAddress) + 6U, __len___0); } pstClassifierEntry->ucEthCSDestMACLen = pack_class_rule->u8EthernetDestMacAddressLength; __len___1 = 6UL; if (__len___1 > 63UL) { __ret___1 = memcpy((void *)(& pstClassifierEntry->au8EThCSDestMAC), (void const *)(& pack_class_rule->u8EthernetDestMacAddress), __len___1); } else { __ret___1 = memcpy((void *)(& pstClassifierEntry->au8EThCSDestMAC), (void const *)(& pack_class_rule->u8EthernetDestMacAddress), __len___1); } __len___2 = 6UL; if (__len___2 > 63UL) { __ret___2 = memcpy((void *)(& pstClassifierEntry->au8EThCSDestMACMask), (void const *)(& pack_class_rule->u8EthernetDestMacAddress) + 6U, __len___2); } else { __ret___2 = memcpy((void *)(& pstClassifierEntry->au8EThCSDestMACMask), (void const *)(& pack_class_rule->u8EthernetDestMacAddress) + 6U, __len___2); } pstClassifierEntry->ucEtherTypeLen = pack_class_rule->u8EthertypeLength; __len___3 = 3UL; if (__len___3 > 63UL) { __ret___3 = memcpy((void *)(& pstClassifierEntry->au8EthCSEtherType), (void const *)(& pack_class_rule->u8Ethertype), __len___3); } else { __ret___3 = memcpy((void *)(& pstClassifierEntry->au8EthCSEtherType), (void const *)(& pack_class_rule->u8Ethertype), __len___3); } __len___4 = 2UL; if (__len___4 > 63UL) { __ret___4 = memcpy((void *)(& pstClassifierEntry->usUserPriority), (void const *)(& pack_class_rule->u16UserPriority), __len___4); } else { __ret___4 = memcpy((void *)(& pstClassifierEntry->usUserPriority), (void const *)(& pack_class_rule->u16UserPriority), __len___4); } tmp___24 = __fswab16((int )pack_class_rule->u16VLANID); pstClassifierEntry->usVLANID = tmp___24; tmp___25 = __fswab16((int )pack_class_rule->u16ValidityBitMap); pstClassifierEntry->usValidityBitMap = tmp___25; pstClassifierEntry->bUsed = 1; } else { } return; } } __inline static VOID DeleteClassifierRuleFromSF(struct bcm_mini_adapter *Adapter , UINT uiSearchRuleIndex , UINT nClassifierIndex ) { struct bcm_classifier_rule *pstClassifierEntry ; B_UINT16 u16PacketClassificationRuleIndex ; USHORT usVCID ; { pstClassifierEntry = (struct bcm_classifier_rule *)0; usVCID = Adapter->PackInfo[uiSearchRuleIndex].usVCID_Value; if (nClassifierIndex > 99U) { return; } else { } if ((unsigned int )usVCID == 0U) { return; } else { } u16PacketClassificationRuleIndex = Adapter->astClassifierTable[nClassifierIndex].uiClassifierRuleIndex; pstClassifierEntry = (struct bcm_classifier_rule *)(& Adapter->astClassifierTable) + (unsigned long )nClassifierIndex; if ((unsigned long )pstClassifierEntry != (unsigned long )((struct bcm_classifier_rule *)0)) { pstClassifierEntry->bUsed = 0; pstClassifierEntry->uiClassifierRuleIndex = 0U; memset((void *)pstClassifierEntry, 0, 1216UL); PhsDeleteClassifierRule((void *)(& Adapter->stBCMPhsContext), (int )usVCID, (int )u16PacketClassificationRuleIndex); } else { } return; } } VOID DeleteAllClassifiersForSF(struct bcm_mini_adapter *Adapter , UINT uiSearchRuleIndex ) { struct bcm_classifier_rule *pstClassifierEntry ; int i ; USHORT ulVCID ; { pstClassifierEntry = (struct bcm_classifier_rule *)0; ulVCID = Adapter->PackInfo[uiSearchRuleIndex].usVCID_Value; if ((unsigned int )ulVCID == 0U) { return; } else { } i = 0; goto ldv_51882; ldv_51881: ; if ((int )Adapter->astClassifierTable[i].usVCID_Value == (int )ulVCID) { pstClassifierEntry = (struct bcm_classifier_rule *)(& Adapter->astClassifierTable) + (unsigned long )i; if ((int )pstClassifierEntry->bUsed) { DeleteClassifierRuleFromSF(Adapter, uiSearchRuleIndex, (UINT )i); } else { } } else { } i = i + 1; ldv_51882: ; if (i <= 99) { goto ldv_51881; } else { } PhsDeleteSFRules((void *)(& Adapter->stBCMPhsContext), (int )ulVCID); return; } } static VOID CopyToAdapter(struct bcm_mini_adapter *Adapter , struct bcm_connect_mgr_params *psfLocalSet , UINT uiSearchRuleIndex , UCHAR ucDsxType , struct bcm_add_indication_alt *pstAddIndication ) { ULONG ulSFID ; UINT nClassifierIndex ; enum E_CLASSIFIER_ACTION eClassifierAction ; B_UINT16 u16PacketClassificationRuleIndex ; int i ; struct bcm_convergence_types *psfCSType ; struct bcm_phs_rule sPhsRule ; struct bcm_packet_info *curr_packinfo ; USHORT uVCID ; UINT UGIValue ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; __u32 tmp___3 ; long tmp___4 ; struct _ddebug descriptor___4 ; long tmp___6 ; __u32 tmp___7 ; struct _ddebug descriptor___6 ; long tmp___9 ; struct _ddebug descriptor___8 ; long tmp___11 ; struct _ddebug descriptor___10 ; long tmp___13 ; size_t __len ; void *__ret ; __u32 tmp___14 ; struct _ddebug descriptor___12 ; long tmp___16 ; struct _ddebug descriptor___14 ; long tmp___18 ; __u16 tmp___19 ; int tmp___20 ; int tmp___21 ; struct _ddebug descriptor___16 ; long tmp___23 ; struct _ddebug descriptor___18 ; long tmp___25 ; int tmp___26 ; struct _ddebug descriptor___20 ; long tmp___28 ; int tmp___29 ; struct _ddebug descriptor___22 ; long tmp___31 ; struct _ddebug descriptor___24 ; long tmp___33 ; struct _ddebug descriptor___26 ; long tmp___35 ; struct _ddebug descriptor___28 ; long tmp___37 ; __u32 tmp___38 ; __u32 tmp___39 ; __u32 tmp___40 ; __u16 tmp___41 ; UINT UGIFactor ; struct _ddebug descriptor___30 ; long tmp___43 ; struct _ddebug descriptor___32 ; __u32 tmp___46 ; long tmp___47 ; struct _ddebug descriptor___34 ; long tmp___49 ; { nClassifierIndex = 0U; eClassifierAction = 0; u16PacketClassificationRuleIndex = 0U; psfCSType = (struct bcm_convergence_types *)0; curr_packinfo = (struct bcm_packet_info *)(& Adapter->PackInfo) + (unsigned long )uiSearchRuleIndex; uVCID = curr_packinfo->usVCID_Value; UGIValue = 0U; curr_packinfo->bValid = 1; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "CopyToAdapter"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___0.format = "%s:\nSearch Rule Index = %d\n"; descriptor___0.lineno = 601U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nSearch Rule Index = %d\n", "CopyToAdapter", uiSearchRuleIndex); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "CopyToAdapter"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___2.format = "%s:\n%s: SFID= %x "; descriptor___2.lineno = 603U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___4 != 0L) { tmp___3 = __fswab32(psfLocalSet->u32SFID); __dynamic_pr_debug(& descriptor___2, "%s:\n%s: SFID= %x ", "CopyToAdapter", "CopyToAdapter", tmp___3); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "CopyToAdapter"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___4.format = "%s:\nUpdating Queue %d"; descriptor___4.lineno = 605U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nUpdating Queue %d", "CopyToAdapter", uiSearchRuleIndex); } else { } } else { } tmp___7 = __fswab32(psfLocalSet->u32SFID); ulSFID = (ULONG )tmp___7; curr_packinfo->bIPCSSupport = 0U; curr_packinfo->bEthCSSupport = 0U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "CopyToAdapter"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___6.format = "%s:\nCopyToAdapter : u8CSSpecification : %X\n"; descriptor___6.lineno = 617U; descriptor___6.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nCopyToAdapter : u8CSSpecification : %X\n", "CopyToAdapter", (int )psfLocalSet->u8CSSpecification); } else { } } else { } switch ((int )psfLocalSet->u8CSSpecification) { case 1: curr_packinfo->bIPCSSupport = 1U; goto ldv_51911; case 2: curr_packinfo->bIPCSSupport = 2U; goto ldv_51911; case 3: ; case 4: curr_packinfo->bEthCSSupport = 1U; goto ldv_51911; case 7: ; case 5: curr_packinfo->bIPCSSupport = 1U; curr_packinfo->bEthCSSupport = 1U; goto ldv_51911; case 8: ; case 6: curr_packinfo->bIPCSSupport = 2U; curr_packinfo->bEthCSSupport = 1U; goto ldv_51911; default: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "CopyToAdapter"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___8.format = "%s:\nError in value of CS Classification.. setting default to IP CS\n"; descriptor___8.lineno = 641U; descriptor___8.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nError in value of CS Classification.. setting default to IP CS\n", "CopyToAdapter"); } else { } } else { } curr_packinfo->bIPCSSupport = 1U; goto ldv_51911; } ldv_51911: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "CopyToAdapter"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___10.format = "%s:\nCopyToAdapter : Queue No : %X ETH CS Support : %X , IP CS Support : %X\n"; descriptor___10.lineno = 650U; descriptor___10.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nCopyToAdapter : Queue No : %X ETH CS Support : %X , IP CS Support : %X\n", "CopyToAdapter", uiSearchRuleIndex, (int )curr_packinfo->bEthCSSupport, (int )curr_packinfo->bIPCSSupport); } else { } } else { } if ((unsigned int )curr_packinfo->bIPCSSupport == 2U) { curr_packinfo->ucIpVersion = 6U; } else { curr_packinfo->ucIpVersion = 4U; } if (! Adapter->bETHCSEnabled) { curr_packinfo->bEthCSSupport = 0U; } else { } if ((unsigned int )psfLocalSet->u8ServiceClassNameLength != 0U && (unsigned int )psfLocalSet->u8ServiceClassNameLength <= 31U) { __len = (size_t )psfLocalSet->u8ServiceClassNameLength; __ret = memcpy((void *)(& curr_packinfo->ucServiceClassName), (void const *)(& psfLocalSet->u8ServiceClassName), __len); } else { } curr_packinfo->u8QueueType = psfLocalSet->u8ServiceFlowSchedulingType; if ((unsigned int )curr_packinfo->u8QueueType == 2U && (unsigned int )curr_packinfo->ucDirection != 0U) { Adapter->usBestEffortQueueIndex = (USHORT )uiSearchRuleIndex; } else { } tmp___14 = __fswab32(psfLocalSet->u32SFID); curr_packinfo->ulSFID = (ULONG )tmp___14; curr_packinfo->u8TrafficPriority = psfLocalSet->u8TrafficPriority; i = 0; goto ldv_51950; ldv_51949: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "CopyToAdapter"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___12.format = "%s:\nClassifier index =%d"; descriptor___12.lineno = 680U; descriptor___12.flags = 0U; tmp___16 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___16 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nClassifier index =%d", "CopyToAdapter", i); } else { } } else { } psfCSType = (struct bcm_convergence_types *)(& psfLocalSet->cConvergenceSLTypes) + (unsigned long )i; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "CopyToAdapter"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___14.format = "%s:\nClassifier index =%d"; descriptor___14.lineno = 683U; descriptor___14.flags = 0U; tmp___18 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___18 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nClassifier index =%d", "CopyToAdapter", i); } else { } } else { } if ((unsigned int )psfCSType->cCPacketClassificationRule.u8ClassifierRulePriority != 0U) { curr_packinfo->bClassifierPriority = 1; } else { } if ((unsigned int )psfCSType->cCPacketClassificationRule.u8ClassifierRulePriority != 0U) { curr_packinfo->bClassifierPriority = 1; } else { } if ((unsigned int )ucDsxType == 13U) { eClassifierAction = 1; } else if ((unsigned int )ucDsxType == 16U) { switch ((int )psfCSType->u8ClassfierDSCAction) { case 0: eClassifierAction = 1; goto ldv_51932; case 1: eClassifierAction = 2; goto ldv_51932; case 2: eClassifierAction = 3; goto ldv_51932; default: eClassifierAction = 0; } ldv_51932: ; } else { } tmp___19 = __fswab16((int )psfCSType->cCPacketClassificationRule.u16PacketClassificationRuleIndex); u16PacketClassificationRuleIndex = tmp___19; switch ((unsigned int )eClassifierAction) { case 1U: tmp___20 = SearchClsid(Adapter, ulSFID, (int )u16PacketClassificationRuleIndex); nClassifierIndex = (UINT )tmp___20; if (nClassifierIndex > 100U) { tmp___21 = SearchFreeClsid(Adapter); nClassifierIndex = (UINT )tmp___21; if (nClassifierIndex > 100U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "CopyToAdapter"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___16.format = "%s:\nError Failed To get a free Classifier Entry"; descriptor___16.lineno = 727U; descriptor___16.flags = 0U; tmp___23 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___23 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\nError Failed To get a free Classifier Entry", "CopyToAdapter"); } else { } } else { } goto ldv_51939; } else { } CopyClassifierRuleToSF(Adapter, psfCSType, uiSearchRuleIndex, nClassifierIndex); } else if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___18.modname = "bcm_wimax"; descriptor___18.function = "CopyToAdapter"; descriptor___18.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___18.format = "%s:\nCopyToAdapter: Error The Specified Classifier Already Exists and attempted To Add Classifier with Same PCRI : 0x%x\n"; descriptor___18.lineno = 740U; descriptor___18.flags = 0U; tmp___25 = ldv__builtin_expect((long )descriptor___18.flags & 1L, 0L); if (tmp___25 != 0L) { __dynamic_pr_debug(& descriptor___18, "%s:\nCopyToAdapter: Error The Specified Classifier Already Exists and attempted To Add Classifier with Same PCRI : 0x%x\n", "CopyToAdapter", (int )u16PacketClassificationRuleIndex); } else { } } else { } goto ldv_51939; case 2U: tmp___26 = SearchClsid(Adapter, ulSFID, (int )u16PacketClassificationRuleIndex); nClassifierIndex = (UINT )tmp___26; if (nClassifierIndex > 100U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___20.modname = "bcm_wimax"; descriptor___20.function = "CopyToAdapter"; descriptor___20.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___20.format = "%s:\nError Search for Classifier To be replaced failed"; descriptor___20.lineno = 752U; descriptor___20.flags = 0U; tmp___28 = ldv__builtin_expect((long )descriptor___20.flags & 1L, 0L); if (tmp___28 != 0L) { __dynamic_pr_debug(& descriptor___20, "%s:\nError Search for Classifier To be replaced failed", "CopyToAdapter"); } else { } } else { } goto ldv_51939; } else { } CopyClassifierRuleToSF(Adapter, psfCSType, uiSearchRuleIndex, nClassifierIndex); goto ldv_51939; case 3U: tmp___29 = SearchClsid(Adapter, ulSFID, (int )u16PacketClassificationRuleIndex); nClassifierIndex = (UINT )tmp___29; if (nClassifierIndex > 100U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___22.modname = "bcm_wimax"; descriptor___22.function = "CopyToAdapter"; descriptor___22.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___22.format = "%s:\nError Search for Classifier To be deleted failed"; descriptor___22.lineno = 768U; descriptor___22.flags = 0U; tmp___31 = ldv__builtin_expect((long )descriptor___22.flags & 1L, 0L); if (tmp___31 != 0L) { __dynamic_pr_debug(& descriptor___22, "%s:\nError Search for Classifier To be deleted failed", "CopyToAdapter"); } else { } } else { } goto ldv_51939; } else { } DeleteClassifierRuleFromSF(Adapter, uiSearchRuleIndex, nClassifierIndex); goto ldv_51939; default: ; goto ldv_51939; } ldv_51939: i = i + 1; ldv_51950: ; if ((int )psfLocalSet->u8TotalClassifiers > i) { goto ldv_51949; } else { } i = 0; goto ldv_51965; ldv_51964: psfCSType = (struct bcm_convergence_types *)(& psfLocalSet->cConvergenceSLTypes) + (unsigned long )i; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___24.modname = "bcm_wimax"; descriptor___24.function = "CopyToAdapter"; descriptor___24.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___24.format = "%s:\npsfCSType->u8PhsDSCAction : 0x%x\n"; descriptor___24.lineno = 787U; descriptor___24.flags = 0U; tmp___33 = ldv__builtin_expect((long )descriptor___24.flags & 1L, 0L); if (tmp___33 != 0L) { __dynamic_pr_debug(& descriptor___24, "%s:\npsfCSType->u8PhsDSCAction : 0x%x\n", "CopyToAdapter", (int )psfCSType->u8PhsDSCAction); } else { } } else { } switch ((int )psfCSType->u8PhsDSCAction) { case 3: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___26.modname = "bcm_wimax"; descriptor___26.function = "CopyToAdapter"; descriptor___26.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___26.format = "%s:\nDeleting All PHS Rules For VCID: 0x%X\n"; descriptor___26.lineno = 794U; descriptor___26.flags = 0U; tmp___35 = ldv__builtin_expect((long )descriptor___26.flags & 1L, 0L); if (tmp___35 != 0L) { __dynamic_pr_debug(& descriptor___26, "%s:\nDeleting All PHS Rules For VCID: 0x%X\n", "CopyToAdapter", (int )uVCID); } else { } } else { } PhsDeleteSFRules((void *)(& Adapter->stBCMPhsContext), (int )uVCID); goto ldv_51957; case 2: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___28.modname = "bcm_wimax"; descriptor___28.function = "CopyToAdapter"; descriptor___28.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___28.format = "%s:\nPHS DSC Action = Delete PHS Rule\n"; descriptor___28.lineno = 802U; descriptor___28.flags = 0U; tmp___37 = ldv__builtin_expect((long )descriptor___28.flags & 1L, 0L); if (tmp___37 != 0L) { __dynamic_pr_debug(& descriptor___28, "%s:\nPHS DSC Action = Delete PHS Rule\n", "CopyToAdapter"); } else { } } else { } if ((unsigned int )psfCSType->cPhsRule.u8PHSI != 0U) { PhsDeletePHSRule((void *)(& Adapter->stBCMPhsContext), (int )uVCID, (int )psfCSType->cCPacketClassificationRule.u8AssociatedPHSI); } else { } goto ldv_51957; default: ; if ((unsigned int )ucDsxType == 16U) { goto ldv_51957; } else { } case 0: ; case 1: ; if ((unsigned int )psfCSType->cPhsRule.u8PHSI != 0U) { apply_phs_rule_to_all_classifiers(Adapter, uiSearchRuleIndex, (int )uVCID, & sPhsRule, & psfCSType->cPhsRule, pstAddIndication); } else { } goto ldv_51957; } ldv_51957: i = i + 1; ldv_51965: ; if ((int )psfLocalSet->u8TotalClassifiers > i) { goto ldv_51964; } else { } if (psfLocalSet->u32MaxSustainedTrafficRate == 0U) { curr_packinfo->uiMaxAllowedRate = 52428800U; } else { tmp___39 = __fswab32(psfLocalSet->u32MaxSustainedTrafficRate); if (tmp___39 > 52428800U) { curr_packinfo->uiMaxAllowedRate = 52428800U; } else { tmp___38 = __fswab32(psfLocalSet->u32MaxSustainedTrafficRate); curr_packinfo->uiMaxAllowedRate = tmp___38; } } tmp___40 = __fswab32(psfLocalSet->u32MaximumLatency); curr_packinfo->uiMaxLatency = tmp___40; if (curr_packinfo->uiMaxLatency == 0U) { curr_packinfo->uiMaxLatency = 4294967295U; } else { } if ((unsigned int )curr_packinfo->u8QueueType == 5U || (unsigned int )curr_packinfo->u8QueueType == 6U) { tmp___41 = __fswab16((int )psfLocalSet->u16UnsolicitedGrantInterval); UGIValue = (UINT )tmp___41; } else { } if (UGIValue == 0U) { UGIValue = 250U; } else { } curr_packinfo->uiMaxBucketSize = ((curr_packinfo->uiMaxAllowedRate * UGIValue) * 4U) / 1000U; if (curr_packinfo->uiMaxBucketSize <= 11311U) { UGIFactor = 0U; UGIFactor = curr_packinfo->uiMaxLatency / UGIValue + 1U; if (UGIFactor > 4U) { curr_packinfo->uiMaxBucketSize = ((curr_packinfo->uiMaxAllowedRate * UGIFactor) * UGIValue) / 1000U; } else { } if (curr_packinfo->uiMaxBucketSize > 11312U) { curr_packinfo->uiMaxBucketSize = 11312U; } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___30.modname = "bcm_wimax"; descriptor___30.function = "CopyToAdapter"; descriptor___30.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___30.format = "%s:\nLAT: %d, UGI: %d\n"; descriptor___30.lineno = 883U; descriptor___30.flags = 0U; tmp___43 = ldv__builtin_expect((long )descriptor___30.flags & 1L, 0L); if (tmp___43 != 0L) { __dynamic_pr_debug(& descriptor___30, "%s:\nLAT: %d, UGI: %d\n", "CopyToAdapter", curr_packinfo->uiMaxLatency, UGIValue); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___32.modname = "bcm_wimax"; descriptor___32.function = "CopyToAdapter"; descriptor___32.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___32.format = "%s:\nuiMaxAllowedRate: 0x%x, u32MaxSustainedTrafficRate: 0x%x ,uiMaxBucketSize: 0x%x"; descriptor___32.lineno = 888U; descriptor___32.flags = 0U; tmp___47 = ldv__builtin_expect((long )descriptor___32.flags & 1L, 0L); if (tmp___47 != 0L) { tmp___46 = __fswab32(psfLocalSet->u32MaxSustainedTrafficRate); __dynamic_pr_debug(& descriptor___32, "%s:\nuiMaxAllowedRate: 0x%x, u32MaxSustainedTrafficRate: 0x%x ,uiMaxBucketSize: 0x%x", "CopyToAdapter", curr_packinfo->uiMaxAllowedRate, tmp___46, curr_packinfo->uiMaxBucketSize); } else { } } else { } CopyMIBSExtendedSFParameters(Adapter, psfLocalSet, uiSearchRuleIndex); curr_packinfo->bHeaderSuppressionEnabled = ((int )psfLocalSet->u8RequesttransmissionPolicy & 16) == 0; kfree((void const *)curr_packinfo->pstSFIndication); curr_packinfo->pstSFIndication = (void *)pstAddIndication; SortPackInfo(Adapter); SortClassifiers(Adapter); DumpPhsRules(& Adapter->stBCMPhsContext); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___34.modname = "bcm_wimax"; descriptor___34.function = "CopyToAdapter"; descriptor___34.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___34.format = "%s:\n%s <====="; descriptor___34.lineno = 910U; descriptor___34.flags = 0U; tmp___49 = ldv__builtin_expect((long )descriptor___34.flags & 1L, 0L); if (tmp___49 != 0L) { __dynamic_pr_debug(& descriptor___34, "%s:\n%s <=====", "CopyToAdapter", "CopyToAdapter"); } else { } } else { } return; } } static VOID DumpCmControlPacket(PVOID pvBuffer ) { int uiLoopIndex ; int nIndex ; struct bcm_add_indication_alt *pstAddIndication ; UINT nCurClassifierCnt ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; struct _ddebug descriptor___4 ; long tmp___5 ; struct _ddebug descriptor___6 ; __u16 tmp___8 ; long tmp___9 ; struct _ddebug descriptor___8 ; __u16 tmp___12 ; long tmp___13 ; struct _ddebug descriptor___10 ; __u16 tmp___16 ; long tmp___17 ; struct _ddebug descriptor___12 ; long tmp___19 ; struct _ddebug descriptor___14 ; __u32 tmp___22 ; long tmp___23 ; struct _ddebug descriptor___16 ; __u16 tmp___26 ; long tmp___27 ; struct _ddebug descriptor___18 ; long tmp___29 ; struct _ddebug descriptor___20 ; long tmp___31 ; struct _ddebug descriptor___22 ; long tmp___33 ; struct _ddebug descriptor___24 ; long tmp___35 ; struct _ddebug descriptor___26 ; long tmp___37 ; struct _ddebug descriptor___28 ; long tmp___39 ; struct _ddebug descriptor___30 ; long tmp___41 ; struct _ddebug descriptor___32 ; long tmp___43 ; struct _ddebug descriptor___34 ; long tmp___45 ; struct _ddebug descriptor___36 ; long tmp___47 ; struct _ddebug descriptor___38 ; long tmp___49 ; struct _ddebug descriptor___40 ; long tmp___51 ; struct _ddebug descriptor___42 ; long tmp___53 ; struct _ddebug descriptor___44 ; long tmp___55 ; struct _ddebug descriptor___46 ; long tmp___57 ; struct _ddebug descriptor___48 ; long tmp___59 ; struct _ddebug descriptor___50 ; long tmp___61 ; struct _ddebug descriptor___52 ; long tmp___63 ; struct _ddebug descriptor___54 ; long tmp___65 ; struct _ddebug descriptor___56 ; long tmp___67 ; struct _ddebug descriptor___58 ; long tmp___69 ; struct _ddebug descriptor___60 ; long tmp___71 ; struct _ddebug descriptor___62 ; long tmp___73 ; struct _ddebug descriptor___64 ; long tmp___75 ; struct _ddebug descriptor___66 ; long tmp___77 ; struct _ddebug descriptor___68 ; long tmp___79 ; struct _ddebug descriptor___70 ; long tmp___81 ; struct _ddebug descriptor___72 ; long tmp___83 ; struct _ddebug descriptor___74 ; long tmp___85 ; struct _ddebug descriptor___76 ; long tmp___87 ; struct _ddebug descriptor___78 ; long tmp___89 ; struct _ddebug descriptor___80 ; long tmp___91 ; struct _ddebug descriptor___82 ; long tmp___93 ; struct _ddebug descriptor___84 ; long tmp___95 ; struct _ddebug descriptor___86 ; long tmp___97 ; struct _ddebug descriptor___88 ; long tmp___99 ; struct bcm_convergence_types *psfCSType ; struct _ddebug descriptor___90 ; long tmp___101 ; struct _ddebug descriptor___92 ; long tmp___103 ; struct _ddebug descriptor___94 ; long tmp___105 ; struct _ddebug descriptor___96 ; long tmp___107 ; struct _ddebug descriptor___98 ; long tmp___109 ; struct _ddebug descriptor___100 ; long tmp___111 ; struct _ddebug descriptor___102 ; long tmp___113 ; struct _ddebug descriptor___104 ; long tmp___115 ; struct _ddebug descriptor___106 ; long tmp___117 ; struct _ddebug descriptor___108 ; long tmp___119 ; struct _ddebug descriptor___110 ; long tmp___121 ; struct _ddebug descriptor___112 ; long tmp___123 ; struct _ddebug descriptor___114 ; long tmp___125 ; struct _ddebug descriptor___116 ; long tmp___127 ; struct _ddebug descriptor___118 ; long tmp___129 ; struct _ddebug descriptor___120 ; long tmp___131 ; struct _ddebug descriptor___122 ; long tmp___133 ; struct _ddebug descriptor___124 ; long tmp___135 ; struct _ddebug descriptor___126 ; long tmp___137 ; struct _ddebug descriptor___128 ; long tmp___139 ; struct _ddebug descriptor___130 ; long tmp___141 ; struct _ddebug descriptor___132 ; long tmp___143 ; struct _ddebug descriptor___134 ; long tmp___145 ; struct _ddebug descriptor___136 ; long tmp___147 ; struct _ddebug descriptor___138 ; long tmp___149 ; struct _ddebug descriptor___140 ; long tmp___151 ; struct _ddebug descriptor___142 ; long tmp___153 ; struct _ddebug descriptor___144 ; long tmp___155 ; struct _ddebug descriptor___146 ; long tmp___157 ; struct _ddebug descriptor___148 ; long tmp___159 ; struct _ddebug descriptor___150 ; long tmp___161 ; struct _ddebug descriptor___152 ; long tmp___163 ; struct _ddebug descriptor___154 ; long tmp___165 ; struct _ddebug descriptor___156 ; long tmp___167 ; struct _ddebug descriptor___158 ; long tmp___169 ; struct _ddebug descriptor___160 ; long tmp___171 ; struct _ddebug descriptor___162 ; long tmp___173 ; struct _ddebug descriptor___164 ; long tmp___175 ; struct _ddebug descriptor___166 ; long tmp___177 ; struct _ddebug descriptor___168 ; long tmp___179 ; struct _ddebug descriptor___170 ; long tmp___181 ; struct _ddebug descriptor___172 ; long tmp___183 ; struct _ddebug descriptor___174 ; long tmp___185 ; struct _ddebug descriptor___176 ; long tmp___187 ; struct _ddebug descriptor___178 ; long tmp___189 ; struct _ddebug descriptor___180 ; long tmp___191 ; struct _ddebug descriptor___182 ; long tmp___193 ; struct _ddebug descriptor___184 ; long tmp___195 ; struct _ddebug descriptor___186 ; long tmp___197 ; struct _ddebug descriptor___188 ; long tmp___199 ; struct _ddebug descriptor___190 ; long tmp___201 ; struct _ddebug descriptor___192 ; long tmp___203 ; struct _ddebug descriptor___194 ; long tmp___205 ; struct _ddebug descriptor___196 ; long tmp___207 ; struct _ddebug descriptor___198 ; long tmp___209 ; struct _ddebug descriptor___200 ; long tmp___211 ; struct _ddebug descriptor___202 ; long tmp___213 ; struct _ddebug descriptor___204 ; long tmp___215 ; struct _ddebug descriptor___206 ; long tmp___217 ; struct _ddebug descriptor___208 ; long tmp___219 ; struct _ddebug descriptor___210 ; long tmp___221 ; struct bcm_convergence_types *psfCSType___0 ; struct _ddebug descriptor___212 ; long tmp___223 ; struct _ddebug descriptor___214 ; long tmp___225 ; struct _ddebug descriptor___216 ; long tmp___227 ; struct _ddebug descriptor___218 ; long tmp___229 ; struct _ddebug descriptor___220 ; long tmp___231 ; struct _ddebug descriptor___222 ; long tmp___233 ; struct _ddebug descriptor___224 ; long tmp___235 ; struct _ddebug descriptor___226 ; long tmp___237 ; struct _ddebug descriptor___228 ; long tmp___239 ; struct _ddebug descriptor___230 ; long tmp___241 ; struct _ddebug descriptor___232 ; long tmp___243 ; struct _ddebug descriptor___234 ; long tmp___245 ; struct _ddebug descriptor___236 ; long tmp___247 ; struct _ddebug descriptor___238 ; long tmp___249 ; struct _ddebug descriptor___240 ; long tmp___251 ; struct _ddebug descriptor___242 ; long tmp___253 ; struct _ddebug descriptor___244 ; long tmp___255 ; struct _ddebug descriptor___246 ; long tmp___257 ; struct _ddebug descriptor___248 ; long tmp___259 ; struct _ddebug descriptor___250 ; long tmp___261 ; struct _ddebug descriptor___252 ; long tmp___263 ; struct _ddebug descriptor___254 ; long tmp___265 ; struct _ddebug descriptor___256 ; long tmp___267 ; struct _ddebug descriptor___258 ; long tmp___269 ; struct _ddebug descriptor___260 ; long tmp___271 ; struct _ddebug descriptor___262 ; long tmp___273 ; struct _ddebug descriptor___264 ; long tmp___275 ; struct _ddebug descriptor___266 ; long tmp___277 ; struct _ddebug descriptor___268 ; long tmp___279 ; struct _ddebug descriptor___270 ; long tmp___281 ; struct _ddebug descriptor___272 ; long tmp___283 ; struct _ddebug descriptor___274 ; long tmp___285 ; struct _ddebug descriptor___276 ; long tmp___287 ; struct _ddebug descriptor___278 ; long tmp___289 ; struct _ddebug descriptor___280 ; long tmp___291 ; struct _ddebug descriptor___282 ; long tmp___293 ; struct _ddebug descriptor___284 ; long tmp___295 ; struct _ddebug descriptor___286 ; long tmp___297 ; struct _ddebug descriptor___288 ; long tmp___299 ; struct _ddebug descriptor___290 ; long tmp___301 ; struct _ddebug descriptor___292 ; long tmp___303 ; struct _ddebug descriptor___294 ; long tmp___305 ; struct _ddebug descriptor___296 ; long tmp___307 ; struct _ddebug descriptor___298 ; long tmp___309 ; struct _ddebug descriptor___300 ; long tmp___311 ; struct _ddebug descriptor___302 ; long tmp___313 ; struct _ddebug descriptor___304 ; long tmp___315 ; struct _ddebug descriptor___306 ; long tmp___317 ; struct _ddebug descriptor___308 ; long tmp___319 ; struct _ddebug descriptor___310 ; long tmp___321 ; struct _ddebug descriptor___312 ; long tmp___323 ; struct _ddebug descriptor___314 ; long tmp___325 ; struct _ddebug descriptor___316 ; long tmp___327 ; struct _ddebug descriptor___318 ; long tmp___329 ; struct _ddebug descriptor___320 ; long tmp___331 ; struct _ddebug descriptor___322 ; long tmp___333 ; struct _ddebug descriptor___324 ; long tmp___335 ; struct _ddebug descriptor___326 ; long tmp___337 ; struct _ddebug descriptor___328 ; long tmp___339 ; struct _ddebug descriptor___330 ; long tmp___341 ; struct bcm_convergence_types *psfCSType___1 ; struct bcm_packet_class_rules *clsRule ; struct _ddebug descriptor___332 ; long tmp___343 ; struct _ddebug descriptor___334 ; long tmp___345 ; struct _ddebug descriptor___336 ; long tmp___347 ; struct _ddebug descriptor___338 ; long tmp___349 ; struct _ddebug descriptor___340 ; long tmp___351 ; struct _ddebug descriptor___342 ; long tmp___353 ; struct _ddebug descriptor___344 ; long tmp___355 ; struct _ddebug descriptor___346 ; long tmp___357 ; struct _ddebug descriptor___348 ; long tmp___359 ; struct _ddebug descriptor___350 ; long tmp___361 ; struct _ddebug descriptor___352 ; long tmp___363 ; struct _ddebug descriptor___354 ; long tmp___365 ; struct _ddebug descriptor___356 ; long tmp___367 ; struct _ddebug descriptor___358 ; long tmp___369 ; struct _ddebug descriptor___360 ; long tmp___371 ; struct _ddebug descriptor___362 ; long tmp___373 ; struct _ddebug descriptor___364 ; long tmp___375 ; struct _ddebug descriptor___366 ; long tmp___377 ; struct _ddebug descriptor___368 ; long tmp___379 ; struct _ddebug descriptor___370 ; long tmp___381 ; struct _ddebug descriptor___372 ; long tmp___383 ; struct _ddebug descriptor___374 ; long tmp___385 ; struct _ddebug descriptor___376 ; long tmp___387 ; struct _ddebug descriptor___378 ; long tmp___389 ; struct _ddebug descriptor___380 ; long tmp___391 ; struct _ddebug descriptor___382 ; long tmp___393 ; { tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; pstAddIndication = (struct bcm_add_indication_alt *)pvBuffer; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "DumpCmControlPacket"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___0.format = "%s:\n======>"; descriptor___0.lineno = 933U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n======>", "DumpCmControlPacket"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "DumpCmControlPacket"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___2.format = "%s:\nu8Type: 0x%X"; descriptor___2.lineno = 934U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nu8Type: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->u8Type); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "DumpCmControlPacket"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___4.format = "%s:\nu8Direction: 0x%X"; descriptor___4.lineno = 935U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nu8Direction: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->u8Direction); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "DumpCmControlPacket"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___6.format = "%s:\nu16TID: 0x%X"; descriptor___6.lineno = 936U; descriptor___6.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___9 != 0L) { tmp___8 = __fswab16((int )pstAddIndication->u16TID); __dynamic_pr_debug(& descriptor___6, "%s:\nu16TID: 0x%X", "DumpCmControlPacket", (int )tmp___8); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "DumpCmControlPacket"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___8.format = "%s:\nu16CID: 0x%X"; descriptor___8.lineno = 937U; descriptor___8.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___13 != 0L) { tmp___12 = __fswab16((int )pstAddIndication->u16CID); __dynamic_pr_debug(& descriptor___8, "%s:\nu16CID: 0x%X", "DumpCmControlPacket", (int )tmp___12); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "DumpCmControlPacket"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___10.format = "%s:\nu16VCID: 0x%X"; descriptor___10.lineno = 938U; descriptor___10.flags = 0U; tmp___17 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___17 != 0L) { tmp___16 = __fswab16((int )pstAddIndication->u16VCID); __dynamic_pr_debug(& descriptor___10, "%s:\nu16VCID: 0x%X", "DumpCmControlPacket", (int )tmp___16); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "DumpCmControlPacket"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___12.format = "%s:\n AuthorizedSet--->"; descriptor___12.lineno = 939U; descriptor___12.flags = 0U; tmp___19 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___19 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\n AuthorizedSet--->", "DumpCmControlPacket"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "DumpCmControlPacket"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___14.format = "%s:\nu32SFID: 0x%X"; descriptor___14.lineno = 940U; descriptor___14.flags = 0U; tmp___23 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___23 != 0L) { tmp___22 = __fswab32(pstAddIndication->sfAuthorizedSet.u32SFID); __dynamic_pr_debug(& descriptor___14, "%s:\nu32SFID: 0x%X", "DumpCmControlPacket", tmp___22); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "DumpCmControlPacket"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___16.format = "%s:\nu16CID: 0x%X"; descriptor___16.lineno = 941U; descriptor___16.flags = 0U; tmp___27 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___27 != 0L) { tmp___26 = __fswab16((int )pstAddIndication->sfAuthorizedSet.u16CID); __dynamic_pr_debug(& descriptor___16, "%s:\nu16CID: 0x%X", "DumpCmControlPacket", (int )tmp___26); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___18.modname = "bcm_wimax"; descriptor___18.function = "DumpCmControlPacket"; descriptor___18.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___18.format = "%s:\nu8ServiceClassNameLength: 0x%X"; descriptor___18.lineno = 943U; descriptor___18.flags = 0U; tmp___29 = ldv__builtin_expect((long )descriptor___18.flags & 1L, 0L); if (tmp___29 != 0L) { __dynamic_pr_debug(& descriptor___18, "%s:\nu8ServiceClassNameLength: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u8ServiceClassNameLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___20.modname = "bcm_wimax"; descriptor___20.function = "DumpCmControlPacket"; descriptor___20.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___20.format = "%s:\nu8ServiceClassName: 0x%X ,0x%X , 0x%X, 0x%X, 0x%X, 0x%X"; descriptor___20.lineno = 951U; descriptor___20.flags = 0U; tmp___31 = ldv__builtin_expect((long )descriptor___20.flags & 1L, 0L); if (tmp___31 != 0L) { __dynamic_pr_debug(& descriptor___20, "%s:\nu8ServiceClassName: 0x%X ,0x%X , 0x%X, 0x%X, 0x%X, 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u8ServiceClassName[0], (int )pstAddIndication->sfAuthorizedSet.u8ServiceClassName[1], (int )pstAddIndication->sfAuthorizedSet.u8ServiceClassName[2], (int )pstAddIndication->sfAuthorizedSet.u8ServiceClassName[3], (int )pstAddIndication->sfAuthorizedSet.u8ServiceClassName[4], (int )pstAddIndication->sfAuthorizedSet.u8ServiceClassName[5]); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___22.modname = "bcm_wimax"; descriptor___22.function = "DumpCmControlPacket"; descriptor___22.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___22.format = "%s:\nu8MBSService: 0x%X"; descriptor___22.lineno = 953U; descriptor___22.flags = 0U; tmp___33 = ldv__builtin_expect((long )descriptor___22.flags & 1L, 0L); if (tmp___33 != 0L) { __dynamic_pr_debug(& descriptor___22, "%s:\nu8MBSService: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u8MBSService); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___24.modname = "bcm_wimax"; descriptor___24.function = "DumpCmControlPacket"; descriptor___24.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___24.format = "%s:\nu8QosParamSet: 0x%X"; descriptor___24.lineno = 954U; descriptor___24.flags = 0U; tmp___35 = ldv__builtin_expect((long )descriptor___24.flags & 1L, 0L); if (tmp___35 != 0L) { __dynamic_pr_debug(& descriptor___24, "%s:\nu8QosParamSet: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u8QosParamSet); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___26.modname = "bcm_wimax"; descriptor___26.function = "DumpCmControlPacket"; descriptor___26.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___26.format = "%s:\nu8TrafficPriority: 0x%X, %p"; descriptor___26.lineno = 956U; descriptor___26.flags = 0U; tmp___37 = ldv__builtin_expect((long )descriptor___26.flags & 1L, 0L); if (tmp___37 != 0L) { __dynamic_pr_debug(& descriptor___26, "%s:\nu8TrafficPriority: 0x%X, %p", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u8TrafficPriority, & pstAddIndication->sfAuthorizedSet.u8TrafficPriority); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___28.modname = "bcm_wimax"; descriptor___28.function = "DumpCmControlPacket"; descriptor___28.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___28.format = "%s:\nu32MaxSustainedTrafficRate: 0x%X 0x%p"; descriptor___28.lineno = 959U; descriptor___28.flags = 0U; tmp___39 = ldv__builtin_expect((long )descriptor___28.flags & 1L, 0L); if (tmp___39 != 0L) { __dynamic_pr_debug(& descriptor___28, "%s:\nu32MaxSustainedTrafficRate: 0x%X 0x%p", "DumpCmControlPacket", pstAddIndication->sfAuthorizedSet.u32MaxSustainedTrafficRate, & pstAddIndication->sfAuthorizedSet.u32MaxSustainedTrafficRate); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___30.modname = "bcm_wimax"; descriptor___30.function = "DumpCmControlPacket"; descriptor___30.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___30.format = "%s:\nu32MaxTrafficBurst: 0x%X"; descriptor___30.lineno = 960U; descriptor___30.flags = 0U; tmp___41 = ldv__builtin_expect((long )descriptor___30.flags & 1L, 0L); if (tmp___41 != 0L) { __dynamic_pr_debug(& descriptor___30, "%s:\nu32MaxTrafficBurst: 0x%X", "DumpCmControlPacket", pstAddIndication->sfAuthorizedSet.u32MaxTrafficBurst); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___32.modname = "bcm_wimax"; descriptor___32.function = "DumpCmControlPacket"; descriptor___32.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___32.format = "%s:\nu32MinReservedTrafficRate\t: 0x%X"; descriptor___32.lineno = 962U; descriptor___32.flags = 0U; tmp___43 = ldv__builtin_expect((long )descriptor___32.flags & 1L, 0L); if (tmp___43 != 0L) { __dynamic_pr_debug(& descriptor___32, "%s:\nu32MinReservedTrafficRate\t: 0x%X", "DumpCmControlPacket", pstAddIndication->sfAuthorizedSet.u32MinReservedTrafficRate); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___34.modname = "bcm_wimax"; descriptor___34.function = "DumpCmControlPacket"; descriptor___34.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___34.format = "%s:\nu8VendorSpecificQoSParamLength: 0x%X"; descriptor___34.lineno = 964U; descriptor___34.flags = 0U; tmp___45 = ldv__builtin_expect((long )descriptor___34.flags & 1L, 0L); if (tmp___45 != 0L) { __dynamic_pr_debug(& descriptor___34, "%s:\nu8VendorSpecificQoSParamLength: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u8VendorSpecificQoSParamLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___36.modname = "bcm_wimax"; descriptor___36.function = "DumpCmControlPacket"; descriptor___36.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___36.format = "%s:\nu8VendorSpecificQoSParam: 0x%X"; descriptor___36.lineno = 966U; descriptor___36.flags = 0U; tmp___47 = ldv__builtin_expect((long )descriptor___36.flags & 1L, 0L); if (tmp___47 != 0L) { __dynamic_pr_debug(& descriptor___36, "%s:\nu8VendorSpecificQoSParam: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u8VendorSpecificQoSParam[0]); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___38.modname = "bcm_wimax"; descriptor___38.function = "DumpCmControlPacket"; descriptor___38.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___38.format = "%s:\nu8ServiceFlowSchedulingType: 0x%X"; descriptor___38.lineno = 968U; descriptor___38.flags = 0U; tmp___49 = ldv__builtin_expect((long )descriptor___38.flags & 1L, 0L); if (tmp___49 != 0L) { __dynamic_pr_debug(& descriptor___38, "%s:\nu8ServiceFlowSchedulingType: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u8ServiceFlowSchedulingType); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___40.modname = "bcm_wimax"; descriptor___40.function = "DumpCmControlPacket"; descriptor___40.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___40.format = "%s:\nu32ToleratedJitter: 0x%X"; descriptor___40.lineno = 969U; descriptor___40.flags = 0U; tmp___51 = ldv__builtin_expect((long )descriptor___40.flags & 1L, 0L); if (tmp___51 != 0L) { __dynamic_pr_debug(& descriptor___40, "%s:\nu32ToleratedJitter: 0x%X", "DumpCmControlPacket", pstAddIndication->sfAuthorizedSet.u32ToleratedJitter); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___42.modname = "bcm_wimax"; descriptor___42.function = "DumpCmControlPacket"; descriptor___42.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___42.format = "%s:\nu32MaximumLatency: 0x%X"; descriptor___42.lineno = 970U; descriptor___42.flags = 0U; tmp___53 = ldv__builtin_expect((long )descriptor___42.flags & 1L, 0L); if (tmp___53 != 0L) { __dynamic_pr_debug(& descriptor___42, "%s:\nu32MaximumLatency: 0x%X", "DumpCmControlPacket", pstAddIndication->sfAuthorizedSet.u32MaximumLatency); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___44.modname = "bcm_wimax"; descriptor___44.function = "DumpCmControlPacket"; descriptor___44.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___44.format = "%s:\nu8FixedLengthVSVariableLengthSDUIndicator: 0x%X"; descriptor___44.lineno = 972U; descriptor___44.flags = 0U; tmp___55 = ldv__builtin_expect((long )descriptor___44.flags & 1L, 0L); if (tmp___55 != 0L) { __dynamic_pr_debug(& descriptor___44, "%s:\nu8FixedLengthVSVariableLengthSDUIndicator: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u8FixedLengthVSVariableLengthSDUIndicator); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___46.modname = "bcm_wimax"; descriptor___46.function = "DumpCmControlPacket"; descriptor___46.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___46.format = "%s:\nu8SDUSize: 0x%X"; descriptor___46.lineno = 973U; descriptor___46.flags = 0U; tmp___57 = ldv__builtin_expect((long )descriptor___46.flags & 1L, 0L); if (tmp___57 != 0L) { __dynamic_pr_debug(& descriptor___46, "%s:\nu8SDUSize: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u8SDUSize); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___48.modname = "bcm_wimax"; descriptor___48.function = "DumpCmControlPacket"; descriptor___48.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___48.format = "%s:\nu16TargetSAID: 0x%X"; descriptor___48.lineno = 974U; descriptor___48.flags = 0U; tmp___59 = ldv__builtin_expect((long )descriptor___48.flags & 1L, 0L); if (tmp___59 != 0L) { __dynamic_pr_debug(& descriptor___48, "%s:\nu16TargetSAID: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u16TargetSAID); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___50.modname = "bcm_wimax"; descriptor___50.function = "DumpCmControlPacket"; descriptor___50.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___50.format = "%s:\nu8ARQEnable: 0x%X"; descriptor___50.lineno = 975U; descriptor___50.flags = 0U; tmp___61 = ldv__builtin_expect((long )descriptor___50.flags & 1L, 0L); if (tmp___61 != 0L) { __dynamic_pr_debug(& descriptor___50, "%s:\nu8ARQEnable: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u8ARQEnable); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___52.modname = "bcm_wimax"; descriptor___52.function = "DumpCmControlPacket"; descriptor___52.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___52.format = "%s:\nu16ARQWindowSize: 0x%X"; descriptor___52.lineno = 976U; descriptor___52.flags = 0U; tmp___63 = ldv__builtin_expect((long )descriptor___52.flags & 1L, 0L); if (tmp___63 != 0L) { __dynamic_pr_debug(& descriptor___52, "%s:\nu16ARQWindowSize: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u16ARQWindowSize); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___54.modname = "bcm_wimax"; descriptor___54.function = "DumpCmControlPacket"; descriptor___54.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___54.format = "%s:\nu16ARQRetryTxTimeOut: 0x%X"; descriptor___54.lineno = 977U; descriptor___54.flags = 0U; tmp___65 = ldv__builtin_expect((long )descriptor___54.flags & 1L, 0L); if (tmp___65 != 0L) { __dynamic_pr_debug(& descriptor___54, "%s:\nu16ARQRetryTxTimeOut: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u16ARQRetryTxTimeOut); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___56.modname = "bcm_wimax"; descriptor___56.function = "DumpCmControlPacket"; descriptor___56.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___56.format = "%s:\nu16ARQRetryRxTimeOut: 0x%X"; descriptor___56.lineno = 978U; descriptor___56.flags = 0U; tmp___67 = ldv__builtin_expect((long )descriptor___56.flags & 1L, 0L); if (tmp___67 != 0L) { __dynamic_pr_debug(& descriptor___56, "%s:\nu16ARQRetryRxTimeOut: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u16ARQRetryRxTimeOut); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___58.modname = "bcm_wimax"; descriptor___58.function = "DumpCmControlPacket"; descriptor___58.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___58.format = "%s:\nu16ARQBlockLifeTime: 0x%X"; descriptor___58.lineno = 979U; descriptor___58.flags = 0U; tmp___69 = ldv__builtin_expect((long )descriptor___58.flags & 1L, 0L); if (tmp___69 != 0L) { __dynamic_pr_debug(& descriptor___58, "%s:\nu16ARQBlockLifeTime: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u16ARQBlockLifeTime); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___60.modname = "bcm_wimax"; descriptor___60.function = "DumpCmControlPacket"; descriptor___60.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___60.format = "%s:\nu16ARQSyncLossTimeOut: 0x%X"; descriptor___60.lineno = 980U; descriptor___60.flags = 0U; tmp___71 = ldv__builtin_expect((long )descriptor___60.flags & 1L, 0L); if (tmp___71 != 0L) { __dynamic_pr_debug(& descriptor___60, "%s:\nu16ARQSyncLossTimeOut: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u16ARQSyncLossTimeOut); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___62.modname = "bcm_wimax"; descriptor___62.function = "DumpCmControlPacket"; descriptor___62.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___62.format = "%s:\nu8ARQDeliverInOrder: 0x%X"; descriptor___62.lineno = 981U; descriptor___62.flags = 0U; tmp___73 = ldv__builtin_expect((long )descriptor___62.flags & 1L, 0L); if (tmp___73 != 0L) { __dynamic_pr_debug(& descriptor___62, "%s:\nu8ARQDeliverInOrder: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u8ARQDeliverInOrder); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___64.modname = "bcm_wimax"; descriptor___64.function = "DumpCmControlPacket"; descriptor___64.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___64.format = "%s:\nu16ARQRxPurgeTimeOut: 0x%X"; descriptor___64.lineno = 982U; descriptor___64.flags = 0U; tmp___75 = ldv__builtin_expect((long )descriptor___64.flags & 1L, 0L); if (tmp___75 != 0L) { __dynamic_pr_debug(& descriptor___64, "%s:\nu16ARQRxPurgeTimeOut: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u16ARQRxPurgeTimeOut); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___66.modname = "bcm_wimax"; descriptor___66.function = "DumpCmControlPacket"; descriptor___66.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___66.format = "%s:\nu16ARQBlockSize: 0x%X"; descriptor___66.lineno = 983U; descriptor___66.flags = 0U; tmp___77 = ldv__builtin_expect((long )descriptor___66.flags & 1L, 0L); if (tmp___77 != 0L) { __dynamic_pr_debug(& descriptor___66, "%s:\nu16ARQBlockSize: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u16ARQBlockSize); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___68.modname = "bcm_wimax"; descriptor___68.function = "DumpCmControlPacket"; descriptor___68.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___68.format = "%s:\nu8CSSpecification: 0x%X"; descriptor___68.lineno = 984U; descriptor___68.flags = 0U; tmp___79 = ldv__builtin_expect((long )descriptor___68.flags & 1L, 0L); if (tmp___79 != 0L) { __dynamic_pr_debug(& descriptor___68, "%s:\nu8CSSpecification: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u8CSSpecification); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___70.modname = "bcm_wimax"; descriptor___70.function = "DumpCmControlPacket"; descriptor___70.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___70.format = "%s:\nu8TypeOfDataDeliveryService: 0x%X"; descriptor___70.lineno = 986U; descriptor___70.flags = 0U; tmp___81 = ldv__builtin_expect((long )descriptor___70.flags & 1L, 0L); if (tmp___81 != 0L) { __dynamic_pr_debug(& descriptor___70, "%s:\nu8TypeOfDataDeliveryService: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u8TypeOfDataDeliveryService); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___72.modname = "bcm_wimax"; descriptor___72.function = "DumpCmControlPacket"; descriptor___72.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___72.format = "%s:\nu16SDUInterArrivalTime: 0x%X"; descriptor___72.lineno = 987U; descriptor___72.flags = 0U; tmp___83 = ldv__builtin_expect((long )descriptor___72.flags & 1L, 0L); if (tmp___83 != 0L) { __dynamic_pr_debug(& descriptor___72, "%s:\nu16SDUInterArrivalTime: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u16SDUInterArrivalTime); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___74.modname = "bcm_wimax"; descriptor___74.function = "DumpCmControlPacket"; descriptor___74.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___74.format = "%s:\nu16TimeBase: 0x%X"; descriptor___74.lineno = 988U; descriptor___74.flags = 0U; tmp___85 = ldv__builtin_expect((long )descriptor___74.flags & 1L, 0L); if (tmp___85 != 0L) { __dynamic_pr_debug(& descriptor___74, "%s:\nu16TimeBase: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u16TimeBase); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___76.modname = "bcm_wimax"; descriptor___76.function = "DumpCmControlPacket"; descriptor___76.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___76.format = "%s:\nu8PagingPreference: 0x%X"; descriptor___76.lineno = 989U; descriptor___76.flags = 0U; tmp___87 = ldv__builtin_expect((long )descriptor___76.flags & 1L, 0L); if (tmp___87 != 0L) { __dynamic_pr_debug(& descriptor___76, "%s:\nu8PagingPreference: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u8PagingPreference); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___78.modname = "bcm_wimax"; descriptor___78.function = "DumpCmControlPacket"; descriptor___78.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___78.format = "%s:\nu16UnsolicitedPollingInterval: 0x%X"; descriptor___78.lineno = 991U; descriptor___78.flags = 0U; tmp___89 = ldv__builtin_expect((long )descriptor___78.flags & 1L, 0L); if (tmp___89 != 0L) { __dynamic_pr_debug(& descriptor___78, "%s:\nu16UnsolicitedPollingInterval: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u16UnsolicitedPollingInterval); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___80.modname = "bcm_wimax"; descriptor___80.function = "DumpCmControlPacket"; descriptor___80.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___80.format = "%s:\nsfAuthorizedSet.u8HARQChannelMapping %x %x %x "; descriptor___80.lineno = 996U; descriptor___80.flags = 0U; tmp___91 = ldv__builtin_expect((long )descriptor___80.flags & 1L, 0L); if (tmp___91 != 0L) { __dynamic_pr_debug(& descriptor___80, "%s:\nsfAuthorizedSet.u8HARQChannelMapping %x %x %x ", "DumpCmControlPacket", *((unsigned int *)(& pstAddIndication->sfAuthorizedSet.u8HARQChannelMapping)), *((unsigned int *)(& pstAddIndication->sfAuthorizedSet.u8HARQChannelMapping) + 4U), (int )*((USHORT *)(& pstAddIndication->sfAuthorizedSet.u8HARQChannelMapping) + 8U)); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___82.modname = "bcm_wimax"; descriptor___82.function = "DumpCmControlPacket"; descriptor___82.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___82.format = "%s:\nu8TrafficIndicationPreference: 0x%X"; descriptor___82.lineno = 998U; descriptor___82.flags = 0U; tmp___93 = ldv__builtin_expect((long )descriptor___82.flags & 1L, 0L); if (tmp___93 != 0L) { __dynamic_pr_debug(& descriptor___82, "%s:\nu8TrafficIndicationPreference: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u8TrafficIndicationPreference); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___84.modname = "bcm_wimax"; descriptor___84.function = "DumpCmControlPacket"; descriptor___84.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___84.format = "%s:\n Total Classifiers Received: 0x%X"; descriptor___84.lineno = 999U; descriptor___84.flags = 0U; tmp___95 = ldv__builtin_expect((long )descriptor___84.flags & 1L, 0L); if (tmp___95 != 0L) { __dynamic_pr_debug(& descriptor___84, "%s:\n Total Classifiers Received: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u8TotalClassifiers); } else { } } else { } nCurClassifierCnt = (UINT )pstAddIndication->sfAuthorizedSet.u8TotalClassifiers; if (nCurClassifierCnt > 4U) { nCurClassifierCnt = 4U; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___86.modname = "bcm_wimax"; descriptor___86.function = "DumpCmControlPacket"; descriptor___86.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___86.format = "%s:\npstAddIndication->sfAuthorizedSet.bValid %d"; descriptor___86.lineno = 1005U; descriptor___86.flags = 0U; tmp___97 = ldv__builtin_expect((long )descriptor___86.flags & 1L, 0L); if (tmp___97 != 0L) { __dynamic_pr_debug(& descriptor___86, "%s:\npstAddIndication->sfAuthorizedSet.bValid %d", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.bValid); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___88.modname = "bcm_wimax"; descriptor___88.function = "DumpCmControlPacket"; descriptor___88.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___88.format = "%s:\npstAddIndication->sfAuthorizedSet.u16MacOverhead %x"; descriptor___88.lineno = 1006U; descriptor___88.flags = 0U; tmp___99 = ldv__builtin_expect((long )descriptor___88.flags & 1L, 0L); if (tmp___99 != 0L) { __dynamic_pr_debug(& descriptor___88, "%s:\npstAddIndication->sfAuthorizedSet.u16MacOverhead %x", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.u16MacOverhead); } else { } } else { } if ((unsigned int )pstAddIndication->sfAuthorizedSet.bValid == 0U) { pstAddIndication->sfAuthorizedSet.bValid = 1U; } else { } nIndex = 0; goto ldv_52136; ldv_52135: psfCSType = (struct bcm_convergence_types *)0; psfCSType = (struct bcm_convergence_types *)(& pstAddIndication->sfAuthorizedSet.cConvergenceSLTypes) + (unsigned long )nIndex; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___90.modname = "bcm_wimax"; descriptor___90.function = "DumpCmControlPacket"; descriptor___90.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___90.format = "%s:\npsfCSType = %p"; descriptor___90.lineno = 1013U; descriptor___90.flags = 0U; tmp___101 = ldv__builtin_expect((long )descriptor___90.flags & 1L, 0L); if (tmp___101 != 0L) { __dynamic_pr_debug(& descriptor___90, "%s:\npsfCSType = %p", "DumpCmControlPacket", psfCSType); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___92.modname = "bcm_wimax"; descriptor___92.function = "DumpCmControlPacket"; descriptor___92.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___92.format = "%s:\nCCPacketClassificationRuleSI====>"; descriptor___92.lineno = 1014U; descriptor___92.flags = 0U; tmp___103 = ldv__builtin_expect((long )descriptor___92.flags & 1L, 0L); if (tmp___103 != 0L) { __dynamic_pr_debug(& descriptor___92, "%s:\nCCPacketClassificationRuleSI====>", "DumpCmControlPacket"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___94.modname = "bcm_wimax"; descriptor___94.function = "DumpCmControlPacket"; descriptor___94.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___94.format = "%s:\nu8ClassifierRulePriority: 0x%X "; descriptor___94.lineno = 1016U; descriptor___94.flags = 0U; tmp___105 = ldv__builtin_expect((long )descriptor___94.flags & 1L, 0L); if (tmp___105 != 0L) { __dynamic_pr_debug(& descriptor___94, "%s:\nu8ClassifierRulePriority: 0x%X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8ClassifierRulePriority); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___96.modname = "bcm_wimax"; descriptor___96.function = "DumpCmControlPacket"; descriptor___96.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___96.format = "%s:\nu8IPTypeOfServiceLength: 0x%X "; descriptor___96.lineno = 1018U; descriptor___96.flags = 0U; tmp___107 = ldv__builtin_expect((long )descriptor___96.flags & 1L, 0L); if (tmp___107 != 0L) { __dynamic_pr_debug(& descriptor___96, "%s:\nu8IPTypeOfServiceLength: 0x%X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8IPTypeOfServiceLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___98.modname = "bcm_wimax"; descriptor___98.function = "DumpCmControlPacket"; descriptor___98.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___98.format = "%s:\nu8IPTypeOfService[3]: 0x%X ,0x%X ,0x%X "; descriptor___98.lineno = 1022U; descriptor___98.flags = 0U; tmp___109 = ldv__builtin_expect((long )descriptor___98.flags & 1L, 0L); if (tmp___109 != 0L) { __dynamic_pr_debug(& descriptor___98, "%s:\nu8IPTypeOfService[3]: 0x%X ,0x%X ,0x%X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8IPTypeOfService[0], (int )psfCSType->cCPacketClassificationRule.u8IPTypeOfService[1], (int )psfCSType->cCPacketClassificationRule.u8IPTypeOfService[2]); } else { } } else { } uiLoopIndex = 0; goto ldv_52087; ldv_52086: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___100.modname = "bcm_wimax"; descriptor___100.function = "DumpCmControlPacket"; descriptor___100.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___100.format = "%s:\nu8Protocol: 0x%02X "; descriptor___100.lineno = 1026U; descriptor___100.flags = 0U; tmp___111 = ldv__builtin_expect((long )descriptor___100.flags & 1L, 0L); if (tmp___111 != 0L) { __dynamic_pr_debug(& descriptor___100, "%s:\nu8Protocol: 0x%02X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8Protocol); } else { } } else { } uiLoopIndex = uiLoopIndex + 1; ldv_52087: ; if (uiLoopIndex <= 0) { goto ldv_52086; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___102.modname = "bcm_wimax"; descriptor___102.function = "DumpCmControlPacket"; descriptor___102.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___102.format = "%s:\nu8IPMaskedSourceAddressLength: 0x%X "; descriptor___102.lineno = 1029U; descriptor___102.flags = 0U; tmp___113 = ldv__builtin_expect((long )descriptor___102.flags & 1L, 0L); if (tmp___113 != 0L) { __dynamic_pr_debug(& descriptor___102, "%s:\nu8IPMaskedSourceAddressLength: 0x%X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8IPMaskedSourceAddressLength); } else { } } else { } uiLoopIndex = 0; goto ldv_52094; ldv_52093: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___104.modname = "bcm_wimax"; descriptor___104.function = "DumpCmControlPacket"; descriptor___104.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___104.format = "%s:\nu8IPMaskedSourceAddress[32]: 0x%02X "; descriptor___104.lineno = 1033U; descriptor___104.flags = 0U; tmp___115 = ldv__builtin_expect((long )descriptor___104.flags & 1L, 0L); if (tmp___115 != 0L) { __dynamic_pr_debug(& descriptor___104, "%s:\nu8IPMaskedSourceAddress[32]: 0x%02X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8IPMaskedSourceAddress[uiLoopIndex]); } else { } } else { } uiLoopIndex = uiLoopIndex + 1; ldv_52094: ; if (uiLoopIndex <= 31) { goto ldv_52093; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___106.modname = "bcm_wimax"; descriptor___106.function = "DumpCmControlPacket"; descriptor___106.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___106.format = "%s:\nu8IPDestinationAddressLength: 0x%X "; descriptor___106.lineno = 1036U; descriptor___106.flags = 0U; tmp___117 = ldv__builtin_expect((long )descriptor___106.flags & 1L, 0L); if (tmp___117 != 0L) { __dynamic_pr_debug(& descriptor___106, "%s:\nu8IPDestinationAddressLength: 0x%X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8IPDestinationAddressLength); } else { } } else { } uiLoopIndex = 0; goto ldv_52101; ldv_52100: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___108.modname = "bcm_wimax"; descriptor___108.function = "DumpCmControlPacket"; descriptor___108.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___108.format = "%s:\nu8IPDestinationAddress[32]: 0x%02X "; descriptor___108.lineno = 1040U; descriptor___108.flags = 0U; tmp___119 = ldv__builtin_expect((long )descriptor___108.flags & 1L, 0L); if (tmp___119 != 0L) { __dynamic_pr_debug(& descriptor___108, "%s:\nu8IPDestinationAddress[32]: 0x%02X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8IPDestinationAddress[uiLoopIndex]); } else { } } else { } uiLoopIndex = uiLoopIndex + 1; ldv_52101: ; if (uiLoopIndex <= 31) { goto ldv_52100; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___110.modname = "bcm_wimax"; descriptor___110.function = "DumpCmControlPacket"; descriptor___110.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___110.format = "%s:\nu8ProtocolSourcePortRangeLength:0x%X "; descriptor___110.lineno = 1043U; descriptor___110.flags = 0U; tmp___121 = ldv__builtin_expect((long )descriptor___110.flags & 1L, 0L); if (tmp___121 != 0L) { __dynamic_pr_debug(& descriptor___110, "%s:\nu8ProtocolSourcePortRangeLength:0x%X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8ProtocolSourcePortRangeLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___112.modname = "bcm_wimax"; descriptor___112.function = "DumpCmControlPacket"; descriptor___112.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___112.format = "%s:\nu8ProtocolSourcePortRange[4]: 0x%02X ,0x%02X ,0x%02X ,0x%02X "; descriptor___112.lineno = 1048U; descriptor___112.flags = 0U; tmp___123 = ldv__builtin_expect((long )descriptor___112.flags & 1L, 0L); if (tmp___123 != 0L) { __dynamic_pr_debug(& descriptor___112, "%s:\nu8ProtocolSourcePortRange[4]: 0x%02X ,0x%02X ,0x%02X ,0x%02X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8ProtocolSourcePortRange[0], (int )psfCSType->cCPacketClassificationRule.u8ProtocolSourcePortRange[1], (int )psfCSType->cCPacketClassificationRule.u8ProtocolSourcePortRange[2], (int )psfCSType->cCPacketClassificationRule.u8ProtocolSourcePortRange[3]); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___114.modname = "bcm_wimax"; descriptor___114.function = "DumpCmControlPacket"; descriptor___114.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___114.format = "%s:\nu8ProtocolDestPortRangeLength: 0x%02X "; descriptor___114.lineno = 1051U; descriptor___114.flags = 0U; tmp___125 = ldv__builtin_expect((long )descriptor___114.flags & 1L, 0L); if (tmp___125 != 0L) { __dynamic_pr_debug(& descriptor___114, "%s:\nu8ProtocolDestPortRangeLength: 0x%02X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8ProtocolDestPortRangeLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___116.modname = "bcm_wimax"; descriptor___116.function = "DumpCmControlPacket"; descriptor___116.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___116.format = "%s:\nu8ProtocolDestPortRange[4]: 0x%02X ,0x%02X ,0x%02X ,0x%02X "; descriptor___116.lineno = 1056U; descriptor___116.flags = 0U; tmp___127 = ldv__builtin_expect((long )descriptor___116.flags & 1L, 0L); if (tmp___127 != 0L) { __dynamic_pr_debug(& descriptor___116, "%s:\nu8ProtocolDestPortRange[4]: 0x%02X ,0x%02X ,0x%02X ,0x%02X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8ProtocolDestPortRange[0], (int )psfCSType->cCPacketClassificationRule.u8ProtocolDestPortRange[1], (int )psfCSType->cCPacketClassificationRule.u8ProtocolDestPortRange[2], (int )psfCSType->cCPacketClassificationRule.u8ProtocolDestPortRange[3]); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___118.modname = "bcm_wimax"; descriptor___118.function = "DumpCmControlPacket"; descriptor___118.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___118.format = "%s:\nu8EthernetDestMacAddressLength: 0x%02X "; descriptor___118.lineno = 1059U; descriptor___118.flags = 0U; tmp___129 = ldv__builtin_expect((long )descriptor___118.flags & 1L, 0L); if (tmp___129 != 0L) { __dynamic_pr_debug(& descriptor___118, "%s:\nu8EthernetDestMacAddressLength: 0x%02X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8EthernetDestMacAddressLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___120.modname = "bcm_wimax"; descriptor___120.function = "DumpCmControlPacket"; descriptor___120.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___120.format = "%s:\nu8EthernetDestMacAddress[6]: %pM"; descriptor___120.lineno = 1064U; descriptor___120.flags = 0U; tmp___131 = ldv__builtin_expect((long )descriptor___120.flags & 1L, 0L); if (tmp___131 != 0L) { __dynamic_pr_debug(& descriptor___120, "%s:\nu8EthernetDestMacAddress[6]: %pM", "DumpCmControlPacket", (u8 *)(& psfCSType->cCPacketClassificationRule.u8EthernetDestMacAddress)); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___122.modname = "bcm_wimax"; descriptor___122.function = "DumpCmControlPacket"; descriptor___122.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___122.format = "%s:\nu8EthernetSourceMACAddressLength: 0x%02X "; descriptor___122.lineno = 1067U; descriptor___122.flags = 0U; tmp___133 = ldv__builtin_expect((long )descriptor___122.flags & 1L, 0L); if (tmp___133 != 0L) { __dynamic_pr_debug(& descriptor___122, "%s:\nu8EthernetSourceMACAddressLength: 0x%02X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8EthernetDestMacAddressLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___124.modname = "bcm_wimax"; descriptor___124.function = "DumpCmControlPacket"; descriptor___124.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___124.format = "%s:\nu8EthernetSourceMACAddress[6]: %pM"; descriptor___124.lineno = 1072U; descriptor___124.flags = 0U; tmp___135 = ldv__builtin_expect((long )descriptor___124.flags & 1L, 0L); if (tmp___135 != 0L) { __dynamic_pr_debug(& descriptor___124, "%s:\nu8EthernetSourceMACAddress[6]: %pM", "DumpCmControlPacket", (u8 *)(& psfCSType->cCPacketClassificationRule.u8EthernetSourceMACAddress)); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___126.modname = "bcm_wimax"; descriptor___126.function = "DumpCmControlPacket"; descriptor___126.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___126.format = "%s:\nu8EthertypeLength: 0x%02X "; descriptor___126.lineno = 1075U; descriptor___126.flags = 0U; tmp___137 = ldv__builtin_expect((long )descriptor___126.flags & 1L, 0L); if (tmp___137 != 0L) { __dynamic_pr_debug(& descriptor___126, "%s:\nu8EthertypeLength: 0x%02X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8EthertypeLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___128.modname = "bcm_wimax"; descriptor___128.function = "DumpCmControlPacket"; descriptor___128.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___128.format = "%s:\nu8Ethertype[3]: 0x%02X ,0x%02X ,0x%02X "; descriptor___128.lineno = 1079U; descriptor___128.flags = 0U; tmp___139 = ldv__builtin_expect((long )descriptor___128.flags & 1L, 0L); if (tmp___139 != 0L) { __dynamic_pr_debug(& descriptor___128, "%s:\nu8Ethertype[3]: 0x%02X ,0x%02X ,0x%02X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8Ethertype[0], (int )psfCSType->cCPacketClassificationRule.u8Ethertype[1], (int )psfCSType->cCPacketClassificationRule.u8Ethertype[2]); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___130.modname = "bcm_wimax"; descriptor___130.function = "DumpCmControlPacket"; descriptor___130.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___130.format = "%s:\nu16UserPriority: 0x%X "; descriptor___130.lineno = 1081U; descriptor___130.flags = 0U; tmp___141 = ldv__builtin_expect((long )descriptor___130.flags & 1L, 0L); if (tmp___141 != 0L) { __dynamic_pr_debug(& descriptor___130, "%s:\nu16UserPriority: 0x%X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u16UserPriority); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___132.modname = "bcm_wimax"; descriptor___132.function = "DumpCmControlPacket"; descriptor___132.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___132.format = "%s:\nu16VLANID: 0x%X "; descriptor___132.lineno = 1082U; descriptor___132.flags = 0U; tmp___143 = ldv__builtin_expect((long )descriptor___132.flags & 1L, 0L); if (tmp___143 != 0L) { __dynamic_pr_debug(& descriptor___132, "%s:\nu16VLANID: 0x%X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u16VLANID); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___134.modname = "bcm_wimax"; descriptor___134.function = "DumpCmControlPacket"; descriptor___134.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___134.format = "%s:\nu8AssociatedPHSI: 0x%02X "; descriptor___134.lineno = 1083U; descriptor___134.flags = 0U; tmp___145 = ldv__builtin_expect((long )descriptor___134.flags & 1L, 0L); if (tmp___145 != 0L) { __dynamic_pr_debug(& descriptor___134, "%s:\nu8AssociatedPHSI: 0x%02X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8AssociatedPHSI); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___136.modname = "bcm_wimax"; descriptor___136.function = "DumpCmControlPacket"; descriptor___136.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___136.format = "%s:\nu16PacketClassificationRuleIndex: 0x%X "; descriptor___136.lineno = 1085U; descriptor___136.flags = 0U; tmp___147 = ldv__builtin_expect((long )descriptor___136.flags & 1L, 0L); if (tmp___147 != 0L) { __dynamic_pr_debug(& descriptor___136, "%s:\nu16PacketClassificationRuleIndex: 0x%X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u16PacketClassificationRuleIndex); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___138.modname = "bcm_wimax"; descriptor___138.function = "DumpCmControlPacket"; descriptor___138.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___138.format = "%s:\nu8VendorSpecificClassifierParamLength: 0x%X "; descriptor___138.lineno = 1088U; descriptor___138.flags = 0U; tmp___149 = ldv__builtin_expect((long )descriptor___138.flags & 1L, 0L); if (tmp___149 != 0L) { __dynamic_pr_debug(& descriptor___138, "%s:\nu8VendorSpecificClassifierParamLength: 0x%X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8VendorSpecificClassifierParamLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___140.modname = "bcm_wimax"; descriptor___140.function = "DumpCmControlPacket"; descriptor___140.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___140.format = "%s:\nu8VendorSpecificClassifierParam[1]: 0x%X "; descriptor___140.lineno = 1090U; descriptor___140.flags = 0U; tmp___151 = ldv__builtin_expect((long )descriptor___140.flags & 1L, 0L); if (tmp___151 != 0L) { __dynamic_pr_debug(& descriptor___140, "%s:\nu8VendorSpecificClassifierParam[1]: 0x%X ", "DumpCmControlPacket", (int )psfCSType->cCPacketClassificationRule.u8VendorSpecificClassifierParam[0]); } else { } } else { } nIndex = nIndex + 1; ldv_52136: ; if ((UINT )nIndex < nCurClassifierCnt) { goto ldv_52135; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___142.modname = "bcm_wimax"; descriptor___142.function = "DumpCmControlPacket"; descriptor___142.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___142.format = "%s:\nbValid: 0x%02X"; descriptor___142.lineno = 1101U; descriptor___142.flags = 0U; tmp___153 = ldv__builtin_expect((long )descriptor___142.flags & 1L, 0L); if (tmp___153 != 0L) { __dynamic_pr_debug(& descriptor___142, "%s:\nbValid: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfAuthorizedSet.bValid); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___144.modname = "bcm_wimax"; descriptor___144.function = "DumpCmControlPacket"; descriptor___144.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___144.format = "%s:\nAdmittedSet--->"; descriptor___144.lineno = 1102U; descriptor___144.flags = 0U; tmp___155 = ldv__builtin_expect((long )descriptor___144.flags & 1L, 0L); if (tmp___155 != 0L) { __dynamic_pr_debug(& descriptor___144, "%s:\nAdmittedSet--->", "DumpCmControlPacket"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___146.modname = "bcm_wimax"; descriptor___146.function = "DumpCmControlPacket"; descriptor___146.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___146.format = "%s:\nu32SFID: 0x%X"; descriptor___146.lineno = 1103U; descriptor___146.flags = 0U; tmp___157 = ldv__builtin_expect((long )descriptor___146.flags & 1L, 0L); if (tmp___157 != 0L) { __dynamic_pr_debug(& descriptor___146, "%s:\nu32SFID: 0x%X", "DumpCmControlPacket", pstAddIndication->sfAdmittedSet.u32SFID); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___148.modname = "bcm_wimax"; descriptor___148.function = "DumpCmControlPacket"; descriptor___148.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___148.format = "%s:\nu16CID: 0x%X"; descriptor___148.lineno = 1104U; descriptor___148.flags = 0U; tmp___159 = ldv__builtin_expect((long )descriptor___148.flags & 1L, 0L); if (tmp___159 != 0L) { __dynamic_pr_debug(& descriptor___148, "%s:\nu16CID: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u16CID); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___150.modname = "bcm_wimax"; descriptor___150.function = "DumpCmControlPacket"; descriptor___150.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___150.format = "%s:\nu8ServiceClassNameLength: 0x%X"; descriptor___150.lineno = 1106U; descriptor___150.flags = 0U; tmp___161 = ldv__builtin_expect((long )descriptor___150.flags & 1L, 0L); if (tmp___161 != 0L) { __dynamic_pr_debug(& descriptor___150, "%s:\nu8ServiceClassNameLength: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u8ServiceClassNameLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___152.modname = "bcm_wimax"; descriptor___152.function = "DumpCmControlPacket"; descriptor___152.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___152.format = "%s:\nu8ServiceClassName: 0x%*ph"; descriptor___152.lineno = 1109U; descriptor___152.flags = 0U; tmp___163 = ldv__builtin_expect((long )descriptor___152.flags & 1L, 0L); if (tmp___163 != 0L) { __dynamic_pr_debug(& descriptor___152, "%s:\nu8ServiceClassName: 0x%*ph", "DumpCmControlPacket", 6, (u8 *)(& pstAddIndication->sfAdmittedSet.u8ServiceClassName)); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___154.modname = "bcm_wimax"; descriptor___154.function = "DumpCmControlPacket"; descriptor___154.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___154.format = "%s:\nu8MBSService: 0x%02X"; descriptor___154.lineno = 1111U; descriptor___154.flags = 0U; tmp___165 = ldv__builtin_expect((long )descriptor___154.flags & 1L, 0L); if (tmp___165 != 0L) { __dynamic_pr_debug(& descriptor___154, "%s:\nu8MBSService: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u8MBSService); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___156.modname = "bcm_wimax"; descriptor___156.function = "DumpCmControlPacket"; descriptor___156.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___156.format = "%s:\nu8QosParamSet: 0x%02X"; descriptor___156.lineno = 1112U; descriptor___156.flags = 0U; tmp___167 = ldv__builtin_expect((long )descriptor___156.flags & 1L, 0L); if (tmp___167 != 0L) { __dynamic_pr_debug(& descriptor___156, "%s:\nu8QosParamSet: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u8QosParamSet); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___158.modname = "bcm_wimax"; descriptor___158.function = "DumpCmControlPacket"; descriptor___158.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___158.format = "%s:\nu8TrafficPriority: 0x%02X"; descriptor___158.lineno = 1113U; descriptor___158.flags = 0U; tmp___169 = ldv__builtin_expect((long )descriptor___158.flags & 1L, 0L); if (tmp___169 != 0L) { __dynamic_pr_debug(& descriptor___158, "%s:\nu8TrafficPriority: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u8TrafficPriority); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___160.modname = "bcm_wimax"; descriptor___160.function = "DumpCmControlPacket"; descriptor___160.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___160.format = "%s:\nu32MaxTrafficBurst: 0x%X"; descriptor___160.lineno = 1114U; descriptor___160.flags = 0U; tmp___171 = ldv__builtin_expect((long )descriptor___160.flags & 1L, 0L); if (tmp___171 != 0L) { __dynamic_pr_debug(& descriptor___160, "%s:\nu32MaxTrafficBurst: 0x%X", "DumpCmControlPacket", pstAddIndication->sfAdmittedSet.u32MaxTrafficBurst); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___162.modname = "bcm_wimax"; descriptor___162.function = "DumpCmControlPacket"; descriptor___162.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___162.format = "%s:\nu32MinReservedTrafficRate: 0x%X"; descriptor___162.lineno = 1116U; descriptor___162.flags = 0U; tmp___173 = ldv__builtin_expect((long )descriptor___162.flags & 1L, 0L); if (tmp___173 != 0L) { __dynamic_pr_debug(& descriptor___162, "%s:\nu32MinReservedTrafficRate: 0x%X", "DumpCmControlPacket", pstAddIndication->sfAdmittedSet.u32MinReservedTrafficRate); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___164.modname = "bcm_wimax"; descriptor___164.function = "DumpCmControlPacket"; descriptor___164.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___164.format = "%s:\nu8VendorSpecificQoSParamLength: 0x%02X"; descriptor___164.lineno = 1119U; descriptor___164.flags = 0U; tmp___175 = ldv__builtin_expect((long )descriptor___164.flags & 1L, 0L); if (tmp___175 != 0L) { __dynamic_pr_debug(& descriptor___164, "%s:\nu8VendorSpecificQoSParamLength: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u8VendorSpecificQoSParamLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___166.modname = "bcm_wimax"; descriptor___166.function = "DumpCmControlPacket"; descriptor___166.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___166.format = "%s:\nu8VendorSpecificQoSParam: 0x%02X"; descriptor___166.lineno = 1121U; descriptor___166.flags = 0U; tmp___177 = ldv__builtin_expect((long )descriptor___166.flags & 1L, 0L); if (tmp___177 != 0L) { __dynamic_pr_debug(& descriptor___166, "%s:\nu8VendorSpecificQoSParam: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u8VendorSpecificQoSParam[0]); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___168.modname = "bcm_wimax"; descriptor___168.function = "DumpCmControlPacket"; descriptor___168.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___168.format = "%s:\nu8ServiceFlowSchedulingType: 0x%02X"; descriptor___168.lineno = 1123U; descriptor___168.flags = 0U; tmp___179 = ldv__builtin_expect((long )descriptor___168.flags & 1L, 0L); if (tmp___179 != 0L) { __dynamic_pr_debug(& descriptor___168, "%s:\nu8ServiceFlowSchedulingType: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u8ServiceFlowSchedulingType); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___170.modname = "bcm_wimax"; descriptor___170.function = "DumpCmControlPacket"; descriptor___170.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___170.format = "%s:\nu32ToleratedJitter: 0x%X"; descriptor___170.lineno = 1124U; descriptor___170.flags = 0U; tmp___181 = ldv__builtin_expect((long )descriptor___170.flags & 1L, 0L); if (tmp___181 != 0L) { __dynamic_pr_debug(& descriptor___170, "%s:\nu32ToleratedJitter: 0x%X", "DumpCmControlPacket", pstAddIndication->sfAdmittedSet.u32ToleratedJitter); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___172.modname = "bcm_wimax"; descriptor___172.function = "DumpCmControlPacket"; descriptor___172.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___172.format = "%s:\nu32MaximumLatency: 0x%X"; descriptor___172.lineno = 1125U; descriptor___172.flags = 0U; tmp___183 = ldv__builtin_expect((long )descriptor___172.flags & 1L, 0L); if (tmp___183 != 0L) { __dynamic_pr_debug(& descriptor___172, "%s:\nu32MaximumLatency: 0x%X", "DumpCmControlPacket", pstAddIndication->sfAdmittedSet.u32MaximumLatency); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___174.modname = "bcm_wimax"; descriptor___174.function = "DumpCmControlPacket"; descriptor___174.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___174.format = "%s:\nu8FixedLengthVSVariableLengthSDUIndicator: 0x%02X"; descriptor___174.lineno = 1127U; descriptor___174.flags = 0U; tmp___185 = ldv__builtin_expect((long )descriptor___174.flags & 1L, 0L); if (tmp___185 != 0L) { __dynamic_pr_debug(& descriptor___174, "%s:\nu8FixedLengthVSVariableLengthSDUIndicator: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u8FixedLengthVSVariableLengthSDUIndicator); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___176.modname = "bcm_wimax"; descriptor___176.function = "DumpCmControlPacket"; descriptor___176.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___176.format = "%s:\nu8SDUSize: 0x%02X"; descriptor___176.lineno = 1128U; descriptor___176.flags = 0U; tmp___187 = ldv__builtin_expect((long )descriptor___176.flags & 1L, 0L); if (tmp___187 != 0L) { __dynamic_pr_debug(& descriptor___176, "%s:\nu8SDUSize: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u8SDUSize); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___178.modname = "bcm_wimax"; descriptor___178.function = "DumpCmControlPacket"; descriptor___178.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___178.format = "%s:\nu16TargetSAID: 0x%02X"; descriptor___178.lineno = 1129U; descriptor___178.flags = 0U; tmp___189 = ldv__builtin_expect((long )descriptor___178.flags & 1L, 0L); if (tmp___189 != 0L) { __dynamic_pr_debug(& descriptor___178, "%s:\nu16TargetSAID: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u16TargetSAID); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___180.modname = "bcm_wimax"; descriptor___180.function = "DumpCmControlPacket"; descriptor___180.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___180.format = "%s:\nu8ARQEnable: 0x%02X"; descriptor___180.lineno = 1130U; descriptor___180.flags = 0U; tmp___191 = ldv__builtin_expect((long )descriptor___180.flags & 1L, 0L); if (tmp___191 != 0L) { __dynamic_pr_debug(& descriptor___180, "%s:\nu8ARQEnable: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u8ARQEnable); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___182.modname = "bcm_wimax"; descriptor___182.function = "DumpCmControlPacket"; descriptor___182.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___182.format = "%s:\nu16ARQWindowSize: 0x%X"; descriptor___182.lineno = 1131U; descriptor___182.flags = 0U; tmp___193 = ldv__builtin_expect((long )descriptor___182.flags & 1L, 0L); if (tmp___193 != 0L) { __dynamic_pr_debug(& descriptor___182, "%s:\nu16ARQWindowSize: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u16ARQWindowSize); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___184.modname = "bcm_wimax"; descriptor___184.function = "DumpCmControlPacket"; descriptor___184.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___184.format = "%s:\nu16ARQRetryTxTimeOut: 0x%X"; descriptor___184.lineno = 1132U; descriptor___184.flags = 0U; tmp___195 = ldv__builtin_expect((long )descriptor___184.flags & 1L, 0L); if (tmp___195 != 0L) { __dynamic_pr_debug(& descriptor___184, "%s:\nu16ARQRetryTxTimeOut: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u16ARQRetryTxTimeOut); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___186.modname = "bcm_wimax"; descriptor___186.function = "DumpCmControlPacket"; descriptor___186.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___186.format = "%s:\nu16ARQRetryRxTimeOut: 0x%X"; descriptor___186.lineno = 1133U; descriptor___186.flags = 0U; tmp___197 = ldv__builtin_expect((long )descriptor___186.flags & 1L, 0L); if (tmp___197 != 0L) { __dynamic_pr_debug(& descriptor___186, "%s:\nu16ARQRetryRxTimeOut: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u16ARQRetryRxTimeOut); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___188.modname = "bcm_wimax"; descriptor___188.function = "DumpCmControlPacket"; descriptor___188.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___188.format = "%s:\nu16ARQBlockLifeTime: 0x%X"; descriptor___188.lineno = 1134U; descriptor___188.flags = 0U; tmp___199 = ldv__builtin_expect((long )descriptor___188.flags & 1L, 0L); if (tmp___199 != 0L) { __dynamic_pr_debug(& descriptor___188, "%s:\nu16ARQBlockLifeTime: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u16ARQBlockLifeTime); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___190.modname = "bcm_wimax"; descriptor___190.function = "DumpCmControlPacket"; descriptor___190.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___190.format = "%s:\nu16ARQSyncLossTimeOut: 0x%X"; descriptor___190.lineno = 1135U; descriptor___190.flags = 0U; tmp___201 = ldv__builtin_expect((long )descriptor___190.flags & 1L, 0L); if (tmp___201 != 0L) { __dynamic_pr_debug(& descriptor___190, "%s:\nu16ARQSyncLossTimeOut: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u16ARQSyncLossTimeOut); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___192.modname = "bcm_wimax"; descriptor___192.function = "DumpCmControlPacket"; descriptor___192.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___192.format = "%s:\nu8ARQDeliverInOrder: 0x%02X"; descriptor___192.lineno = 1136U; descriptor___192.flags = 0U; tmp___203 = ldv__builtin_expect((long )descriptor___192.flags & 1L, 0L); if (tmp___203 != 0L) { __dynamic_pr_debug(& descriptor___192, "%s:\nu8ARQDeliverInOrder: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u8ARQDeliverInOrder); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___194.modname = "bcm_wimax"; descriptor___194.function = "DumpCmControlPacket"; descriptor___194.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___194.format = "%s:\nu16ARQRxPurgeTimeOut: 0x%X"; descriptor___194.lineno = 1137U; descriptor___194.flags = 0U; tmp___205 = ldv__builtin_expect((long )descriptor___194.flags & 1L, 0L); if (tmp___205 != 0L) { __dynamic_pr_debug(& descriptor___194, "%s:\nu16ARQRxPurgeTimeOut: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u16ARQRxPurgeTimeOut); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___196.modname = "bcm_wimax"; descriptor___196.function = "DumpCmControlPacket"; descriptor___196.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___196.format = "%s:\nu16ARQBlockSize: 0x%X"; descriptor___196.lineno = 1138U; descriptor___196.flags = 0U; tmp___207 = ldv__builtin_expect((long )descriptor___196.flags & 1L, 0L); if (tmp___207 != 0L) { __dynamic_pr_debug(& descriptor___196, "%s:\nu16ARQBlockSize: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u16ARQBlockSize); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___198.modname = "bcm_wimax"; descriptor___198.function = "DumpCmControlPacket"; descriptor___198.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___198.format = "%s:\nu8CSSpecification: 0x%02X"; descriptor___198.lineno = 1139U; descriptor___198.flags = 0U; tmp___209 = ldv__builtin_expect((long )descriptor___198.flags & 1L, 0L); if (tmp___209 != 0L) { __dynamic_pr_debug(& descriptor___198, "%s:\nu8CSSpecification: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u8CSSpecification); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___200.modname = "bcm_wimax"; descriptor___200.function = "DumpCmControlPacket"; descriptor___200.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___200.format = "%s:\nu8TypeOfDataDeliveryService: 0x%02X"; descriptor___200.lineno = 1141U; descriptor___200.flags = 0U; tmp___211 = ldv__builtin_expect((long )descriptor___200.flags & 1L, 0L); if (tmp___211 != 0L) { __dynamic_pr_debug(& descriptor___200, "%s:\nu8TypeOfDataDeliveryService: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u8TypeOfDataDeliveryService); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___202.modname = "bcm_wimax"; descriptor___202.function = "DumpCmControlPacket"; descriptor___202.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___202.format = "%s:\nu16SDUInterArrivalTime: 0x%X"; descriptor___202.lineno = 1142U; descriptor___202.flags = 0U; tmp___213 = ldv__builtin_expect((long )descriptor___202.flags & 1L, 0L); if (tmp___213 != 0L) { __dynamic_pr_debug(& descriptor___202, "%s:\nu16SDUInterArrivalTime: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u16SDUInterArrivalTime); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___204.modname = "bcm_wimax"; descriptor___204.function = "DumpCmControlPacket"; descriptor___204.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___204.format = "%s:\nu16TimeBase: 0x%X"; descriptor___204.lineno = 1143U; descriptor___204.flags = 0U; tmp___215 = ldv__builtin_expect((long )descriptor___204.flags & 1L, 0L); if (tmp___215 != 0L) { __dynamic_pr_debug(& descriptor___204, "%s:\nu16TimeBase: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u16TimeBase); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___206.modname = "bcm_wimax"; descriptor___206.function = "DumpCmControlPacket"; descriptor___206.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___206.format = "%s:\nu8PagingPreference: 0x%X"; descriptor___206.lineno = 1144U; descriptor___206.flags = 0U; tmp___217 = ldv__builtin_expect((long )descriptor___206.flags & 1L, 0L); if (tmp___217 != 0L) { __dynamic_pr_debug(& descriptor___206, "%s:\nu8PagingPreference: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u8PagingPreference); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___208.modname = "bcm_wimax"; descriptor___208.function = "DumpCmControlPacket"; descriptor___208.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___208.format = "%s:\nu8TrafficIndicationPreference: 0x%02X"; descriptor___208.lineno = 1146U; descriptor___208.flags = 0U; tmp___219 = ldv__builtin_expect((long )descriptor___208.flags & 1L, 0L); if (tmp___219 != 0L) { __dynamic_pr_debug(& descriptor___208, "%s:\nu8TrafficIndicationPreference: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u8TrafficIndicationPreference); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___210.modname = "bcm_wimax"; descriptor___210.function = "DumpCmControlPacket"; descriptor___210.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___210.format = "%s:\n Total Classifiers Received: 0x%X"; descriptor___210.lineno = 1147U; descriptor___210.flags = 0U; tmp___221 = ldv__builtin_expect((long )descriptor___210.flags & 1L, 0L); if (tmp___221 != 0L) { __dynamic_pr_debug(& descriptor___210, "%s:\n Total Classifiers Received: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.u8TotalClassifiers); } else { } } else { } nCurClassifierCnt = (UINT )pstAddIndication->sfAdmittedSet.u8TotalClassifiers; if (nCurClassifierCnt > 4U) { nCurClassifierCnt = 4U; } else { } nIndex = 0; goto ldv_52269; ldv_52268: psfCSType___0 = (struct bcm_convergence_types *)0; psfCSType___0 = (struct bcm_convergence_types *)(& pstAddIndication->sfAdmittedSet.cConvergenceSLTypes) + (unsigned long )nIndex; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___212.modname = "bcm_wimax"; descriptor___212.function = "DumpCmControlPacket"; descriptor___212.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___212.format = "%s:\n CCPacketClassificationRuleSI====>"; descriptor___212.lineno = 1157U; descriptor___212.flags = 0U; tmp___223 = ldv__builtin_expect((long )descriptor___212.flags & 1L, 0L); if (tmp___223 != 0L) { __dynamic_pr_debug(& descriptor___212, "%s:\n CCPacketClassificationRuleSI====>", "DumpCmControlPacket"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___214.modname = "bcm_wimax"; descriptor___214.function = "DumpCmControlPacket"; descriptor___214.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___214.format = "%s:\nu8ClassifierRulePriority: 0x%02X "; descriptor___214.lineno = 1159U; descriptor___214.flags = 0U; tmp___225 = ldv__builtin_expect((long )descriptor___214.flags & 1L, 0L); if (tmp___225 != 0L) { __dynamic_pr_debug(& descriptor___214, "%s:\nu8ClassifierRulePriority: 0x%02X ", "DumpCmControlPacket", (int )psfCSType___0->cCPacketClassificationRule.u8ClassifierRulePriority); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___216.modname = "bcm_wimax"; descriptor___216.function = "DumpCmControlPacket"; descriptor___216.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___216.format = "%s:\nu8IPTypeOfServiceLength: 0x%02X"; descriptor___216.lineno = 1161U; descriptor___216.flags = 0U; tmp___227 = ldv__builtin_expect((long )descriptor___216.flags & 1L, 0L); if (tmp___227 != 0L) { __dynamic_pr_debug(& descriptor___216, "%s:\nu8IPTypeOfServiceLength: 0x%02X", "DumpCmControlPacket", (int )psfCSType___0->cCPacketClassificationRule.u8IPTypeOfServiceLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___218.modname = "bcm_wimax"; descriptor___218.function = "DumpCmControlPacket"; descriptor___218.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___218.format = "%s:\nu8IPTypeOfService[3]: 0x%*ph"; descriptor___218.lineno = 1165U; descriptor___218.flags = 0U; tmp___229 = ldv__builtin_expect((long )descriptor___218.flags & 1L, 0L); if (tmp___229 != 0L) { __dynamic_pr_debug(& descriptor___218, "%s:\nu8IPTypeOfService[3]: 0x%*ph", "DumpCmControlPacket", 3, (u8 *)(& psfCSType___0->cCPacketClassificationRule.u8IPTypeOfService)); } else { } } else { } uiLoopIndex = 0; goto ldv_52220; ldv_52219: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___220.modname = "bcm_wimax"; descriptor___220.function = "DumpCmControlPacket"; descriptor___220.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___220.format = "%s:\nu8Protocol: 0x%02X "; descriptor___220.lineno = 1167U; descriptor___220.flags = 0U; tmp___231 = ldv__builtin_expect((long )descriptor___220.flags & 1L, 0L); if (tmp___231 != 0L) { __dynamic_pr_debug(& descriptor___220, "%s:\nu8Protocol: 0x%02X ", "DumpCmControlPacket", (int )psfCSType___0->cCPacketClassificationRule.u8Protocol); } else { } } else { } uiLoopIndex = uiLoopIndex + 1; ldv_52220: ; if (uiLoopIndex <= 0) { goto ldv_52219; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___222.modname = "bcm_wimax"; descriptor___222.function = "DumpCmControlPacket"; descriptor___222.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___222.format = "%s:\nu8IPMaskedSourceAddressLength: 0x%02X "; descriptor___222.lineno = 1170U; descriptor___222.flags = 0U; tmp___233 = ldv__builtin_expect((long )descriptor___222.flags & 1L, 0L); if (tmp___233 != 0L) { __dynamic_pr_debug(& descriptor___222, "%s:\nu8IPMaskedSourceAddressLength: 0x%02X ", "DumpCmControlPacket", (int )psfCSType___0->cCPacketClassificationRule.u8IPMaskedSourceAddressLength); } else { } } else { } uiLoopIndex = 0; goto ldv_52227; ldv_52226: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___224.modname = "bcm_wimax"; descriptor___224.function = "DumpCmControlPacket"; descriptor___224.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___224.format = "%s:\nu8IPMaskedSourceAddress[32]: 0x%02X "; descriptor___224.lineno = 1174U; descriptor___224.flags = 0U; tmp___235 = ldv__builtin_expect((long )descriptor___224.flags & 1L, 0L); if (tmp___235 != 0L) { __dynamic_pr_debug(& descriptor___224, "%s:\nu8IPMaskedSourceAddress[32]: 0x%02X ", "DumpCmControlPacket", (int )psfCSType___0->cCPacketClassificationRule.u8IPMaskedSourceAddress[uiLoopIndex]); } else { } } else { } uiLoopIndex = uiLoopIndex + 1; ldv_52227: ; if (uiLoopIndex <= 31) { goto ldv_52226; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___226.modname = "bcm_wimax"; descriptor___226.function = "DumpCmControlPacket"; descriptor___226.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___226.format = "%s:\nu8IPDestinationAddressLength: 0x%02X "; descriptor___226.lineno = 1177U; descriptor___226.flags = 0U; tmp___237 = ldv__builtin_expect((long )descriptor___226.flags & 1L, 0L); if (tmp___237 != 0L) { __dynamic_pr_debug(& descriptor___226, "%s:\nu8IPDestinationAddressLength: 0x%02X ", "DumpCmControlPacket", (int )psfCSType___0->cCPacketClassificationRule.u8IPDestinationAddressLength); } else { } } else { } uiLoopIndex = 0; goto ldv_52234; ldv_52233: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___228.modname = "bcm_wimax"; descriptor___228.function = "DumpCmControlPacket"; descriptor___228.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___228.format = "%s:\nu8IPDestinationAddress[32]: 0x%02X "; descriptor___228.lineno = 1181U; descriptor___228.flags = 0U; tmp___239 = ldv__builtin_expect((long )descriptor___228.flags & 1L, 0L); if (tmp___239 != 0L) { __dynamic_pr_debug(& descriptor___228, "%s:\nu8IPDestinationAddress[32]: 0x%02X ", "DumpCmControlPacket", (int )psfCSType___0->cCPacketClassificationRule.u8IPDestinationAddress[uiLoopIndex]); } else { } } else { } uiLoopIndex = uiLoopIndex + 1; ldv_52234: ; if (uiLoopIndex <= 31) { goto ldv_52233; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___230.modname = "bcm_wimax"; descriptor___230.function = "DumpCmControlPacket"; descriptor___230.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___230.format = "%s:\nu8ProtocolSourcePortRangeLength: 0x%02X "; descriptor___230.lineno = 1184U; descriptor___230.flags = 0U; tmp___241 = ldv__builtin_expect((long )descriptor___230.flags & 1L, 0L); if (tmp___241 != 0L) { __dynamic_pr_debug(& descriptor___230, "%s:\nu8ProtocolSourcePortRangeLength: 0x%02X ", "DumpCmControlPacket", (int )psfCSType___0->cCPacketClassificationRule.u8ProtocolSourcePortRangeLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___232.modname = "bcm_wimax"; descriptor___232.function = "DumpCmControlPacket"; descriptor___232.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___232.format = "%s:\nu8ProtocolSourcePortRange[4]: 0x%*ph "; descriptor___232.lineno = 1189U; descriptor___232.flags = 0U; tmp___243 = ldv__builtin_expect((long )descriptor___232.flags & 1L, 0L); if (tmp___243 != 0L) { __dynamic_pr_debug(& descriptor___232, "%s:\nu8ProtocolSourcePortRange[4]: 0x%*ph ", "DumpCmControlPacket", 4, (u8 *)(& psfCSType___0->cCPacketClassificationRule.u8ProtocolSourcePortRange)); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___234.modname = "bcm_wimax"; descriptor___234.function = "DumpCmControlPacket"; descriptor___234.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___234.format = "%s:\nu8ProtocolDestPortRangeLength: 0x%02X "; descriptor___234.lineno = 1192U; descriptor___234.flags = 0U; tmp___245 = ldv__builtin_expect((long )descriptor___234.flags & 1L, 0L); if (tmp___245 != 0L) { __dynamic_pr_debug(& descriptor___234, "%s:\nu8ProtocolDestPortRangeLength: 0x%02X ", "DumpCmControlPacket", (int )psfCSType___0->cCPacketClassificationRule.u8ProtocolDestPortRangeLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___236.modname = "bcm_wimax"; descriptor___236.function = "DumpCmControlPacket"; descriptor___236.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___236.format = "%s:\nu8ProtocolDestPortRange[4]: 0x%*ph "; descriptor___236.lineno = 1197U; descriptor___236.flags = 0U; tmp___247 = ldv__builtin_expect((long )descriptor___236.flags & 1L, 0L); if (tmp___247 != 0L) { __dynamic_pr_debug(& descriptor___236, "%s:\nu8ProtocolDestPortRange[4]: 0x%*ph ", "DumpCmControlPacket", 4, (u8 *)(& psfCSType___0->cCPacketClassificationRule.u8ProtocolDestPortRange)); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___238.modname = "bcm_wimax"; descriptor___238.function = "DumpCmControlPacket"; descriptor___238.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___238.format = "%s:\nu8EthernetDestMacAddressLength: 0x%02X "; descriptor___238.lineno = 1200U; descriptor___238.flags = 0U; tmp___249 = ldv__builtin_expect((long )descriptor___238.flags & 1L, 0L); if (tmp___249 != 0L) { __dynamic_pr_debug(& descriptor___238, "%s:\nu8EthernetDestMacAddressLength: 0x%02X ", "DumpCmControlPacket", (int )psfCSType___0->cCPacketClassificationRule.u8EthernetDestMacAddressLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___240.modname = "bcm_wimax"; descriptor___240.function = "DumpCmControlPacket"; descriptor___240.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___240.format = "%s:\nu8EthernetDestMacAddress[6]: %pM"; descriptor___240.lineno = 1205U; descriptor___240.flags = 0U; tmp___251 = ldv__builtin_expect((long )descriptor___240.flags & 1L, 0L); if (tmp___251 != 0L) { __dynamic_pr_debug(& descriptor___240, "%s:\nu8EthernetDestMacAddress[6]: %pM", "DumpCmControlPacket", (u8 *)(& psfCSType___0->cCPacketClassificationRule.u8EthernetDestMacAddress)); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___242.modname = "bcm_wimax"; descriptor___242.function = "DumpCmControlPacket"; descriptor___242.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___242.format = "%s:\nu8EthernetSourceMACAddressLength: 0x%02X "; descriptor___242.lineno = 1208U; descriptor___242.flags = 0U; tmp___253 = ldv__builtin_expect((long )descriptor___242.flags & 1L, 0L); if (tmp___253 != 0L) { __dynamic_pr_debug(& descriptor___242, "%s:\nu8EthernetSourceMACAddressLength: 0x%02X ", "DumpCmControlPacket", (int )psfCSType___0->cCPacketClassificationRule.u8EthernetDestMacAddressLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___244.modname = "bcm_wimax"; descriptor___244.function = "DumpCmControlPacket"; descriptor___244.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___244.format = "%s:\nu8EthernetSourceMACAddress[6]: %pM"; descriptor___244.lineno = 1213U; descriptor___244.flags = 0U; tmp___255 = ldv__builtin_expect((long )descriptor___244.flags & 1L, 0L); if (tmp___255 != 0L) { __dynamic_pr_debug(& descriptor___244, "%s:\nu8EthernetSourceMACAddress[6]: %pM", "DumpCmControlPacket", (u8 *)(& psfCSType___0->cCPacketClassificationRule.u8EthernetSourceMACAddress)); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___246.modname = "bcm_wimax"; descriptor___246.function = "DumpCmControlPacket"; descriptor___246.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___246.format = "%s:\nu8EthertypeLength: 0x%02X "; descriptor___246.lineno = 1215U; descriptor___246.flags = 0U; tmp___257 = ldv__builtin_expect((long )descriptor___246.flags & 1L, 0L); if (tmp___257 != 0L) { __dynamic_pr_debug(& descriptor___246, "%s:\nu8EthertypeLength: 0x%02X ", "DumpCmControlPacket", (int )psfCSType___0->cCPacketClassificationRule.u8EthertypeLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___248.modname = "bcm_wimax"; descriptor___248.function = "DumpCmControlPacket"; descriptor___248.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___248.format = "%s:\nu8Ethertype[3]: 0x%*ph"; descriptor___248.lineno = 1219U; descriptor___248.flags = 0U; tmp___259 = ldv__builtin_expect((long )descriptor___248.flags & 1L, 0L); if (tmp___259 != 0L) { __dynamic_pr_debug(& descriptor___248, "%s:\nu8Ethertype[3]: 0x%*ph", "DumpCmControlPacket", 3, (u8 *)(& psfCSType___0->cCPacketClassificationRule.u8Ethertype)); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___250.modname = "bcm_wimax"; descriptor___250.function = "DumpCmControlPacket"; descriptor___250.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___250.format = "%s:\nu16UserPriority: 0x%X "; descriptor___250.lineno = 1221U; descriptor___250.flags = 0U; tmp___261 = ldv__builtin_expect((long )descriptor___250.flags & 1L, 0L); if (tmp___261 != 0L) { __dynamic_pr_debug(& descriptor___250, "%s:\nu16UserPriority: 0x%X ", "DumpCmControlPacket", (int )psfCSType___0->cCPacketClassificationRule.u16UserPriority); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___252.modname = "bcm_wimax"; descriptor___252.function = "DumpCmControlPacket"; descriptor___252.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___252.format = "%s:\nu16VLANID: 0x%X "; descriptor___252.lineno = 1222U; descriptor___252.flags = 0U; tmp___263 = ldv__builtin_expect((long )descriptor___252.flags & 1L, 0L); if (tmp___263 != 0L) { __dynamic_pr_debug(& descriptor___252, "%s:\nu16VLANID: 0x%X ", "DumpCmControlPacket", (int )psfCSType___0->cCPacketClassificationRule.u16VLANID); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___254.modname = "bcm_wimax"; descriptor___254.function = "DumpCmControlPacket"; descriptor___254.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___254.format = "%s:\nu8AssociatedPHSI: 0x%02X "; descriptor___254.lineno = 1223U; descriptor___254.flags = 0U; tmp___265 = ldv__builtin_expect((long )descriptor___254.flags & 1L, 0L); if (tmp___265 != 0L) { __dynamic_pr_debug(& descriptor___254, "%s:\nu8AssociatedPHSI: 0x%02X ", "DumpCmControlPacket", (int )psfCSType___0->cCPacketClassificationRule.u8AssociatedPHSI); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___256.modname = "bcm_wimax"; descriptor___256.function = "DumpCmControlPacket"; descriptor___256.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___256.format = "%s:\nu16PacketClassificationRuleIndex: 0x%X "; descriptor___256.lineno = 1225U; descriptor___256.flags = 0U; tmp___267 = ldv__builtin_expect((long )descriptor___256.flags & 1L, 0L); if (tmp___267 != 0L) { __dynamic_pr_debug(& descriptor___256, "%s:\nu16PacketClassificationRuleIndex: 0x%X ", "DumpCmControlPacket", (int )psfCSType___0->cCPacketClassificationRule.u16PacketClassificationRuleIndex); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___258.modname = "bcm_wimax"; descriptor___258.function = "DumpCmControlPacket"; descriptor___258.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___258.format = "%s:\nu8VendorSpecificClassifierParamLength: 0x%02X"; descriptor___258.lineno = 1227U; descriptor___258.flags = 0U; tmp___269 = ldv__builtin_expect((long )descriptor___258.flags & 1L, 0L); if (tmp___269 != 0L) { __dynamic_pr_debug(& descriptor___258, "%s:\nu8VendorSpecificClassifierParamLength: 0x%02X", "DumpCmControlPacket", (int )psfCSType___0->cCPacketClassificationRule.u8VendorSpecificClassifierParamLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___260.modname = "bcm_wimax"; descriptor___260.function = "DumpCmControlPacket"; descriptor___260.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___260.format = "%s:\nu8VendorSpecificClassifierParam[1]: 0x%02X "; descriptor___260.lineno = 1229U; descriptor___260.flags = 0U; tmp___271 = ldv__builtin_expect((long )descriptor___260.flags & 1L, 0L); if (tmp___271 != 0L) { __dynamic_pr_debug(& descriptor___260, "%s:\nu8VendorSpecificClassifierParam[1]: 0x%02X ", "DumpCmControlPacket", (int )psfCSType___0->cCPacketClassificationRule.u8VendorSpecificClassifierParam[0]); } else { } } else { } nIndex = nIndex + 1; ldv_52269: ; if ((UINT )nIndex < nCurClassifierCnt) { goto ldv_52268; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___262.modname = "bcm_wimax"; descriptor___262.function = "DumpCmControlPacket"; descriptor___262.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___262.format = "%s:\nbValid: 0x%X"; descriptor___262.lineno = 1240U; descriptor___262.flags = 0U; tmp___273 = ldv__builtin_expect((long )descriptor___262.flags & 1L, 0L); if (tmp___273 != 0L) { __dynamic_pr_debug(& descriptor___262, "%s:\nbValid: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfAdmittedSet.bValid); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___264.modname = "bcm_wimax"; descriptor___264.function = "DumpCmControlPacket"; descriptor___264.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___264.format = "%s:\n ActiveSet--->"; descriptor___264.lineno = 1241U; descriptor___264.flags = 0U; tmp___275 = ldv__builtin_expect((long )descriptor___264.flags & 1L, 0L); if (tmp___275 != 0L) { __dynamic_pr_debug(& descriptor___264, "%s:\n ActiveSet--->", "DumpCmControlPacket"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___266.modname = "bcm_wimax"; descriptor___266.function = "DumpCmControlPacket"; descriptor___266.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___266.format = "%s:\nu32SFID: 0x%X"; descriptor___266.lineno = 1242U; descriptor___266.flags = 0U; tmp___277 = ldv__builtin_expect((long )descriptor___266.flags & 1L, 0L); if (tmp___277 != 0L) { __dynamic_pr_debug(& descriptor___266, "%s:\nu32SFID: 0x%X", "DumpCmControlPacket", pstAddIndication->sfActiveSet.u32SFID); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___268.modname = "bcm_wimax"; descriptor___268.function = "DumpCmControlPacket"; descriptor___268.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___268.format = "%s:\nu16CID: 0x%X"; descriptor___268.lineno = 1243U; descriptor___268.flags = 0U; tmp___279 = ldv__builtin_expect((long )descriptor___268.flags & 1L, 0L); if (tmp___279 != 0L) { __dynamic_pr_debug(& descriptor___268, "%s:\nu16CID: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u16CID); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___270.modname = "bcm_wimax"; descriptor___270.function = "DumpCmControlPacket"; descriptor___270.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___270.format = "%s:\nu8ServiceClassNameLength: 0x%X"; descriptor___270.lineno = 1244U; descriptor___270.flags = 0U; tmp___281 = ldv__builtin_expect((long )descriptor___270.flags & 1L, 0L); if (tmp___281 != 0L) { __dynamic_pr_debug(& descriptor___270, "%s:\nu8ServiceClassNameLength: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u8ServiceClassNameLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___272.modname = "bcm_wimax"; descriptor___272.function = "DumpCmControlPacket"; descriptor___272.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___272.format = "%s:\nu8ServiceClassName: 0x%*ph"; descriptor___272.lineno = 1247U; descriptor___272.flags = 0U; tmp___283 = ldv__builtin_expect((long )descriptor___272.flags & 1L, 0L); if (tmp___283 != 0L) { __dynamic_pr_debug(& descriptor___272, "%s:\nu8ServiceClassName: 0x%*ph", "DumpCmControlPacket", 6, (u8 *)(& pstAddIndication->sfActiveSet.u8ServiceClassName)); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___274.modname = "bcm_wimax"; descriptor___274.function = "DumpCmControlPacket"; descriptor___274.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___274.format = "%s:\nu8MBSService: 0x%02X"; descriptor___274.lineno = 1249U; descriptor___274.flags = 0U; tmp___285 = ldv__builtin_expect((long )descriptor___274.flags & 1L, 0L); if (tmp___285 != 0L) { __dynamic_pr_debug(& descriptor___274, "%s:\nu8MBSService: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u8MBSService); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___276.modname = "bcm_wimax"; descriptor___276.function = "DumpCmControlPacket"; descriptor___276.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___276.format = "%s:\nu8QosParamSet: 0x%02X"; descriptor___276.lineno = 1250U; descriptor___276.flags = 0U; tmp___287 = ldv__builtin_expect((long )descriptor___276.flags & 1L, 0L); if (tmp___287 != 0L) { __dynamic_pr_debug(& descriptor___276, "%s:\nu8QosParamSet: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u8QosParamSet); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___278.modname = "bcm_wimax"; descriptor___278.function = "DumpCmControlPacket"; descriptor___278.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___278.format = "%s:\nu8TrafficPriority: 0x%02X"; descriptor___278.lineno = 1251U; descriptor___278.flags = 0U; tmp___289 = ldv__builtin_expect((long )descriptor___278.flags & 1L, 0L); if (tmp___289 != 0L) { __dynamic_pr_debug(& descriptor___278, "%s:\nu8TrafficPriority: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u8TrafficPriority); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___280.modname = "bcm_wimax"; descriptor___280.function = "DumpCmControlPacket"; descriptor___280.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___280.format = "%s:\nu32MaxTrafficBurst: 0x%X"; descriptor___280.lineno = 1252U; descriptor___280.flags = 0U; tmp___291 = ldv__builtin_expect((long )descriptor___280.flags & 1L, 0L); if (tmp___291 != 0L) { __dynamic_pr_debug(& descriptor___280, "%s:\nu32MaxTrafficBurst: 0x%X", "DumpCmControlPacket", pstAddIndication->sfActiveSet.u32MaxTrafficBurst); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___282.modname = "bcm_wimax"; descriptor___282.function = "DumpCmControlPacket"; descriptor___282.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___282.format = "%s:\nu32MinReservedTrafficRate: 0x%X"; descriptor___282.lineno = 1254U; descriptor___282.flags = 0U; tmp___293 = ldv__builtin_expect((long )descriptor___282.flags & 1L, 0L); if (tmp___293 != 0L) { __dynamic_pr_debug(& descriptor___282, "%s:\nu32MinReservedTrafficRate: 0x%X", "DumpCmControlPacket", pstAddIndication->sfActiveSet.u32MinReservedTrafficRate); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___284.modname = "bcm_wimax"; descriptor___284.function = "DumpCmControlPacket"; descriptor___284.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___284.format = "%s:\nu8VendorSpecificQoSParamLength: 0x%02X"; descriptor___284.lineno = 1256U; descriptor___284.flags = 0U; tmp___295 = ldv__builtin_expect((long )descriptor___284.flags & 1L, 0L); if (tmp___295 != 0L) { __dynamic_pr_debug(& descriptor___284, "%s:\nu8VendorSpecificQoSParamLength: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u8VendorSpecificQoSParamLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___286.modname = "bcm_wimax"; descriptor___286.function = "DumpCmControlPacket"; descriptor___286.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___286.format = "%s:\nu8VendorSpecificQoSParam: 0x%02X"; descriptor___286.lineno = 1258U; descriptor___286.flags = 0U; tmp___297 = ldv__builtin_expect((long )descriptor___286.flags & 1L, 0L); if (tmp___297 != 0L) { __dynamic_pr_debug(& descriptor___286, "%s:\nu8VendorSpecificQoSParam: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u8VendorSpecificQoSParam[0]); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___288.modname = "bcm_wimax"; descriptor___288.function = "DumpCmControlPacket"; descriptor___288.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___288.format = "%s:\nu8ServiceFlowSchedulingType: 0x%02X"; descriptor___288.lineno = 1260U; descriptor___288.flags = 0U; tmp___299 = ldv__builtin_expect((long )descriptor___288.flags & 1L, 0L); if (tmp___299 != 0L) { __dynamic_pr_debug(& descriptor___288, "%s:\nu8ServiceFlowSchedulingType: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u8ServiceFlowSchedulingType); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___290.modname = "bcm_wimax"; descriptor___290.function = "DumpCmControlPacket"; descriptor___290.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___290.format = "%s:\nu32ToleratedJitter: 0x%X"; descriptor___290.lineno = 1261U; descriptor___290.flags = 0U; tmp___301 = ldv__builtin_expect((long )descriptor___290.flags & 1L, 0L); if (tmp___301 != 0L) { __dynamic_pr_debug(& descriptor___290, "%s:\nu32ToleratedJitter: 0x%X", "DumpCmControlPacket", pstAddIndication->sfActiveSet.u32ToleratedJitter); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___292.modname = "bcm_wimax"; descriptor___292.function = "DumpCmControlPacket"; descriptor___292.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___292.format = "%s:\nu32MaximumLatency: 0x%X"; descriptor___292.lineno = 1262U; descriptor___292.flags = 0U; tmp___303 = ldv__builtin_expect((long )descriptor___292.flags & 1L, 0L); if (tmp___303 != 0L) { __dynamic_pr_debug(& descriptor___292, "%s:\nu32MaximumLatency: 0x%X", "DumpCmControlPacket", pstAddIndication->sfActiveSet.u32MaximumLatency); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___294.modname = "bcm_wimax"; descriptor___294.function = "DumpCmControlPacket"; descriptor___294.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___294.format = "%s:\nu8FixedLengthVSVariableLengthSDUIndicator: 0x%02X"; descriptor___294.lineno = 1264U; descriptor___294.flags = 0U; tmp___305 = ldv__builtin_expect((long )descriptor___294.flags & 1L, 0L); if (tmp___305 != 0L) { __dynamic_pr_debug(& descriptor___294, "%s:\nu8FixedLengthVSVariableLengthSDUIndicator: 0x%02X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u8FixedLengthVSVariableLengthSDUIndicator); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___296.modname = "bcm_wimax"; descriptor___296.function = "DumpCmControlPacket"; descriptor___296.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___296.format = "%s:\nu8SDUSize: 0x%X"; descriptor___296.lineno = 1265U; descriptor___296.flags = 0U; tmp___307 = ldv__builtin_expect((long )descriptor___296.flags & 1L, 0L); if (tmp___307 != 0L) { __dynamic_pr_debug(& descriptor___296, "%s:\nu8SDUSize: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u8SDUSize); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___298.modname = "bcm_wimax"; descriptor___298.function = "DumpCmControlPacket"; descriptor___298.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___298.format = "%s:\n u16TargetSAID: 0x%X"; descriptor___298.lineno = 1266U; descriptor___298.flags = 0U; tmp___309 = ldv__builtin_expect((long )descriptor___298.flags & 1L, 0L); if (tmp___309 != 0L) { __dynamic_pr_debug(& descriptor___298, "%s:\n u16TargetSAID: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u16TargetSAID); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___300.modname = "bcm_wimax"; descriptor___300.function = "DumpCmControlPacket"; descriptor___300.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___300.format = "%s:\n u8ARQEnable: 0x%X"; descriptor___300.lineno = 1267U; descriptor___300.flags = 0U; tmp___311 = ldv__builtin_expect((long )descriptor___300.flags & 1L, 0L); if (tmp___311 != 0L) { __dynamic_pr_debug(& descriptor___300, "%s:\n u8ARQEnable: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u8ARQEnable); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___302.modname = "bcm_wimax"; descriptor___302.function = "DumpCmControlPacket"; descriptor___302.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___302.format = "%s:\n u16ARQWindowSize: 0x%X"; descriptor___302.lineno = 1268U; descriptor___302.flags = 0U; tmp___313 = ldv__builtin_expect((long )descriptor___302.flags & 1L, 0L); if (tmp___313 != 0L) { __dynamic_pr_debug(& descriptor___302, "%s:\n u16ARQWindowSize: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u16ARQWindowSize); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___304.modname = "bcm_wimax"; descriptor___304.function = "DumpCmControlPacket"; descriptor___304.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___304.format = "%s:\n u16ARQRetryTxTimeOut: 0x%X"; descriptor___304.lineno = 1269U; descriptor___304.flags = 0U; tmp___315 = ldv__builtin_expect((long )descriptor___304.flags & 1L, 0L); if (tmp___315 != 0L) { __dynamic_pr_debug(& descriptor___304, "%s:\n u16ARQRetryTxTimeOut: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u16ARQRetryTxTimeOut); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___306.modname = "bcm_wimax"; descriptor___306.function = "DumpCmControlPacket"; descriptor___306.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___306.format = "%s:\n u16ARQRetryRxTimeOut: 0x%X"; descriptor___306.lineno = 1270U; descriptor___306.flags = 0U; tmp___317 = ldv__builtin_expect((long )descriptor___306.flags & 1L, 0L); if (tmp___317 != 0L) { __dynamic_pr_debug(& descriptor___306, "%s:\n u16ARQRetryRxTimeOut: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u16ARQRetryRxTimeOut); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___308.modname = "bcm_wimax"; descriptor___308.function = "DumpCmControlPacket"; descriptor___308.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___308.format = "%s:\n u16ARQBlockLifeTime: 0x%X"; descriptor___308.lineno = 1271U; descriptor___308.flags = 0U; tmp___319 = ldv__builtin_expect((long )descriptor___308.flags & 1L, 0L); if (tmp___319 != 0L) { __dynamic_pr_debug(& descriptor___308, "%s:\n u16ARQBlockLifeTime: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u16ARQBlockLifeTime); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___310.modname = "bcm_wimax"; descriptor___310.function = "DumpCmControlPacket"; descriptor___310.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___310.format = "%s:\n u16ARQSyncLossTimeOut: 0x%X"; descriptor___310.lineno = 1272U; descriptor___310.flags = 0U; tmp___321 = ldv__builtin_expect((long )descriptor___310.flags & 1L, 0L); if (tmp___321 != 0L) { __dynamic_pr_debug(& descriptor___310, "%s:\n u16ARQSyncLossTimeOut: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u16ARQSyncLossTimeOut); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___312.modname = "bcm_wimax"; descriptor___312.function = "DumpCmControlPacket"; descriptor___312.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___312.format = "%s:\n u8ARQDeliverInOrder: 0x%X"; descriptor___312.lineno = 1273U; descriptor___312.flags = 0U; tmp___323 = ldv__builtin_expect((long )descriptor___312.flags & 1L, 0L); if (tmp___323 != 0L) { __dynamic_pr_debug(& descriptor___312, "%s:\n u8ARQDeliverInOrder: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u8ARQDeliverInOrder); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___314.modname = "bcm_wimax"; descriptor___314.function = "DumpCmControlPacket"; descriptor___314.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___314.format = "%s:\n u16ARQRxPurgeTimeOut: 0x%X"; descriptor___314.lineno = 1274U; descriptor___314.flags = 0U; tmp___325 = ldv__builtin_expect((long )descriptor___314.flags & 1L, 0L); if (tmp___325 != 0L) { __dynamic_pr_debug(& descriptor___314, "%s:\n u16ARQRxPurgeTimeOut: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u16ARQRxPurgeTimeOut); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___316.modname = "bcm_wimax"; descriptor___316.function = "DumpCmControlPacket"; descriptor___316.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___316.format = "%s:\n u16ARQBlockSize: 0x%X"; descriptor___316.lineno = 1275U; descriptor___316.flags = 0U; tmp___327 = ldv__builtin_expect((long )descriptor___316.flags & 1L, 0L); if (tmp___327 != 0L) { __dynamic_pr_debug(& descriptor___316, "%s:\n u16ARQBlockSize: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u16ARQBlockSize); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___318.modname = "bcm_wimax"; descriptor___318.function = "DumpCmControlPacket"; descriptor___318.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___318.format = "%s:\n u8CSSpecification: 0x%X"; descriptor___318.lineno = 1276U; descriptor___318.flags = 0U; tmp___329 = ldv__builtin_expect((long )descriptor___318.flags & 1L, 0L); if (tmp___329 != 0L) { __dynamic_pr_debug(& descriptor___318, "%s:\n u8CSSpecification: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u8CSSpecification); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___320.modname = "bcm_wimax"; descriptor___320.function = "DumpCmControlPacket"; descriptor___320.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___320.format = "%s:\n u8TypeOfDataDeliveryService: 0x%X"; descriptor___320.lineno = 1278U; descriptor___320.flags = 0U; tmp___331 = ldv__builtin_expect((long )descriptor___320.flags & 1L, 0L); if (tmp___331 != 0L) { __dynamic_pr_debug(& descriptor___320, "%s:\n u8TypeOfDataDeliveryService: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u8TypeOfDataDeliveryService); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___322.modname = "bcm_wimax"; descriptor___322.function = "DumpCmControlPacket"; descriptor___322.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___322.format = "%s:\n u16SDUInterArrivalTime: 0x%X"; descriptor___322.lineno = 1279U; descriptor___322.flags = 0U; tmp___333 = ldv__builtin_expect((long )descriptor___322.flags & 1L, 0L); if (tmp___333 != 0L) { __dynamic_pr_debug(& descriptor___322, "%s:\n u16SDUInterArrivalTime: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u16SDUInterArrivalTime); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___324.modname = "bcm_wimax"; descriptor___324.function = "DumpCmControlPacket"; descriptor___324.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___324.format = "%s:\n u16TimeBase: 0x%X"; descriptor___324.lineno = 1280U; descriptor___324.flags = 0U; tmp___335 = ldv__builtin_expect((long )descriptor___324.flags & 1L, 0L); if (tmp___335 != 0L) { __dynamic_pr_debug(& descriptor___324, "%s:\n u16TimeBase: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u16TimeBase); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___326.modname = "bcm_wimax"; descriptor___326.function = "DumpCmControlPacket"; descriptor___326.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___326.format = "%s:\n u8PagingPreference: 0x%X"; descriptor___326.lineno = 1281U; descriptor___326.flags = 0U; tmp___337 = ldv__builtin_expect((long )descriptor___326.flags & 1L, 0L); if (tmp___337 != 0L) { __dynamic_pr_debug(& descriptor___326, "%s:\n u8PagingPreference: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u8PagingPreference); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___328.modname = "bcm_wimax"; descriptor___328.function = "DumpCmControlPacket"; descriptor___328.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___328.format = "%s:\n u8TrafficIndicationPreference: 0x%X"; descriptor___328.lineno = 1283U; descriptor___328.flags = 0U; tmp___339 = ldv__builtin_expect((long )descriptor___328.flags & 1L, 0L); if (tmp___339 != 0L) { __dynamic_pr_debug(& descriptor___328, "%s:\n u8TrafficIndicationPreference: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u8TrafficIndicationPreference); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___330.modname = "bcm_wimax"; descriptor___330.function = "DumpCmControlPacket"; descriptor___330.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___330.format = "%s:\n Total Classifiers Received: 0x%X"; descriptor___330.lineno = 1284U; descriptor___330.flags = 0U; tmp___341 = ldv__builtin_expect((long )descriptor___330.flags & 1L, 0L); if (tmp___341 != 0L) { __dynamic_pr_debug(& descriptor___330, "%s:\n Total Classifiers Received: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.u8TotalClassifiers); } else { } } else { } nCurClassifierCnt = (UINT )pstAddIndication->sfActiveSet.u8TotalClassifiers; if (nCurClassifierCnt > 4U) { nCurClassifierCnt = 4U; } else { } nIndex = 0; goto ldv_52403; ldv_52402: psfCSType___1 = (struct bcm_convergence_types *)0; clsRule = (struct bcm_packet_class_rules *)0; psfCSType___1 = (struct bcm_convergence_types *)(& pstAddIndication->sfActiveSet.cConvergenceSLTypes) + (unsigned long )nIndex; clsRule = & psfCSType___1->cCPacketClassificationRule; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___332.modname = "bcm_wimax"; descriptor___332.function = "DumpCmControlPacket"; descriptor___332.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___332.format = "%s:\n CCPacketClassificationRuleSI====>"; descriptor___332.lineno = 1298U; descriptor___332.flags = 0U; tmp___343 = ldv__builtin_expect((long )descriptor___332.flags & 1L, 0L); if (tmp___343 != 0L) { __dynamic_pr_debug(& descriptor___332, "%s:\n CCPacketClassificationRuleSI====>", "DumpCmControlPacket"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___334.modname = "bcm_wimax"; descriptor___334.function = "DumpCmControlPacket"; descriptor___334.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___334.format = "%s:\n u8ClassifierRulePriority: 0x%X "; descriptor___334.lineno = 1301U; descriptor___334.flags = 0U; tmp___345 = ldv__builtin_expect((long )descriptor___334.flags & 1L, 0L); if (tmp___345 != 0L) { __dynamic_pr_debug(& descriptor___334, "%s:\n u8ClassifierRulePriority: 0x%X ", "DumpCmControlPacket", (int )clsRule->u8ClassifierRulePriority); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___336.modname = "bcm_wimax"; descriptor___336.function = "DumpCmControlPacket"; descriptor___336.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___336.format = "%s:\n u8IPTypeOfServiceLength: 0x%X "; descriptor___336.lineno = 1304U; descriptor___336.flags = 0U; tmp___347 = ldv__builtin_expect((long )descriptor___336.flags & 1L, 0L); if (tmp___347 != 0L) { __dynamic_pr_debug(& descriptor___336, "%s:\n u8IPTypeOfServiceLength: 0x%X ", "DumpCmControlPacket", (int )clsRule->u8IPTypeOfServiceLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___338.modname = "bcm_wimax"; descriptor___338.function = "DumpCmControlPacket"; descriptor___338.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___338.format = "%s:\n u8IPTypeOfService[3]: 0x%X ,0x%X ,0x%X "; descriptor___338.lineno = 1310U; descriptor___338.flags = 0U; tmp___349 = ldv__builtin_expect((long )descriptor___338.flags & 1L, 0L); if (tmp___349 != 0L) { __dynamic_pr_debug(& descriptor___338, "%s:\n u8IPTypeOfService[3]: 0x%X ,0x%X ,0x%X ", "DumpCmControlPacket", (int )clsRule->u8IPTypeOfService[0], (int )clsRule->u8IPTypeOfService[1], (int )clsRule->u8IPTypeOfService[2]); } else { } } else { } uiLoopIndex = 0; goto ldv_52354; ldv_52353: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___340.modname = "bcm_wimax"; descriptor___340.function = "DumpCmControlPacket"; descriptor___340.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___340.format = "%s:\n u8Protocol: 0x%X "; descriptor___340.lineno = 1316U; descriptor___340.flags = 0U; tmp___351 = ldv__builtin_expect((long )descriptor___340.flags & 1L, 0L); if (tmp___351 != 0L) { __dynamic_pr_debug(& descriptor___340, "%s:\n u8Protocol: 0x%X ", "DumpCmControlPacket", (int )clsRule->u8Protocol); } else { } } else { } uiLoopIndex = uiLoopIndex + 1; ldv_52354: ; if (uiLoopIndex <= 0) { goto ldv_52353; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___342.modname = "bcm_wimax"; descriptor___342.function = "DumpCmControlPacket"; descriptor___342.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___342.format = "%s:\nu8IPMaskedSourceAddressLength: 0x%X "; descriptor___342.lineno = 1321U; descriptor___342.flags = 0U; tmp___353 = ldv__builtin_expect((long )descriptor___342.flags & 1L, 0L); if (tmp___353 != 0L) { __dynamic_pr_debug(& descriptor___342, "%s:\nu8IPMaskedSourceAddressLength: 0x%X ", "DumpCmControlPacket", (int )clsRule->u8IPMaskedSourceAddressLength); } else { } } else { } uiLoopIndex = 0; goto ldv_52361; ldv_52360: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___344.modname = "bcm_wimax"; descriptor___344.function = "DumpCmControlPacket"; descriptor___344.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___344.format = "%s:\nu8IPMaskedSourceAddress[32]: 0x%X "; descriptor___344.lineno = 1327U; descriptor___344.flags = 0U; tmp___355 = ldv__builtin_expect((long )descriptor___344.flags & 1L, 0L); if (tmp___355 != 0L) { __dynamic_pr_debug(& descriptor___344, "%s:\nu8IPMaskedSourceAddress[32]: 0x%X ", "DumpCmControlPacket", (int )clsRule->u8IPMaskedSourceAddress[uiLoopIndex]); } else { } } else { } uiLoopIndex = uiLoopIndex + 1; ldv_52361: ; if (uiLoopIndex <= 31) { goto ldv_52360; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___346.modname = "bcm_wimax"; descriptor___346.function = "DumpCmControlPacket"; descriptor___346.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___346.format = "%s:\nu8IPDestinationAddressLength: 0x%02X "; descriptor___346.lineno = 1332U; descriptor___346.flags = 0U; tmp___357 = ldv__builtin_expect((long )descriptor___346.flags & 1L, 0L); if (tmp___357 != 0L) { __dynamic_pr_debug(& descriptor___346, "%s:\nu8IPDestinationAddressLength: 0x%02X ", "DumpCmControlPacket", (int )clsRule->u8IPDestinationAddressLength); } else { } } else { } uiLoopIndex = 0; goto ldv_52368; ldv_52367: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___348.modname = "bcm_wimax"; descriptor___348.function = "DumpCmControlPacket"; descriptor___348.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___348.format = "%s:\n u8IPDestinationAddress[32]:0x%X "; descriptor___348.lineno = 1338U; descriptor___348.flags = 0U; tmp___359 = ldv__builtin_expect((long )descriptor___348.flags & 1L, 0L); if (tmp___359 != 0L) { __dynamic_pr_debug(& descriptor___348, "%s:\n u8IPDestinationAddress[32]:0x%X ", "DumpCmControlPacket", (int )clsRule->u8IPDestinationAddress[uiLoopIndex]); } else { } } else { } uiLoopIndex = uiLoopIndex + 1; ldv_52368: ; if (uiLoopIndex <= 31) { goto ldv_52367; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___350.modname = "bcm_wimax"; descriptor___350.function = "DumpCmControlPacket"; descriptor___350.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___350.format = "%s:\n u8ProtocolSourcePortRangeLength: 0x%X "; descriptor___350.lineno = 1343U; descriptor___350.flags = 0U; tmp___361 = ldv__builtin_expect((long )descriptor___350.flags & 1L, 0L); if (tmp___361 != 0L) { __dynamic_pr_debug(& descriptor___350, "%s:\n u8ProtocolSourcePortRangeLength: 0x%X ", "DumpCmControlPacket", (int )clsRule->u8ProtocolSourcePortRangeLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___352.modname = "bcm_wimax"; descriptor___352.function = "DumpCmControlPacket"; descriptor___352.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___352.format = "%s:\n u8ProtocolSourcePortRange[4]: 0x%X ,0x%X ,0x%X ,0x%X "; descriptor___352.lineno = 1351U; descriptor___352.flags = 0U; tmp___363 = ldv__builtin_expect((long )descriptor___352.flags & 1L, 0L); if (tmp___363 != 0L) { __dynamic_pr_debug(& descriptor___352, "%s:\n u8ProtocolSourcePortRange[4]: 0x%X ,0x%X ,0x%X ,0x%X ", "DumpCmControlPacket", (int )clsRule->u8ProtocolSourcePortRange[0], (int )clsRule->u8ProtocolSourcePortRange[1], (int )clsRule->u8ProtocolSourcePortRange[2], (int )clsRule->u8ProtocolSourcePortRange[3]); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___354.modname = "bcm_wimax"; descriptor___354.function = "DumpCmControlPacket"; descriptor___354.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___354.format = "%s:\n u8ProtocolDestPortRangeLength: 0x%X "; descriptor___354.lineno = 1356U; descriptor___354.flags = 0U; tmp___365 = ldv__builtin_expect((long )descriptor___354.flags & 1L, 0L); if (tmp___365 != 0L) { __dynamic_pr_debug(& descriptor___354, "%s:\n u8ProtocolDestPortRangeLength: 0x%X ", "DumpCmControlPacket", (int )clsRule->u8ProtocolDestPortRangeLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___356.modname = "bcm_wimax"; descriptor___356.function = "DumpCmControlPacket"; descriptor___356.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___356.format = "%s:\n u8ProtocolDestPortRange[4]: 0x%X ,0x%X ,0x%X ,0x%X "; descriptor___356.lineno = 1363U; descriptor___356.flags = 0U; tmp___367 = ldv__builtin_expect((long )descriptor___356.flags & 1L, 0L); if (tmp___367 != 0L) { __dynamic_pr_debug(& descriptor___356, "%s:\n u8ProtocolDestPortRange[4]: 0x%X ,0x%X ,0x%X ,0x%X ", "DumpCmControlPacket", (int )clsRule->u8ProtocolDestPortRange[0], (int )clsRule->u8ProtocolDestPortRange[1], (int )clsRule->u8ProtocolDestPortRange[2], (int )clsRule->u8ProtocolDestPortRange[3]); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___358.modname = "bcm_wimax"; descriptor___358.function = "DumpCmControlPacket"; descriptor___358.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___358.format = "%s:\n u8EthernetDestMacAddressLength: 0x%X "; descriptor___358.lineno = 1368U; descriptor___358.flags = 0U; tmp___369 = ldv__builtin_expect((long )descriptor___358.flags & 1L, 0L); if (tmp___369 != 0L) { __dynamic_pr_debug(& descriptor___358, "%s:\n u8EthernetDestMacAddressLength: 0x%X ", "DumpCmControlPacket", (int )clsRule->u8EthernetDestMacAddressLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___360.modname = "bcm_wimax"; descriptor___360.function = "DumpCmControlPacket"; descriptor___360.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___360.format = "%s:\n u8EthernetDestMacAddress[6]: 0x%X ,0x%X ,0x%X ,0x%X ,0x%X ,0x%X"; descriptor___360.lineno = 1377U; descriptor___360.flags = 0U; tmp___371 = ldv__builtin_expect((long )descriptor___360.flags & 1L, 0L); if (tmp___371 != 0L) { __dynamic_pr_debug(& descriptor___360, "%s:\n u8EthernetDestMacAddress[6]: 0x%X ,0x%X ,0x%X ,0x%X ,0x%X ,0x%X", "DumpCmControlPacket", (int )clsRule->u8EthernetDestMacAddress[0], (int )clsRule->u8EthernetDestMacAddress[1], (int )clsRule->u8EthernetDestMacAddress[2], (int )clsRule->u8EthernetDestMacAddress[3], (int )clsRule->u8EthernetDestMacAddress[4], (int )clsRule->u8EthernetDestMacAddress[5]); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___362.modname = "bcm_wimax"; descriptor___362.function = "DumpCmControlPacket"; descriptor___362.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___362.format = "%s:\n u8EthernetSourceMACAddressLength: 0x%X "; descriptor___362.lineno = 1382U; descriptor___362.flags = 0U; tmp___373 = ldv__builtin_expect((long )descriptor___362.flags & 1L, 0L); if (tmp___373 != 0L) { __dynamic_pr_debug(& descriptor___362, "%s:\n u8EthernetSourceMACAddressLength: 0x%X ", "DumpCmControlPacket", (int )clsRule->u8EthernetDestMacAddressLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___364.modname = "bcm_wimax"; descriptor___364.function = "DumpCmControlPacket"; descriptor___364.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___364.format = "%s:\nu8EthernetSourceMACAddress[6]: 0x%X ,0x%X ,0x%X ,0x%X ,0x%X ,0x%X"; descriptor___364.lineno = 1391U; descriptor___364.flags = 0U; tmp___375 = ldv__builtin_expect((long )descriptor___364.flags & 1L, 0L); if (tmp___375 != 0L) { __dynamic_pr_debug(& descriptor___364, "%s:\nu8EthernetSourceMACAddress[6]: 0x%X ,0x%X ,0x%X ,0x%X ,0x%X ,0x%X", "DumpCmControlPacket", (int )clsRule->u8EthernetSourceMACAddress[0], (int )clsRule->u8EthernetSourceMACAddress[1], (int )clsRule->u8EthernetSourceMACAddress[2], (int )clsRule->u8EthernetSourceMACAddress[3], (int )clsRule->u8EthernetSourceMACAddress[4], (int )clsRule->u8EthernetSourceMACAddress[5]); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___366.modname = "bcm_wimax"; descriptor___366.function = "DumpCmControlPacket"; descriptor___366.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___366.format = "%s:\n u8EthertypeLength: 0x%X "; descriptor___366.lineno = 1395U; descriptor___366.flags = 0U; tmp___377 = ldv__builtin_expect((long )descriptor___366.flags & 1L, 0L); if (tmp___377 != 0L) { __dynamic_pr_debug(& descriptor___366, "%s:\n u8EthertypeLength: 0x%X ", "DumpCmControlPacket", (int )clsRule->u8EthertypeLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___368.modname = "bcm_wimax"; descriptor___368.function = "DumpCmControlPacket"; descriptor___368.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___368.format = "%s:\n u8Ethertype[3]: 0x%X ,0x%X ,0x%X "; descriptor___368.lineno = 1401U; descriptor___368.flags = 0U; tmp___379 = ldv__builtin_expect((long )descriptor___368.flags & 1L, 0L); if (tmp___379 != 0L) { __dynamic_pr_debug(& descriptor___368, "%s:\n u8Ethertype[3]: 0x%X ,0x%X ,0x%X ", "DumpCmControlPacket", (int )clsRule->u8Ethertype[0], (int )clsRule->u8Ethertype[1], (int )clsRule->u8Ethertype[2]); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___370.modname = "bcm_wimax"; descriptor___370.function = "DumpCmControlPacket"; descriptor___370.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___370.format = "%s:\n u16UserPriority: 0x%X "; descriptor___370.lineno = 1404U; descriptor___370.flags = 0U; tmp___381 = ldv__builtin_expect((long )descriptor___370.flags & 1L, 0L); if (tmp___381 != 0L) { __dynamic_pr_debug(& descriptor___370, "%s:\n u16UserPriority: 0x%X ", "DumpCmControlPacket", (int )clsRule->u16UserPriority); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___372.modname = "bcm_wimax"; descriptor___372.function = "DumpCmControlPacket"; descriptor___372.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___372.format = "%s:\n u16VLANID: 0x%X "; descriptor___372.lineno = 1407U; descriptor___372.flags = 0U; tmp___383 = ldv__builtin_expect((long )descriptor___372.flags & 1L, 0L); if (tmp___383 != 0L) { __dynamic_pr_debug(& descriptor___372, "%s:\n u16VLANID: 0x%X ", "DumpCmControlPacket", (int )clsRule->u16VLANID); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___374.modname = "bcm_wimax"; descriptor___374.function = "DumpCmControlPacket"; descriptor___374.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___374.format = "%s:\n u8AssociatedPHSI: 0x%X "; descriptor___374.lineno = 1410U; descriptor___374.flags = 0U; tmp___385 = ldv__builtin_expect((long )descriptor___374.flags & 1L, 0L); if (tmp___385 != 0L) { __dynamic_pr_debug(& descriptor___374, "%s:\n u8AssociatedPHSI: 0x%X ", "DumpCmControlPacket", (int )clsRule->u8AssociatedPHSI); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___376.modname = "bcm_wimax"; descriptor___376.function = "DumpCmControlPacket"; descriptor___376.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___376.format = "%s:\n u16PacketClassificationRuleIndex:0x%X "; descriptor___376.lineno = 1414U; descriptor___376.flags = 0U; tmp___387 = ldv__builtin_expect((long )descriptor___376.flags & 1L, 0L); if (tmp___387 != 0L) { __dynamic_pr_debug(& descriptor___376, "%s:\n u16PacketClassificationRuleIndex:0x%X ", "DumpCmControlPacket", (int )clsRule->u16PacketClassificationRuleIndex); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___378.modname = "bcm_wimax"; descriptor___378.function = "DumpCmControlPacket"; descriptor___378.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___378.format = "%s:\n u8VendorSpecificClassifierParamLength:0x%X "; descriptor___378.lineno = 1419U; descriptor___378.flags = 0U; tmp___389 = ldv__builtin_expect((long )descriptor___378.flags & 1L, 0L); if (tmp___389 != 0L) { __dynamic_pr_debug(& descriptor___378, "%s:\n u8VendorSpecificClassifierParamLength:0x%X ", "DumpCmControlPacket", (int )clsRule->u8VendorSpecificClassifierParamLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___380.modname = "bcm_wimax"; descriptor___380.function = "DumpCmControlPacket"; descriptor___380.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___380.format = "%s:\n u8VendorSpecificClassifierParam[1]:0x%X "; descriptor___380.lineno = 1423U; descriptor___380.flags = 0U; tmp___391 = ldv__builtin_expect((long )descriptor___380.flags & 1L, 0L); if (tmp___391 != 0L) { __dynamic_pr_debug(& descriptor___380, "%s:\n u8VendorSpecificClassifierParam[1]:0x%X ", "DumpCmControlPacket", (int )clsRule->u8VendorSpecificClassifierParam[0]); } else { } } else { } nIndex = nIndex + 1; ldv_52403: ; if ((UINT )nIndex < nCurClassifierCnt) { goto ldv_52402; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 1024U) != 0U) { descriptor___382.modname = "bcm_wimax"; descriptor___382.function = "DumpCmControlPacket"; descriptor___382.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___382.format = "%s:\n bValid: 0x%X"; descriptor___382.lineno = 1441U; descriptor___382.flags = 0U; tmp___393 = ldv__builtin_expect((long )descriptor___382.flags & 1L, 0L); if (tmp___393 != 0L) { __dynamic_pr_debug(& descriptor___382, "%s:\n bValid: 0x%X", "DumpCmControlPacket", (int )pstAddIndication->sfActiveSet.bValid); } else { } } else { } return; } } __inline static ULONG RestoreSFParam(struct bcm_mini_adapter *Adapter , ULONG ulAddrSFParamSet , PUCHAR pucDestBuffer ) { UINT nBytesToRead ; struct _ddebug descriptor___0 ; long tmp___0 ; __u32 tmp___1 ; int tmp___2 ; { nBytesToRead = 2816U; if (ulAddrSFParamSet == 0UL || (unsigned long )pucDestBuffer == (unsigned long )((PUCHAR )0U)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "RestoreSFParam"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___0.format = "%s:\nGot Param address as 0!!"; descriptor___0.lineno = 1451U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nGot Param address as 0!!", "RestoreSFParam"); } else { } } else { } return (0UL); } else { } tmp___1 = __fswab32((unsigned int )ulAddrSFParamSet); ulAddrSFParamSet = (ULONG )tmp___1; tmp___2 = rdm(Adapter, (UINT )ulAddrSFParamSet, (PCHAR )pucDestBuffer, (size_t )nBytesToRead); if (tmp___2 < 0) { return (0xffffffffffffffffUL); } else { } return (1UL); } } static ULONG StoreSFParam(struct bcm_mini_adapter *Adapter , PUCHAR pucSrcBuffer , ULONG ulAddrSFParamSet ) { UINT nBytesToWrite ; int ret ; struct _ddebug descriptor___0 ; long tmp___0 ; { nBytesToWrite = 2816U; ret = 0; if (ulAddrSFParamSet == 0UL || (unsigned long )pucSrcBuffer == (unsigned long )((PUCHAR )0U)) { return (0UL); } else { } ret = wrm(Adapter, (UINT )ulAddrSFParamSet, (PCHAR )pucSrcBuffer, (size_t )nBytesToWrite); if (ret < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "StoreSFParam"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___0.format = "%s:\n%s:%d WRM failed"; descriptor___0.lineno = 1475U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n%s:%d WRM failed", "StoreSFParam", "StoreSFParam", 1475); } else { } } else { } return ((ULONG )ret); } else { } return (1UL); } } unsigned long StoreCmControlResponseMessage(struct bcm_mini_adapter *Adapter , void *pvBuffer , unsigned int *puBufferLength ) { struct bcm_add_indication_alt *pstAddIndicationAlt ; struct bcm_add_indication *pstAddIndication ; struct bcm_del_request *pstDeletionRequest ; UINT uiSearchRuleIndex ; ULONG ulSFID ; __u32 tmp ; INT tmp___0 ; void *tmp___1 ; ULONG tmp___2 ; ULONG tmp___3 ; __u32 tmp___4 ; struct bcm_add_request AddRequest ; size_t __len ; void *__ret ; ULONG tmp___5 ; ULONG tmp___6 ; __u32 tmp___7 ; ULONG tmp___8 ; ULONG tmp___9 ; __u32 tmp___10 ; { pstAddIndicationAlt = (struct bcm_add_indication_alt *)0; pstAddIndication = (struct bcm_add_indication *)0; pstAddIndicationAlt = (struct bcm_add_indication_alt *)pvBuffer; if ((unsigned int )pstAddIndicationAlt->u8Type == 17U) { pstDeletionRequest = (struct bcm_del_request *)pvBuffer; tmp = __fswab32(pstDeletionRequest->u32SFID); ulSFID = (ULONG )tmp; tmp___0 = SearchSfid(Adapter, (UINT )ulSFID); uiSearchRuleIndex = (UINT )tmp___0; if (uiSearchRuleIndex <= 16U) { deleteSFBySfid(Adapter, uiSearchRuleIndex); Adapter->u32TotalDSD = Adapter->u32TotalDSD + 1U; } else { } return (1UL); } else { } if ((unsigned int )pstAddIndicationAlt->u8Type == 18U || (unsigned int )pstAddIndicationAlt->u8Type == 19U) { return (1UL); } else { } tmp___1 = kmalloc(40UL, 208U); pstAddIndication = (struct bcm_add_indication *)tmp___1; if ((unsigned long )pstAddIndication == (unsigned long )((struct bcm_add_indication *)0)) { return (0UL); } else { } tmp___2 = GetNextTargetBufferLocation(Adapter, (int )pstAddIndicationAlt->u16TID); pstAddIndication->psfAuthorizedSet = (struct bcm_connect_mgr_params *)tmp___2; if ((unsigned long )pstAddIndication->psfAuthorizedSet == (unsigned long )((struct bcm_connect_mgr_params *)0)) { kfree((void const *)pstAddIndication); return (0UL); } else { } tmp___3 = StoreSFParam(Adapter, (unsigned char *)(& pstAddIndicationAlt->sfAuthorizedSet), (unsigned long )pstAddIndication->psfAuthorizedSet); if (tmp___3 != 1UL) { kfree((void const *)pstAddIndication); return (0UL); } else { } tmp___4 = __fswab32((unsigned int )((long )pstAddIndication->psfAuthorizedSet)); pstAddIndication->psfAuthorizedSet = (struct bcm_connect_mgr_params *)((long )tmp___4); if ((unsigned int )pstAddIndicationAlt->u8Type == 11U) { AddRequest.u8Type = pstAddIndicationAlt->u8Type; AddRequest.eConnectionDir = pstAddIndicationAlt->u8Direction; AddRequest.u16TID = pstAddIndicationAlt->u16TID; AddRequest.u16CID = pstAddIndicationAlt->u16CID; AddRequest.u16VCID = pstAddIndicationAlt->u16VCID; AddRequest.psfParameterSet = pstAddIndication->psfAuthorizedSet; *puBufferLength = 16U; __len = 16UL; if (__len > 63UL) { __ret = memcpy(pvBuffer, (void const *)(& AddRequest), __len); } else { __ret = memcpy(pvBuffer, (void const *)(& AddRequest), __len); } kfree((void const *)pstAddIndication); return (1UL); } else { } pstAddIndication->u8Type = pstAddIndicationAlt->u8Type; pstAddIndication->eConnectionDir = pstAddIndicationAlt->u8Direction; pstAddIndication->u16TID = pstAddIndicationAlt->u16TID; pstAddIndication->u16CID = pstAddIndicationAlt->u16CID; pstAddIndication->u16VCID = pstAddIndicationAlt->u16VCID; pstAddIndication->u8CC = pstAddIndicationAlt->u8CC; tmp___5 = GetNextTargetBufferLocation(Adapter, (int )pstAddIndicationAlt->u16TID); pstAddIndication->psfAdmittedSet = (struct bcm_connect_mgr_params *)tmp___5; if ((unsigned long )pstAddIndication->psfAdmittedSet == (unsigned long )((struct bcm_connect_mgr_params *)0)) { kfree((void const *)pstAddIndication); return (0UL); } else { } tmp___6 = StoreSFParam(Adapter, (unsigned char *)(& pstAddIndicationAlt->sfAdmittedSet), (unsigned long )pstAddIndication->psfAdmittedSet); if (tmp___6 != 1UL) { kfree((void const *)pstAddIndication); return (0UL); } else { } tmp___7 = __fswab32((unsigned int )((long )pstAddIndication->psfAdmittedSet)); pstAddIndication->psfAdmittedSet = (struct bcm_connect_mgr_params *)((long )tmp___7); tmp___8 = GetNextTargetBufferLocation(Adapter, (int )pstAddIndicationAlt->u16TID); pstAddIndication->psfActiveSet = (struct bcm_connect_mgr_params *)tmp___8; if ((unsigned long )pstAddIndication->psfActiveSet == (unsigned long )((struct bcm_connect_mgr_params *)0)) { kfree((void const *)pstAddIndication); return (0UL); } else { } tmp___9 = StoreSFParam(Adapter, (unsigned char *)(& pstAddIndicationAlt->sfActiveSet), (unsigned long )pstAddIndication->psfActiveSet); if (tmp___9 != 1UL) { kfree((void const *)pstAddIndication); return (0UL); } else { } tmp___10 = __fswab32((unsigned int )((long )pstAddIndication->psfActiveSet)); pstAddIndication->psfActiveSet = (struct bcm_connect_mgr_params *)((long )tmp___10); *puBufferLength = 40U; *((struct bcm_add_indication *)pvBuffer) = *pstAddIndication; kfree((void const *)pstAddIndication); return (1UL); } } __inline static struct bcm_add_indication_alt *RestoreCmControlResponseMessage(struct bcm_mini_adapter *Adapter , PVOID pvBuffer ) { ULONG ulStatus ; struct bcm_add_indication *pstAddIndication ; struct bcm_add_indication_alt *pstAddIndicationDest ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; void *tmp___3 ; struct _ddebug descriptor___4 ; long tmp___5 ; struct _ddebug descriptor___6 ; long tmp___7 ; struct _ddebug descriptor___8 ; long tmp___9 ; struct _ddebug descriptor___10 ; __u16 tmp___12 ; long tmp___13 ; struct _ddebug descriptor___12 ; __u16 tmp___16 ; long tmp___17 ; struct _ddebug descriptor___14 ; __u16 tmp___20 ; long tmp___21 ; struct _ddebug descriptor___16 ; long tmp___23 ; struct _ddebug descriptor___18 ; long tmp___25 ; struct _ddebug descriptor___20 ; long tmp___27 ; struct _ddebug descriptor___22 ; long tmp___29 ; struct _ddebug descriptor___24 ; long tmp___31 ; struct _ddebug descriptor___26 ; long tmp___33 ; struct _ddebug descriptor___28 ; long tmp___35 ; struct _ddebug descriptor___30 ; long tmp___37 ; struct _ddebug descriptor___32 ; long tmp___39 ; struct _ddebug descriptor___34 ; long tmp___41 ; struct _ddebug descriptor___36 ; long tmp___43 ; { ulStatus = 0UL; pstAddIndication = (struct bcm_add_indication *)0; pstAddIndicationDest = (struct bcm_add_indication_alt *)0; pstAddIndication = (struct bcm_add_indication *)pvBuffer; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "RestoreCmControlResponseMessage"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___0.format = "%s:\n=====>"; descriptor___0.lineno = 1618U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n=====>", "RestoreCmControlResponseMessage"); } else { } } else { } if (((unsigned int )pstAddIndication->u8Type == 17U || (unsigned int )pstAddIndication->u8Type == 18U) || (unsigned int )pstAddIndication->u8Type == 19U) { return ((struct bcm_add_indication_alt *)pvBuffer); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "RestoreCmControlResponseMessage"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___2.format = "%s:\nInside RestoreCmControlResponseMessage "; descriptor___2.lineno = 1625U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nInside RestoreCmControlResponseMessage ", "RestoreCmControlResponseMessage"); } else { } } else { } tmp___3 = kmalloc(8460UL, 208U); pstAddIndicationDest = (struct bcm_add_indication_alt *)tmp___3; if ((unsigned long )pstAddIndicationDest != (unsigned long )((struct bcm_add_indication_alt *)0)) { memset((void *)pstAddIndicationDest, 0, 8460UL); } else { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "RestoreCmControlResponseMessage"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___4.format = "%s:\nFailed to allocate memory for SF Add Indication Structure "; descriptor___4.lineno = 1639U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nFailed to allocate memory for SF Add Indication Structure ", "RestoreCmControlResponseMessage"); } else { } } else { } return ((struct bcm_add_indication_alt *)0); } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "RestoreCmControlResponseMessage"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___6.format = "%s:\nAddIndication-u8Type : 0x%X"; descriptor___6.lineno = 1644U; descriptor___6.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nAddIndication-u8Type : 0x%X", "RestoreCmControlResponseMessage", (int )pstAddIndication->u8Type); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "RestoreCmControlResponseMessage"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___8.format = "%s:\nAddIndication-u8Direction : 0x%X"; descriptor___8.lineno = 1647U; descriptor___8.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nAddIndication-u8Direction : 0x%X", "RestoreCmControlResponseMessage", (int )pstAddIndication->eConnectionDir); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "RestoreCmControlResponseMessage"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___10.format = "%s:\nAddIndication-u8TID : 0x%X"; descriptor___10.lineno = 1650U; descriptor___10.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___13 != 0L) { tmp___12 = __fswab16((int )pstAddIndication->u16TID); __dynamic_pr_debug(& descriptor___10, "%s:\nAddIndication-u8TID : 0x%X", "RestoreCmControlResponseMessage", (int )tmp___12); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "RestoreCmControlResponseMessage"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___12.format = "%s:\nAddIndication-u8CID : 0x%X"; descriptor___12.lineno = 1653U; descriptor___12.flags = 0U; tmp___17 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___17 != 0L) { tmp___16 = __fswab16((int )pstAddIndication->u16CID); __dynamic_pr_debug(& descriptor___12, "%s:\nAddIndication-u8CID : 0x%X", "RestoreCmControlResponseMessage", (int )tmp___16); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "RestoreCmControlResponseMessage"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___14.format = "%s:\nAddIndication-u16VCID : 0x%X"; descriptor___14.lineno = 1656U; descriptor___14.flags = 0U; tmp___21 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___21 != 0L) { tmp___20 = __fswab16((int )pstAddIndication->u16VCID); __dynamic_pr_debug(& descriptor___14, "%s:\nAddIndication-u16VCID : 0x%X", "RestoreCmControlResponseMessage", (int )tmp___20); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "RestoreCmControlResponseMessage"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___16.format = "%s:\nAddIndication-autorized set loc : %p"; descriptor___16.lineno = 1659U; descriptor___16.flags = 0U; tmp___23 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___23 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\nAddIndication-autorized set loc : %p", "RestoreCmControlResponseMessage", pstAddIndication->psfAuthorizedSet); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___18.modname = "bcm_wimax"; descriptor___18.function = "RestoreCmControlResponseMessage"; descriptor___18.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___18.format = "%s:\nAddIndication-admitted set loc : %p"; descriptor___18.lineno = 1662U; descriptor___18.flags = 0U; tmp___25 = ldv__builtin_expect((long )descriptor___18.flags & 1L, 0L); if (tmp___25 != 0L) { __dynamic_pr_debug(& descriptor___18, "%s:\nAddIndication-admitted set loc : %p", "RestoreCmControlResponseMessage", pstAddIndication->psfAdmittedSet); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___20.modname = "bcm_wimax"; descriptor___20.function = "RestoreCmControlResponseMessage"; descriptor___20.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___20.format = "%s:\nAddIndication-Active set loc : %p"; descriptor___20.lineno = 1665U; descriptor___20.flags = 0U; tmp___27 = ldv__builtin_expect((long )descriptor___20.flags & 1L, 0L); if (tmp___27 != 0L) { __dynamic_pr_debug(& descriptor___20, "%s:\nAddIndication-Active set loc : %p", "RestoreCmControlResponseMessage", pstAddIndication->psfActiveSet); } else { } } else { } pstAddIndicationDest->u8Type = pstAddIndication->u8Type; pstAddIndicationDest->u8Direction = pstAddIndication->eConnectionDir; pstAddIndicationDest->u16TID = pstAddIndication->u16TID; pstAddIndicationDest->u16CID = pstAddIndication->u16CID; pstAddIndicationDest->u16VCID = pstAddIndication->u16VCID; pstAddIndicationDest->u8CC = pstAddIndication->u8CC; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___22.modname = "bcm_wimax"; descriptor___22.function = "RestoreCmControlResponseMessage"; descriptor___22.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___22.format = "%s:\nRestoring Active Set "; descriptor___22.lineno = 1675U; descriptor___22.flags = 0U; tmp___29 = ldv__builtin_expect((long )descriptor___22.flags & 1L, 0L); if (tmp___29 != 0L) { __dynamic_pr_debug(& descriptor___22, "%s:\nRestoring Active Set ", "RestoreCmControlResponseMessage"); } else { } } else { } ulStatus = RestoreSFParam(Adapter, (unsigned long )pstAddIndication->psfActiveSet, (unsigned char *)(& pstAddIndicationDest->sfActiveSet)); if (ulStatus != 1UL) { goto failed_restore_sf_param; } else { } if ((unsigned int )pstAddIndicationDest->sfActiveSet.u8TotalClassifiers > 4U) { pstAddIndicationDest->sfActiveSet.u8TotalClassifiers = 4U; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___24.modname = "bcm_wimax"; descriptor___24.function = "RestoreCmControlResponseMessage"; descriptor___24.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___24.format = "%s:\nRestoring Admitted Set "; descriptor___24.lineno = 1687U; descriptor___24.flags = 0U; tmp___31 = ldv__builtin_expect((long )descriptor___24.flags & 1L, 0L); if (tmp___31 != 0L) { __dynamic_pr_debug(& descriptor___24, "%s:\nRestoring Admitted Set ", "RestoreCmControlResponseMessage"); } else { } } else { } ulStatus = RestoreSFParam(Adapter, (unsigned long )pstAddIndication->psfAdmittedSet, (unsigned char *)(& pstAddIndicationDest->sfAdmittedSet)); if (ulStatus != 1UL) { goto failed_restore_sf_param; } else { } if ((unsigned int )pstAddIndicationDest->sfAdmittedSet.u8TotalClassifiers > 4U) { pstAddIndicationDest->sfAdmittedSet.u8TotalClassifiers = 4U; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___26.modname = "bcm_wimax"; descriptor___26.function = "RestoreCmControlResponseMessage"; descriptor___26.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___26.format = "%s:\nRestoring Authorized Set "; descriptor___26.lineno = 1699U; descriptor___26.flags = 0U; tmp___33 = ldv__builtin_expect((long )descriptor___26.flags & 1L, 0L); if (tmp___33 != 0L) { __dynamic_pr_debug(& descriptor___26, "%s:\nRestoring Authorized Set ", "RestoreCmControlResponseMessage"); } else { } } else { } ulStatus = RestoreSFParam(Adapter, (unsigned long )pstAddIndication->psfAuthorizedSet, (unsigned char *)(& pstAddIndicationDest->sfAuthorizedSet)); if (ulStatus != 1UL) { goto failed_restore_sf_param; } else { } if ((unsigned int )pstAddIndicationDest->sfAuthorizedSet.u8TotalClassifiers > 4U) { pstAddIndicationDest->sfAuthorizedSet.u8TotalClassifiers = 4U; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___28.modname = "bcm_wimax"; descriptor___28.function = "RestoreCmControlResponseMessage"; descriptor___28.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___28.format = "%s:\nDumping the whole raw packet"; descriptor___28.lineno = 1711U; descriptor___28.flags = 0U; tmp___35 = ldv__builtin_expect((long )descriptor___28.flags & 1L, 0L); if (tmp___35 != 0L) { __dynamic_pr_debug(& descriptor___28, "%s:\nDumping the whole raw packet", "RestoreCmControlResponseMessage"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___30.modname = "bcm_wimax"; descriptor___30.function = "RestoreCmControlResponseMessage"; descriptor___30.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___30.format = "%s:\n============================================================"; descriptor___30.lineno = 1713U; descriptor___30.flags = 0U; tmp___37 = ldv__builtin_expect((long )descriptor___30.flags & 1L, 0L); if (tmp___37 != 0L) { __dynamic_pr_debug(& descriptor___30, "%s:\n============================================================", "RestoreCmControlResponseMessage"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___32.modname = "bcm_wimax"; descriptor___32.function = "RestoreCmControlResponseMessage"; descriptor___32.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___32.format = "%s:\n pstAddIndicationDest->sfActiveSet size %zx %p"; descriptor___32.lineno = 1716U; descriptor___32.flags = 0U; tmp___39 = ldv__builtin_expect((long )descriptor___32.flags & 1L, 0L); if (tmp___39 != 0L) { __dynamic_pr_debug(& descriptor___32, "%s:\n pstAddIndicationDest->sfActiveSet size %zx %p", "RestoreCmControlResponseMessage", 8460UL, pstAddIndicationDest); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___34.modname = "bcm_wimax"; descriptor___34.function = "RestoreCmControlResponseMessage"; descriptor___34.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___34.format = "%s:\n============================================================"; descriptor___34.lineno = 1722U; descriptor___34.flags = 0U; tmp___41 = ldv__builtin_expect((long )descriptor___34.flags & 1L, 0L); if (tmp___41 != 0L) { __dynamic_pr_debug(& descriptor___34, "%s:\n============================================================", "RestoreCmControlResponseMessage"); } else { } } else { } return (pstAddIndicationDest); failed_restore_sf_param: kfree((void const *)pstAddIndicationDest); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___36.modname = "bcm_wimax"; descriptor___36.function = "RestoreCmControlResponseMessage"; descriptor___36.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___36.format = "%s:\n<====="; descriptor___36.lineno = 1727U; descriptor___36.flags = 0U; tmp___43 = ldv__builtin_expect((long )descriptor___36.flags & 1L, 0L); if (tmp___43 != 0L) { __dynamic_pr_debug(& descriptor___36, "%s:\n<=====", "RestoreCmControlResponseMessage"); } else { } } else { } return ((struct bcm_add_indication_alt *)0); } } unsigned long SetUpTargetDsxBuffers(struct bcm_mini_adapter *Adapter ) { ULONG ulTargetDsxBuffersBase ; ULONG ulCntTargetBuffers ; ULONG i ; int Status ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; struct _ddebug descriptor___6 ; long tmp___6 ; struct _ddebug descriptor___8 ; long tmp___8 ; struct _ddebug descriptor___10 ; long tmp___10 ; struct _ddebug descriptor___12 ; long tmp___12 ; struct _ddebug descriptor___14 ; long tmp___14 ; { ulTargetDsxBuffersBase = 0UL; if ((unsigned long )Adapter == (unsigned long )((struct bcm_mini_adapter *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "SetUpTargetDsxBuffers"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___0.format = "%s:\nAdapter was NULL!!!"; descriptor___0.lineno = 1740U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nAdapter was NULL!!!", "SetUpTargetDsxBuffers"); } else { } } else { } return (0UL); } else { } if (Adapter->astTargetDsxBuffer[0].ulTargetDsxBuffer != 0UL) { return (1UL); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "SetUpTargetDsxBuffers"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___2.format = "%s:\nSize of Each DSX Buffer(Also size of connection manager parameters): %zx "; descriptor___2.lineno = 1749U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nSize of Each DSX Buffer(Also size of connection manager parameters): %zx ", "SetUpTargetDsxBuffers", 2816UL); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "SetUpTargetDsxBuffers"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___4.format = "%s:\nReading DSX buffer From Target location %x "; descriptor___4.lineno = 1752U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nReading DSX buffer From Target location %x ", "SetUpTargetDsxBuffers", 3210783876U); } else { } } else { } Status = rdmalt(Adapter, 3210783876U, (unsigned int *)(& ulTargetDsxBuffersBase), 4UL); if (Status < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "SetUpTargetDsxBuffers"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___6.format = "%s:\nRDM failed!!"; descriptor___6.lineno = 1758U; descriptor___6.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nRDM failed!!", "SetUpTargetDsxBuffers"); } else { } } else { } return (0UL); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "SetUpTargetDsxBuffers"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___8.format = "%s:\nBase Address Of DSX Target Buffer : 0x%lx"; descriptor___8.lineno = 1764U; descriptor___8.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nBase Address Of DSX Target Buffer : 0x%lx", "SetUpTargetDsxBuffers", ulTargetDsxBuffersBase); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "SetUpTargetDsxBuffers"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___10.format = "%s:\nTgt Buffer is Now %lx :"; descriptor___10.lineno = 1766U; descriptor___10.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nTgt Buffer is Now %lx :", "SetUpTargetDsxBuffers", ulTargetDsxBuffersBase); } else { } } else { } ulCntTargetBuffers = 25UL; Adapter->ulTotalTargetBuffersAvailable = 24UL < ulCntTargetBuffers ? 24UL : ulCntTargetBuffers; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "SetUpTargetDsxBuffers"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___12.format = "%s:\n Total Target DSX Buffer setup %lx "; descriptor___12.lineno = 1776U; descriptor___12.flags = 0U; tmp___12 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___12 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\n Total Target DSX Buffer setup %lx ", "SetUpTargetDsxBuffers", Adapter->ulTotalTargetBuffersAvailable); } else { } } else { } i = 0UL; goto ldv_52512; ldv_52511: Adapter->astTargetDsxBuffer[i].ulTargetDsxBuffer = ulTargetDsxBuffersBase; Adapter->astTargetDsxBuffer[i].valid = 1; Adapter->astTargetDsxBuffer[i].tid = 0U; ulTargetDsxBuffersBase = ulTargetDsxBuffersBase + 2816UL; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "SetUpTargetDsxBuffers"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___14.format = "%s:\n Target DSX Buffer %lx setup at 0x%lx"; descriptor___14.lineno = 1784U; descriptor___14.flags = 0U; tmp___14 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___14 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\n Target DSX Buffer %lx setup at 0x%lx", "SetUpTargetDsxBuffers", i, Adapter->astTargetDsxBuffer[i].ulTargetDsxBuffer); } else { } } else { } i = i + 1UL; ldv_52512: ; if (Adapter->ulTotalTargetBuffersAvailable > i) { goto ldv_52511; } else { } Adapter->ulCurrentTargetBuffer = 0UL; Adapter->ulFreeTargetBufferCnt = Adapter->ulTotalTargetBuffersAvailable; return (1UL); } } static ULONG GetNextTargetBufferLocation(struct bcm_mini_adapter *Adapter , B_UINT16 tid ) { ULONG dsx_buf ; ULONG idx ; ULONG max_try ; { if (Adapter->ulTotalTargetBuffersAvailable == 0UL || Adapter->ulFreeTargetBufferCnt == 0UL) { ClearTargetDSXBuffer(Adapter, (int )tid, 0); return (0UL); } else { } idx = Adapter->ulCurrentTargetBuffer; max_try = Adapter->ulTotalTargetBuffersAvailable; goto ldv_52522; ldv_52521: idx = (idx + 1UL) % Adapter->ulTotalTargetBuffersAvailable; max_try = max_try - 1UL; ldv_52522: ; if (max_try != 0UL && ! Adapter->astTargetDsxBuffer[idx].valid) { goto ldv_52521; } else { } if (max_try == 0UL) { printk("\016%s:\n GetNextTargetBufferLocation : Error No Free Target DSX Buffers FreeCnt : %lx ", "GetNextTargetBufferLocation", Adapter->ulFreeTargetBufferCnt); ClearTargetDSXBuffer(Adapter, (int )tid, 0); return (0UL); } else { } dsx_buf = Adapter->astTargetDsxBuffer[idx].ulTargetDsxBuffer; Adapter->astTargetDsxBuffer[idx].valid = 0; Adapter->astTargetDsxBuffer[idx].tid = tid; Adapter->ulFreeTargetBufferCnt = Adapter->ulFreeTargetBufferCnt - 1UL; idx = (idx + 1UL) % Adapter->ulTotalTargetBuffersAvailable; Adapter->ulCurrentTargetBuffer = idx; printk("\016%s:GetNextTargetBufferLocation :Returning address %lx tid %d\n", "GetNextTargetBufferLocation", dsx_buf, (int )tid); return (dsx_buf); } } int AllocAdapterDsxBuffer(struct bcm_mini_adapter *Adapter ) { void *tmp ; { tmp = kmalloc(8468UL, 208U); Adapter->caDsxReqResp = (CHAR *)tmp; if ((unsigned long )Adapter->caDsxReqResp == (unsigned long )((CHAR *)0)) { return (-12); } else { } return (0); } } int FreeAdapterDsxBuffer(struct bcm_mini_adapter *Adapter ) { { kfree((void const *)Adapter->caDsxReqResp); return (0); } } bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter , void *pvBuffer ) { struct bcm_connect_mgr_params *psfLocalSet ; struct bcm_add_indication_alt *pstAddIndication ; struct bcm_change_indication *pstChangeIndication ; struct bcm_leader *pLeader ; INT uiSearchRuleIndex ; ULONG ulSFID ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___6 ; long tmp___6 ; struct _ddebug descriptor___8 ; long tmp___8 ; struct _ddebug descriptor___10 ; __u16 tmp___11 ; long tmp___12 ; struct _ddebug descriptor___12 ; long tmp___14 ; struct _ddebug descriptor___14 ; __u16 tmp___17 ; long tmp___18 ; struct _ddebug descriptor___16 ; long tmp___20 ; struct _ddebug descriptor___18 ; long tmp___22 ; struct _ddebug descriptor___20 ; long tmp___24 ; struct _ddebug descriptor___24 ; long tmp___28 ; __u16 tmp___29 ; __u16 tmp___30 ; size_t __len ; void *__ret ; unsigned long tmp___31 ; struct _ddebug descriptor___28 ; long tmp___35 ; struct _ddebug descriptor___30 ; long tmp___37 ; __u32 tmp___38 ; __u16 tmp___43 ; __u16 tmp___46 ; __u16 tmp___50 ; __u32 tmp___53 ; struct _ddebug descriptor___42 ; long tmp___55 ; struct _ddebug descriptor___44 ; long tmp___57 ; struct _ddebug descriptor___46 ; long tmp___59 ; { psfLocalSet = (struct bcm_connect_mgr_params *)0; pstAddIndication = (struct bcm_add_indication_alt *)0; pstChangeIndication = (struct bcm_change_indication *)0; pLeader = (struct bcm_leader *)0; uiSearchRuleIndex = 0; pstAddIndication = RestoreCmControlResponseMessage(Adapter, pvBuffer); if ((unsigned long )pstAddIndication == (unsigned long )((struct bcm_add_indication_alt *)0)) { ClearTargetDSXBuffer(Adapter, (int )((struct bcm_add_indication *)pvBuffer)->u16TID, 0); printk("\016%s:Error in restoring Service Flow param structure from DSx message", "CmControlResponseMessage"); return (0); } else { } DumpCmControlPacket((PVOID )pstAddIndication); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "CmControlResponseMessage"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___2.format = "%s:\n====>"; descriptor___2.lineno = 1879U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\n====>", "CmControlResponseMessage"); } else { } } else { } pLeader = (struct bcm_leader *)Adapter->caDsxReqResp; pLeader->Status = 137U; pLeader->Vcid = 0U; ClearTargetDSXBuffer(Adapter, (int )pstAddIndication->u16TID, 0); printk("\016%s:### TID RECEIVED %d\n", "CmControlResponseMessage", (int )pstAddIndication->u16TID); switch ((int )pstAddIndication->u8Type) { case 11: pLeader->PLength = 8460U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "CmControlResponseMessage"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___6.format = "%s:\nSending DSA Response....\n"; descriptor___6.lineno = 1890U; descriptor___6.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nSending DSA Response....\n", "CmControlResponseMessage"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "CmControlResponseMessage"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___8.format = "%s:\nSENDING DSA RESPONSE TO MAC %d"; descriptor___8.lineno = 1891U; descriptor___8.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nSENDING DSA RESPONSE TO MAC %d", "CmControlResponseMessage", (int )pLeader->PLength); } else { } } else { } *((struct bcm_add_indication_alt *)Adapter->caDsxReqResp + 8U) = *pstAddIndication; ((struct bcm_add_indication_alt *)Adapter->caDsxReqResp + 8U)->u8Type = 12U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "CmControlResponseMessage"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___10.format = "%s:\n VCID = %x"; descriptor___10.lineno = 1896U; descriptor___10.flags = 0U; tmp___12 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___12 != 0L) { tmp___11 = __fswab16((int )pstAddIndication->u16VCID); __dynamic_pr_debug(& descriptor___10, "%s:\n VCID = %x", "CmControlResponseMessage", (int )tmp___11); } else { } } else { } CopyBufferToControlPacket(Adapter, (void *)Adapter->caDsxReqResp); kfree((void const *)pstAddIndication); goto ldv_52559; case 12: pLeader->PLength = 8460U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "CmControlResponseMessage"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___12.format = "%s:\nSENDING DSA ACK TO MAC %d"; descriptor___12.lineno = 1903U; descriptor___12.flags = 0U; tmp___14 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___14 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nSENDING DSA ACK TO MAC %d", "CmControlResponseMessage", (int )pLeader->PLength); } else { } } else { } *((struct bcm_add_indication_alt *)Adapter->caDsxReqResp + 8U) = *pstAddIndication; ((struct bcm_add_indication_alt *)Adapter->caDsxReqResp + 8U)->u8Type = 13U; case 13: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "CmControlResponseMessage"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___14.format = "%s:\nVCID:0x%X"; descriptor___14.lineno = 1910U; descriptor___14.flags = 0U; tmp___18 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___18 != 0L) { tmp___17 = __fswab16((int )pstAddIndication->u16VCID); __dynamic_pr_debug(& descriptor___14, "%s:\nVCID:0x%X", "CmControlResponseMessage", (int )tmp___17); } else { } } else { } uiSearchRuleIndex = SearchFreeSfid(Adapter); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "CmControlResponseMessage"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___16.format = "%s:\nuiSearchRuleIndex:0x%X "; descriptor___16.lineno = 1913U; descriptor___16.flags = 0U; tmp___20 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___20 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\nuiSearchRuleIndex:0x%X ", "CmControlResponseMessage", uiSearchRuleIndex); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___18.modname = "bcm_wimax"; descriptor___18.function = "CmControlResponseMessage"; descriptor___18.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___18.format = "%s:\nDirection:0x%X "; descriptor___18.lineno = 1915U; descriptor___18.flags = 0U; tmp___22 = ldv__builtin_expect((long )descriptor___18.flags & 1L, 0L); if (tmp___22 != 0L) { __dynamic_pr_debug(& descriptor___18, "%s:\nDirection:0x%X ", "CmControlResponseMessage", (int )pstAddIndication->u8Direction); } else { } } else { } if (uiSearchRuleIndex <= 16) { Adapter->PackInfo[uiSearchRuleIndex].ucDirection = pstAddIndication->u8Direction; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___20.modname = "bcm_wimax"; descriptor___20.function = "CmControlResponseMessage"; descriptor___20.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___20.format = "%s:\nbValid:0x%X "; descriptor___20.lineno = 1920U; descriptor___20.flags = 0U; tmp___24 = ldv__builtin_expect((long )descriptor___20.flags & 1L, 0L); if (tmp___24 != 0L) { __dynamic_pr_debug(& descriptor___20, "%s:\nbValid:0x%X ", "CmControlResponseMessage", (int )pstAddIndication->sfActiveSet.bValid); } else { } } else { } if ((unsigned int )pstAddIndication->sfActiveSet.bValid == 1U) { Adapter->PackInfo[uiSearchRuleIndex].bActiveSet = 1; } else { } if ((unsigned int )pstAddIndication->sfAuthorizedSet.bValid == 1U) { Adapter->PackInfo[uiSearchRuleIndex].bAuthorizedSet = 1; } else { } if ((unsigned int )pstAddIndication->sfAdmittedSet.bValid == 1U) { Adapter->PackInfo[uiSearchRuleIndex].bAdmittedSet = 1; } else { } if ((unsigned int )pstAddIndication->sfActiveSet.bValid == 0U) { Adapter->PackInfo[uiSearchRuleIndex].bActive = 0; Adapter->PackInfo[uiSearchRuleIndex].bActivateRequestSent = 0; if ((unsigned int )pstAddIndication->sfAdmittedSet.bValid != 0U) { psfLocalSet = & pstAddIndication->sfAdmittedSet; } else if ((unsigned int )pstAddIndication->sfAuthorizedSet.bValid != 0U) { psfLocalSet = & pstAddIndication->sfAuthorizedSet; } else { } } else { psfLocalSet = & pstAddIndication->sfActiveSet; Adapter->PackInfo[uiSearchRuleIndex].bActive = 1; } if ((unsigned long )psfLocalSet == (unsigned long )((struct bcm_connect_mgr_params *)0)) { printk("\016%s:No set is valid\n", "CmControlResponseMessage"); Adapter->PackInfo[uiSearchRuleIndex].bActive = 0; Adapter->PackInfo[uiSearchRuleIndex].bValid = 0; Adapter->PackInfo[uiSearchRuleIndex].usVCID_Value = 0U; kfree((void const *)pstAddIndication); } else if ((unsigned int )psfLocalSet->bValid != 0U && (unsigned int )pstAddIndication->u8CC == 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___24.modname = "bcm_wimax"; descriptor___24.function = "CmControlResponseMessage"; descriptor___24.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___24.format = "%s:\nDSA ACK"; descriptor___24.lineno = 1949U; descriptor___24.flags = 0U; tmp___28 = ldv__builtin_expect((long )descriptor___24.flags & 1L, 0L); if (tmp___28 != 0L) { __dynamic_pr_debug(& descriptor___24, "%s:\nDSA ACK", "CmControlResponseMessage"); } else { } } else { } tmp___29 = __fswab16((int )pstAddIndication->u16VCID); Adapter->PackInfo[uiSearchRuleIndex].usVCID_Value = tmp___29; tmp___30 = __fswab16((int )pstAddIndication->u16CID); Adapter->PackInfo[uiSearchRuleIndex].usCID = tmp___30; if ((unsigned int )pstAddIndication->u8Direction == 1U) { atomic_set(& Adapter->PackInfo[uiSearchRuleIndex].uiPerSFTxResourceCount, 60); } else { } CopyToAdapter(Adapter, psfLocalSet, (UINT )uiSearchRuleIndex, 13, pstAddIndication); __len = 4UL; if (__len > 63UL) { __ret = memcpy(pvBuffer + 1U, (void const *)(& psfLocalSet->u32SFID), __len); } else { __ret = memcpy(pvBuffer + 1U, (void const *)(& psfLocalSet->u32SFID), __len); } if ((unsigned int )pstAddIndication->sfActiveSet.bValid == 1U) { if ((unsigned int )pstAddIndication->u8Direction == 1U) { if (! Adapter->LinkUpStatus) { netif_carrier_on(Adapter->dev); netif_start_queue(Adapter->dev); Adapter->LinkUpStatus = 1; if ((Adapter->msg_enable & 4U) != 0U) { printk("\016beceem %s: link up\n", (char *)(& (Adapter->dev)->name)); } else { } atomic_set(& Adapter->TxPktAvail, 1); __wake_up(& Adapter->tx_packet_wait_queue, 3U, 1, (void *)0); tmp___31 = get_seconds(); Adapter->liTimeSinceLastNetEntry = (UINT32 )tmp___31; } else { } } else { } } else { } } else { Adapter->PackInfo[uiSearchRuleIndex].bActive = 0; Adapter->PackInfo[uiSearchRuleIndex].bValid = 0; Adapter->PackInfo[uiSearchRuleIndex].usVCID_Value = 0U; kfree((void const *)pstAddIndication); } } else { printk("\016%s:DSA ACK did not get valid SFID", "CmControlResponseMessage"); kfree((void const *)pstAddIndication); return (0); } goto ldv_52559; case 14: pLeader->PLength = 8460U; pstChangeIndication = (struct bcm_change_indication *)pstAddIndication; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___28.modname = "bcm_wimax"; descriptor___28.function = "CmControlResponseMessage"; descriptor___28.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___28.format = "%s:\nSENDING DSC RESPONSE TO MAC %d"; descriptor___28.lineno = 1995U; descriptor___28.flags = 0U; tmp___35 = ldv__builtin_expect((long )descriptor___28.flags & 1L, 0L); if (tmp___35 != 0L) { __dynamic_pr_debug(& descriptor___28, "%s:\nSENDING DSC RESPONSE TO MAC %d", "CmControlResponseMessage", (int )pLeader->PLength); } else { } } else { } *((struct bcm_change_indication *)Adapter->caDsxReqResp + 8U) = *pstChangeIndication; ((struct bcm_change_indication *)Adapter->caDsxReqResp + 8U)->u8Type = 15U; CopyBufferToControlPacket(Adapter, (void *)Adapter->caDsxReqResp); kfree((void const *)pstAddIndication); goto ldv_52559; case 15: pLeader->PLength = 8460U; pstChangeIndication = (struct bcm_change_indication *)pstAddIndication; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___30.modname = "bcm_wimax"; descriptor___30.function = "CmControlResponseMessage"; descriptor___30.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___30.format = "%s:\nSENDING DSC ACK TO MAC %d"; descriptor___30.lineno = 2006U; descriptor___30.flags = 0U; tmp___37 = ldv__builtin_expect((long )descriptor___30.flags & 1L, 0L); if (tmp___37 != 0L) { __dynamic_pr_debug(& descriptor___30, "%s:\nSENDING DSC ACK TO MAC %d", "CmControlResponseMessage", (int )pLeader->PLength); } else { } } else { } *((struct bcm_change_indication *)Adapter->caDsxReqResp + 8U) = *pstChangeIndication; ((struct bcm_change_indication *)Adapter->caDsxReqResp + 8U)->u8Type = 16U; case 16: pstChangeIndication = (struct bcm_change_indication *)pstAddIndication; tmp___38 = __fswab32(pstChangeIndication->sfActiveSet.u32SFID); uiSearchRuleIndex = SearchSfid(Adapter, tmp___38); if (uiSearchRuleIndex > 16) { printk("\016%s:SF doesn\'t exist for which DSC_ACK is received", "CmControlResponseMessage"); } else { } if (uiSearchRuleIndex <= 16) { Adapter->PackInfo[uiSearchRuleIndex].ucDirection = pstChangeIndication->u8Direction; if ((unsigned int )pstChangeIndication->sfActiveSet.bValid == 1U) { Adapter->PackInfo[uiSearchRuleIndex].bActiveSet = 1; } else { } if ((unsigned int )pstChangeIndication->sfAuthorizedSet.bValid == 1U) { Adapter->PackInfo[uiSearchRuleIndex].bAuthorizedSet = 1; } else { } if ((unsigned int )pstChangeIndication->sfAdmittedSet.bValid == 1U) { Adapter->PackInfo[uiSearchRuleIndex].bAdmittedSet = 1; } else { } if ((unsigned int )pstChangeIndication->sfActiveSet.bValid == 0U) { Adapter->PackInfo[uiSearchRuleIndex].bActive = 0; Adapter->PackInfo[uiSearchRuleIndex].bActivateRequestSent = 0; if ((unsigned int )pstChangeIndication->sfAdmittedSet.bValid != 0U) { psfLocalSet = & pstChangeIndication->sfAdmittedSet; } else if ((unsigned int )pstChangeIndication->sfAuthorizedSet.bValid != 0U) { psfLocalSet = & pstChangeIndication->sfAuthorizedSet; } else { } } else { psfLocalSet = & pstChangeIndication->sfActiveSet; Adapter->PackInfo[uiSearchRuleIndex].bActive = 1; } if ((unsigned long )psfLocalSet == (unsigned long )((struct bcm_connect_mgr_params *)0)) { printk("\016%s:No set is valid\n", "CmControlResponseMessage"); Adapter->PackInfo[uiSearchRuleIndex].bActive = 0; Adapter->PackInfo[uiSearchRuleIndex].bValid = 0; Adapter->PackInfo[uiSearchRuleIndex].usVCID_Value = 0U; kfree((void const *)pstAddIndication); } else if ((unsigned int )psfLocalSet->bValid != 0U && (unsigned int )pstChangeIndication->u8CC == 0U) { tmp___43 = __fswab16((int )pstChangeIndication->u16VCID); Adapter->PackInfo[uiSearchRuleIndex].usVCID_Value = tmp___43; printk("\016%s:CC field is %d bvalid = %d\n", "CmControlResponseMessage", (int )pstChangeIndication->u8CC, (int )psfLocalSet->bValid); tmp___46 = __fswab16((int )pstChangeIndication->u16VCID); printk("\016%s:VCID= %d\n", "CmControlResponseMessage", (int )tmp___46); tmp___50 = __fswab16((int )pstChangeIndication->u16CID); Adapter->PackInfo[uiSearchRuleIndex].usCID = tmp___50; CopyToAdapter(Adapter, psfLocalSet, (UINT )uiSearchRuleIndex, 16, pstAddIndication); *((unsigned long *)pvBuffer + 1U) = (unsigned long )psfLocalSet->u32SFID; } else if ((unsigned int )pstChangeIndication->u8CC == 6U) { deleteSFBySfid(Adapter, (UINT )uiSearchRuleIndex); kfree((void const *)pstAddIndication); } else { } } else { printk("\016%s:DSC ACK did not get valid SFID", "CmControlResponseMessage"); kfree((void const *)pstAddIndication); return (0); } goto ldv_52559; case 17: pLeader->PLength = 16U; *((struct bcm_del_indication *)Adapter->caDsxReqResp + 8U) = *((struct bcm_del_indication *)pstAddIndication); tmp___53 = __fswab32(((struct bcm_del_indication *)pstAddIndication)->u32SFID); ulSFID = (ULONG )tmp___53; uiSearchRuleIndex = SearchSfid(Adapter, (UINT )ulSFID); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___42.modname = "bcm_wimax"; descriptor___42.function = "CmControlResponseMessage"; descriptor___42.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___42.format = "%s:\nDSD - Removing connection %x"; descriptor___42.lineno = 2071U; descriptor___42.flags = 0U; tmp___55 = ldv__builtin_expect((long )descriptor___42.flags & 1L, 0L); if (tmp___55 != 0L) { __dynamic_pr_debug(& descriptor___42, "%s:\nDSD - Removing connection %x", "CmControlResponseMessage", uiSearchRuleIndex); } else { } } else { } if (uiSearchRuleIndex <= 16) { deleteSFBySfid(Adapter, (UINT )uiSearchRuleIndex); Adapter->u32TotalDSD = Adapter->u32TotalDSD + 1U; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___44.modname = "bcm_wimax"; descriptor___44.function = "CmControlResponseMessage"; descriptor___44.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___44.format = "%s:\nSENDING DSD RESPONSE TO MAC"; descriptor___44.lineno = 2079U; descriptor___44.flags = 0U; tmp___57 = ldv__builtin_expect((long )descriptor___44.flags & 1L, 0L); if (tmp___57 != 0L) { __dynamic_pr_debug(& descriptor___44, "%s:\nSENDING DSD RESPONSE TO MAC", "CmControlResponseMessage"); } else { } } else { } ((struct bcm_del_indication *)Adapter->caDsxReqResp + 8U)->u8Type = 18U; CopyBufferToControlPacket(Adapter, (void *)Adapter->caDsxReqResp); case 18: ; goto ldv_52559; case 19: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___46.modname = "bcm_wimax"; descriptor___46.function = "CmControlResponseMessage"; descriptor___46.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___46.format = "%s:\nDSD ACK Rcd, let App handle it\n"; descriptor___46.lineno = 2087U; descriptor___46.flags = 0U; tmp___59 = ldv__builtin_expect((long )descriptor___46.flags & 1L, 0L); if (tmp___59 != 0L) { __dynamic_pr_debug(& descriptor___46, "%s:\nDSD ACK Rcd, let App handle it\n", "CmControlResponseMessage"); } else { } } else { } goto ldv_52559; default: kfree((void const *)pstAddIndication); return (0); } ldv_52559: ; return (1); } } int get_dsx_sf_data_to_application(struct bcm_mini_adapter *Adapter , UINT uiSFId , void *user_buffer ) { int status ; struct bcm_packet_info *psSfInfo ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; unsigned long tmp___7 ; { status = 0; psSfInfo = (struct bcm_packet_info *)0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "get_dsx_sf_data_to_application"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___0.format = "%s:\nstatus =%d"; descriptor___0.lineno = 2103U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nstatus =%d", "get_dsx_sf_data_to_application", status); } else { } } else { } status = SearchSfid(Adapter, uiSFId); if (status > 16) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "get_dsx_sf_data_to_application"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___2.format = "%s:\nSFID %d not present in queue !!!"; descriptor___2.lineno = 2107U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nSFID %d not present in queue !!!", "get_dsx_sf_data_to_application", uiSFId); } else { } } else { } return (-22); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "get_dsx_sf_data_to_application"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___4.format = "%s:\nstatus =%d"; descriptor___4.lineno = 2111U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nstatus =%d", "get_dsx_sf_data_to_application", status); } else { } } else { } psSfInfo = (struct bcm_packet_info *)(& Adapter->PackInfo) + (unsigned long )status; if ((unsigned long )psSfInfo->pstSFIndication != (unsigned long )((void *)0)) { tmp___7 = copy_to_user(user_buffer, (void const *)psSfInfo->pstSFIndication, 8460UL); if (tmp___7 != 0UL) { printk("\016%s:copy to user failed SFID %d, present in queue !!!", "get_dsx_sf_data_to_application", uiSFId); status = -14; return (status); } else { } } else { } return (0); } } VOID OverrideServiceFlowParams(struct bcm_mini_adapter *Adapter , PUINT puiBuffer ) { B_UINT32 u32NumofSFsinMsg ; __u32 tmp ; struct bcm_stim_sfhostnotify *pHostInfo ; UINT uiSearchRuleIndex ; ULONG ulSFID ; struct _ddebug descriptor___0 ; long tmp___1 ; __u32 tmp___2 ; INT tmp___3 ; struct _ddebug descriptor___2 ; long tmp___5 ; struct _ddebug descriptor___4 ; long tmp___7 ; struct _ddebug descriptor___6 ; long tmp___9 ; struct bcm_packet_info *packinfo ; __u16 tmp___10 ; __u16 tmp___11 ; struct _ddebug descriptor___8 ; long tmp___13 ; { tmp = __fswab32(*(puiBuffer + 1UL)); u32NumofSFsinMsg = tmp; pHostInfo = (struct bcm_stim_sfhostnotify *)0; uiSearchRuleIndex = 0U; ulSFID = 0UL; puiBuffer = puiBuffer + 2UL; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "OverrideServiceFlowParams"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___0.format = "%s:\nu32NumofSFsinMsg: 0x%x\n"; descriptor___0.lineno = 2135U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nu32NumofSFsinMsg: 0x%x\n", "OverrideServiceFlowParams", u32NumofSFsinMsg); } else { } } else { } goto ldv_52639; ldv_52645: u32NumofSFsinMsg = u32NumofSFsinMsg - 1U; pHostInfo = (struct bcm_stim_sfhostnotify *)puiBuffer; puiBuffer = (unsigned int *)pHostInfo + 1U; tmp___2 = __fswab32(pHostInfo->SFID); ulSFID = (ULONG )tmp___2; tmp___3 = SearchSfid(Adapter, (UINT )ulSFID); uiSearchRuleIndex = (UINT )tmp___3; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "OverrideServiceFlowParams"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___2.format = "%s:\nSFID: 0x%lx\n"; descriptor___2.lineno = 2145U; descriptor___2.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nSFID: 0x%lx\n", "OverrideServiceFlowParams", ulSFID); } else { } } else { } if (uiSearchRuleIndex > 16U || uiSearchRuleIndex == 16U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "OverrideServiceFlowParams"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___4.format = "%s:\nThe SFID <%lx> doesn\'t exist in host entry or is Invalid\n"; descriptor___4.lineno = 2152U; descriptor___4.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nThe SFID <%lx> doesn\'t exist in host entry or is Invalid\n", "OverrideServiceFlowParams", ulSFID); } else { } } else { } goto ldv_52639; } else { } if ((unsigned int )pHostInfo->RetainSF == 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "OverrideServiceFlowParams"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___6.format = "%s:\nGoing to Delete SF"; descriptor___6.lineno = 2158U; descriptor___6.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nGoing to Delete SF", "OverrideServiceFlowParams"); } else { } } else { } deleteSFBySfid(Adapter, uiSearchRuleIndex); } else { packinfo = (struct bcm_packet_info *)(& Adapter->PackInfo) + (unsigned long )uiSearchRuleIndex; tmp___10 = __fswab16((int )pHostInfo->VCID); packinfo->usVCID_Value = tmp___10; tmp___11 = __fswab16((int )pHostInfo->newCID); packinfo->usCID = tmp___11; packinfo->bActive = 0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "OverrideServiceFlowParams"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___8.format = "%s:\npHostInfo->QoSParamSet: 0x%x\n"; descriptor___8.lineno = 2171U; descriptor___8.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\npHostInfo->QoSParamSet: 0x%x\n", "OverrideServiceFlowParams", (int )pHostInfo->QoSParamSet); } else { } } else { } if ((int )pHostInfo->QoSParamSet & 1) { packinfo->bAuthorizedSet = 1; } else { } if (((int )pHostInfo->QoSParamSet & 2) != 0) { packinfo->bAdmittedSet = 1; } else { } if (((int )pHostInfo->QoSParamSet & 4) != 0) { packinfo->bActiveSet = 1; packinfo->bActive = 1; } else { } } ldv_52639: ; if (u32NumofSFsinMsg != 0U && u32NumofSFsinMsg <= 16U) { goto ldv_52645; } else { } return; } } static void restore_endianess_of_pstClassifierEntry(struct bcm_classifier_rule *pstClassifierEntry , enum bcm_ipaddr_context eIpAddrContext ) { int i ; union u_ip_address *stSrc ; union u_ip_address *stDest ; __u32 tmp ; __u32 tmp___0 ; __u32 tmp___1 ; __u32 tmp___2 ; { stSrc = & pstClassifierEntry->stSrcIpAddress; stDest = & pstClassifierEntry->stDestIpAddress; i = 0; goto ldv_52655; ldv_52654: ; if ((unsigned int )eIpAddrContext == 0U) { tmp = __fswab32((unsigned int )stSrc->ldv_50772.ulIpv6Addr[i]); stSrc->ldv_50772.ulIpv6Addr[i] = (ULONG )tmp; tmp___0 = __fswab32((unsigned int )stSrc->ldv_50772.ulIpv6Mask[i]); stSrc->ldv_50772.ulIpv6Mask[i] = (ULONG )tmp___0; } else if ((unsigned int )eIpAddrContext == 1U) { tmp___1 = __fswab32((unsigned int )stDest->ldv_50772.ulIpv6Addr[i]); stDest->ldv_50772.ulIpv6Addr[i] = (ULONG )tmp___1; tmp___2 = __fswab32((unsigned int )stDest->ldv_50772.ulIpv6Mask[i]); stDest->ldv_50772.ulIpv6Mask[i] = (ULONG )tmp___2; } else { } i = i + 1; ldv_52655: ; if (i <= 15) { goto ldv_52654; } else { } return; } } static void apply_phs_rule_to_all_classifiers(struct bcm_mini_adapter *Adapter , UINT uiSearchRuleIndex , USHORT uVCID , struct bcm_phs_rule *sPhsRule , struct bcm_phs_rules *cPhsRule , struct bcm_add_indication_alt *pstAddIndication ) { unsigned int uiClassifierIndex ; struct bcm_classifier_rule *curr_classifier ; struct _ddebug descriptor___0 ; long tmp___0 ; size_t __len ; void *__ret ; size_t __len___0 ; void *__ret___0 ; size_t __len___1 ; void *__ret___1 ; size_t __len___2 ; void *__ret___2 ; size_t __len___3 ; void *__ret___3 ; { uiClassifierIndex = 0U; curr_classifier = (struct bcm_classifier_rule *)0; if ((unsigned int )pstAddIndication->u8Direction == 1U) { uiClassifierIndex = 0U; goto ldv_52680; ldv_52679: curr_classifier = (struct bcm_classifier_rule *)(& Adapter->astClassifierTable) + (unsigned long )uiClassifierIndex; if (((int )curr_classifier->bUsed && curr_classifier->ulSFID == Adapter->PackInfo[uiSearchRuleIndex].ulSFID) && (int )curr_classifier->u8AssociatedPHSI == (int )cPhsRule->u8PHSI) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "apply_phs_rule_to_all_classifiers"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/CmHost.o.c.prepared"; descriptor___0.format = "%s:\nAdding PHS Rule For Classifier: 0x%x cPhsRule.u8PHSI: 0x%x\n"; descriptor___0.lineno = 2225U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nAdding PHS Rule For Classifier: 0x%x cPhsRule.u8PHSI: 0x%x\n", "apply_phs_rule_to_all_classifiers", (int )curr_classifier->uiClassifierRuleIndex, (int )cPhsRule->u8PHSI); } else { } } else { } sPhsRule->u8PHSI = cPhsRule->u8PHSI; sPhsRule->u8PHSFLength = cPhsRule->u8PHSFLength; sPhsRule->u8PHSMLength = cPhsRule->u8PHSMLength; sPhsRule->u8PHSS = cPhsRule->u8PHSS; sPhsRule->u8PHSV = cPhsRule->u8PHSV; __len = 255UL; if (__len > 63UL) { __ret = memcpy((void *)(& sPhsRule->u8PHSF), (void const *)(& cPhsRule->u8PHSF), __len); } else { __ret = memcpy((void *)(& sPhsRule->u8PHSF), (void const *)(& cPhsRule->u8PHSF), __len); } __len___0 = 255UL; if (__len___0 > 63UL) { __ret___0 = memcpy((void *)(& sPhsRule->u8PHSM), (void const *)(& cPhsRule->u8PHSM), __len___0); } else { __ret___0 = memcpy((void *)(& sPhsRule->u8PHSM), (void const *)(& cPhsRule->u8PHSM), __len___0); } sPhsRule->u8RefCnt = 0U; sPhsRule->bUnclassifiedPHSRule = 0U; sPhsRule->PHSModifiedBytes = 0L; sPhsRule->PHSModifiedNumPackets = 0UL; sPhsRule->PHSErrorNumPackets = 0UL; PhsUpdateClassifierRule((void *)(& Adapter->stBCMPhsContext), (int )uVCID, (int )curr_classifier->uiClassifierRuleIndex, sPhsRule, (int )curr_classifier->u8AssociatedPHSI); if ((unsigned int )sPhsRule->u8PHSI != 0U) { curr_classifier->u32PHSRuleID = (UINT32 )sPhsRule->u8PHSI; __len___1 = 544UL; if (__len___1 > 63UL) { __ret___1 = memcpy((void *)(& curr_classifier->sPhsRule), (void const *)sPhsRule, __len___1); } else { __ret___1 = memcpy((void *)(& curr_classifier->sPhsRule), (void const *)sPhsRule, __len___1); } } else { } } else { } uiClassifierIndex = uiClassifierIndex + 1U; ldv_52680: ; if (uiClassifierIndex <= 99U) { goto ldv_52679; } else { } } else { sPhsRule->u8PHSI = cPhsRule->u8PHSI; sPhsRule->u8PHSFLength = cPhsRule->u8PHSFLength; sPhsRule->u8PHSMLength = cPhsRule->u8PHSMLength; sPhsRule->u8PHSS = cPhsRule->u8PHSS; sPhsRule->u8PHSV = cPhsRule->u8PHSV; __len___2 = 255UL; if (__len___2 > 63UL) { __ret___2 = memcpy((void *)(& sPhsRule->u8PHSF), (void const *)(& cPhsRule->u8PHSF), __len___2); } else { __ret___2 = memcpy((void *)(& sPhsRule->u8PHSF), (void const *)(& cPhsRule->u8PHSF), __len___2); } __len___3 = 255UL; if (__len___3 > 63UL) { __ret___3 = memcpy((void *)(& sPhsRule->u8PHSM), (void const *)(& cPhsRule->u8PHSM), __len___3); } else { __ret___3 = memcpy((void *)(& sPhsRule->u8PHSM), (void const *)(& cPhsRule->u8PHSM), __len___3); } sPhsRule->u8RefCnt = 0U; sPhsRule->bUnclassifiedPHSRule = 1U; sPhsRule->PHSModifiedBytes = 0L; sPhsRule->PHSModifiedNumPackets = 0UL; sPhsRule->PHSErrorNumPackets = 0UL; PhsUpdateClassifierRule((void *)(& Adapter->stBCMPhsContext), (int )uVCID, (int )sPhsRule->u8PHSI, sPhsRule, (int )sPhsRule->u8PHSI); } return; } } int ldv_pskb_expand_head_348(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_350(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_352(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_353(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_354(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_355(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_356(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_357(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_358(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_394(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_402(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_396(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_392(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_400(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_401(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_397(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_398(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_399(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; unsigned short IpVersion6(struct bcm_mini_adapter *Adapter , void *pcIpHeader , struct bcm_classifier_rule *pstClassifierRule ) ; void DumpIpv6Address(unsigned long *puIpv6Address ) ; bool MatchSrcPort(struct bcm_classifier_rule *pstClassifierRule , unsigned short ushSrcPort ) ; bool MatchDestPort(struct bcm_classifier_rule *pstClassifierRule , unsigned short ushDestPort ) ; bool MatchProtocol(struct bcm_classifier_rule *pstClassifierRule , unsigned char ucProtocol ) ; static bool MatchSrcIpv6Address(struct bcm_classifier_rule *pstClassifierRule , struct bcm_ipv6_hdr *pstIpv6Header ) ; static bool MatchDestIpv6Address(struct bcm_classifier_rule *pstClassifierRule , struct bcm_ipv6_hdr *pstIpv6Header ) ; static VOID DumpIpv6Header(struct bcm_ipv6_hdr *pstIpv6Header ) ; static UCHAR *GetNextIPV6ChainedHeader(UCHAR **ppucPayload , UCHAR *pucNextHeader , bool *bParseDone , USHORT *pusPayloadLength ) { UCHAR *pucRetHeaderPtr ; UCHAR *pucPayloadPtr ; USHORT usNextHeaderOffset ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct bcm_ipv6_routing_hdr *pstIpv6RoutingHeader ; struct _ddebug descriptor___2 ; long tmp___3 ; struct _ddebug descriptor___4 ; long tmp___5 ; struct bcm_ipv6_dest_options_hdr *pstIpv6DestOptsHdr ; int nTotalOptions ; struct _ddebug descriptor___6 ; long tmp___7 ; struct bcm_ipv6_authentication_hdr *pstIpv6AuthHdr ; int nHdrLen ; struct _ddebug descriptor___8 ; long tmp___9 ; struct _ddebug descriptor___10 ; long tmp___11 ; struct _ddebug descriptor___12 ; long tmp___13 ; struct _ddebug descriptor___14 ; long tmp___15 ; struct _ddebug descriptor___16 ; long tmp___17 ; { pucRetHeaderPtr = (UCHAR *)0U; pucPayloadPtr = (UCHAR *)0U; usNextHeaderOffset = 0U; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if (((unsigned long )ppucPayload == (unsigned long )((UCHAR **)0U) || (unsigned int )*pusPayloadLength == 0U) || (int )*bParseDone) { *bParseDone = 1; return ((UCHAR *)0U); } else { } pucRetHeaderPtr = *ppucPayload; pucPayloadPtr = *ppucPayload; if ((unsigned long )pucRetHeaderPtr == (unsigned long )((UCHAR *)0U) || (unsigned long )pucPayloadPtr == (unsigned long )((UCHAR *)0U)) { *bParseDone = 1; return ((UCHAR *)0U); } else { } *bParseDone = 0; switch ((int )*pucNextHeader) { case 0: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "GetNextIPV6ChainedHeader"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___0.format = "%s:\n\nIPv6 HopByHop Header"; descriptor___0.lineno = 76U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n\nIPv6 HopByHop Header", "GetNextIPV6ChainedHeader"); } else { } } else { } usNextHeaderOffset = (unsigned int )usNextHeaderOffset + 16U; goto ldv_51733; case 43: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "GetNextIPV6ChainedHeader"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___2.format = "%s:\n\nIPv6 Routing Header"; descriptor___2.lineno = 85U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\n\nIPv6 Routing Header", "GetNextIPV6ChainedHeader"); } else { } } else { } pstIpv6RoutingHeader = (struct bcm_ipv6_routing_hdr *)pucPayloadPtr; usNextHeaderOffset = (unsigned int )usNextHeaderOffset + 16U; usNextHeaderOffset = (unsigned int )((USHORT )pstIpv6RoutingHeader->ucNumAddresses) * 16U + (unsigned int )usNextHeaderOffset; goto ldv_51733; case 44: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "GetNextIPV6ChainedHeader"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___4.format = "%s:\n\nIPv6 Fragmentation Header"; descriptor___4.lineno = 96U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n\nIPv6 Fragmentation Header", "GetNextIPV6ChainedHeader"); } else { } } else { } usNextHeaderOffset = (unsigned int )usNextHeaderOffset + 16U; goto ldv_51733; case 60: pstIpv6DestOptsHdr = (struct bcm_ipv6_dest_options_hdr *)pucPayloadPtr; nTotalOptions = (int )pstIpv6DestOptsHdr->ucHdrExtLen; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "GetNextIPV6ChainedHeader"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___6.format = "%s:\n\nIPv6 DestOpts Header Header"; descriptor___6.lineno = 107U; descriptor___6.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\n\nIPv6 DestOpts Header Header", "GetNextIPV6ChainedHeader"); } else { } } else { } usNextHeaderOffset = (unsigned int )usNextHeaderOffset + 8U; usNextHeaderOffset = (unsigned int )((USHORT )nTotalOptions) * 8U + (unsigned int )usNextHeaderOffset; goto ldv_51733; case 51: pstIpv6AuthHdr = (struct bcm_ipv6_authentication_hdr *)pucPayloadPtr; nHdrLen = (int )pstIpv6AuthHdr->ucLength; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "GetNextIPV6ChainedHeader"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___8.format = "%s:\n\nIPv6 Authentication Header"; descriptor___8.lineno = 119U; descriptor___8.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\n\nIPv6 Authentication Header", "GetNextIPV6ChainedHeader"); } else { } } else { } usNextHeaderOffset = (unsigned int )((USHORT )nHdrLen) * 4U + (unsigned int )usNextHeaderOffset; goto ldv_51733; case 52: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "GetNextIPV6ChainedHeader"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___10.format = "%s:\n\nIPv6 Encrypted Security Payload Header"; descriptor___10.lineno = 127U; descriptor___10.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\n\nIPv6 Encrypted Security Payload Header", "GetNextIPV6ChainedHeader"); } else { } } else { } *bParseDone = 1; goto ldv_51733; case 2: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "GetNextIPV6ChainedHeader"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___12.format = "%s:\n\nICMP Header"; descriptor___12.lineno = 135U; descriptor___12.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\n\nICMP Header", "GetNextIPV6ChainedHeader"); } else { } } else { } *bParseDone = 1; goto ldv_51733; case 6: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "GetNextIPV6ChainedHeader"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___14.format = "%s:\n\nTCP Header"; descriptor___14.lineno = 142U; descriptor___14.flags = 0U; tmp___15 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___15 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\n\nTCP Header", "GetNextIPV6ChainedHeader"); } else { } } else { } *bParseDone = 1; goto ldv_51733; case 17: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "GetNextIPV6ChainedHeader"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___16.format = "%s:\n\nUDP Header"; descriptor___16.lineno = 149U; descriptor___16.flags = 0U; tmp___17 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___17 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\n\nUDP Header", "GetNextIPV6ChainedHeader"); } else { } } else { } *bParseDone = 1; goto ldv_51733; default: *bParseDone = 1; goto ldv_51733; } ldv_51733: ; if (! *bParseDone) { if ((int )*pusPayloadLength <= (int )usNextHeaderOffset) { *bParseDone = 1; } else { *pucNextHeader = *pucPayloadPtr; pucPayloadPtr = pucPayloadPtr + (unsigned long )usNextHeaderOffset; *pusPayloadLength = (int )*pusPayloadLength - (int )usNextHeaderOffset; } } else { } *ppucPayload = pucPayloadPtr; return (pucRetHeaderPtr); } } static UCHAR GetIpv6ProtocolPorts(UCHAR *pucPayload , USHORT *pusSrcPort , USHORT *pusDestPort , USHORT usPayloadLength , UCHAR ucNextHeader ) { UCHAR *pIpv6HdrScanContext ; bool bDone ; UCHAR ucHeaderType ; UCHAR *pucNextHeader ; struct bcm_mini_adapter *Adapter ; void *tmp ; USHORT tmp___0 ; struct _ddebug descriptor___0 ; __u16 tmp___4 ; __u16 tmp___5 ; long tmp___6 ; { pIpv6HdrScanContext = pucPayload; bDone = 0; ucHeaderType = 0U; pucNextHeader = (UCHAR *)0U; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if ((unsigned long )pucPayload == (unsigned long )((UCHAR *)0U) || (unsigned int )usPayloadLength == 0U) { return (0U); } else { } tmp___0 = 0U; *pusDestPort = tmp___0; *pusSrcPort = tmp___0; ucHeaderType = ucNextHeader; goto ldv_51781; ldv_51780: pucNextHeader = GetNextIPV6ChainedHeader(& pIpv6HdrScanContext, & ucHeaderType, & bDone, & usPayloadLength); if ((int )bDone) { if ((unsigned int )ucHeaderType == 6U || (unsigned int )ucHeaderType == 17U) { *pusSrcPort = *((unsigned short *)pucNextHeader); *pusDestPort = *((unsigned short *)pucNextHeader + 2U); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "GetIpv6ProtocolPorts"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___0.format = "%s:\n\nProtocol Ports - Src Port :0x%x Dest Port : 0x%x"; descriptor___0.lineno = 205U; descriptor___0.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___6 != 0L) { tmp___4 = __fswab16((int )*pusDestPort); tmp___5 = __fswab16((int )*pusSrcPort); __dynamic_pr_debug(& descriptor___0, "%s:\n\nProtocol Ports - Src Port :0x%x Dest Port : 0x%x", "GetIpv6ProtocolPorts", (int )tmp___5, (int )tmp___4); } else { } } else { } } else { } goto ldv_51779; } else { } ldv_51781: ; if (! bDone) { goto ldv_51780; } else { } ldv_51779: ; return (ucHeaderType); } } unsigned short IpVersion6(struct bcm_mini_adapter *Adapter , void *pcIpHeader , struct bcm_classifier_rule *pstClassifierRule ) { USHORT ushDestPort ; USHORT ushSrcPort ; UCHAR ucNextProtocolAboveIP ; struct bcm_ipv6_hdr *pstIpv6Header ; bool bClassificationSucceed ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; __u16 tmp___5 ; long tmp___6 ; __u16 tmp___7 ; struct _ddebug descriptor___6 ; long tmp___9 ; struct _ddebug descriptor___8 ; __u16 tmp___12 ; long tmp___13 ; __u16 tmp___14 ; struct _ddebug descriptor___10 ; long tmp___16 ; INT iMatchedSFQueueIndex ; { ushDestPort = 0U; ushSrcPort = 0U; ucNextProtocolAboveIP = 0U; pstIpv6Header = (struct bcm_ipv6_hdr *)0; bClassificationSucceed = 0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "IpVersion6"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___0.format = "%s:\nIpVersion6 ==========>\n"; descriptor___0.lineno = 229U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nIpVersion6 ==========>\n", "IpVersion6"); } else { } } else { } pstIpv6Header = (struct bcm_ipv6_hdr *)pcIpHeader; DumpIpv6Header(pstIpv6Header); ucNextProtocolAboveIP = GetIpv6ProtocolPorts((UCHAR *)pcIpHeader + 72U, & ushSrcPort, & ushDestPort, (int )pstIpv6Header->usPayloadLength, (int )pstIpv6Header->ucNextHeader); if ((unsigned int )pstClassifierRule->ucDirection == 0U) { goto ldv_51795; } else { } if (! pstClassifierRule->bIpv6Protocol) { goto ldv_51795; } else { } bClassificationSucceed = MatchSrcIpv6Address(pstClassifierRule, pstIpv6Header); if (! bClassificationSucceed) { goto ldv_51795; } else { } bClassificationSucceed = MatchDestIpv6Address(pstClassifierRule, pstIpv6Header); if (! bClassificationSucceed) { goto ldv_51795; } else { } bClassificationSucceed = MatchProtocol(pstClassifierRule, (int )ucNextProtocolAboveIP); if (! bClassificationSucceed) { goto ldv_51795; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "IpVersion6"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___2.format = "%s:\n\nIPv6 Protocol Matched"; descriptor___2.lineno = 283U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\n\nIPv6 Protocol Matched", "IpVersion6"); } else { } } else { } if ((unsigned int )ucNextProtocolAboveIP == 6U || (unsigned int )ucNextProtocolAboveIP == 17U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "IpVersion6"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___4.format = "%s:\n\nIPv6 Source Port:%x\n"; descriptor___4.lineno = 290U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { tmp___5 = __fswab16((int )ushSrcPort); __dynamic_pr_debug(& descriptor___4, "%s:\n\nIPv6 Source Port:%x\n", "IpVersion6", (int )tmp___5); } else { } } else { } tmp___7 = __fswab16((int )ushSrcPort); bClassificationSucceed = MatchSrcPort(pstClassifierRule, (int )tmp___7); if (! bClassificationSucceed) { goto ldv_51795; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "IpVersion6"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___6.format = "%s:\n\nIPv6 Src Port Matched"; descriptor___6.lineno = 297U; descriptor___6.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\n\nIPv6 Src Port Matched", "IpVersion6"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "IpVersion6"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___8.format = "%s:\n\nIPv6 Destination Port:%x\n"; descriptor___8.lineno = 302U; descriptor___8.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___13 != 0L) { tmp___12 = __fswab16((int )ushDestPort); __dynamic_pr_debug(& descriptor___8, "%s:\n\nIPv6 Destination Port:%x\n", "IpVersion6", (int )tmp___12); } else { } } else { } tmp___14 = __fswab16((int )ushDestPort); bClassificationSucceed = MatchDestPort(pstClassifierRule, (int )tmp___14); if (! bClassificationSucceed) { goto ldv_51795; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "IpVersion6"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___10.format = "%s:\n\nIPv6 Dest Port Matched"; descriptor___10.lineno = 308U; descriptor___10.flags = 0U; tmp___16 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___16 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\n\nIPv6 Dest Port Matched", "IpVersion6"); } else { } } else { } } else { } ldv_51795: ; if ((int )bClassificationSucceed) { iMatchedSFQueueIndex = 0; iMatchedSFQueueIndex = SearchSfid(Adapter, (UINT )pstClassifierRule->ulSFID); if (iMatchedSFQueueIndex > 16) { bClassificationSucceed = 0; } else if (! Adapter->PackInfo[iMatchedSFQueueIndex].bActive) { bClassificationSucceed = 0; } else { } } else { } return ((unsigned short )bClassificationSucceed); } } static bool MatchSrcIpv6Address(struct bcm_classifier_rule *pstClassifierRule , struct bcm_ipv6_hdr *pstIpv6Header ) { UINT uiLoopIndex ; UINT uiIpv6AddIndex ; UINT uiIpv6AddrNoLongWords ; ULONG aulSrcIP[4U] ; struct bcm_mini_adapter *Adapter ; void *tmp ; UINT uiCountIPSrcAddresses ; __u32 tmp___0 ; struct _ddebug descriptor___0 ; long tmp___2 ; struct _ddebug descriptor___2 ; long tmp___4 ; struct _ddebug descriptor___4 ; long tmp___6 ; struct _ddebug descriptor___6 ; long tmp___8 ; { uiLoopIndex = 0U; uiIpv6AddIndex = 0U; uiIpv6AddrNoLongWords = 4U; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; uiCountIPSrcAddresses = (unsigned int )pstClassifierRule->ucIPSourceAddressLength; if (uiCountIPSrcAddresses == 0U) { return (1); } else { } uiIpv6AddIndex = 0U; goto ldv_51818; ldv_51817: tmp___0 = __fswab32((unsigned int )pstIpv6Header->ulSrcIpAddress[uiIpv6AddIndex]); aulSrcIP[uiIpv6AddIndex] = (ULONG )tmp___0; uiIpv6AddIndex = uiIpv6AddIndex + 1U; ldv_51818: ; if (uiIpv6AddIndex < uiIpv6AddrNoLongWords) { goto ldv_51817; } else { } uiLoopIndex = 0U; goto ldv_51833; ldv_51832: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "MatchSrcIpv6Address"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___0.format = "%s:\n\n Src Ipv6 Address In Received Packet :\n "; descriptor___0.lineno = 352U; descriptor___0.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n\n Src Ipv6 Address In Received Packet :\n ", "MatchSrcIpv6Address"); } else { } } else { } DumpIpv6Address((unsigned long *)(& aulSrcIP)); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "MatchSrcIpv6Address"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___2.format = "%s:\n\n Src Ipv6 Mask In Classifier Rule:\n"; descriptor___2.lineno = 355U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\n\n Src Ipv6 Mask In Classifier Rule:\n", "MatchSrcIpv6Address"); } else { } } else { } DumpIpv6Address((unsigned long *)(& pstClassifierRule->stSrcIpAddress.ldv_50772.ulIpv6Mask) + (unsigned long )uiLoopIndex); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "MatchSrcIpv6Address"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___4.format = "%s:\n\n Src Ipv6 Address In Classifier Rule :\n"; descriptor___4.lineno = 358U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n\n Src Ipv6 Address In Classifier Rule :\n", "MatchSrcIpv6Address"); } else { } } else { } DumpIpv6Address((unsigned long *)(& pstClassifierRule->stSrcIpAddress.ldv_50772.ulIpv6Addr) + (unsigned long )uiLoopIndex); uiIpv6AddIndex = 0U; goto ldv_51831; ldv_51830: ; if ((pstClassifierRule->stSrcIpAddress.ldv_50772.ulIpv6Mask[uiLoopIndex + uiIpv6AddIndex] & aulSrcIP[uiIpv6AddIndex]) != pstClassifierRule->stSrcIpAddress.ldv_50772.ulIpv6Addr[uiLoopIndex + uiIpv6AddIndex]) { goto ldv_51827; } else { } if (uiIpv6AddrNoLongWords - 1U == uiIpv6AddIndex) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "MatchSrcIpv6Address"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___6.format = "%s:\nIpv6 Src Ip Address Matched\n"; descriptor___6.lineno = 375U; descriptor___6.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nIpv6 Src Ip Address Matched\n", "MatchSrcIpv6Address"); } else { } } else { } return (1); } else { } uiIpv6AddIndex = uiIpv6AddIndex + 1U; ldv_51831: ; if (uiIpv6AddIndex < uiIpv6AddrNoLongWords) { goto ldv_51830; } else { } ldv_51827: uiLoopIndex = uiLoopIndex + uiIpv6AddrNoLongWords; ldv_51833: ; if (uiLoopIndex < uiCountIPSrcAddresses) { goto ldv_51832; } else { } return (0); } } static bool MatchDestIpv6Address(struct bcm_classifier_rule *pstClassifierRule , struct bcm_ipv6_hdr *pstIpv6Header ) { UINT uiLoopIndex ; UINT uiIpv6AddIndex ; UINT uiIpv6AddrNoLongWords ; ULONG aulDestIP[4U] ; struct bcm_mini_adapter *Adapter ; void *tmp ; UINT uiCountIPDestinationAddresses ; __u32 tmp___0 ; struct _ddebug descriptor___0 ; long tmp___2 ; struct _ddebug descriptor___2 ; long tmp___4 ; struct _ddebug descriptor___4 ; long tmp___6 ; struct _ddebug descriptor___6 ; long tmp___8 ; { uiLoopIndex = 0U; uiIpv6AddIndex = 0U; uiIpv6AddrNoLongWords = 4U; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; uiCountIPDestinationAddresses = (unsigned int )pstClassifierRule->ucIPDestinationAddressLength; if (uiCountIPDestinationAddresses == 0U) { return (1); } else { } uiIpv6AddIndex = 0U; goto ldv_51846; ldv_51845: tmp___0 = __fswab32((unsigned int )pstIpv6Header->ulDestIpAddress[uiIpv6AddIndex]); aulDestIP[uiIpv6AddIndex] = (ULONG )tmp___0; uiIpv6AddIndex = uiIpv6AddIndex + 1U; ldv_51846: ; if (uiIpv6AddIndex < uiIpv6AddrNoLongWords) { goto ldv_51845; } else { } uiLoopIndex = 0U; goto ldv_51861; ldv_51860: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "MatchDestIpv6Address"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___0.format = "%s:\n\n Destination Ipv6 Address In Received Packet :\n "; descriptor___0.lineno = 409U; descriptor___0.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n\n Destination Ipv6 Address In Received Packet :\n ", "MatchDestIpv6Address"); } else { } } else { } DumpIpv6Address((unsigned long *)(& aulDestIP)); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "MatchDestIpv6Address"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___2.format = "%s:\n\n Destination Ipv6 Mask In Classifier Rule :\n"; descriptor___2.lineno = 412U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\n\n Destination Ipv6 Mask In Classifier Rule :\n", "MatchDestIpv6Address"); } else { } } else { } DumpIpv6Address((unsigned long *)(& pstClassifierRule->stDestIpAddress.ldv_50772.ulIpv6Mask) + (unsigned long )uiLoopIndex); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "MatchDestIpv6Address"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___4.format = "%s:\n\n Destination Ipv6 Address In Classifier Rule :\n"; descriptor___4.lineno = 415U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n\n Destination Ipv6 Address In Classifier Rule :\n", "MatchDestIpv6Address"); } else { } } else { } DumpIpv6Address((unsigned long *)(& pstClassifierRule->stDestIpAddress.ldv_50772.ulIpv6Addr) + (unsigned long )uiLoopIndex); uiIpv6AddIndex = 0U; goto ldv_51859; ldv_51858: ; if ((pstClassifierRule->stDestIpAddress.ldv_50772.ulIpv6Mask[uiLoopIndex + uiIpv6AddIndex] & aulDestIP[uiIpv6AddIndex]) != pstClassifierRule->stDestIpAddress.ldv_50772.ulIpv6Addr[uiLoopIndex + uiIpv6AddIndex]) { goto ldv_51855; } else { } if (uiIpv6AddrNoLongWords - 1U == uiIpv6AddIndex) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "MatchDestIpv6Address"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___6.format = "%s:\nIpv6 Destination Ip Address Matched\n"; descriptor___6.lineno = 432U; descriptor___6.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nIpv6 Destination Ip Address Matched\n", "MatchDestIpv6Address"); } else { } } else { } return (1); } else { } uiIpv6AddIndex = uiIpv6AddIndex + 1U; ldv_51859: ; if (uiIpv6AddIndex < uiIpv6AddrNoLongWords) { goto ldv_51858; } else { } ldv_51855: uiLoopIndex = uiLoopIndex + uiIpv6AddrNoLongWords; ldv_51861: ; if (uiLoopIndex < uiCountIPDestinationAddresses) { goto ldv_51860; } else { } return (0); } } void DumpIpv6Address(unsigned long *puIpv6Address ) { UINT uiIpv6AddrNoLongWords ; UINT uiIpv6AddIndex ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; { uiIpv6AddrNoLongWords = 4U; uiIpv6AddIndex = 0U; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; uiIpv6AddIndex = 0U; goto ldv_51873; ldv_51872: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "DumpIpv6Address"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___0.format = "%s:\n:%lx"; descriptor___0.lineno = 448U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n:%lx", "DumpIpv6Address", *(puIpv6Address + (unsigned long )uiIpv6AddIndex)); } else { } } else { } uiIpv6AddIndex = uiIpv6AddIndex + 1U; ldv_51873: ; if (uiIpv6AddIndex < uiIpv6AddrNoLongWords) { goto ldv_51872; } else { } return; } } static VOID DumpIpv6Header(struct bcm_ipv6_hdr *pstIpv6Header ) { UCHAR ucVersion ; UCHAR ucPrio ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; struct _ddebug descriptor___4 ; long tmp___5 ; struct _ddebug descriptor___6 ; __u16 tmp___8 ; long tmp___9 ; struct _ddebug descriptor___8 ; long tmp___11 ; struct _ddebug descriptor___10 ; long tmp___13 ; struct _ddebug descriptor___12 ; long tmp___15 ; struct _ddebug descriptor___14 ; long tmp___17 ; struct _ddebug descriptor___16 ; long tmp___19 ; { tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "DumpIpv6Header"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___0.format = "%s:\n----Ipv6 Header---"; descriptor___0.lineno = 459U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n----Ipv6 Header---", "DumpIpv6Header"); } else { } } else { } ucVersion = (unsigned int )pstIpv6Header->ucVersionPrio & 240U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "DumpIpv6Header"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___2.format = "%s:\nVersion : %x\n"; descriptor___2.lineno = 462U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nVersion : %x\n", "DumpIpv6Header", (int )ucVersion); } else { } } else { } ucPrio = (unsigned int )pstIpv6Header->ucVersionPrio & 15U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "DumpIpv6Header"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___4.format = "%s:\nPriority : %x\n"; descriptor___4.lineno = 465U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nPriority : %x\n", "DumpIpv6Header", (int )ucPrio); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "DumpIpv6Header"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___6.format = "%s:\nPayload Length : %x\n"; descriptor___6.lineno = 472U; descriptor___6.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___9 != 0L) { tmp___8 = __fswab16((int )pstIpv6Header->usPayloadLength); __dynamic_pr_debug(& descriptor___6, "%s:\nPayload Length : %x\n", "DumpIpv6Header", (int )tmp___8); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "DumpIpv6Header"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___8.format = "%s:\nNext Header : %x\n"; descriptor___8.lineno = 474U; descriptor___8.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nNext Header : %x\n", "DumpIpv6Header", (int )pstIpv6Header->ucNextHeader); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "DumpIpv6Header"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___10.format = "%s:\nHop Limit : %x\n"; descriptor___10.lineno = 476U; descriptor___10.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nHop Limit : %x\n", "DumpIpv6Header", (int )pstIpv6Header->ucHopLimit); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "DumpIpv6Header"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___12.format = "%s:\nSrc Address :\n"; descriptor___12.lineno = 478U; descriptor___12.flags = 0U; tmp___15 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___15 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nSrc Address :\n", "DumpIpv6Header"); } else { } } else { } DumpIpv6Address((unsigned long *)(& pstIpv6Header->ulSrcIpAddress)); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "DumpIpv6Header"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___14.format = "%s:\nDest Address :\n"; descriptor___14.lineno = 481U; descriptor___14.flags = 0U; tmp___17 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___17 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nDest Address :\n", "DumpIpv6Header"); } else { } } else { } DumpIpv6Address((unsigned long *)(& pstIpv6Header->ulDestIpAddress)); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 16384U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "DumpIpv6Header"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/IPv6Protocol.o.c.prepared"; descriptor___16.format = "%s:\n----Ipv6 Header End---"; descriptor___16.lineno = 484U; descriptor___16.flags = 0U; tmp___19 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___19 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\n----Ipv6 Header End---", "DumpIpv6Header"); } else { } } else { } return; } } int ldv_pskb_expand_head_392(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_394(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_396(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_397(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_398(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_399(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_400(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_401(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_402(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } extern void _raw_spin_lock_bh(raw_spinlock_t * ) ; extern void _raw_spin_unlock_bh(raw_spinlock_t * ) ; __inline static void ldv_spin_lock_bh_416(spinlock_t *lock ) { { _raw_spin_lock_bh(& lock->ldv_6347.rlock); return; } } __inline static void spin_lock_bh(spinlock_t *lock ) ; __inline static void ldv_spin_unlock_bh_420(spinlock_t *lock ) { { _raw_spin_unlock_bh(& lock->ldv_6347.rlock); return; } } __inline static void spin_unlock_bh(spinlock_t *lock ) ; struct sk_buff *ldv_skb_clone_438(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_446(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_440(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_436(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_444(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_445(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_441(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_442(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_443(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; void DumpFullPacket(UCHAR *pBuf , UINT nPktLen ) ; VOID flush_all_queues(struct bcm_mini_adapter *Adapter ) ; VOID PruneQueueAllSF(struct bcm_mini_adapter *Adapter ) ; USHORT ClassifyPacket(struct bcm_mini_adapter *Adapter , struct sk_buff *skb ) ; struct bcm_classifier_rule *GetFragIPClsEntry(struct bcm_mini_adapter *Adapter , USHORT usIpIdentification , ULONG SrcIP ) ; void AddFragIPClsEntry(struct bcm_mini_adapter *Adapter , struct bcm_fragmented_packet_info *psFragPktInfo ) ; void DelFragIPClsEntry(struct bcm_mini_adapter *Adapter , USHORT usIpIdentification , ULONG SrcIp ) ; static void EThCSGetPktInfo(struct bcm_mini_adapter *Adapter , PVOID pvEthPayload , struct bcm_eth_packet_info *pstEthCsPktInfo ) ; static bool EThCSClassifyPkt(struct bcm_mini_adapter *Adapter , struct sk_buff *skb , struct bcm_eth_packet_info *pstEthCsPktInfo , struct bcm_classifier_rule *pstClassifierRule , B_UINT8 EthCSCupport ) ; static USHORT IpVersion4(struct bcm_mini_adapter *Adapter , struct iphdr *iphd , struct bcm_classifier_rule *pstClassifierRule ) ; static VOID PruneQueue(struct bcm_mini_adapter *Adapter , INT iIndex ) ; static bool MatchSrcIpAddress(struct bcm_classifier_rule *pstClassifierRule , ULONG ulSrcIP ) { UCHAR ucLoopIndex ; struct bcm_mini_adapter *Adapter ; void *tmp ; __u32 tmp___0 ; struct _ddebug descriptor___0 ; long tmp___2 ; struct _ddebug descriptor___2 ; long tmp___4 ; { ucLoopIndex = 0U; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; tmp___0 = __fswab32((unsigned int )ulSrcIP); ulSrcIP = (ULONG )tmp___0; if ((unsigned int )pstClassifierRule->ucIPSourceAddressLength == 0U) { return (1); } else { } ucLoopIndex = 0U; goto ldv_51738; ldv_51737: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "MatchSrcIpAddress"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___0.format = "%s:\nSrc Ip Address Mask:0x%x PacketIp:0x%x and Classification:0x%x"; descriptor___0.lineno = 80U; descriptor___0.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nSrc Ip Address Mask:0x%x PacketIp:0x%x and Classification:0x%x", "MatchSrcIpAddress", (unsigned int )pstClassifierRule->stSrcIpAddress.ldv_50768.ulIpv4Mask[(int )ucLoopIndex], (unsigned int )ulSrcIP, (unsigned int )pstClassifierRule->stSrcIpAddress.ldv_50772.ulIpv6Addr[(int )ucLoopIndex]); } else { } } else { } if (((pstClassifierRule->stSrcIpAddress.ldv_50768.ulIpv4Addr[(int )ucLoopIndex] ^ ulSrcIP) & pstClassifierRule->stSrcIpAddress.ldv_50768.ulIpv4Mask[(int )ucLoopIndex]) == 0UL) { return (1); } else { } ucLoopIndex = (UCHAR )((int )ucLoopIndex + 1); ldv_51738: ; if ((int )pstClassifierRule->ucIPSourceAddressLength > (int )ucLoopIndex) { goto ldv_51737; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "MatchSrcIpAddress"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___2.format = "%s:\nSrc Ip Address Not Matched"; descriptor___2.lineno = 85U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nSrc Ip Address Not Matched", "MatchSrcIpAddress"); } else { } } else { } return (0); } } static bool MatchDestIpAddress(struct bcm_classifier_rule *pstClassifierRule , ULONG ulDestIP ) { UCHAR ucLoopIndex ; struct bcm_mini_adapter *Adapter ; void *tmp ; __u32 tmp___0 ; struct _ddebug descriptor___0 ; long tmp___2 ; struct _ddebug descriptor___2 ; long tmp___4 ; { ucLoopIndex = 0U; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; tmp___0 = __fswab32((unsigned int )ulDestIP); ulDestIP = (ULONG )tmp___0; if ((unsigned int )pstClassifierRule->ucIPDestinationAddressLength == 0U) { return (1); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "MatchDestIpAddress"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___0.format = "%s:\nDestination Ip Address 0x%x 0x%x 0x%x "; descriptor___0.lineno = 109U; descriptor___0.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nDestination Ip Address 0x%x 0x%x 0x%x ", "MatchDestIpAddress", (unsigned int )ulDestIP, (unsigned int )pstClassifierRule->stDestIpAddress.ldv_50768.ulIpv4Mask[(int )ucLoopIndex], (unsigned int )pstClassifierRule->stDestIpAddress.ldv_50768.ulIpv4Addr[(int )ucLoopIndex]); } else { } } else { } ucLoopIndex = 0U; goto ldv_51752; ldv_51751: ; if (((pstClassifierRule->stDestIpAddress.ldv_50768.ulIpv4Addr[(int )ucLoopIndex] ^ ulDestIP) & pstClassifierRule->stDestIpAddress.ldv_50768.ulIpv4Mask[(int )ucLoopIndex]) == 0UL) { return (1); } else { } ucLoopIndex = (UCHAR )((int )ucLoopIndex + 1); ldv_51752: ; if ((int )pstClassifierRule->ucIPDestinationAddressLength > (int )ucLoopIndex) { goto ldv_51751; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "MatchDestIpAddress"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___2.format = "%s:\nDestination Ip Address Not Matched"; descriptor___2.lineno = 116U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nDestination Ip Address Not Matched", "MatchDestIpAddress"); } else { } } else { } return (0); } } static bool MatchTos(struct bcm_classifier_rule *pstClassifierRule , UCHAR ucTypeOfService ) { struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; { tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if ((unsigned int )pstClassifierRule->ucIPTypeOfServiceLength != 3U) { return (1); } else { } if (((int )pstClassifierRule->ucTosMask & (int )ucTypeOfService) <= (int )pstClassifierRule->ucTosHigh && ((int )pstClassifierRule->ucTosMask & (int )ucTypeOfService) >= (int )pstClassifierRule->ucTosLow) { return (1); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "MatchTos"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___0.format = "%s:\nType Of Service Not Matched"; descriptor___0.lineno = 141U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nType Of Service Not Matched", "MatchTos"); } else { } } else { } return (0); } } bool MatchProtocol(struct bcm_classifier_rule *pstClassifierRule , unsigned char ucProtocol ) { UCHAR ucLoopIndex ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; { ucLoopIndex = 0U; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if ((unsigned int )pstClassifierRule->ucProtocolLength == 0U) { return (1); } else { } ucLoopIndex = 0U; goto ldv_51774; ldv_51773: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "MatchProtocol"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___0.format = "%s:\nProtocol:0x%X Classification Protocol:0x%X"; descriptor___0.lineno = 163U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nProtocol:0x%X Classification Protocol:0x%X", "MatchProtocol", (int )ucProtocol, (int )pstClassifierRule->ucProtocol[(int )ucLoopIndex]); } else { } } else { } if ((int )pstClassifierRule->ucProtocol[(int )ucLoopIndex] == (int )ucProtocol) { return (1); } else { } ucLoopIndex = (UCHAR )((int )ucLoopIndex + 1); ldv_51774: ; if ((int )pstClassifierRule->ucProtocolLength > (int )ucLoopIndex) { goto ldv_51773; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "MatchProtocol"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___2.format = "%s:\nProtocol Not Matched"; descriptor___2.lineno = 167U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nProtocol Not Matched", "MatchProtocol"); } else { } } else { } return (0); } } bool MatchSrcPort(struct bcm_classifier_rule *pstClassifierRule , unsigned short ushSrcPort ) { UCHAR ucLoopIndex ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; { ucLoopIndex = 0U; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if ((unsigned int )pstClassifierRule->ucSrcPortRangeLength == 0U) { return (1); } else { } ucLoopIndex = 0U; goto ldv_51785; ldv_51784: ; if ((int )pstClassifierRule->usSrcPortRangeHi[(int )ucLoopIndex] >= (int )ushSrcPort && (int )pstClassifierRule->usSrcPortRangeLo[(int )ucLoopIndex] <= (int )ushSrcPort) { return (1); } else { } ucLoopIndex = (UCHAR )((int )ucLoopIndex + 1); ldv_51785: ; if ((int )pstClassifierRule->ucSrcPortRangeLength > (int )ucLoopIndex) { goto ldv_51784; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "MatchSrcPort"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___0.format = "%s:\nSrc Port: %x Not Matched "; descriptor___0.lineno = 196U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nSrc Port: %x Not Matched ", "MatchSrcPort", (int )ushSrcPort); } else { } } else { } return (0); } } bool MatchDestPort(struct bcm_classifier_rule *pstClassifierRule , unsigned short ushDestPort ) { UCHAR ucLoopIndex ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; { ucLoopIndex = 0U; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if ((unsigned int )pstClassifierRule->ucDestPortRangeLength == 0U) { return (1); } else { } ucLoopIndex = 0U; goto ldv_51800; ldv_51799: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "MatchDestPort"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___0.format = "%s:\nMatching Port:0x%X 0x%X 0x%X"; descriptor___0.lineno = 220U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nMatching Port:0x%X 0x%X 0x%X", "MatchDestPort", (int )ushDestPort, (int )pstClassifierRule->usDestPortRangeLo[(int )ucLoopIndex], (int )pstClassifierRule->usDestPortRangeHi[(int )ucLoopIndex]); } else { } } else { } if ((int )pstClassifierRule->usDestPortRangeHi[(int )ucLoopIndex] >= (int )ushDestPort && (int )pstClassifierRule->usDestPortRangeLo[(int )ucLoopIndex] <= (int )ushDestPort) { return (1); } else { } ucLoopIndex = (UCHAR )((int )ucLoopIndex + 1); ldv_51800: ; if ((int )pstClassifierRule->ucDestPortRangeLength > (int )ucLoopIndex) { goto ldv_51799; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "MatchDestPort"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___2.format = "%s:\nDest Port: %x Not Matched"; descriptor___2.lineno = 226U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nDest Port: %x Not Matched", "MatchDestPort", (int )ushDestPort); } else { } } else { } return (0); } } static USHORT IpVersion4(struct bcm_mini_adapter *Adapter , struct iphdr *iphd , struct bcm_classifier_rule *pstClassifierRule ) { struct bcm_transport_header *xprt_hdr ; bool bClassificationSucceed ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; struct _ddebug descriptor___6 ; long tmp___6 ; bool tmp___7 ; int tmp___8 ; struct _ddebug descriptor___8 ; long tmp___10 ; bool tmp___11 ; int tmp___12 ; struct _ddebug descriptor___10 ; long tmp___14 ; struct _ddebug descriptor___12 ; long tmp___16 ; bool tmp___17 ; int tmp___18 ; struct _ddebug descriptor___14 ; long tmp___20 ; bool tmp___21 ; int tmp___22 ; struct _ddebug descriptor___16 ; long tmp___24 ; struct _ddebug descriptor___18 ; long tmp___26 ; __u16 tmp___27 ; bool tmp___28 ; int tmp___29 ; struct _ddebug descriptor___20 ; long tmp___31 ; struct _ddebug descriptor___22 ; long tmp___33 ; __u16 tmp___34 ; bool tmp___35 ; int tmp___36 ; INT iMatchedSFQueueIndex ; struct _ddebug descriptor___24 ; long tmp___38 ; { xprt_hdr = (struct bcm_transport_header *)0; bClassificationSucceed = 0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "IpVersion4"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___0.format = "%s:\n========>"; descriptor___0.lineno = 241U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n========>", "IpVersion4"); } else { } } else { } xprt_hdr = (struct bcm_transport_header *)iphd + 20U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "IpVersion4"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___2.format = "%s:\nTrying to see Direction = %d %d"; descriptor___2.lineno = 248U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nTrying to see Direction = %d %d", "IpVersion4", (int )pstClassifierRule->ucDirection, (int )pstClassifierRule->usVCID_Value); } else { } } else { } if (! pstClassifierRule->bUsed || (unsigned int )pstClassifierRule->ucDirection == 0U) { goto ldv_51816; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "IpVersion4"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___4.format = "%s:\nis IPv6 check!"; descriptor___4.lineno = 254U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nis IPv6 check!", "IpVersion4"); } else { } } else { } if ((int )pstClassifierRule->bIpv6Protocol) { goto ldv_51816; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "IpVersion4"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___6.format = "%s:\nTrying to match Source IP Address"; descriptor___6.lineno = 259U; descriptor___6.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nTrying to match Source IP Address", "IpVersion4"); } else { } } else { } tmp___7 = MatchSrcIpAddress(pstClassifierRule, (ULONG )iphd->saddr); if (tmp___7) { tmp___8 = 0; } else { tmp___8 = 1; } if (tmp___8) { goto ldv_51816; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "IpVersion4"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___8.format = "%s:\nSource IP Address Matched"; descriptor___8.lineno = 262U; descriptor___8.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nSource IP Address Matched", "IpVersion4"); } else { } } else { } tmp___11 = MatchDestIpAddress(pstClassifierRule, (ULONG )iphd->daddr); if (tmp___11) { tmp___12 = 0; } else { tmp___12 = 1; } if (tmp___12) { goto ldv_51816; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "IpVersion4"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___10.format = "%s:\nDestination IP Address Matched"; descriptor___10.lineno = 266U; descriptor___10.flags = 0U; tmp___14 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___14 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nDestination IP Address Matched", "IpVersion4"); } else { } } else { } tmp___17 = MatchTos(pstClassifierRule, (int )iphd->tos); if (tmp___17) { tmp___18 = 0; } else { tmp___18 = 1; } if (tmp___18) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "IpVersion4"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___12.format = "%s:\nTOS Match failed\n"; descriptor___12.lineno = 269U; descriptor___12.flags = 0U; tmp___16 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___16 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nTOS Match failed\n", "IpVersion4"); } else { } } else { } goto ldv_51816; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "IpVersion4"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___14.format = "%s:\nTOS Matched"; descriptor___14.lineno = 272U; descriptor___14.flags = 0U; tmp___20 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___20 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nTOS Matched", "IpVersion4"); } else { } } else { } tmp___21 = MatchProtocol(pstClassifierRule, (int )iphd->protocol); if (tmp___21) { tmp___22 = 0; } else { tmp___22 = 1; } if (tmp___22) { goto ldv_51816; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "IpVersion4"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___16.format = "%s:\nProtocol Matched"; descriptor___16.lineno = 276U; descriptor___16.flags = 0U; tmp___24 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___24 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\nProtocol Matched", "IpVersion4"); } else { } } else { } if ((unsigned int )iphd->protocol != 6U && (unsigned int )iphd->protocol != 17U) { bClassificationSucceed = 1; goto ldv_51816; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___18.modname = "bcm_wimax"; descriptor___18.function = "IpVersion4"; descriptor___18.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___18.format = "%s:\nSource Port %04x"; descriptor___18.lineno = 285U; descriptor___18.flags = 0U; tmp___26 = ldv__builtin_expect((long )descriptor___18.flags & 1L, 0L); if (tmp___26 != 0L) { __dynamic_pr_debug(& descriptor___18, "%s:\nSource Port %04x", "IpVersion4", (unsigned int )iphd->protocol == 17U ? (int )xprt_hdr->ldv_51242.uhdr.source : (int )xprt_hdr->ldv_51242.thdr.source); } else { } } else { } tmp___27 = __fswab16((unsigned int )iphd->protocol == 17U ? xprt_hdr->ldv_51242.uhdr.source : xprt_hdr->ldv_51242.thdr.source); tmp___28 = MatchSrcPort(pstClassifierRule, (int )tmp___27); if (tmp___28) { tmp___29 = 0; } else { tmp___29 = 1; } if (tmp___29) { goto ldv_51816; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___20.modname = "bcm_wimax"; descriptor___20.function = "IpVersion4"; descriptor___20.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___20.format = "%s:\nSrc Port Matched"; descriptor___20.lineno = 291U; descriptor___20.flags = 0U; tmp___31 = ldv__builtin_expect((long )descriptor___20.flags & 1L, 0L); if (tmp___31 != 0L) { __dynamic_pr_debug(& descriptor___20, "%s:\nSrc Port Matched", "IpVersion4"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___22.modname = "bcm_wimax"; descriptor___22.function = "IpVersion4"; descriptor___22.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___22.format = "%s:\nDestination Port %04x"; descriptor___22.lineno = 295U; descriptor___22.flags = 0U; tmp___33 = ldv__builtin_expect((long )descriptor___22.flags & 1L, 0L); if (tmp___33 != 0L) { __dynamic_pr_debug(& descriptor___22, "%s:\nDestination Port %04x", "IpVersion4", (unsigned int )iphd->protocol == 17U ? (int )xprt_hdr->ldv_51242.uhdr.dest : (int )xprt_hdr->ldv_51242.thdr.dest); } else { } } else { } tmp___34 = __fswab16((unsigned int )iphd->protocol == 17U ? xprt_hdr->ldv_51242.uhdr.dest : xprt_hdr->ldv_51242.thdr.dest); tmp___35 = MatchDestPort(pstClassifierRule, (int )tmp___34); if (tmp___35) { tmp___36 = 0; } else { tmp___36 = 1; } if (tmp___36) { goto ldv_51816; } else { } bClassificationSucceed = 1; ldv_51816: ; if ((int )bClassificationSucceed) { iMatchedSFQueueIndex = 0; iMatchedSFQueueIndex = SearchSfid(Adapter, (UINT )pstClassifierRule->ulSFID); if (iMatchedSFQueueIndex > 16) { bClassificationSucceed = 0; } else if (! Adapter->PackInfo[iMatchedSFQueueIndex].bActive) { bClassificationSucceed = 0; } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___24.modname = "bcm_wimax"; descriptor___24.function = "IpVersion4"; descriptor___24.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___24.format = "%s:\nIpVersion4 <=========="; descriptor___24.lineno = 312U; descriptor___24.flags = 0U; tmp___38 = ldv__builtin_expect((long )descriptor___24.flags & 1L, 0L); if (tmp___38 != 0L) { __dynamic_pr_debug(& descriptor___24, "%s:\nIpVersion4 <==========", "IpVersion4"); } else { } } else { } return ((USHORT )bClassificationSucceed); } } VOID PruneQueueAllSF(struct bcm_mini_adapter *Adapter ) { UINT iIndex ; { iIndex = 0U; iIndex = 0U; goto ldv_51846; ldv_51845: ; if (! Adapter->PackInfo[iIndex].bValid) { goto ldv_51844; } else { } PruneQueue(Adapter, (INT )iIndex); ldv_51844: iIndex = iIndex + 1U; ldv_51846: ; if (iIndex <= 15U) { goto ldv_51845; } else { } return; } } static VOID PruneQueue(struct bcm_mini_adapter *Adapter , INT iIndex ) { struct sk_buff *PacketToDrop ; struct net_device_stats *netstats ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; struct _ddebug descriptor___6 ; int tmp___7 ; long tmp___8 ; struct _ddebug descriptor___8 ; long tmp___10 ; { PacketToDrop = (struct sk_buff *)0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 32768U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "PruneQueue"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___0.format = "%s:\n=====> Index %d"; descriptor___0.lineno = 342U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n=====> Index %d", "PruneQueue", iIndex); } else { } } else { } if (iIndex == 16) { return; } else { } if (((unsigned long )Adapter == (unsigned long )((struct bcm_mini_adapter *)0) || iIndex < 0) || iIndex > 16) { return; } else { } netstats = & (Adapter->dev)->stats; spin_lock_bh(& Adapter->PackInfo[iIndex].SFQueueLock); ldv_51862: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 32768U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "PruneQueue"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___2.format = "%s:\nuiCurrentBytesOnHost:%x uiMaxBucketSize :%x"; descriptor___2.lineno = 361U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nuiCurrentBytesOnHost:%x uiMaxBucketSize :%x", "PruneQueue", Adapter->PackInfo[iIndex].uiCurrentBytesOnHost, Adapter->PackInfo[iIndex].uiMaxBucketSize); } else { } } else { } PacketToDrop = Adapter->PackInfo[iIndex].ldv_50875.ldv_50870.FirstTxQueue; if ((unsigned long )PacketToDrop == (unsigned long )((struct sk_buff *)0)) { goto ldv_51859; } else { } if (Adapter->PackInfo[iIndex].uiCurrentPacketsOnHost <= 127U && (((unsigned long )jiffies - (unsigned long )*((B_UINT32 *)(& PacketToDrop->cb) + 1UL)) * 1000UL) / 250UL <= (unsigned long )Adapter->PackInfo[iIndex].uiMaxLatency) { goto ldv_51859; } else { } if ((unsigned long )PacketToDrop != (unsigned long )((struct sk_buff *)0)) { if ((Adapter->msg_enable & 128U) != 0U) { printk("\016beceem %s: tx queue %d overlimit\n", (char *)(& (Adapter->dev)->name), iIndex); } else { } netstats->tx_dropped = netstats->tx_dropped + 1UL; if ((unsigned long )Adapter->PackInfo[iIndex].ldv_50875.ldv_50870.FirstTxQueue != (unsigned long )((struct sk_buff *)0)) { if ((unsigned long )(Adapter->PackInfo[iIndex].ldv_50875.ldv_50870.FirstTxQueue)->next == (unsigned long )((struct sk_buff *)0)) { Adapter->PackInfo[iIndex].ldv_50875.ldv_50870.LastTxQueue = (struct sk_buff *)0; } else { } Adapter->PackInfo[iIndex].ldv_50875.ldv_50870.FirstTxQueue = (Adapter->PackInfo[iIndex].ldv_50875.ldv_50870.FirstTxQueue)->next; } else { } Adapter->PackInfo[iIndex].uiCurrentBytesOnHost = Adapter->PackInfo[iIndex].uiCurrentBytesOnHost - PacketToDrop->len; Adapter->PackInfo[iIndex].uiCurrentPacketsOnHost = Adapter->PackInfo[iIndex].uiCurrentPacketsOnHost - 1U; Adapter->PackInfo[iIndex].uiDroppedCountBytes = Adapter->PackInfo[iIndex].uiDroppedCountBytes + PacketToDrop->len; Adapter->PackInfo[iIndex].uiDroppedCountPackets = Adapter->PackInfo[iIndex].uiDroppedCountPackets + 1U; consume_skb(PacketToDrop); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 32768U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "PruneQueue"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___4.format = "%s:\nDropped Bytes:%x Dropped Packets:%x"; descriptor___4.lineno = 393U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nDropped Bytes:%x Dropped Packets:%x", "PruneQueue", Adapter->PackInfo[iIndex].uiDroppedCountBytes, Adapter->PackInfo[iIndex].uiDroppedCountPackets); } else { } } else { } atomic_dec(& Adapter->TotalPacketCount); goto ldv_51862; ldv_51859: spin_unlock_bh(& Adapter->PackInfo[iIndex].SFQueueLock); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 32768U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "PruneQueue"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___6.format = "%s:\nTotalPacketCount:%x"; descriptor___6.lineno = 401U; descriptor___6.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___8 != 0L) { tmp___7 = atomic_read((atomic_t const *)(& Adapter->TotalPacketCount)); __dynamic_pr_debug(& descriptor___6, "%s:\nTotalPacketCount:%x", "PruneQueue", tmp___7); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 32768U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "PruneQueue"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___8.format = "%s:\n<====="; descriptor___8.lineno = 402U; descriptor___8.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\n<=====", "PruneQueue"); } else { } } else { } return; } } VOID flush_all_queues(struct bcm_mini_adapter *Adapter ) { INT iQIndex ; UINT uiTotalPacketLength ; struct sk_buff *PacketToDrop ; struct _ddebug descriptor___0 ; long tmp___0 ; struct net_device_stats *netstats ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; { PacketToDrop = (struct sk_buff *)0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "flush_all_queues"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___0.format = "%s:\n=====>"; descriptor___0.lineno = 411U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n=====>", "flush_all_queues"); } else { } } else { } iQIndex = 0; goto ldv_51883; ldv_51882: netstats = & (Adapter->dev)->stats; spin_lock_bh(& Adapter->PackInfo[iQIndex].SFQueueLock); goto ldv_51880; ldv_51879: PacketToDrop = Adapter->PackInfo[iQIndex].ldv_50875.ldv_50870.FirstTxQueue; if ((unsigned long )PacketToDrop != (unsigned long )((struct sk_buff *)0)) { uiTotalPacketLength = PacketToDrop->len; netstats->tx_dropped = netstats->tx_dropped + 1UL; } else { uiTotalPacketLength = 0U; } if ((unsigned long )Adapter->PackInfo[iQIndex].ldv_50875.ldv_50870.FirstTxQueue != (unsigned long )((struct sk_buff *)0)) { if ((unsigned long )(Adapter->PackInfo[iQIndex].ldv_50875.ldv_50870.FirstTxQueue)->next == (unsigned long )((struct sk_buff *)0)) { Adapter->PackInfo[iQIndex].ldv_50875.ldv_50870.LastTxQueue = (struct sk_buff *)0; } else { } Adapter->PackInfo[iQIndex].ldv_50875.ldv_50870.FirstTxQueue = (Adapter->PackInfo[iQIndex].ldv_50875.ldv_50870.FirstTxQueue)->next; } else { } consume_skb(PacketToDrop); Adapter->PackInfo[iQIndex].uiCurrentBytesOnHost = Adapter->PackInfo[iQIndex].uiCurrentBytesOnHost - uiTotalPacketLength; Adapter->PackInfo[iQIndex].uiCurrentPacketsOnHost = Adapter->PackInfo[iQIndex].uiCurrentPacketsOnHost - 1U; Adapter->PackInfo[iQIndex].uiDroppedCountBytes = Adapter->PackInfo[iQIndex].uiDroppedCountBytes + uiTotalPacketLength; Adapter->PackInfo[iQIndex].uiDroppedCountPackets = Adapter->PackInfo[iQIndex].uiDroppedCountPackets + 1U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "flush_all_queues"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___2.format = "%s:\nDropped Bytes:%x Dropped Packets:%x"; descriptor___2.lineno = 442U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nDropped Bytes:%x Dropped Packets:%x", "flush_all_queues", Adapter->PackInfo[iQIndex].uiDroppedCountBytes, Adapter->PackInfo[iQIndex].uiDroppedCountPackets); } else { } } else { } atomic_dec(& Adapter->TotalPacketCount); ldv_51880: ; if ((unsigned long )Adapter->PackInfo[iQIndex].ldv_50875.ldv_50870.FirstTxQueue != (unsigned long )((struct sk_buff *)0)) { goto ldv_51879; } else { } spin_unlock_bh(& Adapter->PackInfo[iQIndex].SFQueueLock); iQIndex = iQIndex + 1; ldv_51883: ; if (iQIndex <= 15) { goto ldv_51882; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "flush_all_queues"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___4.format = "%s:\n<====="; descriptor___4.lineno = 448U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n<=====", "flush_all_queues"); } else { } } else { } return; } } USHORT ClassifyPacket(struct bcm_mini_adapter *Adapter , struct sk_buff *skb ) { INT uiLoopIndex ; struct bcm_classifier_rule *pstClassifierRule ; struct bcm_eth_packet_info stEthCsPktInfo ; PVOID pvEThPayload ; struct iphdr *pIpHeader ; INT uiSfIndex ; USHORT usIndex ; bool bFragmentedPkt ; bool bClassificationSucceed ; USHORT usCurrFragment ; struct bcm_tcp_header *pTcpHeader ; UCHAR IpHeaderLength ; UCHAR TcpHeaderLength ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; struct _ddebug descriptor___6 ; long tmp___6 ; struct _ddebug descriptor___8 ; long tmp___8 ; __u16 tmp___9 ; __u16 tmp___10 ; struct _ddebug descriptor___10 ; long tmp___12 ; struct _ddebug descriptor___12 ; long tmp___14 ; __u16 tmp___15 ; struct _ddebug descriptor___14 ; long tmp___17 ; struct _ddebug descriptor___16 ; long tmp___19 ; struct _ddebug descriptor___18 ; long tmp___21 ; struct _ddebug descriptor___20 ; long tmp___23 ; struct _ddebug descriptor___22 ; long tmp___25 ; struct _ddebug descriptor___24 ; long tmp___27 ; struct _ddebug descriptor___26 ; long tmp___29 ; struct _ddebug descriptor___28 ; long tmp___31 ; struct _ddebug descriptor___30 ; long tmp___33 ; USHORT tmp___34 ; unsigned short tmp___35 ; struct _ddebug descriptor___32 ; long tmp___37 ; __u16 tmp___38 ; INT tmp___39 ; struct _ddebug descriptor___34 ; long tmp___41 ; struct bcm_fragmented_packet_info stFragPktInfo ; { uiLoopIndex = 0; pstClassifierRule = (struct bcm_classifier_rule *)0; pvEThPayload = (void *)0; pIpHeader = (struct iphdr *)0; uiSfIndex = 0; usIndex = Adapter->usBestEffortQueueIndex; bFragmentedPkt = 0; bClassificationSucceed = 0; usCurrFragment = 0U; pvEThPayload = (PVOID )skb->data; *((UINT32 *)(& skb->cb) + 2UL) = 0U; EThCSGetPktInfo(Adapter, pvEThPayload, & stEthCsPktInfo); switch ((unsigned int )stEthCsPktInfo.eNwpktEthFrameType) { case 1U: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "ClassifyPacket"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___0.format = "%s:\nClassifyPacket : 802LLCFrame\n"; descriptor___0.lineno = 473U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nClassifyPacket : 802LLCFrame\n", "ClassifyPacket"); } else { } } else { } pIpHeader = (struct iphdr *)pvEThPayload + 17U; goto ldv_51908; case 2U: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "ClassifyPacket"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___2.format = "%s:\nClassifyPacket : 802LLC SNAP Frame\n"; descriptor___2.lineno = 477U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nClassifyPacket : 802LLC SNAP Frame\n", "ClassifyPacket"); } else { } } else { } pIpHeader = (struct iphdr *)pvEThPayload + 22U; goto ldv_51908; case 3U: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "ClassifyPacket"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___4.format = "%s:\nClassifyPacket : 802.1Q VLANFrame\n"; descriptor___4.lineno = 481U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nClassifyPacket : 802.1Q VLANFrame\n", "ClassifyPacket"); } else { } } else { } pIpHeader = (struct iphdr *)pvEThPayload + 18U; goto ldv_51908; case 4U: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "ClassifyPacket"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___6.format = "%s:\nClassifyPacket : ETH Other Frame\n"; descriptor___6.lineno = 485U; descriptor___6.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nClassifyPacket : ETH Other Frame\n", "ClassifyPacket"); } else { } } else { } pIpHeader = (struct iphdr *)pvEThPayload + 14U; goto ldv_51908; default: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "ClassifyPacket"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___8.format = "%s:\nClassifyPacket : Unrecognized ETH Frame\n"; descriptor___8.lineno = 489U; descriptor___8.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nClassifyPacket : Unrecognized ETH Frame\n", "ClassifyPacket"); } else { } } else { } pIpHeader = (struct iphdr *)pvEThPayload + 14U; goto ldv_51908; } ldv_51908: ; if ((unsigned int )stEthCsPktInfo.eNwpktIPFrameType == 1U) { tmp___9 = __fswab16((int )pIpHeader->frag_off); usCurrFragment = (unsigned int )tmp___9 & 8191U; tmp___10 = __fswab16((int )pIpHeader->frag_off); if (((int )tmp___10 & 8192) != 0 || (unsigned int )usCurrFragment != 0U) { bFragmentedPkt = 1; } else { } if ((int )bFragmentedPkt) { pstClassifierRule = GetFragIPClsEntry(Adapter, (int )pIpHeader->id, (ULONG )pIpHeader->saddr); if ((unsigned long )pstClassifierRule != (unsigned long )((struct bcm_classifier_rule *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "ClassifyPacket"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___10.format = "%s:\nIt is next Fragmented pkt"; descriptor___10.lineno = 503U; descriptor___10.flags = 0U; tmp___12 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___12 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nIt is next Fragmented pkt", "ClassifyPacket"); } else { } } else { } bClassificationSucceed = 1; } else { } tmp___15 = __fswab16((int )pIpHeader->frag_off); if (((int )tmp___15 & 8192) == 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "ClassifyPacket"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___12.format = "%s:\nThis is the last fragmented Pkt"; descriptor___12.lineno = 508U; descriptor___12.flags = 0U; tmp___14 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___14 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nThis is the last fragmented Pkt", "ClassifyPacket"); } else { } } else { } DelFragIPClsEntry(Adapter, (int )pIpHeader->id, (ULONG )pIpHeader->saddr); } else { } } else { } } else { } uiLoopIndex = 99; goto ldv_51946; ldv_51945: ; if ((int )bClassificationSucceed) { goto ldv_51925; } else { } if (! Adapter->astClassifierTable[uiLoopIndex].bUsed) { bClassificationSucceed = 0; goto ldv_51926; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "ClassifyPacket"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___14.format = "%s:\nAdapter->PackInfo[%d].bvalid=True\n"; descriptor___14.lineno = 524U; descriptor___14.flags = 0U; tmp___17 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___17 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nAdapter->PackInfo[%d].bvalid=True\n", "ClassifyPacket", uiLoopIndex); } else { } } else { } if ((unsigned int )Adapter->astClassifierTable[uiLoopIndex].ucDirection == 0U) { bClassificationSucceed = 0; goto ldv_51926; } else { } pstClassifierRule = (struct bcm_classifier_rule *)(& Adapter->astClassifierTable) + (unsigned long )uiLoopIndex; uiSfIndex = SearchSfid(Adapter, (UINT )pstClassifierRule->ulSFID); if (uiSfIndex > 16) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "ClassifyPacket"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___16.format = "%s:\nQueue Not Valid. SearchSfid for this classifier Failed\n"; descriptor___16.lineno = 535U; descriptor___16.flags = 0U; tmp___19 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___19 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\nQueue Not Valid. SearchSfid for this classifier Failed\n", "ClassifyPacket"); } else { } } else { } goto ldv_51926; } else { } if ((unsigned int )Adapter->PackInfo[uiSfIndex].bEthCSSupport != 0U) { if ((unsigned int )stEthCsPktInfo.eNwpktEthFrameType == 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___18.modname = "bcm_wimax"; descriptor___18.function = "ClassifyPacket"; descriptor___18.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___18.format = "%s:\n ClassifyPacket : Packet Not a Valid Supported Ethernet Frame\n"; descriptor___18.lineno = 542U; descriptor___18.flags = 0U; tmp___21 = ldv__builtin_expect((long )descriptor___18.flags & 1L, 0L); if (tmp___21 != 0L) { __dynamic_pr_debug(& descriptor___18, "%s:\n ClassifyPacket : Packet Not a Valid Supported Ethernet Frame\n", "ClassifyPacket"); } else { } } else { } bClassificationSucceed = 0; goto ldv_51926; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___20.modname = "bcm_wimax"; descriptor___20.function = "ClassifyPacket"; descriptor___20.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___20.format = "%s:\nPerforming ETH CS Classification on Classifier Rule ID : %x Service Flow ID : %lx\n"; descriptor___20.lineno = 549U; descriptor___20.flags = 0U; tmp___23 = ldv__builtin_expect((long )descriptor___20.flags & 1L, 0L); if (tmp___23 != 0L) { __dynamic_pr_debug(& descriptor___20, "%s:\nPerforming ETH CS Classification on Classifier Rule ID : %x Service Flow ID : %lx\n", "ClassifyPacket", (int )pstClassifierRule->uiClassifierRuleIndex, Adapter->PackInfo[uiSfIndex].ulSFID); } else { } } else { } bClassificationSucceed = EThCSClassifyPkt(Adapter, skb, & stEthCsPktInfo, pstClassifierRule, (int )Adapter->PackInfo[uiSfIndex].bEthCSSupport); if (! bClassificationSucceed) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___22.modname = "bcm_wimax"; descriptor___22.function = "ClassifyPacket"; descriptor___22.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___22.format = "%s:\nClassifyPacket : Ethernet CS Classification Failed\n"; descriptor___22.lineno = 553U; descriptor___22.flags = 0U; tmp___25 = ldv__builtin_expect((long )descriptor___22.flags & 1L, 0L); if (tmp___25 != 0L) { __dynamic_pr_debug(& descriptor___22, "%s:\nClassifyPacket : Ethernet CS Classification Failed\n", "ClassifyPacket"); } else { } } else { } goto ldv_51926; } else { } } else if ((unsigned int )stEthCsPktInfo.eNwpktEthFrameType != 4U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___24.modname = "bcm_wimax"; descriptor___24.function = "ClassifyPacket"; descriptor___24.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___24.format = "%s:\n ClassifyPacket : Packet Not a 802.3 Ethernet Frame... hence not allowed over non-ETH CS SF\n"; descriptor___24.lineno = 558U; descriptor___24.flags = 0U; tmp___27 = ldv__builtin_expect((long )descriptor___24.flags & 1L, 0L); if (tmp___27 != 0L) { __dynamic_pr_debug(& descriptor___24, "%s:\n ClassifyPacket : Packet Not a 802.3 Ethernet Frame... hence not allowed over non-ETH CS SF\n", "ClassifyPacket"); } else { } } else { } bClassificationSucceed = 0; goto ldv_51926; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___26.modname = "bcm_wimax"; descriptor___26.function = "ClassifyPacket"; descriptor___26.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___26.format = "%s:\nProceeding to IP CS Clasification"; descriptor___26.lineno = 564U; descriptor___26.flags = 0U; tmp___29 = ldv__builtin_expect((long )descriptor___26.flags & 1L, 0L); if (tmp___29 != 0L) { __dynamic_pr_debug(& descriptor___26, "%s:\nProceeding to IP CS Clasification", "ClassifyPacket"); } else { } } else { } if ((unsigned int )Adapter->PackInfo[uiSfIndex].bIPCSSupport != 0U) { if ((unsigned int )stEthCsPktInfo.eNwpktIPFrameType == 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___28.modname = "bcm_wimax"; descriptor___28.function = "ClassifyPacket"; descriptor___28.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___28.format = "%s:\n ClassifyPacket : Packet is Not an IP Packet\n"; descriptor___28.lineno = 569U; descriptor___28.flags = 0U; tmp___31 = ldv__builtin_expect((long )descriptor___28.flags & 1L, 0L); if (tmp___31 != 0L) { __dynamic_pr_debug(& descriptor___28, "%s:\n ClassifyPacket : Packet is Not an IP Packet\n", "ClassifyPacket"); } else { } } else { } bClassificationSucceed = 0; goto ldv_51926; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___30.modname = "bcm_wimax"; descriptor___30.function = "ClassifyPacket"; descriptor___30.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___30.format = "%s:\nDump IP Header :\n"; descriptor___30.lineno = 573U; descriptor___30.flags = 0U; tmp___33 = ldv__builtin_expect((long )descriptor___30.flags & 1L, 0L); if (tmp___33 != 0L) { __dynamic_pr_debug(& descriptor___30, "%s:\nDump IP Header :\n", "ClassifyPacket"); } else { } } else { } DumpFullPacket((UCHAR *)pIpHeader, 20U); if ((unsigned int )stEthCsPktInfo.eNwpktIPFrameType == 1U) { tmp___34 = IpVersion4(Adapter, pIpHeader, pstClassifierRule); bClassificationSucceed = (unsigned int )tmp___34 != 0U; } else if ((unsigned int )stEthCsPktInfo.eNwpktIPFrameType == 2U) { tmp___35 = IpVersion6(Adapter, (void *)pIpHeader, pstClassifierRule); bClassificationSucceed = (unsigned int )tmp___35 != 0U; } else { } } else { } ldv_51926: uiLoopIndex = uiLoopIndex - 1; ldv_51946: ; if (uiLoopIndex >= 0) { goto ldv_51945; } else { } ldv_51925: ; if ((int )bClassificationSucceed) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___32.modname = "bcm_wimax"; descriptor___32.function = "ClassifyPacket"; descriptor___32.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___32.format = "%s:\nCF id : %d, SF ID is =%lu"; descriptor___32.lineno = 586U; descriptor___32.flags = 0U; tmp___37 = ldv__builtin_expect((long )descriptor___32.flags & 1L, 0L); if (tmp___37 != 0L) { __dynamic_pr_debug(& descriptor___32, "%s:\nCF id : %d, SF ID is =%lu", "ClassifyPacket", (int )pstClassifierRule->uiClassifierRuleIndex, pstClassifierRule->ulSFID); } else { } } else { } *((UINT32 *)(& skb->cb)) = (UINT32 )pstClassifierRule->uiClassifierRuleIndex; if (((unsigned int )pIpHeader->protocol == 6U && ! bFragmentedPkt) && skb->len > 65U) { IpHeaderLength = pIpHeader->ihl; pTcpHeader = (struct bcm_tcp_header *)pIpHeader + (unsigned long )((int )IpHeaderLength * 4); TcpHeaderLength = (UCHAR )((int )pTcpHeader->HeaderLength >> 4); if (((int )pTcpHeader->ucFlags & 16) != 0) { tmp___38 = __fswab16((int )pIpHeader->tot_len); if ((int )tmp___38 == ((int )IpHeaderLength + (int )TcpHeaderLength) * 4) { *((UINT32 *)(& skb->cb) + 2UL) = 16U; } else { } } else { } } else { } tmp___39 = SearchSfid(Adapter, (UINT )pstClassifierRule->ulSFID); usIndex = (USHORT )tmp___39; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___34.modname = "bcm_wimax"; descriptor___34.function = "ClassifyPacket"; descriptor___34.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___34.format = "%s:\nindex is\t=%d"; descriptor___34.lineno = 601U; descriptor___34.flags = 0U; tmp___41 = ldv__builtin_expect((long )descriptor___34.flags & 1L, 0L); if (tmp___41 != 0L) { __dynamic_pr_debug(& descriptor___34, "%s:\nindex is\t=%d", "ClassifyPacket", (int )usIndex); } else { } } else { } if ((int )bFragmentedPkt && (unsigned int )usCurrFragment == 0U) { stFragPktInfo.bUsed = 1; stFragPktInfo.ulSrcIpAddress = (ULONG )pIpHeader->saddr; stFragPktInfo.usIpIdentification = pIpHeader->id; stFragPktInfo.pstMatchedClassifierEntry = pstClassifierRule; stFragPktInfo.bOutOfOrderFragment = 0; AddFragIPClsEntry(Adapter, & stFragPktInfo); } else { } } else { } if ((int )bClassificationSucceed) { return (usIndex); } else { return (17U); } } } static bool EthCSMatchSrcMACAddress(struct bcm_classifier_rule *pstClassifierRule , PUCHAR Mac ) { UINT i ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; { i = 0U; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if ((unsigned int )pstClassifierRule->ucEthCSSrcMACLen == 0U) { return (1); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "EthCSMatchSrcMACAddress"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___0.format = "%s:\n%s\n"; descriptor___0.lineno = 630U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n%s\n", "EthCSMatchSrcMACAddress", "EthCSMatchSrcMACAddress"); } else { } } else { } i = 0U; goto ldv_51964; ldv_51963: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "EthCSMatchSrcMACAddress"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___2.format = "%s:\nSRC MAC[%x] = %x ClassifierRuleSrcMAC = %x Mask : %x\n"; descriptor___2.lineno = 632U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nSRC MAC[%x] = %x ClassifierRuleSrcMAC = %x Mask : %x\n", "EthCSMatchSrcMACAddress", i, (int )*(Mac + (unsigned long )i), (int )pstClassifierRule->au8EThCSSrcMAC[i], (int )pstClassifierRule->au8EThCSSrcMACMask[i]); } else { } } else { } if ((unsigned int )(((int )pstClassifierRule->au8EThCSSrcMAC[i] ^ (int )*(Mac + (unsigned long )i)) & (int )pstClassifierRule->au8EThCSSrcMACMask[i]) != 0U) { return (0); } else { } i = i + 1U; ldv_51964: ; if (i <= 5U) { goto ldv_51963; } else { } return (1); } } static bool EthCSMatchDestMACAddress(struct bcm_classifier_rule *pstClassifierRule , PUCHAR Mac ) { UINT i ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; { i = 0U; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if ((unsigned int )pstClassifierRule->ucEthCSDestMACLen == 0U) { return (1); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "EthCSMatchDestMACAddress"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___0.format = "%s:\n%s\n"; descriptor___0.lineno = 646U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n%s\n", "EthCSMatchDestMACAddress", "EthCSMatchDestMACAddress"); } else { } } else { } i = 0U; goto ldv_51978; ldv_51977: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "EthCSMatchDestMACAddress"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___2.format = "%s:\nSRC MAC[%x] = %x ClassifierRuleSrcMAC = %x Mask : %x\n"; descriptor___2.lineno = 648U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nSRC MAC[%x] = %x ClassifierRuleSrcMAC = %x Mask : %x\n", "EthCSMatchDestMACAddress", i, (int )*(Mac + (unsigned long )i), (int )pstClassifierRule->au8EThCSDestMAC[i], (int )pstClassifierRule->au8EThCSDestMACMask[i]); } else { } } else { } if ((unsigned int )(((int )pstClassifierRule->au8EThCSDestMAC[i] ^ (int )*(Mac + (unsigned long )i)) & (int )pstClassifierRule->au8EThCSDestMACMask[i]) != 0U) { return (0); } else { } i = i + 1U; ldv_51978: ; if (i <= 5U) { goto ldv_51977; } else { } return (1); } } static bool EthCSMatchEThTypeSAP(struct bcm_classifier_rule *pstClassifierRule , struct sk_buff *skb , struct bcm_eth_packet_info *pstEthCsPktInfo ) { struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; int tmp___4 ; struct _ddebug descriptor___4 ; long tmp___6 ; { tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if ((unsigned int )pstClassifierRule->ucEtherTypeLen == 0U || (unsigned int )pstClassifierRule->au8EthCSEtherType[0] == 0U) { return (1); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "EthCSMatchEThTypeSAP"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___0.format = "%s:\n%s SrcEtherType:%x CLS EtherType[0]:%x\n"; descriptor___0.lineno = 663U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n%s SrcEtherType:%x CLS EtherType[0]:%x\n", "EthCSMatchEThTypeSAP", "EthCSMatchEThTypeSAP", (int )pstEthCsPktInfo->usEtherType, (int )pstClassifierRule->au8EthCSEtherType[0]); } else { } } else { } if ((unsigned int )pstClassifierRule->au8EthCSEtherType[0] == 1U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "EthCSMatchEThTypeSAP"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___2.format = "%s:\n%s CLS EtherType[1]:%x EtherType[2]:%x\n"; descriptor___2.lineno = 665U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\n%s CLS EtherType[1]:%x EtherType[2]:%x\n", "EthCSMatchEThTypeSAP", "EthCSMatchEThTypeSAP", (int )pstClassifierRule->au8EthCSEtherType[1], (int )pstClassifierRule->au8EthCSEtherType[2]); } else { } } else { } tmp___4 = memcmp((void const *)(& pstEthCsPktInfo->usEtherType), (void const *)(& pstClassifierRule->au8EthCSEtherType) + 1U, 2UL); if (tmp___4 == 0) { return (1); } else { return (0); } } else { } if ((unsigned int )pstClassifierRule->au8EthCSEtherType[0] == 2U) { if ((unsigned int )pstEthCsPktInfo->eNwpktEthFrameType != 1U) { return (0); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "EthCSMatchEThTypeSAP"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___4.format = "%s:\n%s EthCS DSAP:%x EtherType[2]:%x\n"; descriptor___4.lineno = 677U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n%s EthCS DSAP:%x EtherType[2]:%x\n", "EthCSMatchEThTypeSAP", "EthCSMatchEThTypeSAP", (int )pstEthCsPktInfo->ucDSAP, (int )pstClassifierRule->au8EthCSEtherType[2]); } else { } } else { } if ((int )pstEthCsPktInfo->ucDSAP == (int )pstClassifierRule->au8EthCSEtherType[2]) { return (1); } else { return (0); } } else { } return (0); } } static bool EthCSMatchVLANRules(struct bcm_classifier_rule *pstClassifierRule , struct sk_buff *skb , struct bcm_eth_packet_info *pstEthCsPktInfo ) { bool bClassificationSucceed ; USHORT usVLANID ; B_UINT8 uPriority ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; __u16 tmp___2 ; long tmp___3 ; __u16 tmp___4 ; struct _ddebug descriptor___2 ; long tmp___6 ; __u16 tmp___7 ; struct _ddebug descriptor___4 ; long tmp___9 ; struct _ddebug descriptor___6 ; long tmp___11 ; { bClassificationSucceed = 0; uPriority = 0U; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "EthCSMatchVLANRules"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___0.format = "%s:\n%s CLS UserPrio:%x CLS VLANID:%x\n"; descriptor___0.lineno = 696U; descriptor___0.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___3 != 0L) { tmp___2 = __fswab16((int )*((USHORT *)(& pstClassifierRule->usUserPriority))); __dynamic_pr_debug(& descriptor___0, "%s:\n%s CLS UserPrio:%x CLS VLANID:%x\n", "EthCSMatchVLANRules", "EthCSMatchVLANRules", (int )tmp___2, (int )pstClassifierRule->usVLANID); } else { } } else { } if ((int )pstClassifierRule->usValidityBitMap & 1) { if ((unsigned int )pstEthCsPktInfo->eNwpktEthFrameType != 3U) { return (0); } else { } tmp___4 = __fswab16((int )*((USHORT *)skb->data + 14U)); uPriority = (B_UINT8 )((int )tmp___4 >> 13); if ((int )pstClassifierRule->usUserPriority[0] <= (int )uPriority && (int )pstClassifierRule->usUserPriority[1] >= (int )uPriority) { bClassificationSucceed = 1; } else { } if (! bClassificationSucceed) { return (0); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "EthCSMatchVLANRules"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___2.format = "%s:\nETH CS 802.1 D User Priority Rule Matched\n"; descriptor___2.lineno = 712U; descriptor___2.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nETH CS 802.1 D User Priority Rule Matched\n", "EthCSMatchVLANRules"); } else { } } else { } bClassificationSucceed = 0; if (((int )pstClassifierRule->usValidityBitMap & 2) != 0) { if ((unsigned int )pstEthCsPktInfo->eNwpktEthFrameType != 3U) { return (0); } else { } tmp___7 = __fswab16((int )*((USHORT *)skb->data + 14U)); usVLANID = (unsigned int )tmp___7 & 4095U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "EthCSMatchVLANRules"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___4.format = "%s:\n%s Pkt VLANID %x Priority: %d\n"; descriptor___4.lineno = 722U; descriptor___4.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n%s Pkt VLANID %x Priority: %d\n", "EthCSMatchVLANRules", "EthCSMatchVLANRules", (int )usVLANID, (int )uPriority); } else { } } else { } if ((int )pstClassifierRule->usVLANID >> 4 == (int )usVLANID) { bClassificationSucceed = 1; } else { } if (! bClassificationSucceed) { return (0); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "EthCSMatchVLANRules"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___6.format = "%s:\nETH CS 802.1 Q VLAN ID Rule Matched\n"; descriptor___6.lineno = 731U; descriptor___6.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nETH CS 802.1 Q VLAN ID Rule Matched\n", "EthCSMatchVLANRules"); } else { } } else { } return (1); } } static bool EThCSClassifyPkt(struct bcm_mini_adapter *Adapter , struct sk_buff *skb , struct bcm_eth_packet_info *pstEthCsPktInfo , struct bcm_classifier_rule *pstClassifierRule , B_UINT8 EthCSCupport ) { bool bClassificationSucceed ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; struct _ddebug descriptor___6 ; long tmp___6 ; { bClassificationSucceed = 0; bClassificationSucceed = EthCSMatchSrcMACAddress(pstClassifierRule, (PUCHAR )(& ((struct bcm_eth_header *)skb->data)->au8SourceAddress)); if (! bClassificationSucceed) { return (0); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "EThCSClassifyPkt"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___0.format = "%s:\nETH CS SrcMAC Matched\n"; descriptor___0.lineno = 746U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nETH CS SrcMAC Matched\n", "EThCSClassifyPkt"); } else { } } else { } bClassificationSucceed = EthCSMatchDestMACAddress(pstClassifierRule, (PUCHAR )(& ((struct bcm_eth_header *)skb->data)->au8DestinationAddress)); if (! bClassificationSucceed) { return (0); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "EThCSClassifyPkt"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___2.format = "%s:\nETH CS DestMAC Matched\n"; descriptor___2.lineno = 751U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nETH CS DestMAC Matched\n", "EThCSClassifyPkt"); } else { } } else { } bClassificationSucceed = EthCSMatchEThTypeSAP(pstClassifierRule, skb, pstEthCsPktInfo); if (! bClassificationSucceed) { return (0); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "EThCSClassifyPkt"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___4.format = "%s:\nETH CS EthType/802.2SAP Matched\n"; descriptor___4.lineno = 758U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nETH CS EthType/802.2SAP Matched\n", "EThCSClassifyPkt"); } else { } } else { } bClassificationSucceed = EthCSMatchVLANRules(pstClassifierRule, skb, pstEthCsPktInfo); if (! bClassificationSucceed) { return (0); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "EThCSClassifyPkt"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___6.format = "%s:\nETH CS 802.1 VLAN Rules Matched\n"; descriptor___6.lineno = 765U; descriptor___6.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nETH CS 802.1 VLAN Rules Matched\n", "EThCSClassifyPkt"); } else { } } else { } return (bClassificationSucceed); } } static void EThCSGetPktInfo(struct bcm_mini_adapter *Adapter , PVOID pvEthPayload , struct bcm_eth_packet_info *pstEthCsPktInfo ) { USHORT u16Etype ; __u16 tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; __u16 tmp___4 ; struct _ddebug descriptor___4 ; long tmp___6 ; struct _ddebug descriptor___6 ; long tmp___8 ; struct _ddebug descriptor___8 ; long tmp___10 ; struct _ddebug descriptor___10 ; long tmp___12 ; { tmp = __fswab16((int )((struct bcm_eth_header *)pvEthPayload)->u16Etype); u16Etype = tmp; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "EThCSGetPktInfo"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___0.format = "%s:\nEthCSGetPktInfo : Eth Hdr Type : %X\n"; descriptor___0.lineno = 775U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nEthCSGetPktInfo : Eth Hdr Type : %X\n", "EThCSGetPktInfo", (int )u16Etype); } else { } } else { } if ((unsigned int )u16Etype > 1500U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "EThCSGetPktInfo"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___2.format = "%s:\nEthCSGetPktInfo : ETH2 Frame\n"; descriptor___2.lineno = 777U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nEthCSGetPktInfo : ETH2 Frame\n", "EThCSGetPktInfo"); } else { } } else { } if ((unsigned int )u16Etype == 129U) { pstEthCsPktInfo->eNwpktEthFrameType = 3; u16Etype = ((struct bcm_eth_q_frame *)pvEthPayload)->EthType; } else { pstEthCsPktInfo->eNwpktEthFrameType = 4; tmp___4 = __fswab16((int )u16Etype); u16Etype = tmp___4; } } else { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "EThCSGetPktInfo"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___4.format = "%s:\n802.2 LLC Frame\n"; descriptor___4.lineno = 790U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n802.2 LLC Frame\n", "EThCSGetPktInfo"); } else { } } else { } pstEthCsPktInfo->eNwpktEthFrameType = 1; pstEthCsPktInfo->ucDSAP = ((struct bcm_eth_llc_frame *)pvEthPayload)->DSAP; if ((unsigned int )pstEthCsPktInfo->ucDSAP == 170U && (unsigned int )((struct bcm_eth_llc_frame *)pvEthPayload)->SSAP == 170U) { pstEthCsPktInfo->eNwpktEthFrameType = 2; u16Etype = ((struct bcm_eth_llc_snap_frame *)pvEthPayload)->usEtherType; } else { } } if ((unsigned int )u16Etype == 8U) { pstEthCsPktInfo->eNwpktIPFrameType = 1; } else if ((unsigned int )u16Etype == 56710U) { pstEthCsPktInfo->eNwpktIPFrameType = 2; } else { pstEthCsPktInfo->eNwpktIPFrameType = 0; } pstEthCsPktInfo->usEtherType = ((struct bcm_eth_header *)pvEthPayload)->u16Etype; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "EThCSGetPktInfo"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___6.format = "%s:\nEthCsPktInfo->eNwpktIPFrameType : %x\n"; descriptor___6.lineno = 807U; descriptor___6.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nEthCsPktInfo->eNwpktIPFrameType : %x\n", "EThCSGetPktInfo", (unsigned int )pstEthCsPktInfo->eNwpktIPFrameType); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "EThCSGetPktInfo"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___8.format = "%s:\nEthCsPktInfo->eNwpktEthFrameType : %x\n"; descriptor___8.lineno = 808U; descriptor___8.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nEthCsPktInfo->eNwpktEthFrameType : %x\n", "EThCSGetPktInfo", (unsigned int )pstEthCsPktInfo->eNwpktEthFrameType); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "EThCSGetPktInfo"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Qos.o.c.prepared"; descriptor___10.format = "%s:\nEthCsPktInfo->usEtherType : %x\n"; descriptor___10.lineno = 809U; descriptor___10.flags = 0U; tmp___12 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___12 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nEthCsPktInfo->usEtherType : %x\n", "EThCSGetPktInfo", (int )pstEthCsPktInfo->usEtherType); } else { } } else { } return; } } __inline static void spin_lock_bh(spinlock_t *lock ) { { ldv_spin_lock(); ldv_spin_lock_bh_416(lock); return; } } __inline static void spin_unlock_bh(spinlock_t *lock ) { { ldv_spin_unlock(); ldv_spin_unlock_bh_420(lock); return; } } int ldv_pskb_expand_head_436(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_438(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_440(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_441(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_442(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_443(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_444(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_445(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_446(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } extern void print_hex_dump(char const * , char const * , int , int , int , void const * , size_t , bool ) ; extern void schedule(void) ; struct sk_buff *ldv_skb_clone_482(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_490(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_484(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_480(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_488(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_489(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; __inline static unsigned char *skb_end_pointer(struct sk_buff const *skb ) { { return ((unsigned char *)skb->head + (unsigned long )skb->end); } } __inline static int skb_cloned(struct sk_buff const *skb ) { unsigned char *tmp ; int tmp___0 ; int tmp___1 ; { if ((unsigned int )*((unsigned char *)skb + 124UL) != 0U) { tmp = skb_end_pointer(skb); tmp___0 = atomic_read((atomic_t const *)(& ((struct skb_shared_info *)tmp)->dataref)); if ((tmp___0 & 65535) != 1) { tmp___1 = 1; } else { tmp___1 = 0; } } else { tmp___1 = 0; } return (tmp___1); } } __inline static unsigned int skb_headroom(struct sk_buff const *skb ) { { return ((unsigned int )((long )skb->data) - (unsigned int )((long )skb->head)); } } struct sk_buff *ldv___netdev_alloc_skb_485(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_486(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_487(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; __inline static int __skb_cow(struct sk_buff *skb , unsigned int headroom , int cloned ) { int delta ; unsigned int tmp ; unsigned int tmp___0 ; int _max1 ; int _max2 ; int _max1___0 ; int _max2___0 ; int tmp___1 ; { delta = 0; tmp___0 = skb_headroom((struct sk_buff const *)skb); if (tmp___0 < headroom) { tmp = skb_headroom((struct sk_buff const *)skb); delta = (int )(headroom - tmp); } else { } if (delta != 0 || cloned != 0) { _max1 = 32; _max2 = 64; _max1___0 = 32; _max2___0 = 64; tmp___1 = ldv_pskb_expand_head_488(skb, (((_max1 > _max2 ? _max1 : _max2) + -1) + delta) & - (_max1___0 > _max2___0 ? _max1___0 : _max2___0), 0, 32U); return (tmp___1); } else { } return (0); } } __inline static int skb_cow(struct sk_buff *skb , unsigned int headroom ) { int tmp ; int tmp___0 ; { tmp = skb_cloned((struct sk_buff const *)skb); tmp___0 = __skb_cow(skb, headroom, tmp); return (tmp___0); } } __inline static u16 skb_get_queue_mapping(struct sk_buff const *skb ) { { return ((u16 )skb->queue_mapping); } } extern bool kthread_should_stop(void) ; int download_ddr_settings(struct bcm_mini_adapter *Adapter ) ; int PHSTransmit(struct bcm_mini_adapter *Adapter , struct sk_buff **pPacket , USHORT Vcid , B_UINT16 uiClassifierRuleID , bool bHeaderSuppressionEnabled , unsigned int *PacketLen , UCHAR bEthCSSupport ) ; INT SetupNextSend(struct bcm_mini_adapter *Adapter , struct sk_buff *Packet , USHORT Vcid ) ; VOID LinkMessage(struct bcm_mini_adapter *Adapter ) ; VOID transmit_packets(struct bcm_mini_adapter *Adapter ) ; INT SendControlPacket(struct bcm_mini_adapter *Adapter , char *pControlPacket ) ; int tx_pkt_handler(struct bcm_mini_adapter *Adapter ) ; void update_per_sf_desc_cnts(struct bcm_mini_adapter *Adapter ) ; INT SendControlPacket(struct bcm_mini_adapter *Adapter , char *pControlPacket ) { struct bcm_leader *PLeader ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; int tmp___5 ; struct _ddebug descriptor___6 ; long tmp___7 ; struct _ddebug descriptor___8 ; long tmp___9 ; struct _ddebug descriptor___10 ; long tmp___11 ; struct _ddebug descriptor___12 ; long tmp___13 ; { PLeader = (struct bcm_leader *)pControlPacket; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "SendControlPacket"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Transmit.o.c.prepared"; descriptor___0.format = "%s:\nTx"; descriptor___0.lineno = 83U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nTx", "SendControlPacket"); } else { } } else { } if ((unsigned long )pControlPacket == (unsigned long )((char *)0) || (unsigned long )Adapter == (unsigned long )((struct bcm_mini_adapter *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "SendControlPacket"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Transmit.o.c.prepared"; descriptor___2.format = "%s:\nGot NULL Control Packet or Adapter"; descriptor___2.lineno = 86U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nGot NULL Control Packet or Adapter", "SendControlPacket"); } else { } } else { } return (-1); } else { } tmp___5 = atomic_read((atomic_t const *)(& Adapter->CurrNumFreeTxDesc)); if (tmp___5 < ((int )PLeader->PLength + -1) / 2040 + 1) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "SendControlPacket"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Transmit.o.c.prepared"; descriptor___4.format = "%s:\nNO FREE DESCRIPTORS TO SEND CONTROL PACKET"; descriptor___4.lineno = 92U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nNO FREE DESCRIPTORS TO SEND CONTROL PACKET", "SendControlPacket"); } else { } } else { } return (-1); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "SendControlPacket"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Transmit.o.c.prepared"; descriptor___6.format = "%s:\nLeader Status: %x"; descriptor___6.lineno = 98U; descriptor___6.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nLeader Status: %x", "SendControlPacket", (int )PLeader->Status); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "SendControlPacket"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Transmit.o.c.prepared"; descriptor___8.format = "%s:\nLeader VCID: %x"; descriptor___8.lineno = 99U; descriptor___8.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nLeader VCID: %x", "SendControlPacket", (int )PLeader->Vcid); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "SendControlPacket"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Transmit.o.c.prepared"; descriptor___10.format = "%s:\nLeader Length: %x"; descriptor___10.lineno = 100U; descriptor___10.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nLeader Length: %x", "SendControlPacket", (int )PLeader->PLength); } else { } } else { } if ((int )Adapter->device_removed) { return (0); } else { } if ((Adapter->msg_enable & 4096U) != 0U) { print_hex_dump("\017", "beceem tx control: ", 0, 16, 1, (void const *)pControlPacket, (unsigned long )PLeader->PLength + 8UL, 0); } else { } (*(Adapter->interface_transmit))(Adapter->pvInterfaceAdapter, (PVOID )pControlPacket, (UINT )PLeader->PLength + 8U); atomic_dec(& Adapter->CurrNumFreeTxDesc); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "SendControlPacket"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Transmit.o.c.prepared"; descriptor___12.format = "%s:\n<========="; descriptor___12.lineno = 112U; descriptor___12.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\n<=========", "SendControlPacket"); } else { } } else { } return (0); } } INT SetupNextSend(struct bcm_mini_adapter *Adapter , struct sk_buff *Packet , USHORT Vcid ) { int status ; bool bHeaderSupressionEnabled ; B_UINT16 uiClassifierRuleID ; u16 QueueIndex ; u16 tmp ; struct bcm_leader Leader ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; unsigned int tmp___4 ; size_t __len ; void *__ret ; size_t __len___0 ; void *__ret___0 ; unsigned char *tmp___5 ; unsigned char *tmp___6 ; struct net_device_stats *netstats ; { status = 0; bHeaderSupressionEnabled = 0; tmp = skb_get_queue_mapping((struct sk_buff const *)Packet); QueueIndex = tmp; Leader.Vcid = 0U; Leader.PLength = (unsigned short)0; Leader.Status = (unsigned char)0; Leader.Unused[0] = (unsigned char)0; Leader.Unused[1] = (unsigned char)0; Leader.Unused[2] = (unsigned char)0; if (Packet->len > 2040U) { status = -1; goto errExit; } else { } uiClassifierRuleID = (B_UINT16 )*((UINT32 *)(& Packet->cb)); bHeaderSupressionEnabled = ((int )Adapter->PackInfo[(int )QueueIndex].bHeaderSuppressionEnabled & (int )Adapter->bPHSEnabled) != 0; if ((int )Adapter->device_removed) { status = -1; goto errExit; } else { } status = PHSTransmit(Adapter, & Packet, (int )Vcid, (int )uiClassifierRuleID, (int )bHeaderSupressionEnabled, & Packet->len, (int )Adapter->PackInfo[(int )QueueIndex].bEthCSSupport); if (status != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 2U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "SetupNextSend"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Transmit.o.c.prepared"; descriptor___0.format = "%s:\nPHS Transmit failed..\n"; descriptor___0.lineno = 151U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nPHS Transmit failed..\n", "SetupNextSend"); } else { } } else { } goto errExit; } else { } Leader.Vcid = Vcid; if (*((UINT32 *)(& Packet->cb) + 2UL) == 16U) { Leader.Status = 1U; } else { Leader.Status = 0U; } if ((unsigned int )Adapter->PackInfo[(int )QueueIndex].bEthCSSupport != 0U) { Leader.PLength = (USHORT )Packet->len; tmp___4 = skb_headroom((struct sk_buff const *)Packet); if (tmp___4 <= 7U) { status = skb_cow(Packet, 8U); if (status != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 2U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "SetupNextSend"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Transmit.o.c.prepared"; descriptor___2.format = "%s:\nbcm_transmit : Failed To Increase headRoom\n"; descriptor___2.lineno = 167U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nbcm_transmit : Failed To Increase headRoom\n", "SetupNextSend"); } else { } } else { } goto errExit; } else { } } else { } skb_push(Packet, 8U); __len = 8UL; if (__len > 63UL) { __ret = memcpy((void *)Packet->data, (void const *)(& Leader), __len); } else { __ret = memcpy((void *)Packet->data, (void const *)(& Leader), __len); } } else { Leader.PLength = (unsigned int )((USHORT )Packet->len) - 14U; __len___0 = 8UL; if (__len___0 > 63UL) { tmp___5 = skb_pull(Packet, 6U); __ret___0 = memcpy((void *)tmp___5, (void const *)(& Leader), __len___0); } else { tmp___6 = skb_pull(Packet, 6U); __ret___0 = memcpy((void *)tmp___6, (void const *)(& Leader), __len___0); } } status = (*(Adapter->interface_transmit))(Adapter->pvInterfaceAdapter, (PVOID )Packet->data, (UINT )Leader.PLength + 8U); if (status != 0) { (Adapter->dev)->stats.tx_errors = (Adapter->dev)->stats.tx_errors + 1UL; if ((Adapter->msg_enable & 128U) != 0U) { printk("\016beceem %s: transmit error %d\n", (char *)(& (Adapter->dev)->name), status); } else { } } else { netstats = & (Adapter->dev)->stats; Adapter->PackInfo[(int )QueueIndex].uiTotalTxBytes = Adapter->PackInfo[(int )QueueIndex].uiTotalTxBytes + (UINT )Leader.PLength; netstats->tx_bytes = netstats->tx_bytes + (unsigned long )Leader.PLength; netstats->tx_packets = netstats->tx_packets + 1UL; Adapter->PackInfo[(int )QueueIndex].uiCurrentTokenCount = Adapter->PackInfo[(int )QueueIndex].uiCurrentTokenCount - (UINT )((int )Leader.PLength << 3); Adapter->PackInfo[(int )QueueIndex].uiSentBytes = Adapter->PackInfo[(int )QueueIndex].uiSentBytes + Packet->len; Adapter->PackInfo[(int )QueueIndex].uiSentPackets = Adapter->PackInfo[(int )QueueIndex].uiSentPackets + 1U; Adapter->PackInfo[(int )QueueIndex].NumOfPacketsSent = Adapter->PackInfo[(int )QueueIndex].NumOfPacketsSent + 1U; atomic_dec(& Adapter->PackInfo[(int )QueueIndex].uiPerSFTxResourceCount); Adapter->PackInfo[(int )QueueIndex].uiThisPeriodSentBytes = Adapter->PackInfo[(int )QueueIndex].uiThisPeriodSentBytes + (UINT )Leader.PLength; } atomic_dec(& Adapter->CurrNumFreeTxDesc); errExit: consume_skb(Packet); return (status); } } static int tx_pending(struct bcm_mini_adapter *Adapter ) { int tmp ; int tmp___0 ; int tmp___1 ; { tmp = atomic_read((atomic_t const *)(& Adapter->TxPktAvail)); if (tmp != 0) { tmp___0 = atomic_read((atomic_t const *)(& Adapter->CurrNumFreeTxDesc)); if (tmp___0 > 5) { tmp___1 = 1; } else { goto _L; } } else _L: /* CIL Label */ if ((int )Adapter->device_removed) { tmp___1 = 1; } else if (Adapter->downloadDDR == 1) { tmp___1 = 1; } else { tmp___1 = 0; } return (tmp___1); } } int tx_pkt_handler(struct bcm_mini_adapter *Adapter ) { int status ; long __ret ; unsigned long tmp ; wait_queue_t __wait ; long __ret___0 ; unsigned long tmp___0 ; long __int ; long tmp___1 ; bool __cond ; int tmp___2 ; bool __cond___0 ; int tmp___3 ; int __ret___1 ; wait_queue_t __wait___0 ; long __ret___2 ; long __int___0 ; long tmp___4 ; int tmp___5 ; int tmp___6 ; int tmp___7 ; struct _ddebug descriptor___0 ; long tmp___9 ; int tmp___10 ; struct _ddebug descriptor___2 ; long tmp___12 ; int tmp___13 ; bool tmp___14 ; int tmp___15 ; struct _ddebug descriptor___4 ; long tmp___17 ; { status = 0; goto ldv_51784; ldv_51790: ; if ((int )Adapter->LinkUpStatus) { tmp = msecs_to_jiffies(10U); __ret = (long )tmp; tmp___3 = tx_pending(Adapter); __cond___0 = tmp___3 != 0; if ((int )__cond___0 && __ret == 0L) { __ret = 1L; } else { } if (((int )__cond___0 || __ret == 0L) == 0) { tmp___0 = msecs_to_jiffies(10U); __ret___0 = (long )tmp___0; INIT_LIST_HEAD(& __wait.task_list); __wait.flags = 0U; ldv_51771: tmp___1 = prepare_to_wait_event(& Adapter->tx_packet_wait_queue, & __wait, 2); __int = tmp___1; tmp___2 = tx_pending(Adapter); __cond = tmp___2 != 0; if ((int )__cond && __ret___0 == 0L) { __ret___0 = 1L; } else { } if (((int )__cond || __ret___0 == 0L) != 0) { goto ldv_51770; } else { } __ret___0 = schedule_timeout(__ret___0); goto ldv_51771; ldv_51770: finish_wait(& Adapter->tx_packet_wait_queue, & __wait); __ret = __ret___0; } else { } } else { __ret___1 = 0; tmp___6 = tx_pending(Adapter); if (tmp___6 == 0) { __ret___2 = 0L; INIT_LIST_HEAD(& __wait___0.task_list); __wait___0.flags = 0U; ldv_51780: tmp___4 = prepare_to_wait_event(& Adapter->tx_packet_wait_queue, & __wait___0, 1); __int___0 = tmp___4; tmp___5 = tx_pending(Adapter); if (tmp___5 != 0) { goto ldv_51779; } else { } if (__int___0 != 0L) { __ret___2 = __int___0; goto ldv_51779; } else { } schedule(); goto ldv_51780; ldv_51779: finish_wait(& Adapter->tx_packet_wait_queue, & __wait___0); __ret___1 = (int )__ret___2; } else { } } if ((int )Adapter->device_removed) { goto ldv_51783; } else { } if (Adapter->downloadDDR == 1) { Adapter->downloadDDR = Adapter->downloadDDR + 1; status = download_ddr_settings(Adapter); if (status != 0) { printk("\vbeceem DDR DOWNLOAD FAILED! %d\n", status); } else { } goto ldv_51784; } else { } if ((int )Adapter->bEndPointHalted) { Bcm_clear_halt_of_endpoints(Adapter); Adapter->bEndPointHalted = 0; StartInterruptUrb((struct bcm_interface_adapter *)Adapter->pvInterfaceAdapter); } else { } if ((int )Adapter->LinkUpStatus && ! Adapter->IdleMode) { tmp___7 = atomic_read((atomic_t const *)(& Adapter->TotalPacketCount)); if (tmp___7 != 0) { update_per_sf_desc_cnts(Adapter); } else { } } else { } tmp___10 = atomic_read((atomic_t const *)(& Adapter->CurrNumFreeTxDesc)); if ((tmp___10 != 0 && (unsigned int )Adapter->LinkStatus == 1U) && ! Adapter->bSyncUpRequestSent) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "tx_pkt_handler"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Transmit.o.c.prepared"; descriptor___0.format = "%s:\nCalling LinkMessage"; descriptor___0.lineno = 260U; descriptor___0.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nCalling LinkMessage", "tx_pkt_handler"); } else { } } else { } LinkMessage(Adapter); } else { } if ((int )Adapter->IdleMode || (int )Adapter->bShutStatus) { tmp___13 = atomic_read((atomic_t const *)(& Adapter->TotalPacketCount)); if (tmp___13 != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "tx_pkt_handler"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Transmit.o.c.prepared"; descriptor___2.format = "%s:\nDevice in Low Power mode...waking up"; descriptor___2.lineno = 267U; descriptor___2.flags = 0U; tmp___12 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___12 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nDevice in Low Power mode...waking up", "tx_pkt_handler"); } else { } } else { } Adapter->usIdleModePattern = 2U; Adapter->bWakeUpDevice = 1; __wake_up(& Adapter->process_rx_cntrlpkt, 3U, 1, (void *)0); } else { } } else { } transmit_packets(Adapter); atomic_set(& Adapter->TxPktAvail, 0); ldv_51784: tmp___14 = kthread_should_stop(); if (tmp___14) { tmp___15 = 0; } else { tmp___15 = 1; } if (tmp___15) { goto ldv_51790; } else { } ldv_51783: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "tx_pkt_handler"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Transmit.o.c.prepared"; descriptor___4.format = "%s:\nExiting the tx thread..\n"; descriptor___4.lineno = 278U; descriptor___4.flags = 0U; tmp___17 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___17 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nExiting the tx thread..\n", "tx_pkt_handler"); } else { } } else { } Adapter->transmit_packet_thread = (struct task_struct *)0; return (0); } } int ldv_pskb_expand_head_480(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_482(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_484(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_485(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_486(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_487(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_488(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_489(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_490(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } __inline static void set_bit(long nr , unsigned long volatile *addr ) { { __asm__ volatile (".pushsection .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.popsection\n671:\n\tlock; bts %1,%0": "+m" (*((long volatile *)addr)): "Ir" (nr): "memory"); return; } } extern int snprintf(char * , size_t , char const * , ...) ; extern void warn_slowpath_null(char const * , int const ) ; extern size_t strlcpy(char * , char const * , size_t ) ; __inline static void spin_lock(spinlock_t *lock ) ; __inline static void spin_unlock(spinlock_t *lock ) ; extern u32 __VERIFIER_nondet_u32(void) ; void ldv_net_device_ops_3(void) ; struct sk_buff *ldv_skb_clone_526(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_534(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_528(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_524(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_532(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_533(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_529(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_530(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_531(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; __inline static void netif_tx_stop_queue(struct netdev_queue *dev_queue ) { int __ret_warn_on ; long tmp ; long tmp___0 ; { __ret_warn_on = (unsigned long )dev_queue == (unsigned long )((struct netdev_queue *)0); tmp = ldv__builtin_expect(__ret_warn_on != 0, 0L); if (tmp != 0L) { warn_slowpath_null("include/linux/netdevice.h", 2212); } else { } tmp___0 = ldv__builtin_expect(__ret_warn_on != 0, 0L); if (tmp___0 != 0L) { printk("\016netif_stop_queue() cannot be called before register_netdev()\n"); return; } else { } set_bit(0L, (unsigned long volatile *)(& dev_queue->state)); return; } } __inline static void netif_stop_queue(struct net_device *dev ) { struct netdev_queue *tmp ; { tmp = netdev_get_tx_queue((struct net_device const *)dev, 0U); netif_tx_stop_queue(tmp); return; } } extern void netif_carrier_off(struct net_device * ) ; extern int register_netdev(struct net_device * ) ; int ldv_register_netdev_536(struct net_device *dev ) ; extern void unregister_netdev(struct net_device * ) ; void ldv_unregister_netdev_537(struct net_device *dev ) ; extern int eth_mac_addr(struct net_device * , void * ) ; extern int eth_change_mtu(struct net_device * , int ) ; extern int eth_validate_addr(struct net_device * ) ; __inline static int usb_make_path(struct usb_device *dev , char *buf , size_t size ) { int actual ; { actual = snprintf(buf, size, "usb-%s-%s", (dev->bus)->bus_name, (char *)(& dev->devpath)); return ((int )size > actual ? actual : -1); } } struct net_device *gblpnetdev ; int register_networkdev(struct bcm_mini_adapter *Adapter ) ; void unregister_networkdev(struct bcm_mini_adapter *Adapter ) ; INT ReadMacAddressFromNVM(struct bcm_mini_adapter *Adapter ) ; static INT bcm_open(struct net_device *dev ) { struct bcm_mini_adapter *Adapter ; void *tmp ; { tmp = netdev_priv((struct net_device const *)dev); Adapter = (struct bcm_mini_adapter *)tmp; if (! Adapter->fw_download_done) { printk("\rbeceem %s: link up failed (download in progress)\n", (char *)(& dev->name)); return (-16); } else { } if ((Adapter->msg_enable & 32U) != 0U) { printk("\016beceem %s: enabling interface\n", (char *)(& dev->name)); } else { } if ((int )Adapter->LinkUpStatus) { if ((Adapter->msg_enable & 4U) != 0U) { printk("\016beceem %s: link up\n", (char *)(& dev->name)); } else { } netif_carrier_on(Adapter->dev); netif_start_queue(Adapter->dev); } else { } return (0); } } static INT bcm_close(struct net_device *dev ) { struct bcm_mini_adapter *Adapter ; void *tmp ; { tmp = netdev_priv((struct net_device const *)dev); Adapter = (struct bcm_mini_adapter *)tmp; if ((Adapter->msg_enable & 16U) != 0U) { printk("\016beceem %s: disabling interface\n", (char *)(& dev->name)); } else { } netif_carrier_off(dev); netif_stop_queue(dev); return (0); } } static u16 bcm_select_queue(struct net_device *dev , struct sk_buff *skb , void *accel_priv , u16 (*fallback)(struct net_device * , struct sk_buff * ) ) { void *tmp ; USHORT tmp___0 ; { tmp = netdev_priv((struct net_device const *)dev); tmp___0 = ClassifyPacket((struct bcm_mini_adapter *)tmp, skb); return (tmp___0); } } static netdev_tx_t bcm_transmit(struct sk_buff *skb , struct net_device *dev ) { struct bcm_mini_adapter *Adapter ; void *tmp ; u16 qindex ; u16 tmp___0 ; int tmp___1 ; { tmp = netdev_priv((struct net_device const *)dev); Adapter = (struct bcm_mini_adapter *)tmp; tmp___0 = skb_get_queue_mapping((struct sk_buff const *)skb); qindex = tmp___0; if ((int )Adapter->device_removed || ! Adapter->LinkUpStatus) { goto drop; } else { } if ((int )Adapter->TransferMode) { goto drop; } else { } if ((unsigned int )qindex == 17U) { goto drop; } else { } if (Adapter->PackInfo[(int )qindex].uiCurrentPacketsOnHost > 127U) { return (16); } else { } if ((Adapter->msg_enable & 256U) != 0U) { printk("\016beceem %s: enqueueing packet to queue %d\n", (char *)(& dev->name), (int )qindex); } else { } spin_lock(& Adapter->PackInfo[(int )qindex].SFQueueLock); Adapter->PackInfo[(int )qindex].uiCurrentBytesOnHost = Adapter->PackInfo[(int )qindex].uiCurrentBytesOnHost + skb->len; Adapter->PackInfo[(int )qindex].uiCurrentPacketsOnHost = Adapter->PackInfo[(int )qindex].uiCurrentPacketsOnHost + 1U; *((B_UINT32 *)(& skb->cb) + 1UL) = (B_UINT32 )jiffies; if ((unsigned long )Adapter->PackInfo[(int )qindex].ldv_50875.ldv_50870.FirstTxQueue == (unsigned long )((struct sk_buff *)0)) { Adapter->PackInfo[(int )qindex].ldv_50875.ldv_50870.FirstTxQueue = skb; } else { (Adapter->PackInfo[(int )qindex].ldv_50875.ldv_50870.LastTxQueue)->next = skb; } skb->next = (struct sk_buff *)0; Adapter->PackInfo[(int )qindex].ldv_50875.ldv_50870.LastTxQueue = skb; atomic_inc(& Adapter->TotalPacketCount); spin_unlock(& Adapter->PackInfo[(int )qindex].SFQueueLock); tmp___1 = atomic_read((atomic_t const *)(& Adapter->TxPktAvail)); if (tmp___1 == 0) { atomic_set(& Adapter->TxPktAvail, 1); __wake_up(& Adapter->tx_packet_wait_queue, 3U, 1, (void *)0); } else { } return (0); drop: consume_skb(skb); return (0); } } static struct net_device_ops const bcmNetDevOps = {0, 0, & bcm_open, & bcm_close, & bcm_transmit, & bcm_select_queue, 0, 0, & eth_mac_addr, & eth_validate_addr, 0, 0, & eth_change_mtu, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; static struct device_type wimax_type = {"wimax", 0, 0, 0, 0, 0}; static int bcm_get_settings(struct net_device *dev , struct ethtool_cmd *cmd ) { { cmd->supported = 0U; cmd->advertising = 0U; cmd->speed = 10000U; cmd->duplex = 1U; cmd->port = 0U; cmd->phy_address = 0U; cmd->transceiver = 0U; cmd->autoneg = 0U; cmd->maxtxpkt = 0U; cmd->maxrxpkt = 0U; return (0); } } static void bcm_get_drvinfo(struct net_device *dev , struct ethtool_drvinfo *info ) { struct bcm_mini_adapter *Adapter ; void *tmp ; struct bcm_interface_adapter *psIntfAdapter ; struct usb_device *udev ; struct usb_device *tmp___0 ; { tmp = netdev_priv((struct net_device const *)dev); Adapter = (struct bcm_mini_adapter *)tmp; psIntfAdapter = (struct bcm_interface_adapter *)Adapter->pvInterfaceAdapter; tmp___0 = interface_to_usbdev(psIntfAdapter->interface); udev = tmp___0; strlcpy((char *)(& info->driver), "beceem", 32UL); strlcpy((char *)(& info->version), "5.2.45", 32UL); snprintf((char *)(& info->fw_version), 32UL, "%u.%u", Adapter->uiFlashLayoutMajorVersion, Adapter->uiFlashLayoutMinorVersion); usb_make_path(udev, (char *)(& info->bus_info), 32UL); return; } } static u32 bcm_get_link(struct net_device *dev ) { struct bcm_mini_adapter *Adapter ; void *tmp ; { tmp = netdev_priv((struct net_device const *)dev); Adapter = (struct bcm_mini_adapter *)tmp; return ((u32 )Adapter->LinkUpStatus); } } static u32 bcm_get_msglevel(struct net_device *dev ) { struct bcm_mini_adapter *Adapter ; void *tmp ; { tmp = netdev_priv((struct net_device const *)dev); Adapter = (struct bcm_mini_adapter *)tmp; return (Adapter->msg_enable); } } static void bcm_set_msglevel(struct net_device *dev , u32 level ) { struct bcm_mini_adapter *Adapter ; void *tmp ; { tmp = netdev_priv((struct net_device const *)dev); Adapter = (struct bcm_mini_adapter *)tmp; Adapter->msg_enable = level; return; } } static struct ethtool_ops const bcm_ethtool_ops = {& bcm_get_settings, 0, & bcm_get_drvinfo, 0, 0, 0, 0, & bcm_get_msglevel, & bcm_set_msglevel, 0, & bcm_get_link, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; int register_networkdev(struct bcm_mini_adapter *Adapter ) { struct net_device *net ; struct bcm_interface_adapter *IntfAdapter ; struct usb_interface *udev ; struct usb_device *xdev ; int result ; { net = Adapter->dev; IntfAdapter = (struct bcm_interface_adapter *)Adapter->pvInterfaceAdapter; udev = IntfAdapter->interface; xdev = IntfAdapter->udev; net->netdev_ops = & bcmNetDevOps; net->ethtool_ops = & bcm_ethtool_ops; net->mtu = 1400U; net->tx_queue_len = 5UL; net->flags = net->flags | 128U; netif_carrier_off(net); net->dev.type = (struct device_type const *)(& wimax_type); result = ReadMacAddressFromNVM(Adapter); if (result != 0) { dev_err((struct device const *)(& udev->dev), "beceem Error in Reading the mac Address: %d", result); return (-5); } else { } result = ldv_register_netdev_536(net); if (result != 0) { return (result); } else { } gblpnetdev = Adapter->dev; if ((Adapter->msg_enable & 2U) != 0U) { _dev_info((struct device const *)(& udev->dev), "beceem %s: register usb-%s-%s %pM\n", (char *)(& net->name), (xdev->bus)->bus_name, (char *)(& xdev->devpath), net->dev_addr); } else { } return (0); } } void unregister_networkdev(struct bcm_mini_adapter *Adapter ) { struct net_device *net ; struct bcm_interface_adapter *IntfAdapter ; struct usb_interface *udev ; struct usb_device *xdev ; { net = Adapter->dev; IntfAdapter = (struct bcm_interface_adapter *)Adapter->pvInterfaceAdapter; udev = IntfAdapter->interface; xdev = IntfAdapter->udev; if ((Adapter->msg_enable & 2U) != 0U) { _dev_info((struct device const *)(& udev->dev), "beceem %s: unregister usb-%s%s\n", (char *)(& net->name), (xdev->bus)->bus_name, (char *)(& xdev->devpath)); } else { } ldv_unregister_netdev_537(Adapter->dev); return; } } extern int ldv_ndo_uninit_3(void) ; int ldv_retval_6 ; u16 (*ldvarg12)(struct net_device * , struct sk_buff * ) ; extern int ldv_ndo_init_3(void) ; int ldv_retval_7 ; void ldv_net_device_ops_3(void) { void *tmp ; { tmp = ldv_zalloc(3264UL); bcmNetDevOps_group1 = (struct net_device *)tmp; return; } } void ldv_initialize_ethtool_ops_2(void) { void *tmp ; { tmp = ldv_zalloc(3264UL); bcm_ethtool_ops_group0 = (struct net_device *)tmp; return; } } void ldv_main_exported_3(void) { void *ldvarg9 ; void *tmp ; struct sk_buff *ldvarg10 ; void *tmp___0 ; void *ldvarg13 ; void *tmp___1 ; struct sk_buff *ldvarg14 ; void *tmp___2 ; int ldvarg11 ; int tmp___3 ; int tmp___4 ; { tmp = ldv_zalloc(1UL); ldvarg9 = tmp; tmp___0 = ldv_zalloc(232UL); ldvarg10 = (struct sk_buff *)tmp___0; tmp___1 = ldv_zalloc(1UL); ldvarg13 = tmp___1; tmp___2 = ldv_zalloc(232UL); ldvarg14 = (struct sk_buff *)tmp___2; tmp___3 = __VERIFIER_nondet_int(); ldvarg11 = tmp___3; tmp___4 = __VERIFIER_nondet_int(); switch (tmp___4) { case 0: ; if (ldv_state_variable_3 == 1) { bcm_select_queue(bcmNetDevOps_group1, ldvarg14, ldvarg13, ldvarg12); ldv_state_variable_3 = 1; } else { } if (ldv_state_variable_3 == 3) { bcm_select_queue(bcmNetDevOps_group1, ldvarg14, ldvarg13, ldvarg12); ldv_state_variable_3 = 3; } else { } if (ldv_state_variable_3 == 2) { bcm_select_queue(bcmNetDevOps_group1, ldvarg14, ldvarg13, ldvarg12); ldv_state_variable_3 = 2; } else { } goto ldv_51807; case 1: ; if (ldv_state_variable_3 == 1) { eth_validate_addr(bcmNetDevOps_group1); ldv_state_variable_3 = 1; } else { } if (ldv_state_variable_3 == 3) { eth_validate_addr(bcmNetDevOps_group1); ldv_state_variable_3 = 3; } else { } if (ldv_state_variable_3 == 2) { eth_validate_addr(bcmNetDevOps_group1); ldv_state_variable_3 = 2; } else { } goto ldv_51807; case 2: ; if (ldv_state_variable_3 == 3) { bcm_close(bcmNetDevOps_group1); ldv_state_variable_3 = 2; } else { } goto ldv_51807; case 3: ; if (ldv_state_variable_3 == 3) { eth_change_mtu(bcmNetDevOps_group1, ldvarg11); ldv_state_variable_3 = 3; } else { } if (ldv_state_variable_3 == 2) { eth_change_mtu(bcmNetDevOps_group1, ldvarg11); ldv_state_variable_3 = 2; } else { } goto ldv_51807; case 4: ; if (ldv_state_variable_3 == 2) { ldv_retval_7 = bcm_open(bcmNetDevOps_group1); if (ldv_retval_7 == 0) { ldv_state_variable_3 = 3; } else { } } else { } goto ldv_51807; case 5: ; if (ldv_state_variable_3 == 3) { bcm_transmit(ldvarg10, bcmNetDevOps_group1); ldv_state_variable_3 = 3; } else { } goto ldv_51807; case 6: ; if (ldv_state_variable_3 == 1) { eth_mac_addr(bcmNetDevOps_group1, ldvarg9); ldv_state_variable_3 = 1; } else { } if (ldv_state_variable_3 == 3) { eth_mac_addr(bcmNetDevOps_group1, ldvarg9); ldv_state_variable_3 = 3; } else { } if (ldv_state_variable_3 == 2) { eth_mac_addr(bcmNetDevOps_group1, ldvarg9); ldv_state_variable_3 = 2; } else { } goto ldv_51807; case 7: ; if (ldv_state_variable_3 == 1) { ldv_retval_6 = ldv_ndo_init_3(); if (ldv_retval_6 == 0) { ldv_state_variable_3 = 2; usb_counter = usb_counter + 1; ref_cnt = ref_cnt + 1; } else { } } else { } goto ldv_51807; case 8: ; if (ldv_state_variable_3 == 2) { ldv_ndo_uninit_3(); ldv_state_variable_3 = 1; usb_counter = usb_counter - 1; ref_cnt = ref_cnt - 1; } else { } goto ldv_51807; default: ldv_stop(); } ldv_51807: ; return; } } void ldv_main_exported_2(void) { u32 ldvarg15 ; u32 tmp ; struct ethtool_drvinfo *ldvarg16 ; void *tmp___0 ; struct ethtool_cmd *ldvarg17 ; void *tmp___1 ; int tmp___2 ; { tmp = __VERIFIER_nondet_u32(); ldvarg15 = tmp; tmp___0 = ldv_zalloc(196UL); ldvarg16 = (struct ethtool_drvinfo *)tmp___0; tmp___1 = ldv_zalloc(44UL); ldvarg17 = (struct ethtool_cmd *)tmp___1; tmp___2 = __VERIFIER_nondet_int(); switch (tmp___2) { case 0: ; if (ldv_state_variable_2 == 1) { bcm_get_settings(bcm_ethtool_ops_group0, ldvarg17); ldv_state_variable_2 = 1; } else { } goto ldv_51824; case 1: ; if (ldv_state_variable_2 == 1) { bcm_get_msglevel(bcm_ethtool_ops_group0); ldv_state_variable_2 = 1; } else { } goto ldv_51824; case 2: ; if (ldv_state_variable_2 == 1) { bcm_get_drvinfo(bcm_ethtool_ops_group0, ldvarg16); ldv_state_variable_2 = 1; } else { } goto ldv_51824; case 3: ; if (ldv_state_variable_2 == 1) { bcm_set_msglevel(bcm_ethtool_ops_group0, ldvarg15); ldv_state_variable_2 = 1; } else { } goto ldv_51824; case 4: ; if (ldv_state_variable_2 == 1) { bcm_get_link(bcm_ethtool_ops_group0); ldv_state_variable_2 = 1; } else { } goto ldv_51824; default: ldv_stop(); } ldv_51824: ; return; } } int ldv_pskb_expand_head_524(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_526(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_528(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_529(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_530(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_531(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_532(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_533(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_534(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } int ldv_register_netdev_536(struct net_device *dev ) { ldv_func_ret_type___2 ldv_func_res ; int tmp ; { tmp = register_netdev(dev); ldv_func_res = tmp; ldv_state_variable_3 = 1; ldv_net_device_ops_3(); return (ldv_func_res); } } void ldv_unregister_netdev_537(struct net_device *dev ) { { unregister_netdev(dev); ldv_state_variable_3 = 0; return; } } struct sk_buff *ldv_skb_clone_574(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_582(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_576(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_572(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_580(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_581(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_577(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_578(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_579(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; static struct bcm_ddr_setting asT3_DDRSetting133MHz[49U] = { {251660288U, 29202U}, {251660320U, 133251071U}, {251660304U, 3989U}, {251660384U, 0U}, {251660416U, 989U}, {251660352U, 268376832U}, {251660400U, 2U}, {251699268U, 536870911U}, {251699264U, 520093696U}, {251699332U, 486539263U}, {251699328U, 469762048U}, {251699276U, 12U}, {251686912U, 65537U}, {251686916U, 16843008U}, {251686920U, 16777217U}, {251686924U, 0U}, {251686928U, 16777216U}, {251686932U, 16777472U}, {251686936U, 16777216U}, {251686940U, 16908289U}, {251686944U, 67305735U}, {251686948U, 33554439U}, {251686952U, 33686018U}, {251686956U, 33949194U}, {251686960U, 83886080U}, {251686964U, 3U}, {251686968U, 285868544U}, {251686972U, 34607120U}, {251686976U, 1165300224U}, {251686980U, 285871360U}, {251686984U, 135987974U}, {251686988U, 0U}, {251686992U, 28U}, {251686996U, 0U}, {251687000U, 0U}, {251687004U, 0U}, {251687008U, 1057900U}, {251687012U, 16U}, {251687016U, 0U}, {251687020U, 1U}, {251687024U, 28672U}, {251687028U, 0U}, {251687032U, 0U}, {251687036U, 0U}, {251687040U, 0U}, {251687044U, 0U}, {251687060U, 260U}, {251699200U, 22U}, {251686936U, 16842752U}}; static struct bcm_ddr_setting asT3_DDRSetting80MHz[46U] = { {251660304U, 3989U}, {251660320U, 133300223U}, {251660384U, 0U}, {251660416U, 989U}, {251699268U, 536870911U}, {251699264U, 520093696U}, {251699332U, 486539263U}, {251699328U, 469762048U}, {251699200U, 22U}, {251699276U, 12U}, {251686912U, 65537U}, {251686916U, 16777216U}, {251686920U, 16777217U}, {251686924U, 0U}, {251686928U, 16777216U}, {251686932U, 16777472U}, {251686936U, 16777216U}, {251686940U, 16908288U}, {251686944U, 67240199U}, {251686948U, 7U}, {251686952U, 33686017U}, {251686956U, 33817610U}, {251686960U, 67108864U}, {251686964U, 2U}, {251686968U, 520487424U}, {251686972U, 471999007U}, {251686976U, 2315281920U}, {251686980U, 572131328U}, {251686984U, 40436228U}, {251686988U, 0U}, {251686992U, 28U}, {251686996U, 0U}, {251687000U, 0U}, {251687004U, 0U}, {251687008U, 660950U}, {251687012U, 10U}, {251687016U, 0U}, {251687020U, 1U}, {251687024U, 16384U}, {251687028U, 0U}, {251687032U, 0U}, {251687036U, 0U}, {251687040U, 0U}, {251687044U, 0U}, {251687060U, 260U}, {251686936U, 16842752U}}; static struct bcm_ddr_setting asT3_DDRSetting100MHz[49U] = { {251660288U, 28680U}, {251660304U, 3989U}, {251660320U, 133250623U}, {251660384U, 0U}, {251660416U, 989U}, {251660352U, 268376832U}, {251660400U, 2U}, {251699268U, 536870911U}, {251699264U, 520093696U}, {251699332U, 486539263U}, {251699328U, 469762048U}, {251699276U, 12U}, {251699200U, 22U}, {251686912U, 65537U}, {251686916U, 16843008U}, {251686920U, 16777217U}, {251686924U, 0U}, {251686928U, 16777216U}, {251686932U, 16777472U}, {251686936U, 16777216U}, {251686940U, 16908289U}, {251686944U, 67240199U}, {251686948U, 7U}, {251686952U, 16908801U}, {251686956U, 33817610U}, {251686960U, 100663296U}, {251686964U, 4U}, {251686968U, 537395712U}, {251686972U, 33751840U}, {251686976U, 1853821440U}, {251686980U, 18418176U}, {251686984U, 101843717U}, {251686988U, 0U}, {251686992U, 28U}, {251686996U, 0U}, {251687000U, 0U}, {251687004U, 0U}, {251687008U, 536278U}, {251687012U, 10U}, {251687016U, 0U}, {251687020U, 1U}, {251687024U, 20480U}, {251687028U, 0U}, {251687032U, 0U}, {251687036U, 0U}, {251687040U, 0U}, {251687044U, 0U}, {251687060U, 260U}, {251686936U, 16842752U}}; static struct bcm_ddr_setting asDPLL_266MHZ[7U] = { {251660288U, 29202U}, {251660320U, 133251071U}, {251660304U, 3989U}, {251660384U, 0U}, {251660416U, 989U}, {251660352U, 268376832U}, {251660400U, 2U}}; static struct bcm_ddr_setting asT3B_DDRSetting133MHz[48U] = { {251660304U, 3989U}, {251660304U, 3989U}, {251660304U, 3989U}, {251660320U, 133248594U}, {251660352U, 268371968U}, {251660416U, 989U}, {251660384U, 0U}, {251699268U, 536870911U}, {251699264U, 520093696U}, {251699332U, 486539263U}, {251699328U, 469762048U}, {251699200U, 22U}, {251686912U, 65537U}, {251686916U, 16843008U}, {251686920U, 16777217U}, {251686924U, 0U}, {251686928U, 16777216U}, {251686932U, 16777472U}, {251686936U, 16777216U}, {251686940U, 16908289U}, {251686944U, 67305735U}, {251686948U, 33554439U}, {251686952U, 33686018U}, {251686956U, 33949194U}, {251686960U, 83886080U}, {251686964U, 3U}, {251686968U, 319422976U}, {251686972U, 34607122U}, {251686976U, 1165824512U}, {251686980U, 286461184U}, {251686984U, 67961606U}, {251686988U, 0U}, {251686992U, 28U}, {251686996U, 0U}, {251687000U, 0U}, {251687004U, 0U}, {251687008U, 1057900U}, {251687012U, 18U}, {251687016U, 0U}, {251687020U, 1U}, {251687024U, 28672U}, {251687028U, 0U}, {251687032U, 0U}, {251687036U, 0U}, {251687040U, 0U}, {251687044U, 0U}, {251687060U, 260U}, {251686936U, 16842752U}}; static struct bcm_ddr_setting asT3B_DDRSetting80MHz[46U] = { {251660304U, 3989U}, {251660320U, 133251071U}, {251660352U, 268377856U}, {251660416U, 989U}, {251660384U, 0U}, {251699268U, 536870911U}, {251699264U, 520093696U}, {251699332U, 486539263U}, {251699328U, 469762048U}, {251699200U, 22U}, {251686912U, 65537U}, {251686916U, 16777216U}, {251686920U, 16777217U}, {251686924U, 0U}, {251686928U, 16777216U}, {251686932U, 16777472U}, {251686936U, 16777216U}, {251686940U, 16908288U}, {251686944U, 67240199U}, {251686948U, 7U}, {251686952U, 33686017U}, {251686956U, 33817610U}, {251686960U, 67108864U}, {251686964U, 33554434U}, {251686968U, 520487426U}, {251686972U, 471999007U}, {251686976U, 2315281920U}, {251686980U, 572131328U}, {251686984U, 40436228U}, {251686988U, 0U}, {251686992U, 16777244U}, {251686996U, 0U}, {251687000U, 0U}, {251687004U, 0U}, {251687008U, 660950U}, {251687012U, 10U}, {251687016U, 0U}, {251687020U, 1U}, {251687024U, 16384U}, {251687028U, 0U}, {251687032U, 0U}, {251687036U, 0U}, {251687040U, 0U}, {251687044U, 0U}, {251687060U, 260U}, {251686936U, 16842752U}}; static struct bcm_ddr_setting asT3B_DDRSetting100MHz[46U] = { {251660304U, 3989U}, {251660320U, 133248667U}, {251660352U, 268371968U}, {251660416U, 989U}, {251660384U, 0U}, {251699268U, 536870911U}, {251699264U, 520093696U}, {251699332U, 486539263U}, {251699328U, 469762048U}, {251699200U, 22U}, {251686912U, 65537U}, {251686916U, 16843008U}, {251686920U, 16777217U}, {251686924U, 0U}, {251686928U, 16777216U}, {251686932U, 16777472U}, {251686936U, 16777216U}, {251686940U, 16908288U}, {251686944U, 67240199U}, {251686948U, 7U}, {251686952U, 16908801U}, {251686956U, 33817610U}, {251686960U, 100663296U}, {251686964U, 33554436U}, {251686968U, 537395712U}, {251686972U, 33751840U}, {251686976U, 1853821440U}, {251686980U, 18418176U}, {251686984U, 101843717U}, {251686988U, 0U}, {251686992U, 16777244U}, {251686996U, 0U}, {251687000U, 0U}, {251687004U, 0U}, {251687008U, 536278U}, {251687012U, 10U}, {251687016U, 0U}, {251687020U, 1U}, {251687024U, 20480U}, {251687028U, 0U}, {251687032U, 0U}, {251687036U, 0U}, {251687040U, 0U}, {251687044U, 0U}, {251687060U, 260U}, {251686936U, 16842752U}}; static struct bcm_ddr_setting asT3LP_DDRSetting133MHz[51U] = { {251660320U, 66139739U}, {251660304U, 12181U}, {251660416U, 989U}, {251660352U, 268369920U}, {251660384U, 0U}, {251699268U, 536870911U}, {251699264U, 520093696U}, {251699332U, 486539263U}, {251699328U, 469762048U}, {251699200U, 22U}, {251686912U, 65537U}, {251686916U, 16843008U}, {251686920U, 16777217U}, {251686924U, 0U}, {251686928U, 16777216U}, {251686932U, 16777472U}, {251686936U, 16777216U}, {251686940U, 16908289U}, {251686944U, 67305735U}, {251686948U, 33554439U}, {251686952U, 33686016U}, {251686956U, 33949194U}, {251686960U, 83886080U}, {251686964U, 3U}, {251686968U, 537526784U}, {251686972U, 34607136U}, {251686976U, 1165038080U}, {251686980U, 286067968U}, {251686984U, 67633926U}, {251686988U, 0U}, {251686992U, 16777244U}, {251686996U, 0U}, {251687000U, 0U}, {251687004U, 0U}, {251687008U, 1057887U}, {251687012U, 16U}, {251687016U, 0U}, {251687020U, 1U}, {251687024U, 28672U}, {251687028U, 0U}, {251687032U, 0U}, {251687036U, 0U}, {251687040U, 0U}, {251687044U, 0U}, {251687048U, 16777217U}, {251687052U, 257U}, {251687056U, 0U}, {251687060U, 262144U}, {251687064U, 0U}, {251687112U, 260U}, {251686936U, 16842752U}}; static struct bcm_ddr_setting asT3LP_DDRSetting100MHz[52U] = { {251660304U, 12181U}, {251660320U, 66139803U}, {251660352U, 268369920U}, {251660384U, 0U}, {251660416U, 989U}, {251660352U, 268369920U}, {251699268U, 536870911U}, {251699264U, 520093696U}, {251699332U, 486539263U}, {251699328U, 469762048U}, {251686912U, 65537U}, {251686916U, 16843008U}, {251686920U, 16777217U}, {251686924U, 0U}, {251686928U, 16777216U}, {251686932U, 16777472U}, {251686936U, 16777216U}, {251686940U, 16908288U}, {251686944U, 67240199U}, {251686948U, 7U}, {251686952U, 16908800U}, {251686956U, 33817610U}, {251686960U, 100663296U}, {251686964U, 4U}, {251686968U, 520618496U}, {251686972U, 33751839U}, {251686976U, 1845498368U}, {251686980U, 18483712U}, {251686984U, 50332421U}, {251686988U, 0U}, {251686992U, 16777244U}, {251686996U, 0U}, {251687000U, 0U}, {251687004U, 0U}, {251687008U, 536278U}, {251687012U, 10U}, {251687016U, 0U}, {251687020U, 1U}, {251687024U, 20480U}, {251687028U, 0U}, {251687032U, 0U}, {251687036U, 0U}, {251687040U, 0U}, {251687044U, 0U}, {251687048U, 16777217U}, {251687052U, 257U}, {251687056U, 0U}, {251687060U, 65536U}, {251687064U, 0U}, {251687112U, 260U}, {251699200U, 22U}, {251686936U, 16842752U}}; static struct bcm_ddr_setting asT3LP_DDRSetting80MHz[51U] = { {251660320U, 133251071U}, {251660304U, 12181U}, {251660384U, 0U}, {251660416U, 989U}, {251660352U, 268377856U}, {251699268U, 536870911U}, {251699264U, 520093696U}, {251699332U, 486539263U}, {251699328U, 469762048U}, {251699200U, 22U}, {251686912U, 65537U}, {251686916U, 16777216U}, {251686920U, 16777217U}, {251686924U, 0U}, {251686928U, 16777216U}, {251686932U, 16777472U}, {251686936U, 16777216U}, {251686940U, 16908288U}, {251686944U, 67240199U}, {251686948U, 7U}, {251686952U, 33686016U}, {251686956U, 33817610U}, {251686960U, 67108864U}, {251686964U, 2U}, {251686968U, 486932992U}, {251686972U, 471999005U}, {251686976U, 2316396032U}, {251686980U, 573376512U}, {251686984U, 40436228U}, {251686988U, 0U}, {251686992U, 16777244U}, {251686996U, 0U}, {251687000U, 0U}, {251687004U, 0U}, {251687008U, 660950U}, {251687012U, 10U}, {251687016U, 0U}, {251687020U, 1U}, {251687024U, 16384U}, {251687028U, 0U}, {251687032U, 0U}, {251687036U, 0U}, {251687040U, 0U}, {251687044U, 0U}, {251687048U, 16777217U}, {251687052U, 257U}, {251687056U, 0U}, {251687060U, 65536U}, {251687064U, 0U}, {251687112U, 260U}, {251686936U, 16842752U}}; static struct bcm_ddr_setting asT3LPB_DDRSetting160MHz[52U] = { {251660320U, 66140123U}, {251660304U, 25438101U}, {251660384U, 0U}, {251660416U, 989U}, {251660352U, 268370944U}, {251699268U, 536870911U}, {251699264U, 520093696U}, {251670608U, 33U}, {251699332U, 486539263U}, {251699328U, 469762048U}, {251699200U, 22U}, {251686912U, 65537U}, {251686916U, 16777217U}, {251686920U, 16777473U}, {251686924U, 0U}, {251686928U, 16777472U}, {251686932U, 16777472U}, {251686936U, 16777216U}, {251686940U, 16908288U}, {251686944U, 67305735U}, {251686948U, 33554439U}, {251686952U, 33686016U}, {251686956U, 33949194U}, {251686960U, 84741376U}, {251686964U, 3U}, {251686968U, 386531840U}, {251686972U, 34607122U}, {251686976U, 1159074304U}, {251686980U, 287640576U}, {251686984U, 81396487U}, {251686988U, 0U}, {251686992U, 28U}, {251686996U, 0U}, {251687000U, 0U}, {251687004U, 0U}, {251687008U, 1321910U}, {251687012U, 541261844U}, {251687016U, 0U}, {251687020U, 1U}, {251687024U, 36864U}, {251687028U, 0U}, {251687032U, 0U}, {251687036U, 0U}, {251687040U, 0U}, {251687044U, 0U}, {251687048U, 16777217U}, {251687052U, 257U}, {251687056U, 0U}, {251687060U, 262144U}, {251687064U, 0U}, {251687112U, 260U}, {251686936U, 16842752U}}; static struct bcm_ddr_setting asT3LPB_DDRSetting133MHz[52U] = { {251660320U, 66139739U}, {251660304U, 12181U}, {251660416U, 989U}, {251660352U, 268369920U}, {251660384U, 0U}, {251699268U, 536870911U}, {251699264U, 520093696U}, {251670608U, 33U}, {251699332U, 486539263U}, {251699328U, 469762048U}, {251699200U, 22U}, {251686912U, 65537U}, {251686916U, 16843008U}, {251686920U, 16777217U}, {251686924U, 0U}, {251686928U, 16777216U}, {251686932U, 16777472U}, {251686936U, 16777216U}, {251686940U, 16908289U}, {251686944U, 67305735U}, {251686948U, 33554439U}, {251686952U, 33686016U}, {251686956U, 33949194U}, {251686960U, 83886080U}, {251686964U, 3U}, {251686968U, 420086272U}, {251686972U, 34607127U}, {251686976U, 1159139840U}, {251686980U, 287902976U}, {251686984U, 67633926U}, {251686988U, 0U}, {251686992U, 16777244U}, {251686996U, 0U}, {251687000U, 0U}, {251687004U, 0U}, {251687008U, 1057887U}, {251687012U, 16U}, {251687016U, 0U}, {251687020U, 1U}, {251687024U, 28672U}, {251687028U, 0U}, {251687032U, 0U}, {251687036U, 0U}, {251687040U, 0U}, {251687044U, 0U}, {251687048U, 16777217U}, {251687052U, 257U}, {251687056U, 0U}, {251687060U, 262144U}, {251687064U, 0U}, {251687112U, 260U}, {251686936U, 16842752U}}; static struct bcm_ddr_setting asT3LPB_DDRSetting100MHz[53U] = { {251660304U, 12181U}, {251660320U, 66139803U}, {251660352U, 268369920U}, {251660384U, 0U}, {251660416U, 989U}, {251660352U, 268369920U}, {251699268U, 536870911U}, {251699264U, 520093696U}, {251670608U, 33U}, {251699332U, 486539263U}, {251699328U, 469762048U}, {251686912U, 65537U}, {251686916U, 16843008U}, {251686920U, 16777217U}, {251686924U, 0U}, {251686928U, 16777216U}, {251686932U, 16777472U}, {251686936U, 16777216U}, {251686940U, 16908288U}, {251686944U, 67240199U}, {251686948U, 7U}, {251686952U, 16908800U}, {251686956U, 33817610U}, {251686960U, 100663296U}, {251686964U, 4U}, {251686968U, 520618496U}, {251686972U, 33751839U}, {251686976U, 1845498368U}, {251686980U, 18483712U}, {251686984U, 50332421U}, {251686988U, 0U}, {251686992U, 16777244U}, {251686996U, 0U}, {251687000U, 0U}, {251687004U, 0U}, {251687008U, 536278U}, {251687012U, 10U}, {251687016U, 0U}, {251687020U, 1U}, {251687024U, 20480U}, {251687028U, 0U}, {251687032U, 0U}, {251687036U, 0U}, {251687040U, 0U}, {251687044U, 0U}, {251687048U, 16777217U}, {251687052U, 257U}, {251687056U, 0U}, {251687060U, 65536U}, {251687064U, 0U}, {251687112U, 260U}, {251699200U, 22U}, {251686936U, 16842752U}}; static struct bcm_ddr_setting asT3LPB_DDRSetting80MHz[52U] = { {251660320U, 133251071U}, {251660304U, 12181U}, {251660384U, 0U}, {251660416U, 989U}, {251660352U, 268377856U}, {251699268U, 536870911U}, {251699264U, 520093696U}, {251670608U, 33U}, {251699332U, 486539263U}, {251699328U, 469762048U}, {251699200U, 22U}, {251686912U, 65537U}, {251686916U, 16777216U}, {251686920U, 16777217U}, {251686924U, 0U}, {251686928U, 16777216U}, {251686932U, 16777472U}, {251686936U, 16777216U}, {251686940U, 16908288U}, {251686944U, 67240199U}, {251686948U, 7U}, {251686952U, 33686016U}, {251686956U, 33817610U}, {251686960U, 67108864U}, {251686964U, 2U}, {251686968U, 486932992U}, {251686972U, 471999005U}, {251686976U, 2316396032U}, {251686980U, 573376512U}, {251686984U, 40436228U}, {251686988U, 0U}, {251686992U, 16777244U}, {251686996U, 0U}, {251687000U, 0U}, {251687004U, 0U}, {251687008U, 660950U}, {251687012U, 10U}, {251687016U, 0U}, {251687020U, 1U}, {251687024U, 16384U}, {251687028U, 0U}, {251687032U, 0U}, {251687036U, 0U}, {251687040U, 0U}, {251687044U, 0U}, {251687048U, 16777217U}, {251687052U, 257U}, {251687056U, 0U}, {251687060U, 65536U}, {251687064U, 0U}, {251687112U, 260U}, {251686936U, 16842752U}}; int ddr_init(struct bcm_mini_adapter *Adapter ) { struct bcm_ddr_setting *psDDRSetting ; ULONG RegCount ; UINT value ; UINT uiResetValue ; UINT uiClockSetting ; int retval ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; size_t __len ; void *__ret ; struct _ddebug descriptor___6 ; long tmp___6 ; unsigned long __ms ; unsigned long tmp___9 ; struct _ddebug descriptor___10 ; long tmp___11 ; struct _ddebug descriptor___12 ; long tmp___13 ; struct _ddebug descriptor___14 ; long tmp___15 ; struct _ddebug descriptor___16 ; long tmp___17 ; unsigned long __ms___0 ; unsigned long tmp___18 ; struct _ddebug descriptor___18 ; long tmp___20 ; struct _ddebug descriptor___20 ; long tmp___22 ; struct _ddebug descriptor___22 ; long tmp___24 ; struct _ddebug descriptor___26 ; long tmp___28 ; struct _ddebug descriptor___28 ; long tmp___30 ; struct _ddebug descriptor___30 ; long tmp___32 ; struct _ddebug descriptor___32 ; long tmp___34 ; struct _ddebug descriptor___34 ; long tmp___36 ; struct _ddebug descriptor___36 ; long tmp___38 ; struct _ddebug descriptor___38 ; long tmp___40 ; struct _ddebug descriptor___40 ; long tmp___42 ; { psDDRSetting = (struct bcm_ddr_setting *)0; RegCount = 0UL; value = 0U; uiResetValue = 0U; uiClockSetting = 0U; retval = 0; switch (Adapter->chip_id) { case 0xffffffffbece3200UL: ; switch (Adapter->DDRSetting) { case 0: psDDRSetting = (struct bcm_ddr_setting *)(& asT3LP_DDRSetting80MHz); RegCount = 51UL; goto ldv_51736; case 1: psDDRSetting = (struct bcm_ddr_setting *)(& asT3LP_DDRSetting100MHz); RegCount = 52UL; goto ldv_51736; case 3: psDDRSetting = (struct bcm_ddr_setting *)(& asT3LP_DDRSetting133MHz); RegCount = 51UL; if (! Adapter->bMipsConfig) { uiClockSetting = 66139730U; } else { uiClockSetting = 66139739U; } goto ldv_51736; default: ; return (-22); } ldv_51736: ; goto ldv_51740; case 0xffffffffbece3300UL: ; case 0xffffffffbece3311UL: ; case 0xffffffffbece3310UL: ; case 0xffffffffbece3301UL: ; case 0xffffffffbece3321UL: ; if ((Adapter->chip_id != 3201184529UL && Adapter->chip_id != 3201184528UL) && Adapter->chip_id != 3201184545UL) { retval = rdmalt(Adapter, 251660336U, & uiResetValue, 4UL); if (retval < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 32768U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "ddr_init"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___0.format = "%s:\n%s:%d RDM failed\n"; descriptor___0.lineno = 859U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n%s:%d RDM failed\n", "ddr_init", "ddr_init", 859); } else { } } else { } return (retval); } else { } uiResetValue = uiResetValue | 68U; retval = wrmalt(Adapter, 251660336U, & uiResetValue, 4UL); if (retval < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 32768U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "ddr_init"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___2.format = "%s:\n%s:%d RDM failed\n"; descriptor___2.lineno = 865U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\n%s:%d RDM failed\n", "ddr_init", "ddr_init", 865); } else { } } else { } return (retval); } else { } } else { } switch (Adapter->DDRSetting) { case 0: psDDRSetting = (struct bcm_ddr_setting *)(& asT3LPB_DDRSetting80MHz); RegCount = 46UL; goto ldv_51752; case 1: psDDRSetting = (struct bcm_ddr_setting *)(& asT3LPB_DDRSetting100MHz); RegCount = 46UL; goto ldv_51752; case 3: psDDRSetting = (struct bcm_ddr_setting *)(& asT3LPB_DDRSetting133MHz); RegCount = 48UL; if (! Adapter->bMipsConfig) { uiClockSetting = 66139730U; } else { uiClockSetting = 66139739U; } goto ldv_51752; case 5: psDDRSetting = (struct bcm_ddr_setting *)(& asT3LPB_DDRSetting160MHz); RegCount = 52UL; if (! Adapter->bMipsConfig) { uiClockSetting = 66140114U; } else { uiClockSetting = 66140123U; } } ldv_51752: ; goto ldv_51740; case 0xffffffffbece0110UL: ; case 0xffffffffbece0120UL: ; case 0xffffffffbece0121UL: ; case 0xffffffffbece0130UL: ; case 0xffffffffbece0300UL: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (int )Adapter->stDebugState.subtype[1] & 1) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "ddr_init"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___4.format = "%s:\nDDR Setting: %x\n"; descriptor___4.lineno = 910U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nDDR Setting: %x\n", "ddr_init", Adapter->DDRSetting); } else { } } else { } switch (Adapter->DDRSetting) { case 0: psDDRSetting = (struct bcm_ddr_setting *)(& asT3_DDRSetting80MHz); RegCount = 46UL; goto ldv_51764; case 1: psDDRSetting = (struct bcm_ddr_setting *)(& asT3_DDRSetting100MHz); RegCount = 49UL; goto ldv_51764; case 3: psDDRSetting = (struct bcm_ddr_setting *)(& asT3_DDRSetting133MHz); RegCount = 49UL; goto ldv_51764; default: ; return (-22); } ldv_51764: ; case 0xffffffffbece0310UL: ; switch (Adapter->DDRSetting) { case 0: psDDRSetting = (struct bcm_ddr_setting *)(& asT3B_DDRSetting80MHz); RegCount = 46UL; goto ldv_51770; case 1: psDDRSetting = (struct bcm_ddr_setting *)(& asT3B_DDRSetting100MHz); RegCount = 46UL; goto ldv_51770; case 3: ; if ((int )Adapter->bDPLLConfig) { __len = 56UL; if (__len > 63UL) { __ret = memcpy((void *)(& asT3B_DDRSetting133MHz), (void const *)(& asDPLL_266MHZ), __len); } else { __ret = memcpy((void *)(& asT3B_DDRSetting133MHz), (void const *)(& asDPLL_266MHZ), __len); } psDDRSetting = (struct bcm_ddr_setting *)(& asT3B_DDRSetting133MHz); RegCount = 48UL; } else { psDDRSetting = (struct bcm_ddr_setting *)(& asT3B_DDRSetting133MHz); RegCount = 48UL; if (! Adapter->bMipsConfig) { uiClockSetting = 133248594U; } else { uiClockSetting = 133248603U; } } goto ldv_51770; default: ; return (-22); } ldv_51770: ; goto ldv_51740; default: ; return (-22); } ldv_51740: value = 0U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (int )Adapter->stDebugState.subtype[1] & 1) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "ddr_init"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___6.format = "%s:\nRegister Count is =%lu\n"; descriptor___6.lineno = 972U; descriptor___6.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nRegister Count is =%lu\n", "ddr_init", RegCount); } else { } } else { } goto ldv_51784; ldv_51783: ; if (uiClockSetting != 0U && psDDRSetting->ulRegAddress == 251660320U) { value = uiClockSetting; } else { value = psDDRSetting->ulRegValue; } retval = wrmalt(Adapter, psDDRSetting->ulRegAddress, & value, 4UL); if (retval != 0) { printk("\016%s:%s:%d\n", "ddr_init", "ddr_init", 980); goto ldv_51782; } else { } RegCount = RegCount - 1UL; psDDRSetting = psDDRSetting + 1; ldv_51784: ; if (RegCount != 0UL && retval == 0) { goto ldv_51783; } else { } ldv_51782: ; if (Adapter->chip_id > 3201184511UL) { if (1) { __const_udelay(12885000UL); } else { __ms = 3UL; goto ldv_51787; ldv_51786: __const_udelay(4295000UL); ldv_51787: tmp___9 = __ms; __ms = __ms - 1UL; if (tmp___9 != 0UL) { goto ldv_51786; } else { } } if ((Adapter->chip_id != 3201184529UL && Adapter->chip_id != 3201184528UL) && Adapter->chip_id != 3201184545UL) { uiResetValue = 16842753U; retval = wrmalt(Adapter, 251686936U, & uiResetValue, 4UL); if (retval < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 32768U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "ddr_init"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___10.format = "%s:\n%s:%d RDM failed\n"; descriptor___10.lineno = 998U; descriptor___10.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\n%s:%d RDM failed\n", "ddr_init", "ddr_init", 998); } else { } } else { } return (retval); } else { } uiResetValue = 262176U; retval = wrmalt(Adapter, 251687060U, & uiResetValue, 4UL); if (retval < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 32768U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "ddr_init"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___12.format = "%s:\n%s:%d RDM failed\n"; descriptor___12.lineno = 1004U; descriptor___12.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\n%s:%d RDM failed\n", "ddr_init", "ddr_init", 1004); } else { } } else { } return (retval); } else { } uiResetValue = 16908545U; retval = wrmalt(Adapter, 251686940U, & uiResetValue, 4UL); if (retval < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 32768U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "ddr_init"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___14.format = "%s:\n%s:%d RDM failed\n"; descriptor___14.lineno = 1010U; descriptor___14.flags = 0U; tmp___15 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___15 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\n%s:%d RDM failed\n", "ddr_init", "ddr_init", 1010); } else { } } else { } return (retval); } else { } uiResetValue = 16842752U; retval = wrmalt(Adapter, 251686936U, & uiResetValue, 4UL); if (retval < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 32768U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "ddr_init"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___16.format = "%s:\n%s:%d RDM failed\n"; descriptor___16.lineno = 1016U; descriptor___16.flags = 0U; tmp___17 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___17 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\n%s:%d RDM failed\n", "ddr_init", "ddr_init", 1016); } else { } } else { } return (retval); } else { } } else { } if (1) { __const_udelay(12885000UL); } else { __ms___0 = 3UL; goto ldv_51799; ldv_51798: __const_udelay(4295000UL); ldv_51799: tmp___18 = __ms___0; __ms___0 = __ms___0 - 1UL; if (tmp___18 != 0UL) { goto ldv_51798; } else { } } if (Adapter->PmuMode == 0U) { retval = rdmalt(Adapter, 251661312U, & uiResetValue, 4UL); if (retval < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 32768U) != 0U) { descriptor___18.modname = "bcm_wimax"; descriptor___18.function = "ddr_init"; descriptor___18.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___18.format = "%s:\n%s:%d RDM failed\n"; descriptor___18.lineno = 1031U; descriptor___18.flags = 0U; tmp___20 = ldv__builtin_expect((long )descriptor___18.flags & 1L, 0L); if (tmp___20 != 0L) { __dynamic_pr_debug(& descriptor___18, "%s:\n%s:%d RDM failed\n", "ddr_init", "ddr_init", 1031); } else { } } else { } return (retval); } else { } retval = rdmalt(Adapter, 251661312U, & uiResetValue, 4UL); if (retval < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 32768U) != 0U) { descriptor___20.modname = "bcm_wimax"; descriptor___20.function = "ddr_init"; descriptor___20.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___20.format = "%s:\n%s:%d RDM failed\n"; descriptor___20.lineno = 1036U; descriptor___20.flags = 0U; tmp___22 = ldv__builtin_expect((long )descriptor___20.flags & 1L, 0L); if (tmp___22 != 0L) { __dynamic_pr_debug(& descriptor___20, "%s:\n%s:%d RDM failed\n", "ddr_init", "ddr_init", 1036); } else { } } else { } return (retval); } else { } uiResetValue = 1254056U; retval = wrmalt(Adapter, 251661596U, & uiResetValue, 4UL); if (retval < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 32768U) != 0U) { descriptor___22.modname = "bcm_wimax"; descriptor___22.function = "ddr_init"; descriptor___22.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___22.format = "%s:\n%s:%d RDM failed\n"; descriptor___22.lineno = 1042U; descriptor___22.flags = 0U; tmp___24 = ldv__builtin_expect((long )descriptor___22.flags & 1L, 0L); if (tmp___24 != 0L) { __dynamic_pr_debug(& descriptor___22, "%s:\n%s:%d RDM failed\n", "ddr_init", "ddr_init", 1042); } else { } } else { } return (retval); } else { } retval = rdmalt(Adapter, 251661312U, & uiResetValue, 4UL); if (retval < 0) { printk("\016%s:%s:%d RDM failed\n", "ddr_init", "ddr_init", 1047); return (retval); } else { } retval = rdmalt(Adapter, 251661312U, & uiResetValue, 4UL); if (retval < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 32768U) != 0U) { descriptor___26.modname = "bcm_wimax"; descriptor___26.function = "ddr_init"; descriptor___26.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___26.format = "%s:\n%s:%d RDM failed\n"; descriptor___26.lineno = 1052U; descriptor___26.flags = 0U; tmp___28 = ldv__builtin_expect((long )descriptor___26.flags & 1L, 0L); if (tmp___28 != 0L) { __dynamic_pr_debug(& descriptor___26, "%s:\n%s:%d RDM failed\n", "ddr_init", "ddr_init", 1052); } else { } } else { } return (retval); } else { } uiResetValue = 1254038U; retval = wrmalt(Adapter, 251661588U, & uiResetValue, 4UL); if (retval < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 32768U) != 0U) { descriptor___28.modname = "bcm_wimax"; descriptor___28.function = "ddr_init"; descriptor___28.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___28.format = "%s:\n%s:%d RDM failed\n"; descriptor___28.lineno = 1058U; descriptor___28.flags = 0U; tmp___30 = ldv__builtin_expect((long )descriptor___28.flags & 1L, 0L); if (tmp___30 != 0L) { __dynamic_pr_debug(& descriptor___28, "%s:\n%s:%d RDM failed\n", "ddr_init", "ddr_init", 1058); } else { } } else { } return (retval); } else { } } else if (Adapter->PmuMode == 2U) { retval = rdmalt(Adapter, 251661312U, & uiResetValue, 4UL); if (retval < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 32768U) != 0U) { descriptor___30.modname = "bcm_wimax"; descriptor___30.function = "ddr_init"; descriptor___30.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___30.format = "%s:\n%s:%d RDM failed\n"; descriptor___30.lineno = 1065U; descriptor___30.flags = 0U; tmp___32 = ldv__builtin_expect((long )descriptor___30.flags & 1L, 0L); if (tmp___32 != 0L) { __dynamic_pr_debug(& descriptor___30, "%s:\n%s:%d RDM failed\n", "ddr_init", "ddr_init", 1065); } else { } } else { } return (retval); } else { } retval = rdmalt(Adapter, 251661312U, & uiResetValue, 4UL); if (retval < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 32768U) != 0U) { descriptor___32.modname = "bcm_wimax"; descriptor___32.function = "ddr_init"; descriptor___32.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___32.format = "%s:\n%s:%d RDM failed\n"; descriptor___32.lineno = 1070U; descriptor___32.flags = 0U; tmp___34 = ldv__builtin_expect((long )descriptor___32.flags & 1L, 0L); if (tmp___34 != 0L) { __dynamic_pr_debug(& descriptor___32, "%s:\n%s:%d RDM failed\n", "ddr_init", "ddr_init", 1070); } else { } } else { } return (retval); } else { } uiResetValue = 1610818202U; retval = wrmalt(Adapter, 251661588U, & uiResetValue, 4UL); if (retval < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 32768U) != 0U) { descriptor___34.modname = "bcm_wimax"; descriptor___34.function = "ddr_init"; descriptor___34.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___34.format = "%s:\n%s:%d RDM failed\n"; descriptor___34.lineno = 1076U; descriptor___34.flags = 0U; tmp___36 = ldv__builtin_expect((long )descriptor___34.flags & 1L, 0L); if (tmp___36 != 0L) { __dynamic_pr_debug(& descriptor___34, "%s:\n%s:%d RDM failed\n", "ddr_init", "ddr_init", 1076); } else { } } else { } return (retval); } else { } retval = rdmalt(Adapter, 251661312U, & uiResetValue, 4UL); if (retval < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 32768U) != 0U) { descriptor___36.modname = "bcm_wimax"; descriptor___36.function = "ddr_init"; descriptor___36.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___36.format = "%s:\n%s:%d RDM failed\n"; descriptor___36.lineno = 1081U; descriptor___36.flags = 0U; tmp___38 = ldv__builtin_expect((long )descriptor___36.flags & 1L, 0L); if (tmp___38 != 0L) { __dynamic_pr_debug(& descriptor___36, "%s:\n%s:%d RDM failed\n", "ddr_init", "ddr_init", 1081); } else { } } else { } return (retval); } else { } retval = rdmalt(Adapter, 251661312U, & uiResetValue, 4UL); if (retval < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 32768U) != 0U) { descriptor___38.modname = "bcm_wimax"; descriptor___38.function = "ddr_init"; descriptor___38.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___38.format = "%s:\n%s:%d RDM failed\n"; descriptor___38.lineno = 1086U; descriptor___38.flags = 0U; tmp___40 = ldv__builtin_expect((long )descriptor___38.flags & 1L, 0L); if (tmp___40 != 0L) { __dynamic_pr_debug(& descriptor___38, "%s:\n%s:%d RDM failed\n", "ddr_init", "ddr_init", 1086); } else { } } else { } return (retval); } else { } uiResetValue = 1254056U; retval = wrmalt(Adapter, 251661596U, & uiResetValue, 4UL); if (retval < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 32768U) != 0U) { descriptor___40.modname = "bcm_wimax"; descriptor___40.function = "ddr_init"; descriptor___40.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/DDRInit.o.c.prepared"; descriptor___40.format = "%s:\n%s:%d RDM failed\n"; descriptor___40.lineno = 1092U; descriptor___40.flags = 0U; tmp___42 = ldv__builtin_expect((long )descriptor___40.flags & 1L, 0L); if (tmp___42 != 0L) { __dynamic_pr_debug(& descriptor___40, "%s:\n%s:%d RDM failed\n", "ddr_init", "ddr_init", 1092); } else { } } else { } return (retval); } else { } } else { } } else { } Adapter->bDDRInitDone = 1; return (retval); } } int download_ddr_settings(struct bcm_mini_adapter *Adapter ) { struct bcm_ddr_setting *psDDRSetting ; ULONG RegCount ; unsigned long ul_ddr_setting_load_addr ; UINT value ; int retval ; bool bOverrideSelfRefresh ; int tmp___5 ; int tmp___8 ; { psDDRSetting = (struct bcm_ddr_setting *)0; RegCount = 0UL; ul_ddr_setting_load_addr = 3217042176UL; value = 0U; retval = 0; bOverrideSelfRefresh = 0; switch (Adapter->chip_id) { case 0xffffffffbece3200UL: ; switch (Adapter->DDRSetting) { case 0: psDDRSetting = (struct bcm_ddr_setting *)(& asT3LP_DDRSetting80MHz); RegCount = 51UL; RegCount = RegCount - 9UL; psDDRSetting = psDDRSetting + 9UL; goto ldv_51838; case 1: psDDRSetting = (struct bcm_ddr_setting *)(& asT3LP_DDRSetting100MHz); RegCount = 52UL; RegCount = RegCount - 11UL; psDDRSetting = psDDRSetting + 11UL; goto ldv_51838; case 3: bOverrideSelfRefresh = 1; psDDRSetting = (struct bcm_ddr_setting *)(& asT3LP_DDRSetting133MHz); RegCount = 51UL; RegCount = RegCount - 9UL; psDDRSetting = psDDRSetting + 9UL; goto ldv_51838; default: ; return (-22); } ldv_51838: ; goto ldv_51846; case 0xffffffffbece3300UL: ; case 0xffffffffbece3311UL: ; case 0xffffffffbece3310UL: ; case 0xffffffffbece3301UL: ; case 0xffffffffbece3321UL: ; switch (Adapter->DDRSetting) { case 0: psDDRSetting = (struct bcm_ddr_setting *)(& asT3LPB_DDRSetting80MHz); RegCount = 52UL; RegCount = RegCount - 7UL; psDDRSetting = psDDRSetting + 7UL; goto ldv_51855; case 1: psDDRSetting = (struct bcm_ddr_setting *)(& asT3LPB_DDRSetting100MHz); RegCount = 53UL; RegCount = RegCount - 8UL; psDDRSetting = psDDRSetting + 8UL; goto ldv_51855; case 3: bOverrideSelfRefresh = 1; psDDRSetting = (struct bcm_ddr_setting *)(& asT3LPB_DDRSetting133MHz); RegCount = 52UL; RegCount = RegCount - 7UL; psDDRSetting = psDDRSetting + 7UL; goto ldv_51855; case 5: bOverrideSelfRefresh = 1; psDDRSetting = (struct bcm_ddr_setting *)(& asT3LPB_DDRSetting160MHz); RegCount = 52UL; RegCount = RegCount - 7UL; psDDRSetting = psDDRSetting + 7UL; goto ldv_51855; default: ; return (-22); } ldv_51855: ; goto ldv_51846; case 0xffffffffbece0300UL: ; switch (Adapter->DDRSetting) { case 0: psDDRSetting = (struct bcm_ddr_setting *)(& asT3_DDRSetting80MHz); RegCount = 46UL; RegCount = RegCount - 10UL; psDDRSetting = psDDRSetting + 10UL; goto ldv_51870; case 1: psDDRSetting = (struct bcm_ddr_setting *)(& asT3_DDRSetting100MHz); RegCount = 49UL; RegCount = RegCount - 13UL; psDDRSetting = psDDRSetting + 13UL; goto ldv_51870; case 3: psDDRSetting = (struct bcm_ddr_setting *)(& asT3_DDRSetting133MHz); RegCount = 49UL; RegCount = RegCount - 12UL; psDDRSetting = psDDRSetting + 12UL; goto ldv_51870; default: ; return (-22); } ldv_51870: ; goto ldv_51846; case 0xffffffffbece0310UL: ; switch (Adapter->DDRSetting) { case 0: psDDRSetting = (struct bcm_ddr_setting *)(& asT3B_DDRSetting80MHz); RegCount = 46UL; RegCount = RegCount - 9UL; psDDRSetting = psDDRSetting + 9UL; goto ldv_51882; case 1: psDDRSetting = (struct bcm_ddr_setting *)(& asT3B_DDRSetting100MHz); RegCount = 46UL; RegCount = RegCount - 9UL; psDDRSetting = psDDRSetting + 9UL; goto ldv_51882; case 3: bOverrideSelfRefresh = 1; psDDRSetting = (struct bcm_ddr_setting *)(& asT3B_DDRSetting133MHz); RegCount = 48UL; RegCount = RegCount - 11UL; psDDRSetting = psDDRSetting + 11UL; goto ldv_51882; } ldv_51882: ; goto ldv_51846; default: ; return (-22); } ldv_51846: value = (UINT )RegCount; retval = wrmalt(Adapter, (UINT )ul_ddr_setting_load_addr, & value, 4UL); if (retval != 0) { printk("\016%s:%s:%d\n", "download_ddr_settings", "download_ddr_settings", 1232); return (retval); } else { } ul_ddr_setting_load_addr = ul_ddr_setting_load_addr + 8UL; value = 488508880U; retval = wrmalt(Adapter, (UINT )ul_ddr_setting_load_addr, & value, 4UL); if (retval != 0) { printk("\016%s:%s:%d\n", "download_ddr_settings", "download_ddr_settings", 1241); return (retval); } else { } ul_ddr_setting_load_addr = ul_ddr_setting_load_addr + 8UL; RegCount = RegCount; goto ldv_51901; ldv_51900: value = psDDRSetting->ulRegAddress; retval = wrmalt(Adapter, (UINT )ul_ddr_setting_load_addr, & value, 4UL); ul_ddr_setting_load_addr = ul_ddr_setting_load_addr + 8UL; if (retval == 0) { if ((int )bOverrideSelfRefresh && psDDRSetting->ulRegAddress == 251686936U) { value = psDDRSetting->ulRegValue | 256U; tmp___5 = wrmalt(Adapter, (UINT )ul_ddr_setting_load_addr, & value, 4UL); if (tmp___5 != 0) { printk("\016%s:%s:%d\n", "download_ddr_settings", "download_ddr_settings", 1257); goto ldv_51897; } else { } } else { value = psDDRSetting->ulRegValue; tmp___8 = wrmalt(Adapter, (UINT )ul_ddr_setting_load_addr, & value, 4UL); if (tmp___8 != 0) { printk("\016%s:%s:%d\n", "download_ddr_settings", "download_ddr_settings", 1265); goto ldv_51897; } else { } } } else { } ul_ddr_setting_load_addr = ul_ddr_setting_load_addr + 8UL; RegCount = RegCount - 1UL; psDDRSetting = psDDRSetting + 1; ldv_51901: ; if (RegCount != 0UL && retval == 0) { goto ldv_51900; } else { } ldv_51897: ; return (retval); } } int ldv_pskb_expand_head_572(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_574(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_576(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_577(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_578(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_579(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_580(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_581(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_582(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } extern void _raw_spin_unlock_irqrestore(raw_spinlock_t * , unsigned long ) ; __inline static void ldv_spin_unlock_irqrestore_602(spinlock_t *lock , unsigned long flags ) { { _raw_spin_unlock_irqrestore(& lock->ldv_6347.rlock, flags); return; } } __inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) ; extern void down(struct semaphore * ) ; extern void up(struct semaphore * ) ; struct sk_buff *ldv_skb_clone_618(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_626(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_628(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_620(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_616(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_624(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_625(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_621(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_622(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_623(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; VOID LinkControlResponseMessage(struct bcm_mini_adapter *Adapter , PUCHAR pucBuffer ) ; VOID StatisticsResponse(struct bcm_mini_adapter *Adapter , void *pvBuffer ) ; int control_packet_handler(struct bcm_mini_adapter *Adapter ) ; INT flushAllAppQ(void) ; static VOID handle_rx_control_packet(struct bcm_mini_adapter *Adapter , struct sk_buff *skb ) { struct bcm_tarang_data *pTarang ; bool HighPriorityMessage ; struct sk_buff *newPacket ; CHAR cntrl_msg_mask_bit ; bool drop_pkt_flag ; USHORT usStatus ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; struct _ddebug descriptor___6 ; long tmp___6 ; struct _ddebug descriptor___8 ; long tmp___8 ; { pTarang = (struct bcm_tarang_data *)0; HighPriorityMessage = 0; newPacket = (struct sk_buff *)0; cntrl_msg_mask_bit = 0; drop_pkt_flag = 1; usStatus = *((unsigned short *)skb->data); if ((Adapter->msg_enable & 4096U) != 0U) { print_hex_dump("\017", "beceem rx control: ", 0, 16, 1, (void const *)skb->data, (size_t )skb->len, 0); } else { } switch ((int )usStatus) { case 160: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 512U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "handle_rx_control_packet"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/HandleControlPacket.o.c.prepared"; descriptor___0.format = "%s:\nMAC Version Seems to be Non Multi-Classifier, rejected by Driver"; descriptor___0.lineno = 67U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nMAC Version Seems to be Non Multi-Classifier, rejected by Driver", "handle_rx_control_packet"); } else { } } else { } HighPriorityMessage = 1; goto ldv_51731; case 169: HighPriorityMessage = 1; if ((unsigned int )Adapter->LinkStatus == 4U) { CmControlResponseMessage(Adapter, (void *)skb->data + 2U); } else { } goto ldv_51731; case 162: ; case 161: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 512U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "handle_rx_control_packet"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/HandleControlPacket.o.c.prepared"; descriptor___2.format = "%s:\nLINK_CONTROL_RESP"; descriptor___2.lineno = 79U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nLINK_CONTROL_RESP", "handle_rx_control_packet"); } else { } } else { } HighPriorityMessage = 1; LinkControlResponseMessage(Adapter, skb->data + 2UL); goto ldv_51731; case 166: HighPriorityMessage = 1; StatisticsResponse(Adapter, (PVOID )skb->data + 2U); goto ldv_51731; case 163: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 512U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "handle_rx_control_packet"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/HandleControlPacket.o.c.prepared"; descriptor___4.format = "%s:\nIDLE_MODE_STATUS Type Message Got from F/W"; descriptor___4.lineno = 91U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nIDLE_MODE_STATUS Type Message Got from F/W", "handle_rx_control_packet"); } else { } } else { } InterfaceIdleModeRespond(Adapter, (unsigned int *)skb->data + 2U); HighPriorityMessage = 1; goto ldv_51731; case 168: HighPriorityMessage = 1; goto ldv_51731; default: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 512U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "handle_rx_control_packet"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/HandleControlPacket.o.c.prepared"; descriptor___6.format = "%s:\nGot Default Response"; descriptor___6.lineno = 103U; descriptor___6.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nGot Default Response", "handle_rx_control_packet"); } else { } } else { } goto ldv_51731; } ldv_51731: down(& Adapter->RxAppControlQueuelock); pTarang = Adapter->pTarangs; goto ldv_51757; ldv_51756: ; if ((int )Adapter->device_removed) { goto ldv_51745; } else { } drop_pkt_flag = 1; cntrl_msg_mask_bit = (int )((CHAR )usStatus) & 31; if ((pTarang->RxCntrlMsgBitMask & (ULONG )(1 << (int )cntrl_msg_mask_bit)) != 0UL) { drop_pkt_flag = 0; } else { } if (((int )drop_pkt_flag || pTarang->AppCtrlQueueLen > 200) || (pTarang->AppCtrlQueueLen > 100 && ! HighPriorityMessage)) { switch ((int )*((unsigned short *)skb->data)) { case 160: pTarang->stDroppedAppCntrlMsgs.cm_responses = pTarang->stDroppedAppCntrlMsgs.cm_responses + 1UL; goto ldv_51747; case 169: pTarang->stDroppedAppCntrlMsgs.cm_control_newdsx_multiclassifier_resp = pTarang->stDroppedAppCntrlMsgs.cm_control_newdsx_multiclassifier_resp + 1UL; goto ldv_51747; case 162: pTarang->stDroppedAppCntrlMsgs.link_control_resp = pTarang->stDroppedAppCntrlMsgs.link_control_resp + 1UL; goto ldv_51747; case 161: pTarang->stDroppedAppCntrlMsgs.status_rsp = pTarang->stDroppedAppCntrlMsgs.status_rsp + 1UL; goto ldv_51747; case 166: pTarang->stDroppedAppCntrlMsgs.stats_pointer_resp = pTarang->stDroppedAppCntrlMsgs.stats_pointer_resp + 1UL; goto ldv_51747; case 163: pTarang->stDroppedAppCntrlMsgs.idle_mode_status = pTarang->stDroppedAppCntrlMsgs.idle_mode_status + 1UL; goto ldv_51747; case 168: pTarang->stDroppedAppCntrlMsgs.auth_ss_host_msg = pTarang->stDroppedAppCntrlMsgs.auth_ss_host_msg + 1UL; goto ldv_51747; default: pTarang->stDroppedAppCntrlMsgs.low_priority_message = pTarang->stDroppedAppCntrlMsgs.low_priority_message + 1UL; goto ldv_51747; } ldv_51747: ; goto ldv_51755; } else { } newPacket = ldv_skb_clone_628(skb, 208U); if ((unsigned long )newPacket == (unsigned long )((struct sk_buff *)0)) { goto ldv_51745; } else { } if ((unsigned long )pTarang->RxAppControlHead == (unsigned long )((struct sk_buff *)0)) { pTarang->RxAppControlHead = newPacket; } else { (pTarang->RxAppControlTail)->next = newPacket; } newPacket->next = (struct sk_buff *)0; pTarang->RxAppControlTail = newPacket; pTarang->AppCtrlQueueLen = pTarang->AppCtrlQueueLen + 1; ldv_51755: pTarang = pTarang->next; ldv_51757: ; if ((unsigned long )pTarang != (unsigned long )((struct bcm_tarang_data *)0)) { goto ldv_51756; } else { } ldv_51745: up(& Adapter->RxAppControlQueuelock); __wake_up(& Adapter->process_read_wait_queue, 3U, 1, (void *)0); consume_skb(skb); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 512U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "handle_rx_control_packet"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/HandleControlPacket.o.c.prepared"; descriptor___8.format = "%s:\nAfter wake_up_interruptible"; descriptor___8.lineno = 186U; descriptor___8.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nAfter wake_up_interruptible", "handle_rx_control_packet"); } else { } } else { } return; } } int control_packet_handler(struct bcm_mini_adapter *Adapter ) { struct sk_buff *ctrl_packet ; unsigned long flags ; struct _ddebug descriptor___0 ; long tmp___0 ; int __ret ; wait_queue_t __wait ; long __ret___0 ; long __int ; long tmp___1 ; int tmp___2 ; bool tmp___3 ; int tmp___4 ; bool tmp___5 ; int tmp___6 ; struct _ddebug descriptor___2 ; long tmp___8 ; bool tmp___9 ; struct _ddebug descriptor___4 ; long tmp___11 ; int tmp___12 ; { ctrl_packet = (struct sk_buff *)0; flags = 0UL; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 512U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "control_packet_handler"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/HandleControlPacket.o.c.prepared"; descriptor___0.format = "%s:\nEntering to make thread wait on control packet event!"; descriptor___0.lineno = 200U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nEntering to make thread wait on control packet event!", "control_packet_handler"); } else { } } else { } ldv_51785: __ret = 0; tmp___4 = atomic_read((atomic_t const *)(& Adapter->cntrlpktCnt)); if (tmp___4 == 0 && ! Adapter->bWakeUpDevice) { tmp___5 = kthread_should_stop(); if (tmp___5) { tmp___6 = 0; } else { tmp___6 = 1; } if (tmp___6) { __ret___0 = 0L; INIT_LIST_HEAD(& __wait.task_list); __wait.flags = 0U; ldv_51774: tmp___1 = prepare_to_wait_event(& Adapter->process_rx_cntrlpkt, & __wait, 1); __int = tmp___1; tmp___2 = atomic_read((atomic_t const *)(& Adapter->cntrlpktCnt)); if (tmp___2 != 0 || (int )Adapter->bWakeUpDevice) { goto ldv_51773; } else { tmp___3 = kthread_should_stop(); if ((int )tmp___3) { goto ldv_51773; } else { } } if (__int != 0L) { __ret___0 = __int; goto ldv_51773; } else { } schedule(); goto ldv_51774; ldv_51773: finish_wait(& Adapter->process_rx_cntrlpkt, & __wait); __ret = (int )__ret___0; } else { } } else { } tmp___9 = kthread_should_stop(); if ((int )tmp___9) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 512U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "control_packet_handler"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/HandleControlPacket.o.c.prepared"; descriptor___2.format = "%s:\nExiting\n"; descriptor___2.lineno = 210U; descriptor___2.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nExiting\n", "control_packet_handler"); } else { } } else { } return (0); } else { } if ((int )Adapter->bWakeUpDevice) { Adapter->bWakeUpDevice = 0; if (! Adapter->bTriedToWakeUpFromlowPowerMode && ((int )Adapter->IdleMode || (int )Adapter->bShutStatus)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 512U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "control_packet_handler"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/HandleControlPacket.o.c.prepared"; descriptor___4.format = "%s:\nCalling InterfaceAbortIdlemode\n"; descriptor___4.lineno = 220U; descriptor___4.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nCalling InterfaceAbortIdlemode\n", "control_packet_handler"); } else { } } else { } InterfaceIdleModeWakeup(Adapter); } else { } goto ldv_51781; } else { } goto ldv_51783; ldv_51782: ldv_spin_lock(); ctrl_packet = Adapter->RxControlHead; if ((unsigned long )ctrl_packet != (unsigned long )((struct sk_buff *)0)) { if ((unsigned long )Adapter->RxControlHead != (unsigned long )((struct sk_buff *)0)) { if ((unsigned long )(Adapter->RxControlHead)->next == (unsigned long )((struct sk_buff *)0)) { Adapter->RxControlTail = (struct sk_buff *)0; } else { } Adapter->RxControlHead = (Adapter->RxControlHead)->next; } else { } } else { } spin_unlock_irqrestore(& Adapter->control_queue_lock, flags); handle_rx_control_packet(Adapter, ctrl_packet); atomic_dec(& Adapter->cntrlpktCnt); ldv_51783: tmp___12 = atomic_read((atomic_t const *)(& Adapter->cntrlpktCnt)); if (tmp___12 != 0) { goto ldv_51782; } else { } SetUpTargetDsxBuffers(Adapter); ldv_51781: ; goto ldv_51785; return (0); } } INT flushAllAppQ(void) { struct bcm_mini_adapter *Adapter ; void *tmp ; struct bcm_tarang_data *pTarang ; struct sk_buff *PacketToDrop ; { tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; pTarang = (struct bcm_tarang_data *)0; PacketToDrop = (struct sk_buff *)0; pTarang = Adapter->pTarangs; goto ldv_51796; ldv_51795: ; goto ldv_51793; ldv_51792: PacketToDrop = pTarang->RxAppControlHead; if ((unsigned long )pTarang->RxAppControlHead != (unsigned long )((struct sk_buff *)0)) { if ((unsigned long )(pTarang->RxAppControlHead)->next == (unsigned long )((struct sk_buff *)0)) { pTarang->RxAppControlTail = (struct sk_buff *)0; } else { } pTarang->RxAppControlHead = (pTarang->RxAppControlHead)->next; } else { } consume_skb(PacketToDrop); ldv_51793: ; if ((unsigned long )pTarang->RxAppControlHead != (unsigned long )((struct sk_buff *)0)) { goto ldv_51792; } else { } pTarang->AppCtrlQueueLen = 0; memset((void *)(& pTarang->stDroppedAppCntrlMsgs), 0, 64UL); pTarang = pTarang->next; ldv_51796: ; if ((unsigned long )pTarang != (unsigned long )((struct bcm_tarang_data *)0)) { goto ldv_51795; } else { } return (0); } } __inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) { { ldv_spin_unlock(); ldv_spin_unlock_irqrestore_602(lock, flags); return; } } int ldv_pskb_expand_head_616(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_618(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_620(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_621(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_622(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_623(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_624(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_625(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_626(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_628(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } __inline static void spin_lock_bh(spinlock_t *lock ) ; __inline static void spin_unlock_bh(spinlock_t *lock ) ; extern void do_gettimeofday(struct timeval * ) ; struct sk_buff *ldv_skb_clone_664(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_672(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_666(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_662(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_670(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_671(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_667(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_668(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_669(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; void update_per_cid_rx(struct bcm_mini_adapter *Adapter ) ; static VOID UpdateTokenCount(struct bcm_mini_adapter *Adapter ) { ULONG liCurrentTime ; INT i ; struct timeval tv ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; size_t __len ; void *__ret ; struct _ddebug descriptor___4 ; long tmp___4 ; { i = 0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 256U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "UpdateTokenCount"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___0.format = "%s:\n=====>\n"; descriptor___0.lineno = 61U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n=====>\n", "UpdateTokenCount"); } else { } } else { } if ((unsigned long )Adapter == (unsigned long )((struct bcm_mini_adapter *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 256U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "UpdateTokenCount"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___2.format = "%s:\nAdapter found NULL!\n"; descriptor___2.lineno = 64U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nAdapter found NULL!\n", "UpdateTokenCount"); } else { } } else { } return; } else { } do_gettimeofday(& tv); i = 0; goto ldv_51726; ldv_51725: ; if ((int )Adapter->PackInfo[i].bValid && (unsigned int )Adapter->PackInfo[i].ucDirection == 1U) { liCurrentTime = (ULONG )((tv.tv_sec - Adapter->PackInfo[i].stLastUpdateTokenAt.tv_sec) * 1000L + (tv.tv_usec - Adapter->PackInfo[i].stLastUpdateTokenAt.tv_usec) / 1000L); if (liCurrentTime != 0UL) { Adapter->PackInfo[i].uiCurrentTokenCount = Adapter->PackInfo[i].uiCurrentTokenCount + (UINT )(((ULONG )Adapter->PackInfo[i].uiMaxAllowedRate * liCurrentTime) / 1000UL); __len = 16UL; if (__len > 63UL) { __ret = memcpy((void *)(& Adapter->PackInfo[i].stLastUpdateTokenAt), (void const *)(& tv), __len); } else { __ret = memcpy((void *)(& Adapter->PackInfo[i].stLastUpdateTokenAt), (void const *)(& tv), __len); } Adapter->PackInfo[i].liLastUpdateTokenAt = (LARGE_INTEGER )liCurrentTime; if (Adapter->PackInfo[i].uiCurrentTokenCount >= Adapter->PackInfo[i].uiMaxBucketSize) { Adapter->PackInfo[i].uiCurrentTokenCount = Adapter->PackInfo[i].uiMaxBucketSize; } else { } } else { } } else { } i = i + 1; ldv_51726: ; if (i <= 16) { goto ldv_51725; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 256U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "UpdateTokenCount"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___4.format = "%s:\n<=====\n"; descriptor___4.lineno = 91U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n<=====\n", "UpdateTokenCount"); } else { } } else { } return; } } static ULONG GetSFTokenCount(struct bcm_mini_adapter *Adapter , struct bcm_packet_info *psSF ) { struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; struct _ddebug descriptor___6 ; long tmp___6 ; struct _ddebug descriptor___8 ; long tmp___8 ; { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 256U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "GetSFTokenCount"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___0.format = "%s:\nIsPacketAllowedForFlow ===>"; descriptor___0.lineno = 113U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nIsPacketAllowedForFlow ===>", "GetSFTokenCount"); } else { } } else { } if ((unsigned long )Adapter == (unsigned long )((struct bcm_mini_adapter *)0) || ((unsigned long )((struct bcm_packet_info *)(& Adapter->PackInfo)) > (unsigned long )psSF && (unsigned long )psSF > (unsigned long )((struct bcm_packet_info *)(& Adapter->PackInfo) + 16UL))) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 256U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "GetSFTokenCount"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___2.format = "%s:\nIPAFF: Got wrong Parameters:Adapter: %p, QIndex: %zd\n"; descriptor___2.lineno = 117U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nIPAFF: Got wrong Parameters:Adapter: %p, QIndex: %zd\n", "GetSFTokenCount", Adapter, ((long )psSF - (long )(& Adapter->PackInfo)) / 384L); } else { } } else { } return (0UL); } else { } if ((int )psSF->bValid && (unsigned int )psSF->ucDirection != 0U) { if (psSF->uiCurrentTokenCount != 0U) { return ((ULONG )psSF->uiCurrentTokenCount); } else { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 256U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "GetSFTokenCount"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___4.format = "%s:\nNot enough tokens in queue %zd Available %u\n"; descriptor___4.lineno = 126U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nNot enough tokens in queue %zd Available %u\n", "GetSFTokenCount", ((long )psSF - (long )(& Adapter->PackInfo)) / 384L, psSF->uiCurrentTokenCount); } else { } } else { } psSF->uiPendedLast = 1U; } } else if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 256U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "GetSFTokenCount"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___6.format = "%s:\nIPAFF: Queue %zd not valid\n"; descriptor___6.lineno = 130U; descriptor___6.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nIPAFF: Queue %zd not valid\n", "GetSFTokenCount", ((long )psSF - (long )(& Adapter->PackInfo)) / 384L); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 256U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "GetSFTokenCount"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___8.format = "%s:\nIsPacketAllowedForFlow <==="; descriptor___8.lineno = 132U; descriptor___8.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nIsPacketAllowedForFlow <===", "GetSFTokenCount"); } else { } } else { } return (0UL); } } static INT SendPacketFromQueue(struct bcm_mini_adapter *Adapter , struct bcm_packet_info *psSF , struct sk_buff *Packet ) { INT Status ; UINT uiIndex ; UINT PktLen ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; { Status = -1; uiIndex = 0U; PktLen = 0U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 65536U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "SendPacketFromQueue"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___0.format = "%s:\n=====>"; descriptor___0.lineno = 148U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n=====>", "SendPacketFromQueue"); } else { } } else { } if (((unsigned long )Adapter == (unsigned long )((struct bcm_mini_adapter *)0) || (unsigned long )Packet == (unsigned long )((struct sk_buff *)0)) || (unsigned long )psSF == (unsigned long )((struct bcm_packet_info *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 65536U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "SendPacketFromQueue"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___2.format = "%s:\nGot NULL Adapter or Packet"; descriptor___2.lineno = 150U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nGot NULL Adapter or Packet", "SendPacketFromQueue"); } else { } } else { } return (-22); } else { } if (psSF->liDrainCalculated == 0ULL) { psSF->liDrainCalculated = (LARGE_INTEGER )jiffies; } else { } PktLen = Packet->len; Status = SetupNextSend(Adapter, Packet, (int )psSF->usVCID_Value); if (Status == 0) { uiIndex = 0U; goto ldv_51759; ldv_51758: ; if ((uiIndex + 1U) * 128U >= PktLen && uiIndex * 128U < PktLen) { Adapter->aTxPktSizeHist[uiIndex] = Adapter->aTxPktSizeHist[uiIndex] + 1U; } else { } uiIndex = uiIndex + 1U; ldv_51759: ; if (uiIndex <= 11U) { goto ldv_51758; } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 65536U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "SendPacketFromQueue"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___4.format = "%s:\n<====="; descriptor___4.lineno = 165U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n<=====", "SendPacketFromQueue"); } else { } } else { } return (Status); } } static VOID CheckAndSendPacketFromIndex(struct bcm_mini_adapter *Adapter , struct bcm_packet_info *psSF ) { struct sk_buff *QueuePacket ; char *pControlPacket ; INT Status ; int iPacketLen ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; int tmp___5 ; long tmp___6 ; int tmp___7 ; struct _ddebug descriptor___6 ; long tmp___9 ; struct _ddebug descriptor___8 ; long tmp___11 ; struct _ddebug descriptor___10 ; long tmp___13 ; struct _ddebug descriptor___12 ; long tmp___15 ; ULONG tmp___16 ; int tmp___17 ; struct _ddebug descriptor___14 ; long tmp___19 ; struct _ddebug descriptor___16 ; long tmp___21 ; struct _ddebug descriptor___18 ; long tmp___23 ; int tmp___24 ; int tmp___25 ; int tmp___26 ; int tmp___27 ; { QueuePacket = (struct sk_buff *)0; pControlPacket = (char *)0; Status = 0; iPacketLen = 0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "CheckAndSendPacketFromIndex"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___0.format = "%s:\n%zd ====>"; descriptor___0.lineno = 189U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n%zd ====>", "CheckAndSendPacketFromIndex", ((long )psSF - (long )(& Adapter->PackInfo)) / 384L); } else { } } else { } if ((unsigned long )((struct bcm_packet_info *)(& Adapter->PackInfo) + 16UL) != (unsigned long )psSF && (int )Adapter->LinkUpStatus) { tmp___27 = atomic_read((atomic_t const *)(& psSF->uiPerSFTxResourceCount)); if (tmp___27 != 0) { if ((unsigned int )psSF->ucDirection == 0U) { return; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "CheckAndSendPacketFromIndex"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___2.format = "%s:\nUpdateTokenCount "; descriptor___2.lineno = 194U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nUpdateTokenCount ", "CheckAndSendPacketFromIndex"); } else { } } else { } if ((int )Adapter->IdleMode || (int )Adapter->bPreparingForLowPowerMode) { return; } else { } tmp___7 = atomic_read((atomic_t const *)(& Adapter->CurrNumFreeTxDesc)); if (tmp___7 <= 5) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "CheckAndSendPacketFromIndex"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___4.format = "%s:\n No Free Tx Descriptor(%d) is available for Data pkt.."; descriptor___4.lineno = 200U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { tmp___5 = atomic_read((atomic_t const *)(& Adapter->CurrNumFreeTxDesc)); __dynamic_pr_debug(& descriptor___4, "%s:\n No Free Tx Descriptor(%d) is available for Data pkt..", "CheckAndSendPacketFromIndex", tmp___5); } else { } } else { } return; } else { } spin_lock_bh(& psSF->SFQueueLock); QueuePacket = psSF->ldv_50875.ldv_50870.FirstTxQueue; if ((unsigned long )QueuePacket != (unsigned long )((struct sk_buff *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "CheckAndSendPacketFromIndex"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___6.format = "%s:\nDequeuing Data Packet"; descriptor___6.lineno = 208U; descriptor___6.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nDequeuing Data Packet", "CheckAndSendPacketFromIndex"); } else { } } else { } if ((unsigned int )psSF->bEthCSSupport != 0U) { iPacketLen = (int )QueuePacket->len; } else { iPacketLen = (int )(QueuePacket->len - 14U); } iPacketLen = iPacketLen << 3; tmp___16 = GetSFTokenCount(Adapter, psSF); if ((ULONG )iPacketLen <= tmp___16) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "CheckAndSendPacketFromIndex"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___8.format = "%s:\nAllowed bytes %d"; descriptor___8.lineno = 218U; descriptor___8.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nAllowed bytes %d", "CheckAndSendPacketFromIndex", iPacketLen >> 3); } else { } } else { } if ((unsigned long )psSF->ldv_50875.ldv_50870.FirstTxQueue != (unsigned long )((struct sk_buff *)0)) { if ((unsigned long )(psSF->ldv_50875.ldv_50870.FirstTxQueue)->next == (unsigned long )((struct sk_buff *)0)) { psSF->ldv_50875.ldv_50870.LastTxQueue = (struct sk_buff *)0; } else { } psSF->ldv_50875.ldv_50870.FirstTxQueue = (psSF->ldv_50875.ldv_50870.FirstTxQueue)->next; } else { } psSF->uiCurrentBytesOnHost = psSF->uiCurrentBytesOnHost - QueuePacket->len; psSF->uiCurrentPacketsOnHost = psSF->uiCurrentPacketsOnHost - 1U; atomic_dec(& Adapter->TotalPacketCount); spin_unlock_bh(& psSF->SFQueueLock); Status = SendPacketFromQueue(Adapter, psSF, QueuePacket); psSF->uiPendedLast = 0U; } else { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "CheckAndSendPacketFromIndex"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___10.format = "%s:\nFor Queue: %zd\n"; descriptor___10.lineno = 229U; descriptor___10.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nFor Queue: %zd\n", "CheckAndSendPacketFromIndex", ((long )psSF - (long )(& Adapter->PackInfo)) / 384L); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "CheckAndSendPacketFromIndex"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___12.format = "%s:\n\nAvailable Tokens = %d required = %d\n"; descriptor___12.lineno = 231U; descriptor___12.flags = 0U; tmp___15 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___15 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\n\nAvailable Tokens = %d required = %d\n", "CheckAndSendPacketFromIndex", psSF->uiCurrentTokenCount, iPacketLen); } else { } } else { } psSF->uiPendedLast = 1U; spin_unlock_bh(& psSF->SFQueueLock); } } else { spin_unlock_bh(& psSF->SFQueueLock); } } else { goto _L; } } else { _L: /* CIL Label */ tmp___24 = atomic_read((atomic_t const *)(& Adapter->CurrNumFreeTxDesc)); if (tmp___24 > 0) { tmp___25 = atomic_read((atomic_t const *)(& Adapter->index_rd_txcntrlpkt)); tmp___26 = atomic_read((atomic_t const *)(& Adapter->index_wr_txcntrlpkt)); if (tmp___25 != tmp___26) { tmp___17 = atomic_read((atomic_t const *)(& Adapter->index_rd_txcntrlpkt)); pControlPacket = Adapter->txctlpacket[tmp___17 % 100]; if ((unsigned long )pControlPacket != (unsigned long )((char *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "CheckAndSendPacketFromIndex"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___14.format = "%s:\nSending Control packet"; descriptor___14.lineno = 251U; descriptor___14.flags = 0U; tmp___19 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___19 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nSending Control packet", "CheckAndSendPacketFromIndex"); } else { } } else { } Status = SendControlPacket(Adapter, pControlPacket); if (Status == 0) { spin_lock_bh(& psSF->SFQueueLock); psSF->NumOfPacketsSent = psSF->NumOfPacketsSent + 1U; psSF->uiSentBytes = psSF->uiSentBytes + (UINT )((struct bcm_leader *)pControlPacket)->PLength; psSF->uiSentPackets = psSF->uiSentPackets + 1U; atomic_dec(& Adapter->TotalPacketCount); psSF->uiCurrentBytesOnHost = psSF->uiCurrentBytesOnHost - (UINT )((struct bcm_leader *)pControlPacket)->PLength; psSF->uiCurrentPacketsOnHost = psSF->uiCurrentPacketsOnHost - 1U; atomic_inc(& Adapter->index_rd_txcntrlpkt); spin_unlock_bh(& psSF->SFQueueLock); } else if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "CheckAndSendPacketFromIndex"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___16.format = "%s:\nSendControlPacket Failed\n"; descriptor___16.lineno = 264U; descriptor___16.flags = 0U; tmp___21 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___21 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\nSendControlPacket Failed\n", "CheckAndSendPacketFromIndex"); } else { } } else { } } else if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___18.modname = "bcm_wimax"; descriptor___18.function = "CheckAndSendPacketFromIndex"; descriptor___18.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___18.format = "%s:\n Control Pkt is not available, Indexing is wrong...."; descriptor___18.lineno = 267U; descriptor___18.flags = 0U; tmp___23 = ldv__builtin_expect((long )descriptor___18.flags & 1L, 0L); if (tmp___23 != 0L) { __dynamic_pr_debug(& descriptor___18, "%s:\n Control Pkt is not available, Indexing is wrong....", "CheckAndSendPacketFromIndex"); } else { } } else { } } else { } } else { } } return; } } VOID transmit_packets(struct bcm_mini_adapter *Adapter ) { UINT uiPrevTotalCount ; int iIndex ; bool exit_flag ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; struct _ddebug descriptor___6 ; long tmp___6 ; struct _ddebug descriptor___8 ; long tmp___8 ; int tmp___9 ; struct _ddebug descriptor___10 ; long tmp___11 ; struct _ddebug descriptor___12 ; long tmp___13 ; struct _ddebug descriptor___14 ; long tmp___15 ; struct _ddebug descriptor___16 ; long tmp___17 ; { uiPrevTotalCount = 0U; iIndex = 0; exit_flag = 1; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "transmit_packets"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___0.format = "%s:\n=====>"; descriptor___0.lineno = 291U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n=====>", "transmit_packets"); } else { } } else { } if ((unsigned long )Adapter == (unsigned long )((struct bcm_mini_adapter *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "transmit_packets"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___2.format = "%s:\nGot NULL Adapter"; descriptor___2.lineno = 294U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nGot NULL Adapter", "transmit_packets"); } else { } } else { } return; } else { } if ((int )Adapter->device_removed) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "transmit_packets"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___4.format = "%s:\nDevice removed"; descriptor___4.lineno = 298U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nDevice removed", "transmit_packets"); } else { } } else { } return; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "transmit_packets"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___6.format = "%s:\n\nUpdateTokenCount ====>\n"; descriptor___6.lineno = 302U; descriptor___6.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\n\nUpdateTokenCount ====>\n", "transmit_packets"); } else { } } else { } UpdateTokenCount(Adapter); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "transmit_packets"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___8.format = "%s:\n\nPruneQueueAllSF ====>\n"; descriptor___8.lineno = 306U; descriptor___8.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\n\nPruneQueueAllSF ====>\n", "transmit_packets"); } else { } } else { } PruneQueueAllSF(Adapter); tmp___9 = atomic_read((atomic_t const *)(& Adapter->TotalPacketCount)); uiPrevTotalCount = (UINT )tmp___9; iIndex = 16; goto ldv_51813; ldv_51812: ; if (uiPrevTotalCount == 0U || (int )Adapter->device_removed) { goto ldv_51809; } else { } if (((int )Adapter->PackInfo[iIndex].bValid && Adapter->PackInfo[iIndex].uiPendedLast != 0U) && Adapter->PackInfo[iIndex].uiCurrentBytesOnHost != 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "transmit_packets"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___10.format = "%s:\nCalling CheckAndSendPacketFromIndex.."; descriptor___10.lineno = 319U; descriptor___10.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nCalling CheckAndSendPacketFromIndex..", "transmit_packets"); } else { } } else { } CheckAndSendPacketFromIndex(Adapter, (struct bcm_packet_info *)(& Adapter->PackInfo) + (unsigned long )iIndex); uiPrevTotalCount = uiPrevTotalCount - 1U; } else { } iIndex = iIndex - 1; ldv_51813: ; if (iIndex >= 0) { goto ldv_51812; } else { } ldv_51809: ; goto ldv_51823; ldv_51822: exit_flag = 1; iIndex = 16; goto ldv_51818; ldv_51817: ; if (uiPrevTotalCount == 0U || (int )Adapter->device_removed) { goto ldv_51814; } else { } if (((int )Adapter->PackInfo[iIndex].bValid && Adapter->PackInfo[iIndex].uiCurrentBytesOnHost != 0U) && Adapter->PackInfo[iIndex].uiPendedLast == 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "transmit_packets"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___12.format = "%s:\nCalling CheckAndSendPacketFromIndex.."; descriptor___12.lineno = 335U; descriptor___12.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nCalling CheckAndSendPacketFromIndex..", "transmit_packets"); } else { } } else { } CheckAndSendPacketFromIndex(Adapter, (struct bcm_packet_info *)(& Adapter->PackInfo) + (unsigned long )iIndex); uiPrevTotalCount = uiPrevTotalCount - 1U; exit_flag = 0; } else { } iIndex = iIndex - 1; ldv_51818: ; if (iIndex >= 0) { goto ldv_51817; } else { } ldv_51814: ; if ((int )Adapter->IdleMode || (int )Adapter->bPreparingForLowPowerMode) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "transmit_packets"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___14.format = "%s:\nIn Idle Mode\n"; descriptor___14.lineno = 343U; descriptor___14.flags = 0U; tmp___15 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___15 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nIn Idle Mode\n", "transmit_packets"); } else { } } else { } goto ldv_51821; } else { } if ((int )exit_flag) { goto ldv_51821; } else { } ldv_51823: ; if (uiPrevTotalCount != 0U && ! Adapter->device_removed) { goto ldv_51822; } else { } ldv_51821: update_per_cid_rx(Adapter); Adapter->txtransmit_running = 0U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 1024U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "transmit_packets"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/LeakyBucket.o.c.prepared"; descriptor___16.format = "%s:\n<======"; descriptor___16.lineno = 352U; descriptor___16.flags = 0U; tmp___17 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___17 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\n<======", "transmit_packets"); } else { } } else { } return; } } int ldv_pskb_expand_head_662(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_664(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_666(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_667(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_668(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_669(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_670(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_671(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_672(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } extern void __raw_spin_lock_init(raw_spinlock_t * , char const * , struct lock_class_key * ) ; __inline static raw_spinlock_t *spinlock_check(spinlock_t *lock ) { { return (& lock->ldv_6347.rlock); } } __inline static void spin_lock_bh(spinlock_t *lock ) ; __inline static void spin_unlock_bh(spinlock_t *lock ) ; extern void __init_waitqueue_head(wait_queue_head_t * , char const * , struct lock_class_key * ) ; __inline static void *kmalloc(size_t size , gfp_t flags ) ; __inline static void *kzalloc(size_t size , gfp_t flags ) ; __inline static void sema_init(struct semaphore *sem , int val ) { struct lock_class_key __key ; struct semaphore __constr_expr_0 ; { __constr_expr_0.lock.raw_lock.ldv_1458.head_tail = 0U; __constr_expr_0.lock.magic = 3735899821U; __constr_expr_0.lock.owner_cpu = 4294967295U; __constr_expr_0.lock.owner = (void *)-1; __constr_expr_0.lock.dep_map.key = 0; __constr_expr_0.lock.dep_map.class_cache[0] = 0; __constr_expr_0.lock.dep_map.class_cache[1] = 0; __constr_expr_0.lock.dep_map.name = "(*sem).lock"; __constr_expr_0.lock.dep_map.cpu = 0; __constr_expr_0.lock.dep_map.ip = 0UL; __constr_expr_0.count = (unsigned int )val; __constr_expr_0.wait_list.next = & sem->wait_list; __constr_expr_0.wait_list.prev = & sem->wait_list; *sem = __constr_expr_0; lockdep_init_map(& sem->lock.dep_map, "semaphore->lock", & __key, 0); return; } } extern int down_trylock(struct semaphore * ) ; __inline static struct inode *file_inode(struct file *f ) { { return (f->f_inode); } } extern struct file *filp_open(char const * , int , umode_t ) ; extern int filp_close(struct file * , fl_owner_t ) ; extern int kernel_read(struct file * , loff_t , char * , unsigned long ) ; extern loff_t vfs_llseek(struct file * , loff_t , int ) ; extern int wake_up_process(struct task_struct * ) ; struct sk_buff *ldv_skb_clone_708(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_716(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_710(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_706(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_714(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_715(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_711(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_712(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_713(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; extern void free_netdev(struct net_device * ) ; void ldv_free_netdev_718(struct net_device *dev ) ; extern struct task_struct *kthread_create_on_node(int (*)(void * ) , void * , int , char const * , ...) ; extern int kthread_stop(struct task_struct * ) ; int phs_init(struct bcm_phs_extension *pPhsdeviceExtension , struct bcm_mini_adapter *Adapter ) ; int PhsCleanup(struct bcm_phs_extension *pPHSDeviceExt ) ; void unregister_control_device_interface(struct bcm_mini_adapter *Adapter ) ; int run_card_proc(struct bcm_mini_adapter *ps_adapter ) ; void DumpPackInfo(struct bcm_mini_adapter *Adapter ) ; VOID ResetCounters(struct bcm_mini_adapter *Adapter ) ; INT BcmAllocFlashCSStructure(struct bcm_mini_adapter *psAdapter ) ; INT BcmDeAllocFlashCSStructure(struct bcm_mini_adapter *psAdapter ) ; int wrmaltWithLock(struct bcm_mini_adapter *Adapter , unsigned int uiAddress , unsigned int *pucBuff , size_t size ) ; int rdmaltWithLock(struct bcm_mini_adapter *Adapter , unsigned int uiAddress , unsigned int *pucBuff , size_t size ) ; int wrmWithLock(struct bcm_mini_adapter *Adapter , unsigned int uiAddress , PCHAR pucBuff , size_t sSize ) ; INT vendorextnExit(struct bcm_mini_adapter *Adapter ) ; INT vendorextnInit(struct bcm_mini_adapter *Adapter ) ; static int BcmFileDownload(struct bcm_mini_adapter *Adapter , char const *path , unsigned int loc ) ; static void doPowerAutoCorrection(struct bcm_mini_adapter *psAdapter ) ; static void HandleShutDownModeRequest(struct bcm_mini_adapter *Adapter , PUCHAR pucBuffer ) ; static int bcm_parse_target_params(struct bcm_mini_adapter *Adapter ) ; static void beceem_protocol_reset(struct bcm_mini_adapter *Adapter ) ; static void default_wimax_protocol_initialize(struct bcm_mini_adapter *Adapter ) { unsigned int uiLoopIndex ; { uiLoopIndex = 0U; goto ldv_51733; ldv_51732: Adapter->PackInfo[uiLoopIndex].uiThreshold = 10U; Adapter->PackInfo[uiLoopIndex].uiMaxAllowedRate = 104857600U; Adapter->PackInfo[uiLoopIndex].uiMaxBucketSize = 20971520U; uiLoopIndex = uiLoopIndex + 1U; ldv_51733: ; if (uiLoopIndex <= 15U) { goto ldv_51732; } else { } Adapter->BEBucketSize = 104857600UL; Adapter->rtPSBucketSize = 104857600UL; Adapter->LinkStatus = 1U; Adapter->TransferMode = 0; Adapter->usBestEffortQueueIndex = 65535U; return; } } int InitAdapter(struct bcm_mini_adapter *psAdapter ) { int i ; int Status ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct lock_class_key __key ; struct lock_class_key __key___0 ; struct lock_class_key __key___1 ; struct lock_class_key __key___2 ; struct lock_class_key __key___3 ; struct lock_class_key __key___4 ; struct lock_class_key __key___5 ; struct lock_class_key __key___6 ; void *tmp___3 ; struct _ddebug descriptor___4 ; long tmp___5 ; struct _ddebug descriptor___6 ; long tmp___7 ; int tmp___8 ; struct _ddebug descriptor___8 ; long tmp___10 ; int tmp___11 ; struct _ddebug descriptor___10 ; long tmp___13 ; struct _ddebug descriptor___12 ; long tmp___15 ; struct _ddebug descriptor___14 ; long tmp___17 ; { i = 0; Status = 0; if ((((unsigned long )psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && psAdapter->stDebugState.debug_level > 6U) && (int )psAdapter->stDebugState.type & 1) && (psAdapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "InitAdapter"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___0.format = "%s:\nInitialising Adapter = %p"; descriptor___0.lineno = 67U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nInitialising Adapter = %p", "InitAdapter", psAdapter); } else { } } else { } if ((unsigned long )psAdapter == (unsigned long )((struct bcm_mini_adapter *)0)) { if ((((unsigned long )psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && psAdapter->stDebugState.debug_level > 6U) && (int )psAdapter->stDebugState.type & 1) && (psAdapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "InitAdapter"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___2.format = "%s:\nAdapter is NULL"; descriptor___2.lineno = 70U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nAdapter is NULL", "InitAdapter"); } else { } } else { } return (-22); } else { } sema_init(& psAdapter->NVMRdmWrmLock, 1); sema_init(& psAdapter->rdmwrmsync, 1); spinlock_check(& psAdapter->control_queue_lock); __raw_spin_lock_init(& psAdapter->control_queue_lock.ldv_6347.rlock, "&(&psAdapter->control_queue_lock)->rlock", & __key); spinlock_check(& psAdapter->txtransmitlock); __raw_spin_lock_init(& psAdapter->txtransmitlock.ldv_6347.rlock, "&(&psAdapter->txtransmitlock)->rlock", & __key___0); sema_init(& psAdapter->RxAppControlQueuelock, 1); sema_init(& psAdapter->fw_download_sema, 1); sema_init(& psAdapter->LowPowerModeSync, 1); i = 0; goto ldv_51749; ldv_51748: spinlock_check(& psAdapter->PackInfo[i].SFQueueLock); __raw_spin_lock_init(& psAdapter->PackInfo[i].SFQueueLock.ldv_6347.rlock, "&(&psAdapter->PackInfo[i].SFQueueLock)->rlock", & __key___1); i = i + 1; ldv_51749: ; if (i <= 16) { goto ldv_51748; } else { } i = 0; __init_waitqueue_head(& psAdapter->process_rx_cntrlpkt, "&psAdapter->process_rx_cntrlpkt", & __key___2); __init_waitqueue_head(& psAdapter->tx_packet_wait_queue, "&psAdapter->tx_packet_wait_queue", & __key___3); __init_waitqueue_head(& psAdapter->process_read_wait_queue, "&psAdapter->process_read_wait_queue", & __key___4); __init_waitqueue_head(& psAdapter->ioctl_fw_dnld_wait_queue, "&psAdapter->ioctl_fw_dnld_wait_queue", & __key___5); __init_waitqueue_head(& psAdapter->lowpower_mode_wait_queue, "&psAdapter->lowpower_mode_wait_queue", & __key___6); psAdapter->waiting_to_fw_download_done = 1; psAdapter->fw_download_done = 0; default_wimax_protocol_initialize(psAdapter); i = 0; goto ldv_51759; ldv_51758: tmp___3 = kmalloc(2048UL, 208U); psAdapter->txctlpacket[i] = (char *)tmp___3; if ((unsigned long )psAdapter->txctlpacket[i] == (unsigned long )((char *)0)) { if ((((unsigned long )psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && psAdapter->stDebugState.debug_level > 6U) && (int )psAdapter->stDebugState.type & 1) && (psAdapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "InitAdapter"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___4.format = "%s:\nNo More Cntl pkts got, max got is %d"; descriptor___4.lineno = 98U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nNo More Cntl pkts got, max got is %d", "InitAdapter", i); } else { } } else { } return (-12); } else { } i = i + 1; ldv_51759: ; if (i <= 99) { goto ldv_51758; } else { } tmp___8 = AllocAdapterDsxBuffer(psAdapter); if (tmp___8 != 0) { if ((((unsigned long )psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && psAdapter->stDebugState.debug_level > 6U) && (int )psAdapter->stDebugState.type & 1) && (psAdapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "InitAdapter"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___6.format = "%s:\nFailed to allocate DSX buffers"; descriptor___6.lineno = 104U; descriptor___6.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nFailed to allocate DSX buffers", "InitAdapter"); } else { } } else { } return (-22); } else { } tmp___11 = phs_init(& psAdapter->stBCMPhsContext, psAdapter); if (tmp___11 != 0) { if ((((unsigned long )psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && psAdapter->stDebugState.debug_level > 6U) && (int )psAdapter->stDebugState.type & 1) && (psAdapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "InitAdapter"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___8.format = "%s:\n%s:%s:%d:Error PHS Init Failed=====>\n"; descriptor___8.lineno = 110U; descriptor___8.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\n%s:%s:%d:Error PHS Init Failed=====>\n", "InitAdapter", (char *)"/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared", "InitAdapter", 110); } else { } } else { } return (-12); } else { } Status = BcmAllocFlashCSStructure(psAdapter); if (Status != 0) { if ((((unsigned long )psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && psAdapter->stDebugState.debug_level > 6U) && (int )psAdapter->stDebugState.type & 1) && (psAdapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "InitAdapter"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___10.format = "%s:\nMemory Allocation for Flash structure failed"; descriptor___10.lineno = 116U; descriptor___10.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nMemory Allocation for Flash structure failed", "InitAdapter"); } else { } } else { } return (Status); } else { } Status = vendorextnInit(psAdapter); if (Status != 0) { if ((((unsigned long )psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && psAdapter->stDebugState.debug_level > 6U) && (int )psAdapter->stDebugState.type & 1) && (psAdapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "InitAdapter"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___12.format = "%s:\nVendor Init Failed"; descriptor___12.lineno = 123U; descriptor___12.flags = 0U; tmp___15 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___15 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nVendor Init Failed", "InitAdapter"); } else { } } else { } return (Status); } else { } if ((((unsigned long )psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && psAdapter->stDebugState.debug_level > 6U) && (int )psAdapter->stDebugState.type & 1) && (psAdapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "InitAdapter"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___14.format = "%s:\nAdapter initialised"; descriptor___14.lineno = 127U; descriptor___14.flags = 0U; tmp___17 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___17 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nAdapter initialised", "InitAdapter"); } else { } } else { } return (0); } } VOID AdapterFree(struct bcm_mini_adapter *Adapter ) { int count ; bool tmp ; int tmp___0 ; bool tmp___1 ; int tmp___2 ; struct _ddebug descriptor___0 ; int tmp___5 ; long tmp___6 ; int tmp___7 ; { beceem_protocol_reset(Adapter); vendorextnExit(Adapter); if ((unsigned long )Adapter->control_packet_handler != (unsigned long )((struct task_struct *)0)) { tmp = IS_ERR((void const *)Adapter->control_packet_handler); if (tmp) { tmp___0 = 0; } else { tmp___0 = 1; } if (tmp___0) { kthread_stop(Adapter->control_packet_handler); } else { } } else { } if ((unsigned long )Adapter->transmit_packet_thread != (unsigned long )((struct task_struct *)0)) { tmp___1 = IS_ERR((void const *)Adapter->transmit_packet_thread); if (tmp___1) { tmp___2 = 0; } else { tmp___2 = 1; } if (tmp___2) { kthread_stop(Adapter->transmit_packet_thread); } else { } } else { } __wake_up(& Adapter->process_read_wait_queue, 3U, 1, (void *)0); if ((Adapter->LEDInfo.led_thread_running & 3) != 0) { kthread_stop(Adapter->LEDInfo.led_cntrl_threadid); } else { } unregister_networkdev(Adapter); goto ldv_51779; ldv_51778: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "AdapterFree"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___0.format = "%s:\nWaiting for Application to close.. %d\n"; descriptor___0.lineno = 153U; descriptor___0.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___6 != 0L) { tmp___5 = atomic_read((atomic_t const *)(& Adapter->ApplicationRunning)); __dynamic_pr_debug(& descriptor___0, "%s:\nWaiting for Application to close.. %d\n", "AdapterFree", tmp___5); } else { } } else { } msleep(100U); ldv_51779: tmp___7 = atomic_read((atomic_t const *)(& Adapter->ApplicationRunning)); if (tmp___7 != 0) { goto ldv_51778; } else { } unregister_control_device_interface(Adapter); kfree((void const *)Adapter->pstargetparams); count = 0; goto ldv_51782; ldv_51781: kfree((void const *)Adapter->txctlpacket[count]); count = count + 1; ldv_51782: ; if (count <= 99) { goto ldv_51781; } else { } FreeAdapterDsxBuffer(Adapter); kfree((void const *)Adapter->pvInterfaceAdapter); PhsCleanup(& Adapter->stBCMPhsContext); BcmDeAllocFlashCSStructure(Adapter); ldv_free_netdev_718(Adapter->dev); return; } } static int create_worker_threads(struct bcm_mini_adapter *psAdapter ) { struct task_struct *__k ; struct task_struct *tmp ; bool tmp___0 ; int tmp___1 ; long tmp___2 ; bool tmp___3 ; struct task_struct *__k___0 ; struct task_struct *tmp___4 ; bool tmp___5 ; int tmp___6 ; long tmp___7 ; bool tmp___8 ; { tmp = kthread_create_on_node((int (*)(void * ))(& control_packet_handler), (void *)psAdapter, -1, "%s-rx", (char *)"beceem"); __k = tmp; tmp___0 = IS_ERR((void const *)__k); if (tmp___0) { tmp___1 = 0; } else { tmp___1 = 1; } if (tmp___1) { wake_up_process(__k); } else { } psAdapter->control_packet_handler = __k; tmp___3 = IS_ERR((void const *)psAdapter->control_packet_handler); if ((int )tmp___3) { printk("\rbeceem: could not create control thread\n"); tmp___2 = PTR_ERR((void const *)psAdapter->control_packet_handler); return ((int )tmp___2); } else { } tmp___4 = kthread_create_on_node((int (*)(void * ))(& tx_pkt_handler), (void *)psAdapter, -1, "%s-tx", (char *)"beceem"); __k___0 = tmp___4; tmp___5 = IS_ERR((void const *)__k___0); if (tmp___5) { tmp___6 = 0; } else { tmp___6 = 1; } if (tmp___6) { wake_up_process(__k___0); } else { } psAdapter->transmit_packet_thread = __k___0; tmp___8 = IS_ERR((void const *)psAdapter->transmit_packet_thread); if ((int )tmp___8) { printk("\rbeceem: could not creat transmit thread\n"); kthread_stop(psAdapter->control_packet_handler); tmp___7 = PTR_ERR((void const *)psAdapter->transmit_packet_thread); return ((int )tmp___7); } else { } return (0); } } static struct file *open_firmware_file(struct bcm_mini_adapter *Adapter , char const *path ) { struct file *flp ; struct file *tmp ; long tmp___0 ; bool tmp___1 ; { tmp = filp_open(path, 0, 448); flp = tmp; tmp___1 = IS_ERR((void const *)flp); if ((int )tmp___1) { tmp___0 = PTR_ERR((void const *)flp); printk("\vbeceemUnable To Open File %s, err %ld", path, tmp___0); flp = (struct file *)0; } else { } if ((int )Adapter->device_removed) { flp = (struct file *)0; } else { } return (flp); } } static int BcmFileDownload(struct bcm_mini_adapter *Adapter , char const *path , unsigned int loc ) { int errorno ; struct file *flp ; struct timeval tv ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; struct inode *tmp___3 ; long tmp___4 ; struct _ddebug descriptor___4 ; long tmp___6 ; struct _ddebug descriptor___6 ; long tmp___8 ; int tmp___9 ; struct _ddebug descriptor___8 ; long tmp___11 ; int tmp___12 ; { errorno = 0; flp = (struct file *)0; tv.tv_sec = 0L; tv.tv_usec = 0L; flp = open_firmware_file(Adapter, path); if ((unsigned long )flp == (unsigned long )((struct file *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "BcmFileDownload"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___0.format = "%s:\nUnable to Open %s\n"; descriptor___0.lineno = 221U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nUnable to Open %s\n", "BcmFileDownload", path); } else { } } else { } return (-2); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "BcmFileDownload"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___2.format = "%s:\nOpened file is = %s and length =0x%lx to be downloaded at =0x%x"; descriptor___2.lineno = 224U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___4 != 0L) { tmp___3 = file_inode(flp); __dynamic_pr_debug(& descriptor___2, "%s:\nOpened file is = %s and length =0x%lx to be downloaded at =0x%x", "BcmFileDownload", path, (unsigned long )tmp___3->i_size, loc); } else { } } else { } do_gettimeofday(& tv); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "BcmFileDownload"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___4.format = "%s:\ndownload start %lx"; descriptor___4.lineno = 227U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\ndownload start %lx", "BcmFileDownload", tv.tv_sec * 1000L + tv.tv_usec / 1000L); } else { } } else { } tmp___9 = (*(Adapter->bcm_file_download))(Adapter->pvInterfaceAdapter, flp, loc); if (tmp___9 != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "BcmFileDownload"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___6.format = "%s:\nFailed to download the firmware with error %x!!!"; descriptor___6.lineno = 229U; descriptor___6.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nFailed to download the firmware with error %x!!!", "BcmFileDownload", -5); } else { } } else { } errorno = -5; goto exit_download; } else { } vfs_llseek(flp, 0LL, 0); tmp___12 = (*(Adapter->bcm_file_readback_from_chip))(Adapter->pvInterfaceAdapter, flp, loc); if (tmp___12 != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "BcmFileDownload"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___8.format = "%s:\nFailed to read back firmware!"; descriptor___8.lineno = 235U; descriptor___8.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nFailed to read back firmware!", "BcmFileDownload"); } else { } } else { } errorno = -5; goto exit_download; } else { } exit_download: filp_close(flp, (fl_owner_t )0); return (errorno); } } INT CopyBufferToControlPacket(struct bcm_mini_adapter *Adapter , void *ioBuffer ) { struct bcm_leader *pLeader ; int Status ; unsigned char *ctrl_buff ; unsigned int pktlen ; struct bcm_link_request *pLinkReq ; PUCHAR pucAddIndication ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; struct _ddebug descriptor___6 ; long tmp___6 ; struct _ddebug descriptor___8 ; long tmp___8 ; struct _ddebug descriptor___10 ; long tmp___10 ; long __ret ; wait_queue_t __wait ; long __ret___0 ; long __int ; long tmp___11 ; bool __cond ; bool __cond___0 ; struct _ddebug descriptor___12 ; long tmp___13 ; struct _ddebug descriptor___14 ; long tmp___15 ; struct _ddebug descriptor___16 ; long tmp___17 ; struct _ddebug descriptor___18 ; long tmp___19 ; struct _ddebug descriptor___20 ; long tmp___21 ; long __ret___1 ; wait_queue_t __wait___0 ; long __ret___2 ; long __int___0 ; long tmp___22 ; bool __cond___1 ; bool __cond___2 ; struct _ddebug descriptor___22 ; long tmp___24 ; int tmp___25 ; struct _ddebug descriptor___24 ; long tmp___27 ; struct _ddebug descriptor___26 ; int tmp___30 ; long tmp___31 ; unsigned long tmp___32 ; struct _ddebug descriptor___28 ; long tmp___34 ; struct _ddebug descriptor___30 ; long tmp___36 ; size_t __len ; void *__ret___3 ; struct _ddebug descriptor___32 ; long tmp___38 ; struct _ddebug descriptor___34 ; long tmp___40 ; struct _ddebug descriptor___36 ; long tmp___42 ; struct _ddebug descriptor___38 ; long tmp___44 ; { pLeader = (struct bcm_leader *)0; Status = 0; pktlen = 0U; pLinkReq = (struct bcm_link_request *)0; pucAddIndication = (PUCHAR )0U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "CopyBufferToControlPacket"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___0.format = "%s:\n======>"; descriptor___0.lineno = 264U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n======>", "CopyBufferToControlPacket"); } else { } } else { } if ((unsigned long )ioBuffer == (unsigned long )((void *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "CopyBufferToControlPacket"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___2.format = "%s:\nGot Null Buffer\n"; descriptor___2.lineno = 266U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nGot Null Buffer\n", "CopyBufferToControlPacket"); } else { } } else { } return (-22); } else { } pLinkReq = (struct bcm_link_request *)ioBuffer; pLeader = (struct bcm_leader *)ioBuffer; if (((int )Adapter->bShutStatus && (unsigned int )pLinkReq->szData[0] == 226U) && (unsigned int )pLinkReq->szData[1] == 1U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "CopyBufferToControlPacket"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___4.format = "%s:\nSYNC DOWN Request in Shut Down Mode..\n"; descriptor___4.lineno = 278U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nSYNC DOWN Request in Shut Down Mode..\n", "CopyBufferToControlPacket"); } else { } } else { } return (-1); } else { } if ((unsigned int )pLeader->Status == 131U && (((unsigned int )pLinkReq->szData[0] == 245U && (unsigned int )pLinkReq->szData[1] == 1U) || (unsigned int )pLinkReq->szData[0] == 198U)) { if ((unsigned int )Adapter->LinkStatus > 2U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "CopyBufferToControlPacket"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___6.format = "%s:\nLinkStatus is Greater than PHY_SYN_ACHIEVED"; descriptor___6.lineno = 288U; descriptor___6.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nLinkStatus is Greater than PHY_SYN_ACHIEVED", "CopyBufferToControlPacket"); } else { } } else { } return (-1); } else { } if ((int )Adapter->bShutStatus) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "CopyBufferToControlPacket"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___8.format = "%s:\nSYNC UP IN SHUTDOWN..Device WakeUp\n"; descriptor___8.lineno = 293U; descriptor___8.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nSYNC UP IN SHUTDOWN..Device WakeUp\n", "CopyBufferToControlPacket"); } else { } } else { } if (! Adapter->bTriedToWakeUpFromlowPowerMode) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "CopyBufferToControlPacket"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___10.format = "%s:\nWaking up for the First Time..\n"; descriptor___10.lineno = 295U; descriptor___10.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nWaking up for the First Time..\n", "CopyBufferToControlPacket"); } else { } } else { } Adapter->usIdleModePattern = 1U; Adapter->bWakeUpDevice = 1; __wake_up(& Adapter->process_rx_cntrlpkt, 3U, 1, (void *)0); __ret = 1250L; __cond___0 = (bool )(! ((int )Adapter->bShutStatus != 0)); if ((int )__cond___0 && __ret == 0L) { __ret = 1L; } else { } if (((int )__cond___0 || __ret == 0L) == 0) { __ret___0 = 1250L; INIT_LIST_HEAD(& __wait.task_list); __wait.flags = 0U; ldv_51851: tmp___11 = prepare_to_wait_event(& Adapter->lowpower_mode_wait_queue, & __wait, 1); __int = tmp___11; __cond = (bool )(! ((int )Adapter->bShutStatus != 0)); if ((int )__cond && __ret___0 == 0L) { __ret___0 = 1L; } else { } if (((int )__cond || __ret___0 == 0L) != 0) { goto ldv_51850; } else { } if (__int != 0L) { __ret___0 = __int; goto ldv_51850; } else { } __ret___0 = schedule_timeout(__ret___0); goto ldv_51851; ldv_51850: finish_wait(& Adapter->lowpower_mode_wait_queue, & __wait); __ret = __ret___0; } else { } Status = (int )__ret; if (Status == -512) { return (Status); } else { } if ((int )Adapter->bShutStatus) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "CopyBufferToControlPacket"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___12.format = "%s:\nShutdown Mode Wake up Failed - No Wake Up Received\n"; descriptor___12.lineno = 305U; descriptor___12.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nShutdown Mode Wake up Failed - No Wake Up Received\n", "CopyBufferToControlPacket"); } else { } } else { } return (-1); } else { } } else if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "CopyBufferToControlPacket"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___14.format = "%s:\nWakeup has been tried already...\n"; descriptor___14.lineno = 309U; descriptor___14.flags = 0U; tmp___15 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___15 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nWakeup has been tried already...\n", "CopyBufferToControlPacket"); } else { } } else { } } else { } } else { } if ((int )Adapter->IdleMode) { if (((unsigned int )pLeader->Status == 131U || (unsigned int )pLeader->Status == 128U) || (unsigned int )pLeader->Status == 137U) { if ((unsigned int )pLeader->Status == 131U && (unsigned int )pLinkReq->szData[0] == 226U) { if ((unsigned int )pLinkReq->szData[1] == 1U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "CopyBufferToControlPacket"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___16.format = "%s:\nLink Down Sent in Idle Mode\n"; descriptor___16.lineno = 321U; descriptor___16.flags = 0U; tmp___17 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___17 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\nLink Down Sent in Idle Mode\n", "CopyBufferToControlPacket"); } else { } } else { } Adapter->usIdleModePattern = 3U; } else { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___18.modname = "bcm_wimax"; descriptor___18.function = "CopyBufferToControlPacket"; descriptor___18.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___18.format = "%s:\nABORT_IDLE_MODE pattern is being written\n"; descriptor___18.lineno = 324U; descriptor___18.flags = 0U; tmp___19 = ldv__builtin_expect((long )descriptor___18.flags & 1L, 0L); if (tmp___19 != 0L) { __dynamic_pr_debug(& descriptor___18, "%s:\nABORT_IDLE_MODE pattern is being written\n", "CopyBufferToControlPacket"); } else { } } else { } Adapter->usIdleModePattern = 1U; } } else { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___20.modname = "bcm_wimax"; descriptor___20.function = "CopyBufferToControlPacket"; descriptor___20.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___20.format = "%s:\nABORT_IDLE_MODE pattern is being written\n"; descriptor___20.lineno = 328U; descriptor___20.flags = 0U; tmp___21 = ldv__builtin_expect((long )descriptor___20.flags & 1L, 0L); if (tmp___21 != 0L) { __dynamic_pr_debug(& descriptor___20, "%s:\nABORT_IDLE_MODE pattern is being written\n", "CopyBufferToControlPacket"); } else { } } else { } Adapter->usIdleModePattern = 2U; } Adapter->bWakeUpDevice = 1; __wake_up(& Adapter->process_rx_cntrlpkt, 3U, 1, (void *)0); if ((unsigned int )pLinkReq->szData[0] == 226U) { return (0); } else { } __ret___1 = 1250L; __cond___2 = (bool )(! ((int )Adapter->IdleMode != 0)); if ((int )__cond___2 && __ret___1 == 0L) { __ret___1 = 1L; } else { } if (((int )__cond___2 || __ret___1 == 0L) == 0) { __ret___2 = 1250L; INIT_LIST_HEAD(& __wait___0.task_list); __wait___0.flags = 0U; ldv_51874: tmp___22 = prepare_to_wait_event(& Adapter->lowpower_mode_wait_queue, & __wait___0, 1); __int___0 = tmp___22; __cond___1 = (bool )(! ((int )Adapter->IdleMode != 0)); if ((int )__cond___1 && __ret___2 == 0L) { __ret___2 = 1L; } else { } if (((int )__cond___1 || __ret___2 == 0L) != 0) { goto ldv_51873; } else { } if (__int___0 != 0L) { __ret___2 = __int___0; goto ldv_51873; } else { } __ret___2 = schedule_timeout(__ret___2); goto ldv_51874; ldv_51873: finish_wait(& Adapter->lowpower_mode_wait_queue, & __wait___0); __ret___1 = __ret___2; } else { } Status = (int )__ret___1; if (Status == -512) { return (Status); } else { } if ((int )Adapter->IdleMode) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___22.modname = "bcm_wimax"; descriptor___22.function = "CopyBufferToControlPacket"; descriptor___22.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___22.format = "%s:\nIdle Mode Wake up Failed - No Wake Up Received\n"; descriptor___22.lineno = 349U; descriptor___22.flags = 0U; tmp___24 = ldv__builtin_expect((long )descriptor___22.flags & 1L, 0L); if (tmp___24 != 0L) { __dynamic_pr_debug(& descriptor___22, "%s:\nIdle Mode Wake up Failed - No Wake Up Received\n", "CopyBufferToControlPacket"); } else { } } else { } return (-1); } else { } } else { return (0); } } else { } pLeader->Vcid = 0U; pktlen = (unsigned int )pLeader->PLength; tmp___25 = atomic_read((atomic_t const *)(& Adapter->index_wr_txcntrlpkt)); ctrl_buff = (unsigned char *)Adapter->txctlpacket[tmp___25 % 100]; if ((unsigned long )ctrl_buff == (unsigned long )((unsigned char *)0U)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___24.modname = "bcm_wimax"; descriptor___24.function = "CopyBufferToControlPacket"; descriptor___24.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___24.format = "%s:\nmem allocation Failed"; descriptor___24.lineno = 365U; descriptor___24.flags = 0U; tmp___27 = ldv__builtin_expect((long )descriptor___24.flags & 1L, 0L); if (tmp___27 != 0L) { __dynamic_pr_debug(& descriptor___24, "%s:\nmem allocation Failed", "CopyBufferToControlPacket"); } else { } } else { } return (-12); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___26.modname = "bcm_wimax"; descriptor___26.function = "CopyBufferToControlPacket"; descriptor___26.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___26.format = "%s:\nControl packet to be taken =%d and address is =%pincoming address is =%p and packet len=%x"; descriptor___26.lineno = 370U; descriptor___26.flags = 0U; tmp___31 = ldv__builtin_expect((long )descriptor___26.flags & 1L, 0L); if (tmp___31 != 0L) { tmp___30 = atomic_read((atomic_t const *)(& Adapter->index_wr_txcntrlpkt)); __dynamic_pr_debug(& descriptor___26, "%s:\nControl packet to be taken =%d and address is =%pincoming address is =%p and packet len=%x", "CopyBufferToControlPacket", tmp___30, ctrl_buff, ioBuffer, pktlen); } else { } } else { } if ((unsigned long )pLeader != (unsigned long )((struct bcm_leader *)0)) { if ((unsigned int )pLeader->Status == 128U || (unsigned int )pLeader->Status == 137U) { pucAddIndication = (unsigned char *)ioBuffer + 8UL; pktlen = (unsigned int )pLeader->PLength; tmp___32 = StoreCmControlResponseMessage(Adapter, (void *)pucAddIndication, & pktlen); Status = (int )tmp___32; if (Status != 1) { ClearTargetDSXBuffer(Adapter, (int )((struct bcm_add_indication_alt *)pucAddIndication)->u16TID, 0); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___28.modname = "bcm_wimax"; descriptor___28.function = "CopyBufferToControlPacket"; descriptor___28.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___28.format = "%s:\n Error Restoring The DSX Control Packet. Dsx Buffers on Target may not be Setup Properly "; descriptor___28.lineno = 386U; descriptor___28.flags = 0U; tmp___34 = ldv__builtin_expect((long )descriptor___28.flags & 1L, 0L); if (tmp___34 != 0L) { __dynamic_pr_debug(& descriptor___28, "%s:\n Error Restoring The DSX Control Packet. Dsx Buffers on Target may not be Setup Properly ", "CopyBufferToControlPacket"); } else { } } else { } return (-1); } else { } pLeader->PLength = (USHORT )pktlen; } else { } } else { } if ((unsigned long )pktlen + 8UL > 2048UL) { return (-22); } else { } memset((void *)ctrl_buff, 0, (unsigned long )pktlen + 8UL); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___30.modname = "bcm_wimax"; descriptor___30.function = "CopyBufferToControlPacket"; descriptor___30.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___30.format = "%s:\nCopying the Control Packet Buffer with length=%d\n"; descriptor___30.lineno = 401U; descriptor___30.flags = 0U; tmp___36 = ldv__builtin_expect((long )descriptor___30.flags & 1L, 0L); if (tmp___36 != 0L) { __dynamic_pr_debug(& descriptor___30, "%s:\nCopying the Control Packet Buffer with length=%d\n", "CopyBufferToControlPacket", (int )pLeader->PLength); } else { } } else { } *((struct bcm_leader *)ctrl_buff) = *pLeader; __len = (size_t )pLeader->PLength; __ret___3 = memcpy((void *)ctrl_buff + 8U, (void const *)ioBuffer + 8U, __len); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___32.modname = "bcm_wimax"; descriptor___32.function = "CopyBufferToControlPacket"; descriptor___32.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___32.format = "%s:\nEnqueuing the Control Packet"; descriptor___32.lineno = 404U; descriptor___32.flags = 0U; tmp___38 = ldv__builtin_expect((long )descriptor___32.flags & 1L, 0L); if (tmp___38 != 0L) { __dynamic_pr_debug(& descriptor___32, "%s:\nEnqueuing the Control Packet", "CopyBufferToControlPacket"); } else { } } else { } spin_lock_bh(& Adapter->PackInfo[16].SFQueueLock); Adapter->PackInfo[16].uiCurrentBytesOnHost = Adapter->PackInfo[16].uiCurrentBytesOnHost + (UINT )pLeader->PLength; Adapter->PackInfo[16].uiCurrentPacketsOnHost = Adapter->PackInfo[16].uiCurrentPacketsOnHost + 1U; atomic_inc(& Adapter->TotalPacketCount); spin_unlock_bh(& Adapter->PackInfo[16].SFQueueLock); Adapter->PackInfo[16].bValid = 1; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___34.modname = "bcm_wimax"; descriptor___34.function = "CopyBufferToControlPacket"; descriptor___34.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___34.format = "%s:\nCurrBytesOnHost: %x bValid: %x"; descriptor___34.lineno = 416U; descriptor___34.flags = 0U; tmp___40 = ldv__builtin_expect((long )descriptor___34.flags & 1L, 0L); if (tmp___40 != 0L) { __dynamic_pr_debug(& descriptor___34, "%s:\nCurrBytesOnHost: %x bValid: %x", "CopyBufferToControlPacket", Adapter->PackInfo[16].uiCurrentBytesOnHost, (int )Adapter->PackInfo[16].bValid); } else { } } else { } Status = 0; atomic_inc(& Adapter->index_wr_txcntrlpkt); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___36.modname = "bcm_wimax"; descriptor___36.function = "CopyBufferToControlPacket"; descriptor___36.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___36.format = "%s:\nCalling transmit_packets"; descriptor___36.lineno = 420U; descriptor___36.flags = 0U; tmp___42 = ldv__builtin_expect((long )descriptor___36.flags & 1L, 0L); if (tmp___42 != 0L) { __dynamic_pr_debug(& descriptor___36, "%s:\nCalling transmit_packets", "CopyBufferToControlPacket"); } else { } } else { } atomic_set(& Adapter->TxPktAvail, 1); __wake_up(& Adapter->tx_packet_wait_queue, 3U, 1, (void *)0); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8U) != 0U) { descriptor___38.modname = "bcm_wimax"; descriptor___38.function = "CopyBufferToControlPacket"; descriptor___38.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___38.format = "%s:\n<===="; descriptor___38.lineno = 424U; descriptor___38.flags = 0U; tmp___44 = ldv__builtin_expect((long )descriptor___38.flags & 1L, 0L); if (tmp___44 != 0L) { __dynamic_pr_debug(& descriptor___38, "%s:\n<====", "CopyBufferToControlPacket"); } else { } } else { } return (Status); } } VOID LinkMessage(struct bcm_mini_adapter *Adapter ) { struct bcm_link_request *pstLinkRequest ; struct _ddebug descriptor___0 ; long tmp___0 ; void *tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; struct _ddebug descriptor___4 ; long tmp___5 ; void *tmp___6 ; struct _ddebug descriptor___6 ; long tmp___8 ; struct _ddebug descriptor___8 ; long tmp___10 ; struct _ddebug descriptor___10 ; long tmp___12 ; struct _ddebug descriptor___12 ; long tmp___14 ; { pstLinkRequest = (struct bcm_link_request *)0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 256U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "LinkMessage"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___0.format = "%s:\n=====>"; descriptor___0.lineno = 441U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n=====>", "LinkMessage"); } else { } } else { } if ((unsigned int )Adapter->LinkStatus == 1U && (int )Adapter->AutoSyncup) { tmp___1 = kzalloc(12UL, 32U); pstLinkRequest = (struct bcm_link_request *)tmp___1; if ((unsigned long )pstLinkRequest == (unsigned long )((struct bcm_link_request *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 256U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "LinkMessage"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___2.format = "%s:\nCan not allocate memory for Link request!"; descriptor___2.lineno = 445U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nCan not allocate memory for Link request!", "LinkMessage"); } else { } } else { } return; } else { } Adapter->LinkStatus = 1U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 256U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "LinkMessage"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___4.format = "%s:\nRequesting For SyncUp..."; descriptor___4.lineno = 450U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nRequesting For SyncUp...", "LinkMessage"); } else { } } else { } pstLinkRequest->szData[0] = 245U; pstLinkRequest->szData[1] = 1U; pstLinkRequest->Leader.Status = 131U; pstLinkRequest->Leader.PLength = 8U; Adapter->bSyncUpRequestSent = 1; } else if ((unsigned int )Adapter->LinkStatus == 2U && (int )Adapter->AutoLinkUp) { tmp___6 = kzalloc(12UL, 32U); pstLinkRequest = (struct bcm_link_request *)tmp___6; if ((unsigned long )pstLinkRequest == (unsigned long )((struct bcm_link_request *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 256U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "LinkMessage"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___6.format = "%s:\nCan not allocate memory for Link request!"; descriptor___6.lineno = 460U; descriptor___6.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nCan not allocate memory for Link request!", "LinkMessage"); } else { } } else { } return; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 256U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "LinkMessage"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___8.format = "%s:\nRequesting For LinkUp..."; descriptor___8.lineno = 464U; descriptor___8.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nRequesting For LinkUp...", "LinkMessage"); } else { } } else { } pstLinkRequest->szData[0] = 245U; pstLinkRequest->szData[1] = 2U; pstLinkRequest->Leader.Status = 131U; pstLinkRequest->Leader.PLength = 8U; } else { } if ((unsigned long )pstLinkRequest != (unsigned long )((struct bcm_link_request *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 256U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "LinkMessage"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___10.format = "%s:\nCalling CopyBufferToControlPacket"; descriptor___10.lineno = 471U; descriptor___10.flags = 0U; tmp___12 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___12 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nCalling CopyBufferToControlPacket", "LinkMessage"); } else { } } else { } CopyBufferToControlPacket(Adapter, (void *)pstLinkRequest); kfree((void const *)pstLinkRequest); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 256U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "LinkMessage"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___12.format = "%s:\nLinkMessage <====="; descriptor___12.lineno = 475U; descriptor___12.flags = 0U; tmp___14 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___14 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nLinkMessage <=====", "LinkMessage"); } else { } } else { } return; } } VOID StatisticsResponse(struct bcm_mini_adapter *Adapter , void *pvBuffer ) { struct _ddebug descriptor___0 ; long tmp___0 ; __u32 tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; struct _ddebug descriptor___4 ; long tmp___5 ; { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "StatisticsResponse"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___0.format = "%s:\n%s====>"; descriptor___0.lineno = 491U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n%s====>", "StatisticsResponse", "StatisticsResponse"); } else { } } else { } tmp___1 = __fswab32(*((__be32 *)pvBuffer)); Adapter->StatisticsPointer = tmp___1; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "StatisticsResponse"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___2.format = "%s:\nStats at %x"; descriptor___2.lineno = 493U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nStats at %x", "StatisticsResponse", Adapter->StatisticsPointer); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "StatisticsResponse"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___4.format = "%s:\n%s <===="; descriptor___4.lineno = 494U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n%s <====", "StatisticsResponse", "StatisticsResponse"); } else { } } else { } return; } } VOID LinkControlResponseMessage(struct bcm_mini_adapter *Adapter , PUCHAR pucBuffer ) { struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___4 ; long tmp___4 ; PUCHAR puMacAddr ; struct _ddebug descriptor___10 ; long tmp___10 ; size_t __len ; void *__ret ; struct _ddebug descriptor___12 ; long tmp___12 ; { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 4U) != 0U) && (int )Adapter->stDebugState.subtype[4] & 1) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "LinkControlResponseMessage"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___0.format = "%s:\n=====>"; descriptor___0.lineno = 510U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n=====>", "LinkControlResponseMessage"); } else { } } else { } if ((unsigned int )*pucBuffer == 246U) { switch ((int )*(pucBuffer + 1UL)) { case 2: printk("\016%s:PHY_SYNC_ACHIVED", "LinkControlResponseMessage"); if ((unsigned int )Adapter->LinkStatus == 4U) { beceem_protocol_reset(Adapter); } else { } Adapter->usBestEffortQueueIndex = 17U; Adapter->LinkStatus = 2U; if (Adapter->LEDInfo.led_thread_running & 1) { Adapter->DriverState = 8; __wake_up(& Adapter->LEDInfo.notify_led_event, 3U, 1, (void *)0); } else { } LinkMessage(Adapter); goto ldv_51938; case 4: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 4U) != 0U) && (int )Adapter->stDebugState.subtype[4] & 1) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "LinkControlResponseMessage"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___4.format = "%s:\nLINKUP_DONE"; descriptor___4.lineno = 532U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nLINKUP_DONE", "LinkControlResponseMessage"); } else { } } else { } Adapter->LinkStatus = 4U; Adapter->bPHSEnabled = *(pucBuffer + 3UL); Adapter->bETHCSEnabled = ((int )*(pucBuffer + 4UL) & 63) != 0; printk("\016%s:PHS Support Status Received In LinkUp Ack : %x\n", "LinkControlResponseMessage", (int )Adapter->bPHSEnabled); if (! Adapter->bShutStatus && ! Adapter->IdleMode) { if (Adapter->LEDInfo.led_thread_running & 1) { Adapter->DriverState = 16; __wake_up(& Adapter->LEDInfo.notify_led_event, 3U, 1, (void *)0); } else { } } else { } LinkMessage(Adapter); goto ldv_51938; case 1: Adapter->LinkUpStatus = 0; Adapter->LinkStatus = 0U; Adapter->usBestEffortQueueIndex = 17U; Adapter->bTriedToWakeUpFromlowPowerMode = 0; Adapter->IdleMode = 0; beceem_protocol_reset(Adapter); goto ldv_51938; case 8: ; case 9: HandleShutDownModeRequest(Adapter, pucBuffer); goto ldv_51938; default: printk("\016%s:default case:LinkResponse %x", "LinkControlResponseMessage", (int )*(pucBuffer + 1UL)); goto ldv_51938; } ldv_51938: ; } else if ((unsigned int )*pucBuffer == 236U) { puMacAddr = pucBuffer + 1UL; Adapter->LinkStatus = 1U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 4U) != 0U) && (int )Adapter->stDebugState.subtype[4] & 1) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "LinkControlResponseMessage"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___10.format = "%s:\nMAC address response, sending SYNC_UP"; descriptor___10.lineno = 574U; descriptor___10.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nMAC address response, sending SYNC_UP", "LinkControlResponseMessage"); } else { } } else { } LinkMessage(Adapter); __len = 6UL; if (__len > 63UL) { __ret = memcpy((void *)(Adapter->dev)->dev_addr, (void const *)puMacAddr, __len); } else { __ret = memcpy((void *)(Adapter->dev)->dev_addr, (void const *)puMacAddr, __len); } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 4U) != 0U) && (int )Adapter->stDebugState.subtype[4] & 1) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "LinkControlResponseMessage"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___12.format = "%s:\n%s <====="; descriptor___12.lineno = 578U; descriptor___12.flags = 0U; tmp___12 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___12 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\n%s <=====", "LinkControlResponseMessage", "LinkControlResponseMessage"); } else { } } else { } return; } } void SendIdleModeResponse(struct bcm_mini_adapter *Adapter ) { int status ; int NVMAccess ; int lowPwrAbortMsg ; struct timeval tv ; struct bcm_link_request stIdleResponse ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; int iRetVal ; struct _ddebug descriptor___4 ; long tmp___4 ; long __ret ; unsigned long tmp___5 ; wait_queue_t __wait ; long __ret___0 ; unsigned long tmp___6 ; long __int ; long tmp___7 ; bool __cond ; bool __cond___0 ; struct _ddebug descriptor___6 ; long tmp___9 ; struct _ddebug descriptor___8 ; long tmp___11 ; int tmp___12 ; struct _ddebug descriptor___12 ; long tmp___16 ; { status = 0; NVMAccess = 0; lowPwrAbortMsg = 0; stIdleResponse.Leader.Vcid = 0U; stIdleResponse.Leader.PLength = (unsigned short)0; stIdleResponse.Leader.Status = (unsigned char)0; stIdleResponse.Leader.Unused[0] = (unsigned char)0; stIdleResponse.Leader.Unused[1] = (unsigned char)0; stIdleResponse.Leader.Unused[2] = (unsigned char)0; stIdleResponse.szData[0] = (unsigned char)0; stIdleResponse.szData[1] = (unsigned char)0; stIdleResponse.szData[2] = (unsigned char)0; stIdleResponse.szData[3] = (unsigned char)0; memset((void *)(& tv), 0, 16UL); stIdleResponse.Leader.Status = 129U; stIdleResponse.Leader.PLength = 8U; stIdleResponse.szData[0] = 210U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 4U) != 0U) && (int )Adapter->stDebugState.subtype[4] & 1) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "SendIdleModeResponse"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___0.format = "%s:\n ============>"; descriptor___0.lineno = 591U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n ============>", "SendIdleModeResponse"); } else { } } else { } NVMAccess = down_trylock(& Adapter->NVMRdmWrmLock); lowPwrAbortMsg = down_trylock(& Adapter->LowPowerModeSync); if (NVMAccess != 0 || lowPwrAbortMsg != 0) { goto _L___0; } else { tmp___12 = atomic_read((atomic_t const *)(& Adapter->TotalPacketCount)); if (tmp___12 != 0) { _L___0: /* CIL Label */ if (Adapter->ulPowerSaveMode != 4UL) { if (NVMAccess == 0) { up(& Adapter->NVMRdmWrmLock); } else { } if (lowPwrAbortMsg == 0) { up(& Adapter->LowPowerModeSync); } else { } stIdleResponse.szData[1] = 3U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 4U) != 0U) && (int )Adapter->stDebugState.subtype[4] & 1) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "SendIdleModeResponse"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___2.format = "%s:\nHOST IS NACKING Idle mode To F/W!!!!!!!!"; descriptor___2.lineno = 616U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nHOST IS NACKING Idle mode To F/W!!!!!!!!", "SendIdleModeResponse"); } else { } } else { } Adapter->bPreparingForLowPowerMode = 0; } else { goto _L; } } else { _L: /* CIL Label */ stIdleResponse.szData[1] = 2U; Adapter->StatisticsPointer = 0U; if (Adapter->LEDInfo.led_thread_running & 1) { iRetVal = 0; Adapter->DriverState = 32; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 4U) != 0U) && (int )Adapter->stDebugState.subtype[4] & 1) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "SendIdleModeResponse"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___4.format = "%s:\nLED Thread is Running..Hence Setting LED Event as IDLEMODE_ENTER jiffies:%ld"; descriptor___4.lineno = 628U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nLED Thread is Running..Hence Setting LED Event as IDLEMODE_ENTER jiffies:%ld", "SendIdleModeResponse", jiffies); } else { } } else { } __wake_up(& Adapter->LEDInfo.notify_led_event, 3U, 1, (void *)0); tmp___5 = msecs_to_jiffies(1000U); __ret = (long )tmp___5; __cond___0 = Adapter->LEDInfo.bIdle_led_off; if ((int )__cond___0 && __ret == 0L) { __ret = 1L; } else { } if (((int )__cond___0 || __ret == 0L) == 0) { tmp___6 = msecs_to_jiffies(1000U); __ret___0 = (long )tmp___6; INIT_LIST_HEAD(& __wait.task_list); __wait.flags = 0U; ldv_51984: tmp___7 = prepare_to_wait_event(& Adapter->LEDInfo.idleModeSyncEvent, & __wait, 2); __int = tmp___7; __cond = Adapter->LEDInfo.bIdle_led_off; if ((int )__cond && __ret___0 == 0L) { __ret___0 = 1L; } else { } if (((int )__cond || __ret___0 == 0L) != 0) { goto ldv_51983; } else { } __ret___0 = schedule_timeout(__ret___0); goto ldv_51984; ldv_51983: finish_wait(& Adapter->LEDInfo.idleModeSyncEvent, & __wait); __ret = __ret___0; } else { } iRetVal = (int )__ret; if (iRetVal <= 0) { stIdleResponse.szData[1] = 3U; Adapter->DriverState = 16; __wake_up(& Adapter->LEDInfo.notify_led_event, 3U, 1, (void *)0); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 4U) != 0U) && (int )Adapter->stDebugState.subtype[4] & 1) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "SendIdleModeResponse"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___6.format = "%s:\nNACKING Idle mode as time out happen from LED side!!!!!!!!"; descriptor___6.lineno = 639U; descriptor___6.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nNACKING Idle mode as time out happen from LED side!!!!!!!!", "SendIdleModeResponse"); } else { } } else { } } else { } } else { } if ((unsigned int )stIdleResponse.szData[1] == 2U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 4U) != 0U) && (int )Adapter->stDebugState.subtype[4] & 1) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "SendIdleModeResponse"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___8.format = "%s:\nACKING IDLE MODE !!!!!!!!!"; descriptor___8.lineno = 644U; descriptor___8.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nACKING IDLE MODE !!!!!!!!!", "SendIdleModeResponse"); } else { } } else { } down(& Adapter->rdmwrmsync); Adapter->bPreparingForLowPowerMode = 1; up(& Adapter->rdmwrmsync); if ((int )Adapter->bDoSuspend) { Bcm_kill_all_URBs((struct bcm_interface_adapter *)Adapter->pvInterfaceAdapter); } else { } } else { Adapter->bPreparingForLowPowerMode = 0; } if (NVMAccess == 0) { up(& Adapter->NVMRdmWrmLock); } else { } if (lowPwrAbortMsg == 0) { up(& Adapter->LowPowerModeSync); } else { } } } status = CopyBufferToControlPacket(Adapter, (void *)(& stIdleResponse)); if (status != 0) { printk("\016%s:fail to send the Idle mode Request\n", "SendIdleModeResponse"); Adapter->bPreparingForLowPowerMode = 0; StartInterruptUrb((struct bcm_interface_adapter *)Adapter->pvInterfaceAdapter); } else { } do_gettimeofday(& tv); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 4U) != 0U) && (int )Adapter->stDebugState.subtype[4] & 1) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "SendIdleModeResponse"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___12.format = "%s:\nIdleMode Msg submitter to Q :%ld ms"; descriptor___12.lineno = 669U; descriptor___12.flags = 0U; tmp___16 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___16 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nIdleMode Msg submitter to Q :%ld ms", "SendIdleModeResponse", tv.tv_sec * 1000L + tv.tv_usec / 1000L); } else { } } else { } return; } } void DumpPackInfo(struct bcm_mini_adapter *Adapter ) { unsigned int uiLoopIndex ; unsigned int uiIndex ; unsigned int uiClsfrIndex ; struct bcm_classifier_rule *pstClassifierEntry ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; struct _ddebug descriptor___6 ; long tmp___6 ; struct _ddebug descriptor___8 ; long tmp___8 ; struct _ddebug descriptor___10 ; long tmp___10 ; struct _ddebug descriptor___12 ; long tmp___12 ; struct _ddebug descriptor___14 ; long tmp___14 ; struct _ddebug descriptor___16 ; long tmp___16 ; struct _ddebug descriptor___18 ; long tmp___18 ; struct _ddebug descriptor___20 ; long tmp___20 ; struct _ddebug descriptor___22 ; long tmp___22 ; struct _ddebug descriptor___24 ; long tmp___24 ; struct _ddebug descriptor___26 ; long tmp___26 ; struct _ddebug descriptor___28 ; long tmp___28 ; struct _ddebug descriptor___30 ; long tmp___30 ; struct _ddebug descriptor___32 ; long tmp___32 ; struct _ddebug descriptor___34 ; long tmp___34 ; struct _ddebug descriptor___36 ; long tmp___36 ; struct _ddebug descriptor___38 ; long tmp___38 ; struct _ddebug descriptor___40 ; long tmp___40 ; struct _ddebug descriptor___42 ; long tmp___42 ; struct _ddebug descriptor___44 ; long tmp___44 ; struct _ddebug descriptor___46 ; long tmp___46 ; struct _ddebug descriptor___48 ; long tmp___48 ; struct _ddebug descriptor___50 ; long tmp___50 ; struct _ddebug descriptor___52 ; long tmp___52 ; struct _ddebug descriptor___54 ; long tmp___54 ; struct _ddebug descriptor___56 ; long tmp___56 ; struct _ddebug descriptor___58 ; long tmp___58 ; struct _ddebug descriptor___60 ; long tmp___60 ; struct _ddebug descriptor___62 ; long tmp___62 ; struct _ddebug descriptor___64 ; long tmp___64 ; struct _ddebug descriptor___66 ; long tmp___66 ; struct _ddebug descriptor___68 ; long tmp___68 ; struct _ddebug descriptor___70 ; long tmp___70 ; struct _ddebug descriptor___72 ; long tmp___72 ; struct _ddebug descriptor___74 ; long tmp___74 ; struct _ddebug descriptor___76 ; int tmp___77 ; long tmp___78 ; struct _ddebug descriptor___78 ; long tmp___80 ; struct _ddebug descriptor___80 ; long tmp___82 ; struct _ddebug descriptor___82 ; long tmp___84 ; struct _ddebug descriptor___84 ; long tmp___86 ; struct _ddebug descriptor___86 ; long tmp___88 ; struct _ddebug descriptor___88 ; long tmp___90 ; struct _ddebug descriptor___90 ; long tmp___92 ; struct _ddebug descriptor___92 ; long tmp___94 ; struct _ddebug descriptor___94 ; long tmp___96 ; struct _ddebug descriptor___96 ; long tmp___98 ; struct _ddebug descriptor___98 ; long tmp___100 ; struct _ddebug descriptor___100 ; long tmp___102 ; struct _ddebug descriptor___102 ; long tmp___104 ; struct _ddebug descriptor___104 ; long tmp___106 ; struct _ddebug descriptor___106 ; long tmp___108 ; struct _ddebug descriptor___108 ; long tmp___110 ; struct _ddebug descriptor___110 ; long tmp___112 ; struct _ddebug descriptor___112 ; long tmp___114 ; struct _ddebug descriptor___114 ; long tmp___116 ; struct _ddebug descriptor___116 ; long tmp___118 ; struct _ddebug descriptor___118 ; long tmp___120 ; struct _ddebug descriptor___120 ; long tmp___122 ; struct _ddebug descriptor___122 ; long tmp___124 ; struct _ddebug descriptor___124 ; long tmp___126 ; struct _ddebug descriptor___126 ; long tmp___128 ; struct _ddebug descriptor___128 ; long tmp___130 ; struct _ddebug descriptor___130 ; long tmp___132 ; struct _ddebug descriptor___132 ; long tmp___134 ; struct _ddebug descriptor___134 ; long tmp___136 ; { uiLoopIndex = 0U; uiIndex = 0U; uiClsfrIndex = 0U; pstClassifierEntry = (struct bcm_classifier_rule *)0; uiLoopIndex = 0U; goto ldv_52150; ldv_52149: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "DumpPackInfo"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___0.format = "%s:\n*********** Showing Details Of Queue %d***** ******"; descriptor___0.lineno = 689U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n*********** Showing Details Of Queue %d***** ******", "DumpPackInfo", uiLoopIndex); } else { } } else { } if (! Adapter->PackInfo[uiLoopIndex].bValid) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "DumpPackInfo"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___2.format = "%s:\nbValid is false for %X index\n"; descriptor___2.lineno = 691U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nbValid is false for %X index\n", "DumpPackInfo", uiLoopIndex); } else { } } else { } goto ldv_52007; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "DumpPackInfo"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___4.format = "%s:\n Dumping\tSF Rule Entry For SFID %lX\n"; descriptor___4.lineno = 695U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n Dumping\tSF Rule Entry For SFID %lX\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].ulSFID); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "DumpPackInfo"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___6.format = "%s:\n ucDirection %X\n"; descriptor___6.lineno = 696U; descriptor___6.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\n ucDirection %X\n", "DumpPackInfo", (int )Adapter->PackInfo[uiLoopIndex].ucDirection); } else { } } else { } if ((unsigned int )Adapter->PackInfo[uiLoopIndex].ucIpVersion == 6U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "DumpPackInfo"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___8.format = "%s:\nIpv6 Service Flow\n"; descriptor___8.lineno = 699U; descriptor___8.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nIpv6 Service Flow\n", "DumpPackInfo"); } else { } } else { } } else if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "DumpPackInfo"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___10.format = "%s:\nIpv4 Service Flow\n"; descriptor___10.lineno = 701U; descriptor___10.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nIpv4 Service Flow\n", "DumpPackInfo"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "DumpPackInfo"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___12.format = "%s:\nSF Traffic Priority %X\n"; descriptor___12.lineno = 703U; descriptor___12.flags = 0U; tmp___12 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___12 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nSF Traffic Priority %X\n", "DumpPackInfo", (int )Adapter->PackInfo[uiLoopIndex].u8TrafficPriority); } else { } } else { } uiClsfrIndex = 0U; goto ldv_52073; ldv_52072: pstClassifierEntry = (struct bcm_classifier_rule *)(& Adapter->astClassifierTable) + (unsigned long )uiClsfrIndex; if (! pstClassifierEntry->bUsed) { goto ldv_52018; } else { } if (pstClassifierEntry->ulSFID != Adapter->PackInfo[uiLoopIndex].ulSFID) { goto ldv_52018; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "DumpPackInfo"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___14.format = "%s:\n\tDumping Classifier Rule Entry For Index: %X Classifier Rule ID : %X\n"; descriptor___14.lineno = 713U; descriptor___14.flags = 0U; tmp___14 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___14 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\n\tDumping Classifier Rule Entry For Index: %X Classifier Rule ID : %X\n", "DumpPackInfo", uiClsfrIndex, (int )pstClassifierEntry->uiClassifierRuleIndex); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "DumpPackInfo"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___16.format = "%s:\n\tDumping Classifier Rule Entry For Index: %X usVCID_Value : %X\n"; descriptor___16.lineno = 714U; descriptor___16.flags = 0U; tmp___16 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___16 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\n\tDumping Classifier Rule Entry For Index: %X usVCID_Value : %X\n", "DumpPackInfo", uiClsfrIndex, (int )pstClassifierEntry->usVCID_Value); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___18.modname = "bcm_wimax"; descriptor___18.function = "DumpPackInfo"; descriptor___18.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___18.format = "%s:\n\tDumping Classifier Rule Entry For Index: %X bProtocolValid : %X\n"; descriptor___18.lineno = 715U; descriptor___18.flags = 0U; tmp___18 = ldv__builtin_expect((long )descriptor___18.flags & 1L, 0L); if (tmp___18 != 0L) { __dynamic_pr_debug(& descriptor___18, "%s:\n\tDumping Classifier Rule Entry For Index: %X bProtocolValid : %X\n", "DumpPackInfo", uiClsfrIndex, (int )pstClassifierEntry->bProtocolValid); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___20.modname = "bcm_wimax"; descriptor___20.function = "DumpPackInfo"; descriptor___20.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___20.format = "%s:\n\tDumping Classifier Rule Entry For Index: %X bTOSValid : %X\n"; descriptor___20.lineno = 716U; descriptor___20.flags = 0U; tmp___20 = ldv__builtin_expect((long )descriptor___20.flags & 1L, 0L); if (tmp___20 != 0L) { __dynamic_pr_debug(& descriptor___20, "%s:\n\tDumping Classifier Rule Entry For Index: %X bTOSValid : %X\n", "DumpPackInfo", uiClsfrIndex, (int )pstClassifierEntry->bTOSValid); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___22.modname = "bcm_wimax"; descriptor___22.function = "DumpPackInfo"; descriptor___22.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___22.format = "%s:\n\tDumping Classifier Rule Entry For Index: %X bDestIpValid : %X\n"; descriptor___22.lineno = 717U; descriptor___22.flags = 0U; tmp___22 = ldv__builtin_expect((long )descriptor___22.flags & 1L, 0L); if (tmp___22 != 0L) { __dynamic_pr_debug(& descriptor___22, "%s:\n\tDumping Classifier Rule Entry For Index: %X bDestIpValid : %X\n", "DumpPackInfo", uiClsfrIndex, (int )pstClassifierEntry->bDestIpValid); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___24.modname = "bcm_wimax"; descriptor___24.function = "DumpPackInfo"; descriptor___24.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___24.format = "%s:\n\tDumping Classifier Rule Entry For Index: %X bSrcIpValid : %X\n"; descriptor___24.lineno = 718U; descriptor___24.flags = 0U; tmp___24 = ldv__builtin_expect((long )descriptor___24.flags & 1L, 0L); if (tmp___24 != 0L) { __dynamic_pr_debug(& descriptor___24, "%s:\n\tDumping Classifier Rule Entry For Index: %X bSrcIpValid : %X\n", "DumpPackInfo", uiClsfrIndex, (int )pstClassifierEntry->bSrcIpValid); } else { } } else { } uiIndex = 0U; goto ldv_52040; ldv_52039: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___26.modname = "bcm_wimax"; descriptor___26.function = "DumpPackInfo"; descriptor___26.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___26.format = "%s:\n\tusSrcPortRangeLo:%X\n"; descriptor___26.lineno = 721U; descriptor___26.flags = 0U; tmp___26 = ldv__builtin_expect((long )descriptor___26.flags & 1L, 0L); if (tmp___26 != 0L) { __dynamic_pr_debug(& descriptor___26, "%s:\n\tusSrcPortRangeLo:%X\n", "DumpPackInfo", (int )pstClassifierEntry->usSrcPortRangeLo[uiIndex]); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___28.modname = "bcm_wimax"; descriptor___28.function = "DumpPackInfo"; descriptor___28.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___28.format = "%s:\n\tusSrcPortRangeHi:%X\n"; descriptor___28.lineno = 722U; descriptor___28.flags = 0U; tmp___28 = ldv__builtin_expect((long )descriptor___28.flags & 1L, 0L); if (tmp___28 != 0L) { __dynamic_pr_debug(& descriptor___28, "%s:\n\tusSrcPortRangeHi:%X\n", "DumpPackInfo", (int )pstClassifierEntry->usSrcPortRangeHi[uiIndex]); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___30.modname = "bcm_wimax"; descriptor___30.function = "DumpPackInfo"; descriptor___30.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___30.format = "%s:\n\tusDestPortRangeLo:%X\n"; descriptor___30.lineno = 723U; descriptor___30.flags = 0U; tmp___30 = ldv__builtin_expect((long )descriptor___30.flags & 1L, 0L); if (tmp___30 != 0L) { __dynamic_pr_debug(& descriptor___30, "%s:\n\tusDestPortRangeLo:%X\n", "DumpPackInfo", (int )pstClassifierEntry->usDestPortRangeLo[uiIndex]); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___32.modname = "bcm_wimax"; descriptor___32.function = "DumpPackInfo"; descriptor___32.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___32.format = "%s:\n\tusDestPortRangeHi:%X\n"; descriptor___32.lineno = 724U; descriptor___32.flags = 0U; tmp___32 = ldv__builtin_expect((long )descriptor___32.flags & 1L, 0L); if (tmp___32 != 0L) { __dynamic_pr_debug(& descriptor___32, "%s:\n\tusDestPortRangeHi:%X\n", "DumpPackInfo", (int )pstClassifierEntry->usDestPortRangeHi[uiIndex]); } else { } } else { } uiIndex = uiIndex + 1U; ldv_52040: ; if (uiIndex <= 3U) { goto ldv_52039; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___34.modname = "bcm_wimax"; descriptor___34.function = "DumpPackInfo"; descriptor___34.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___34.format = "%s:\n\tucIPSourceAddressLength : 0x%x\n"; descriptor___34.lineno = 727U; descriptor___34.flags = 0U; tmp___34 = ldv__builtin_expect((long )descriptor___34.flags & 1L, 0L); if (tmp___34 != 0L) { __dynamic_pr_debug(& descriptor___34, "%s:\n\tucIPSourceAddressLength : 0x%x\n", "DumpPackInfo", (int )pstClassifierEntry->ucIPSourceAddressLength); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___36.modname = "bcm_wimax"; descriptor___36.function = "DumpPackInfo"; descriptor___36.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___36.format = "%s:\n\tucIPDestinationAddressLength : 0x%x\n"; descriptor___36.lineno = 728U; descriptor___36.flags = 0U; tmp___36 = ldv__builtin_expect((long )descriptor___36.flags & 1L, 0L); if (tmp___36 != 0L) { __dynamic_pr_debug(& descriptor___36, "%s:\n\tucIPDestinationAddressLength : 0x%x\n", "DumpPackInfo", (int )pstClassifierEntry->ucIPDestinationAddressLength); } else { } } else { } uiIndex = 0U; goto ldv_52055; ldv_52054: ; if ((unsigned int )Adapter->PackInfo[uiLoopIndex].ucIpVersion == 6U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___38.modname = "bcm_wimax"; descriptor___38.function = "DumpPackInfo"; descriptor___38.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___38.format = "%s:\n\tIpv6 ulSrcIpAddr :\n"; descriptor___38.lineno = 731U; descriptor___38.flags = 0U; tmp___38 = ldv__builtin_expect((long )descriptor___38.flags & 1L, 0L); if (tmp___38 != 0L) { __dynamic_pr_debug(& descriptor___38, "%s:\n\tIpv6 ulSrcIpAddr :\n", "DumpPackInfo"); } else { } } else { } DumpIpv6Address((unsigned long *)(& pstClassifierEntry->stSrcIpAddress.ldv_50772.ulIpv6Addr)); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___40.modname = "bcm_wimax"; descriptor___40.function = "DumpPackInfo"; descriptor___40.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___40.format = "%s:\n\tIpv6 ulSrcIpMask :\n"; descriptor___40.lineno = 733U; descriptor___40.flags = 0U; tmp___40 = ldv__builtin_expect((long )descriptor___40.flags & 1L, 0L); if (tmp___40 != 0L) { __dynamic_pr_debug(& descriptor___40, "%s:\n\tIpv6 ulSrcIpMask :\n", "DumpPackInfo"); } else { } } else { } DumpIpv6Address((unsigned long *)(& pstClassifierEntry->stSrcIpAddress.ldv_50772.ulIpv6Mask)); } else { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___42.modname = "bcm_wimax"; descriptor___42.function = "DumpPackInfo"; descriptor___42.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___42.format = "%s:\n\tulSrcIpAddr:%lX\n"; descriptor___42.lineno = 736U; descriptor___42.flags = 0U; tmp___42 = ldv__builtin_expect((long )descriptor___42.flags & 1L, 0L); if (tmp___42 != 0L) { __dynamic_pr_debug(& descriptor___42, "%s:\n\tulSrcIpAddr:%lX\n", "DumpPackInfo", pstClassifierEntry->stSrcIpAddress.ldv_50768.ulIpv4Addr[uiIndex]); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___44.modname = "bcm_wimax"; descriptor___44.function = "DumpPackInfo"; descriptor___44.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___44.format = "%s:\n\tulSrcIpMask:%lX\n"; descriptor___44.lineno = 737U; descriptor___44.flags = 0U; tmp___44 = ldv__builtin_expect((long )descriptor___44.flags & 1L, 0L); if (tmp___44 != 0L) { __dynamic_pr_debug(& descriptor___44, "%s:\n\tulSrcIpMask:%lX\n", "DumpPackInfo", pstClassifierEntry->stSrcIpAddress.ldv_50768.ulIpv4Mask[uiIndex]); } else { } } else { } } uiIndex = uiIndex + 1U; ldv_52055: ; if ((unsigned int )pstClassifierEntry->ucIPSourceAddressLength > uiIndex) { goto ldv_52054; } else { } uiIndex = 0U; goto ldv_52066; ldv_52065: ; if ((unsigned int )Adapter->PackInfo[uiLoopIndex].ucIpVersion == 6U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___46.modname = "bcm_wimax"; descriptor___46.function = "DumpPackInfo"; descriptor___46.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___46.format = "%s:\n\tIpv6 ulDestIpAddr :\n"; descriptor___46.lineno = 743U; descriptor___46.flags = 0U; tmp___46 = ldv__builtin_expect((long )descriptor___46.flags & 1L, 0L); if (tmp___46 != 0L) { __dynamic_pr_debug(& descriptor___46, "%s:\n\tIpv6 ulDestIpAddr :\n", "DumpPackInfo"); } else { } } else { } DumpIpv6Address((unsigned long *)(& pstClassifierEntry->stDestIpAddress.ldv_50772.ulIpv6Addr)); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___48.modname = "bcm_wimax"; descriptor___48.function = "DumpPackInfo"; descriptor___48.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___48.format = "%s:\n\tIpv6 ulDestIpMask :\n"; descriptor___48.lineno = 745U; descriptor___48.flags = 0U; tmp___48 = ldv__builtin_expect((long )descriptor___48.flags & 1L, 0L); if (tmp___48 != 0L) { __dynamic_pr_debug(& descriptor___48, "%s:\n\tIpv6 ulDestIpMask :\n", "DumpPackInfo"); } else { } } else { } DumpIpv6Address((unsigned long *)(& pstClassifierEntry->stDestIpAddress.ldv_50772.ulIpv6Mask)); } else { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___50.modname = "bcm_wimax"; descriptor___50.function = "DumpPackInfo"; descriptor___50.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___50.format = "%s:\n\tulDestIpAddr:%lX\n"; descriptor___50.lineno = 748U; descriptor___50.flags = 0U; tmp___50 = ldv__builtin_expect((long )descriptor___50.flags & 1L, 0L); if (tmp___50 != 0L) { __dynamic_pr_debug(& descriptor___50, "%s:\n\tulDestIpAddr:%lX\n", "DumpPackInfo", pstClassifierEntry->stDestIpAddress.ldv_50768.ulIpv4Addr[uiIndex]); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___52.modname = "bcm_wimax"; descriptor___52.function = "DumpPackInfo"; descriptor___52.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___52.format = "%s:\n\tulDestIpMask:%lX\n"; descriptor___52.lineno = 749U; descriptor___52.flags = 0U; tmp___52 = ldv__builtin_expect((long )descriptor___52.flags & 1L, 0L); if (tmp___52 != 0L) { __dynamic_pr_debug(& descriptor___52, "%s:\n\tulDestIpMask:%lX\n", "DumpPackInfo", pstClassifierEntry->stDestIpAddress.ldv_50768.ulIpv4Mask[uiIndex]); } else { } } else { } } uiIndex = uiIndex + 1U; ldv_52066: ; if ((unsigned int )pstClassifierEntry->ucIPDestinationAddressLength > uiIndex) { goto ldv_52065; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___54.modname = "bcm_wimax"; descriptor___54.function = "DumpPackInfo"; descriptor___54.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___54.format = "%s:\n\tucProtocol:0x%X\n"; descriptor___54.lineno = 752U; descriptor___54.flags = 0U; tmp___54 = ldv__builtin_expect((long )descriptor___54.flags & 1L, 0L); if (tmp___54 != 0L) { __dynamic_pr_debug(& descriptor___54, "%s:\n\tucProtocol:0x%X\n", "DumpPackInfo", (int )pstClassifierEntry->ucProtocol[0]); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___56.modname = "bcm_wimax"; descriptor___56.function = "DumpPackInfo"; descriptor___56.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___56.format = "%s:\n\tu8ClassifierRulePriority:%X\n"; descriptor___56.lineno = 753U; descriptor___56.flags = 0U; tmp___56 = ldv__builtin_expect((long )descriptor___56.flags & 1L, 0L); if (tmp___56 != 0L) { __dynamic_pr_debug(& descriptor___56, "%s:\n\tu8ClassifierRulePriority:%X\n", "DumpPackInfo", (int )pstClassifierEntry->u8ClassifierRulePriority); } else { } } else { } ldv_52018: uiClsfrIndex = uiClsfrIndex + 1U; ldv_52073: ; if (uiClsfrIndex <= 99U) { goto ldv_52072; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___58.modname = "bcm_wimax"; descriptor___58.function = "DumpPackInfo"; descriptor___58.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___58.format = "%s:\nulSFID:%lX\n"; descriptor___58.lineno = 755U; descriptor___58.flags = 0U; tmp___58 = ldv__builtin_expect((long )descriptor___58.flags & 1L, 0L); if (tmp___58 != 0L) { __dynamic_pr_debug(& descriptor___58, "%s:\nulSFID:%lX\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].ulSFID); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___60.modname = "bcm_wimax"; descriptor___60.function = "DumpPackInfo"; descriptor___60.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___60.format = "%s:\nusVCID_Value:%X\n"; descriptor___60.lineno = 756U; descriptor___60.flags = 0U; tmp___60 = ldv__builtin_expect((long )descriptor___60.flags & 1L, 0L); if (tmp___60 != 0L) { __dynamic_pr_debug(& descriptor___60, "%s:\nusVCID_Value:%X\n", "DumpPackInfo", (int )Adapter->PackInfo[uiLoopIndex].usVCID_Value); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___62.modname = "bcm_wimax"; descriptor___62.function = "DumpPackInfo"; descriptor___62.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___62.format = "%s:\nPhsEnabled: 0x%X\n"; descriptor___62.lineno = 757U; descriptor___62.flags = 0U; tmp___62 = ldv__builtin_expect((long )descriptor___62.flags & 1L, 0L); if (tmp___62 != 0L) { __dynamic_pr_debug(& descriptor___62, "%s:\nPhsEnabled: 0x%X\n", "DumpPackInfo", (int )Adapter->PackInfo[uiLoopIndex].bHeaderSuppressionEnabled); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___64.modname = "bcm_wimax"; descriptor___64.function = "DumpPackInfo"; descriptor___64.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___64.format = "%s:\nuiThreshold:%X\n"; descriptor___64.lineno = 758U; descriptor___64.flags = 0U; tmp___64 = ldv__builtin_expect((long )descriptor___64.flags & 1L, 0L); if (tmp___64 != 0L) { __dynamic_pr_debug(& descriptor___64, "%s:\nuiThreshold:%X\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].uiThreshold); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___66.modname = "bcm_wimax"; descriptor___66.function = "DumpPackInfo"; descriptor___66.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___66.format = "%s:\nbValid:%X\n"; descriptor___66.lineno = 760U; descriptor___66.flags = 0U; tmp___66 = ldv__builtin_expect((long )descriptor___66.flags & 1L, 0L); if (tmp___66 != 0L) { __dynamic_pr_debug(& descriptor___66, "%s:\nbValid:%X\n", "DumpPackInfo", (int )Adapter->PackInfo[uiLoopIndex].bValid); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___68.modname = "bcm_wimax"; descriptor___68.function = "DumpPackInfo"; descriptor___68.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___68.format = "%s:\nbActive:%X\n"; descriptor___68.lineno = 761U; descriptor___68.flags = 0U; tmp___68 = ldv__builtin_expect((long )descriptor___68.flags & 1L, 0L); if (tmp___68 != 0L) { __dynamic_pr_debug(& descriptor___68, "%s:\nbActive:%X\n", "DumpPackInfo", (int )Adapter->PackInfo[uiLoopIndex].bActive); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___70.modname = "bcm_wimax"; descriptor___70.function = "DumpPackInfo"; descriptor___70.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___70.format = "%s:\nActivateReqSent: %x"; descriptor___70.lineno = 762U; descriptor___70.flags = 0U; tmp___70 = ldv__builtin_expect((long )descriptor___70.flags & 1L, 0L); if (tmp___70 != 0L) { __dynamic_pr_debug(& descriptor___70, "%s:\nActivateReqSent: %x", "DumpPackInfo", (int )Adapter->PackInfo[uiLoopIndex].bActivateRequestSent); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___72.modname = "bcm_wimax"; descriptor___72.function = "DumpPackInfo"; descriptor___72.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___72.format = "%s:\nu8QueueType:%X\n"; descriptor___72.lineno = 763U; descriptor___72.flags = 0U; tmp___72 = ldv__builtin_expect((long )descriptor___72.flags & 1L, 0L); if (tmp___72 != 0L) { __dynamic_pr_debug(& descriptor___72, "%s:\nu8QueueType:%X\n", "DumpPackInfo", (int )Adapter->PackInfo[uiLoopIndex].u8QueueType); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___74.modname = "bcm_wimax"; descriptor___74.function = "DumpPackInfo"; descriptor___74.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___74.format = "%s:\nuiMaxBucketSize:%X\n"; descriptor___74.lineno = 764U; descriptor___74.flags = 0U; tmp___74 = ldv__builtin_expect((long )descriptor___74.flags & 1L, 0L); if (tmp___74 != 0L) { __dynamic_pr_debug(& descriptor___74, "%s:\nuiMaxBucketSize:%X\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].uiMaxBucketSize); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___76.modname = "bcm_wimax"; descriptor___76.function = "DumpPackInfo"; descriptor___76.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___76.format = "%s:\nuiPerSFTxResourceCount:%X\n"; descriptor___76.lineno = 765U; descriptor___76.flags = 0U; tmp___78 = ldv__builtin_expect((long )descriptor___76.flags & 1L, 0L); if (tmp___78 != 0L) { tmp___77 = atomic_read((atomic_t const *)(& Adapter->PackInfo[uiLoopIndex].uiPerSFTxResourceCount)); __dynamic_pr_debug(& descriptor___76, "%s:\nuiPerSFTxResourceCount:%X\n", "DumpPackInfo", tmp___77); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___78.modname = "bcm_wimax"; descriptor___78.function = "DumpPackInfo"; descriptor___78.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___78.format = "%s:\nCurrQueueDepthOnTarget: %x\n"; descriptor___78.lineno = 767U; descriptor___78.flags = 0U; tmp___80 = ldv__builtin_expect((long )descriptor___78.flags & 1L, 0L); if (tmp___80 != 0L) { __dynamic_pr_debug(& descriptor___78, "%s:\nCurrQueueDepthOnTarget: %x\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].uiCurrentQueueDepthOnTarget); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___80.modname = "bcm_wimax"; descriptor___80.function = "DumpPackInfo"; descriptor___80.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___80.format = "%s:\nuiCurrentBytesOnHost:%X\n"; descriptor___80.lineno = 768U; descriptor___80.flags = 0U; tmp___82 = ldv__builtin_expect((long )descriptor___80.flags & 1L, 0L); if (tmp___82 != 0L) { __dynamic_pr_debug(& descriptor___80, "%s:\nuiCurrentBytesOnHost:%X\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].uiCurrentBytesOnHost); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___82.modname = "bcm_wimax"; descriptor___82.function = "DumpPackInfo"; descriptor___82.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___82.format = "%s:\nuiCurrentPacketsOnHost:%X\n"; descriptor___82.lineno = 769U; descriptor___82.flags = 0U; tmp___84 = ldv__builtin_expect((long )descriptor___82.flags & 1L, 0L); if (tmp___84 != 0L) { __dynamic_pr_debug(& descriptor___82, "%s:\nuiCurrentPacketsOnHost:%X\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].uiCurrentPacketsOnHost); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___84.modname = "bcm_wimax"; descriptor___84.function = "DumpPackInfo"; descriptor___84.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___84.format = "%s:\nuiDroppedCountBytes:%X\n"; descriptor___84.lineno = 770U; descriptor___84.flags = 0U; tmp___86 = ldv__builtin_expect((long )descriptor___84.flags & 1L, 0L); if (tmp___86 != 0L) { __dynamic_pr_debug(& descriptor___84, "%s:\nuiDroppedCountBytes:%X\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].uiDroppedCountBytes); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___86.modname = "bcm_wimax"; descriptor___86.function = "DumpPackInfo"; descriptor___86.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___86.format = "%s:\nuiDroppedCountPackets:%X\n"; descriptor___86.lineno = 771U; descriptor___86.flags = 0U; tmp___88 = ldv__builtin_expect((long )descriptor___86.flags & 1L, 0L); if (tmp___88 != 0L) { __dynamic_pr_debug(& descriptor___86, "%s:\nuiDroppedCountPackets:%X\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].uiDroppedCountPackets); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___88.modname = "bcm_wimax"; descriptor___88.function = "DumpPackInfo"; descriptor___88.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___88.format = "%s:\nuiSentBytes:%X\n"; descriptor___88.lineno = 772U; descriptor___88.flags = 0U; tmp___90 = ldv__builtin_expect((long )descriptor___88.flags & 1L, 0L); if (tmp___90 != 0L) { __dynamic_pr_debug(& descriptor___88, "%s:\nuiSentBytes:%X\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].uiSentBytes); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___90.modname = "bcm_wimax"; descriptor___90.function = "DumpPackInfo"; descriptor___90.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___90.format = "%s:\nuiSentPackets:%X\n"; descriptor___90.lineno = 773U; descriptor___90.flags = 0U; tmp___92 = ldv__builtin_expect((long )descriptor___90.flags & 1L, 0L); if (tmp___92 != 0L) { __dynamic_pr_debug(& descriptor___90, "%s:\nuiSentPackets:%X\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].uiSentPackets); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___92.modname = "bcm_wimax"; descriptor___92.function = "DumpPackInfo"; descriptor___92.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___92.format = "%s:\nuiCurrentDrainRate:%X\n"; descriptor___92.lineno = 774U; descriptor___92.flags = 0U; tmp___94 = ldv__builtin_expect((long )descriptor___92.flags & 1L, 0L); if (tmp___94 != 0L) { __dynamic_pr_debug(& descriptor___92, "%s:\nuiCurrentDrainRate:%X\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].uiCurrentDrainRate); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___94.modname = "bcm_wimax"; descriptor___94.function = "DumpPackInfo"; descriptor___94.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___94.format = "%s:\nuiThisPeriodSentBytes:%X\n"; descriptor___94.lineno = 775U; descriptor___94.flags = 0U; tmp___96 = ldv__builtin_expect((long )descriptor___94.flags & 1L, 0L); if (tmp___96 != 0L) { __dynamic_pr_debug(& descriptor___94, "%s:\nuiThisPeriodSentBytes:%X\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].uiThisPeriodSentBytes); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___96.modname = "bcm_wimax"; descriptor___96.function = "DumpPackInfo"; descriptor___96.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___96.format = "%s:\nliDrainCalculated:%llX\n"; descriptor___96.lineno = 776U; descriptor___96.flags = 0U; tmp___98 = ldv__builtin_expect((long )descriptor___96.flags & 1L, 0L); if (tmp___98 != 0L) { __dynamic_pr_debug(& descriptor___96, "%s:\nliDrainCalculated:%llX\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].liDrainCalculated); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___98.modname = "bcm_wimax"; descriptor___98.function = "DumpPackInfo"; descriptor___98.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___98.format = "%s:\nuiCurrentTokenCount:%X\n"; descriptor___98.lineno = 777U; descriptor___98.flags = 0U; tmp___100 = ldv__builtin_expect((long )descriptor___98.flags & 1L, 0L); if (tmp___100 != 0L) { __dynamic_pr_debug(& descriptor___98, "%s:\nuiCurrentTokenCount:%X\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].uiCurrentTokenCount); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___100.modname = "bcm_wimax"; descriptor___100.function = "DumpPackInfo"; descriptor___100.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___100.format = "%s:\nliLastUpdateTokenAt:%llX\n"; descriptor___100.lineno = 778U; descriptor___100.flags = 0U; tmp___102 = ldv__builtin_expect((long )descriptor___100.flags & 1L, 0L); if (tmp___102 != 0L) { __dynamic_pr_debug(& descriptor___100, "%s:\nliLastUpdateTokenAt:%llX\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].liLastUpdateTokenAt); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___102.modname = "bcm_wimax"; descriptor___102.function = "DumpPackInfo"; descriptor___102.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___102.format = "%s:\nuiMaxAllowedRate:%X\n"; descriptor___102.lineno = 779U; descriptor___102.flags = 0U; tmp___104 = ldv__builtin_expect((long )descriptor___102.flags & 1L, 0L); if (tmp___104 != 0L) { __dynamic_pr_debug(& descriptor___102, "%s:\nuiMaxAllowedRate:%X\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].uiMaxAllowedRate); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___104.modname = "bcm_wimax"; descriptor___104.function = "DumpPackInfo"; descriptor___104.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___104.format = "%s:\nuiPendedLast:%X\n"; descriptor___104.lineno = 780U; descriptor___104.flags = 0U; tmp___106 = ldv__builtin_expect((long )descriptor___104.flags & 1L, 0L); if (tmp___106 != 0L) { __dynamic_pr_debug(& descriptor___104, "%s:\nuiPendedLast:%X\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].uiPendedLast); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___106.modname = "bcm_wimax"; descriptor___106.function = "DumpPackInfo"; descriptor___106.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___106.format = "%s:\nNumOfPacketsSent:%X\n"; descriptor___106.lineno = 781U; descriptor___106.flags = 0U; tmp___108 = ldv__builtin_expect((long )descriptor___106.flags & 1L, 0L); if (tmp___108 != 0L) { __dynamic_pr_debug(& descriptor___106, "%s:\nNumOfPacketsSent:%X\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].NumOfPacketsSent); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___108.modname = "bcm_wimax"; descriptor___108.function = "DumpPackInfo"; descriptor___108.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___108.format = "%s:\nDirection: %x\n"; descriptor___108.lineno = 782U; descriptor___108.flags = 0U; tmp___110 = ldv__builtin_expect((long )descriptor___108.flags & 1L, 0L); if (tmp___110 != 0L) { __dynamic_pr_debug(& descriptor___108, "%s:\nDirection: %x\n", "DumpPackInfo", (int )Adapter->PackInfo[uiLoopIndex].ucDirection); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___110.modname = "bcm_wimax"; descriptor___110.function = "DumpPackInfo"; descriptor___110.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___110.format = "%s:\nCID: %x\n"; descriptor___110.lineno = 783U; descriptor___110.flags = 0U; tmp___112 = ldv__builtin_expect((long )descriptor___110.flags & 1L, 0L); if (tmp___112 != 0L) { __dynamic_pr_debug(& descriptor___110, "%s:\nCID: %x\n", "DumpPackInfo", (int )Adapter->PackInfo[uiLoopIndex].usCID); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___112.modname = "bcm_wimax"; descriptor___112.function = "DumpPackInfo"; descriptor___112.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___112.format = "%s:\nProtocolValid: %x\n"; descriptor___112.lineno = 784U; descriptor___112.flags = 0U; tmp___114 = ldv__builtin_expect((long )descriptor___112.flags & 1L, 0L); if (tmp___114 != 0L) { __dynamic_pr_debug(& descriptor___112, "%s:\nProtocolValid: %x\n", "DumpPackInfo", (int )Adapter->PackInfo[uiLoopIndex].bProtocolValid); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___114.modname = "bcm_wimax"; descriptor___114.function = "DumpPackInfo"; descriptor___114.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___114.format = "%s:\nTOSValid: %x\n"; descriptor___114.lineno = 785U; descriptor___114.flags = 0U; tmp___116 = ldv__builtin_expect((long )descriptor___114.flags & 1L, 0L); if (tmp___116 != 0L) { __dynamic_pr_debug(& descriptor___114, "%s:\nTOSValid: %x\n", "DumpPackInfo", (int )Adapter->PackInfo[uiLoopIndex].bTOSValid); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___116.modname = "bcm_wimax"; descriptor___116.function = "DumpPackInfo"; descriptor___116.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___116.format = "%s:\nDestIpValid: %x\n"; descriptor___116.lineno = 786U; descriptor___116.flags = 0U; tmp___118 = ldv__builtin_expect((long )descriptor___116.flags & 1L, 0L); if (tmp___118 != 0L) { __dynamic_pr_debug(& descriptor___116, "%s:\nDestIpValid: %x\n", "DumpPackInfo", (int )Adapter->PackInfo[uiLoopIndex].bDestIpValid); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___118.modname = "bcm_wimax"; descriptor___118.function = "DumpPackInfo"; descriptor___118.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___118.format = "%s:\nSrcIpValid: %x\n"; descriptor___118.lineno = 787U; descriptor___118.flags = 0U; tmp___120 = ldv__builtin_expect((long )descriptor___118.flags & 1L, 0L); if (tmp___120 != 0L) { __dynamic_pr_debug(& descriptor___118, "%s:\nSrcIpValid: %x\n", "DumpPackInfo", (int )Adapter->PackInfo[uiLoopIndex].bSrcIpValid); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___120.modname = "bcm_wimax"; descriptor___120.function = "DumpPackInfo"; descriptor___120.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___120.format = "%s:\nActiveSet: %x\n"; descriptor___120.lineno = 788U; descriptor___120.flags = 0U; tmp___122 = ldv__builtin_expect((long )descriptor___120.flags & 1L, 0L); if (tmp___122 != 0L) { __dynamic_pr_debug(& descriptor___120, "%s:\nActiveSet: %x\n", "DumpPackInfo", (int )Adapter->PackInfo[uiLoopIndex].bActiveSet); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___122.modname = "bcm_wimax"; descriptor___122.function = "DumpPackInfo"; descriptor___122.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___122.format = "%s:\nAdmittedSet: %x\n"; descriptor___122.lineno = 789U; descriptor___122.flags = 0U; tmp___124 = ldv__builtin_expect((long )descriptor___122.flags & 1L, 0L); if (tmp___124 != 0L) { __dynamic_pr_debug(& descriptor___122, "%s:\nAdmittedSet: %x\n", "DumpPackInfo", (int )Adapter->PackInfo[uiLoopIndex].bAdmittedSet); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___124.modname = "bcm_wimax"; descriptor___124.function = "DumpPackInfo"; descriptor___124.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___124.format = "%s:\nAuthzSet: %x\n"; descriptor___124.lineno = 790U; descriptor___124.flags = 0U; tmp___126 = ldv__builtin_expect((long )descriptor___124.flags & 1L, 0L); if (tmp___126 != 0L) { __dynamic_pr_debug(& descriptor___124, "%s:\nAuthzSet: %x\n", "DumpPackInfo", (int )Adapter->PackInfo[uiLoopIndex].bAuthorizedSet); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___126.modname = "bcm_wimax"; descriptor___126.function = "DumpPackInfo"; descriptor___126.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___126.format = "%s:\nClassifyPrority: %x\n"; descriptor___126.lineno = 791U; descriptor___126.flags = 0U; tmp___128 = ldv__builtin_expect((long )descriptor___126.flags & 1L, 0L); if (tmp___128 != 0L) { __dynamic_pr_debug(& descriptor___126, "%s:\nClassifyPrority: %x\n", "DumpPackInfo", (int )Adapter->PackInfo[uiLoopIndex].bClassifierPriority); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___128.modname = "bcm_wimax"; descriptor___128.function = "DumpPackInfo"; descriptor___128.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___128.format = "%s:\nuiMaxLatency: %x\n"; descriptor___128.lineno = 792U; descriptor___128.flags = 0U; tmp___130 = ldv__builtin_expect((long )descriptor___128.flags & 1L, 0L); if (tmp___130 != 0L) { __dynamic_pr_debug(& descriptor___128, "%s:\nuiMaxLatency: %x\n", "DumpPackInfo", Adapter->PackInfo[uiLoopIndex].uiMaxLatency); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___130.modname = "bcm_wimax"; descriptor___130.function = "DumpPackInfo"; descriptor___130.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___130.format = "%s:\nServiceClassName: %*ph\n"; descriptor___130.lineno = 796U; descriptor___130.flags = 0U; tmp___132 = ldv__builtin_expect((long )descriptor___130.flags & 1L, 0L); if (tmp___132 != 0L) { __dynamic_pr_debug(& descriptor___130, "%s:\nServiceClassName: %*ph\n", "DumpPackInfo", 4, (UCHAR *)(& Adapter->PackInfo[uiLoopIndex].ucServiceClassName)); } else { } } else { } ldv_52007: uiLoopIndex = uiLoopIndex + 1U; ldv_52150: ; if (uiLoopIndex <= 16U) { goto ldv_52149; } else { } uiLoopIndex = 0U; goto ldv_52155; ldv_52154: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___132.modname = "bcm_wimax"; descriptor___132.function = "DumpPackInfo"; descriptor___132.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___132.format = "%s:\nAdapter->aRxPktSizeHist[%x] = %x\n"; descriptor___132.lineno = 805U; descriptor___132.flags = 0U; tmp___134 = ldv__builtin_expect((long )descriptor___132.flags & 1L, 0L); if (tmp___134 != 0L) { __dynamic_pr_debug(& descriptor___132, "%s:\nAdapter->aRxPktSizeHist[%x] = %x\n", "DumpPackInfo", uiLoopIndex, Adapter->aRxPktSizeHist[uiLoopIndex]); } else { } } else { } uiLoopIndex = uiLoopIndex + 1U; ldv_52155: ; if (uiLoopIndex <= 11U) { goto ldv_52154; } else { } uiLoopIndex = 0U; goto ldv_52160; ldv_52159: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___134.modname = "bcm_wimax"; descriptor___134.function = "DumpPackInfo"; descriptor___134.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___134.format = "%s:\nAdapter->aTxPktSizeHist[%x] = %x\n"; descriptor___134.lineno = 808U; descriptor___134.flags = 0U; tmp___136 = ldv__builtin_expect((long )descriptor___134.flags & 1L, 0L); if (tmp___136 != 0L) { __dynamic_pr_debug(& descriptor___134, "%s:\nAdapter->aTxPktSizeHist[%x] = %x\n", "DumpPackInfo", uiLoopIndex, Adapter->aTxPktSizeHist[uiLoopIndex]); } else { } } else { } uiLoopIndex = uiLoopIndex + 1U; ldv_52160: ; if (uiLoopIndex <= 11U) { goto ldv_52159; } else { } return; } } int reset_card_proc(struct bcm_mini_adapter *ps_adapter ) { int retval ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct bcm_interface_adapter *psIntfAdapter ; unsigned int value ; unsigned int uiResetValue ; int bytes ; unsigned long __ms ; unsigned long tmp___16 ; { retval = 0; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; psIntfAdapter = (struct bcm_interface_adapter *)0; value = 0U; uiResetValue = 0U; psIntfAdapter = (struct bcm_interface_adapter *)ps_adapter->pvInterfaceAdapter; ps_adapter->bDDRInitDone = 0; if (ps_adapter->chip_id > 3201184511UL) { rdmalt(ps_adapter, 251661312U, & value, 4UL); rdmalt(ps_adapter, 251661312U, & value, 4UL); value = (ps_adapter->syscfgBefFwDld & 96U) | value; wrmalt(ps_adapter, 251661312U, & value, 4UL); } else { } (psIntfAdapter->psAdapter)->StopAllXaction = 1; Bcm_kill_all_URBs(psIntfAdapter); if (ps_adapter->chip_id > 3201184511UL) { printk("\016%s:Resetting UMA-B\n", "reset_card_proc"); retval = usb_reset_device(psIntfAdapter->udev); (psIntfAdapter->psAdapter)->StopAllXaction = 0; if (retval != 0) { printk("\016%s:Reset failed with ret value :%d", "reset_card_proc", retval); goto err_exit; } else { } if (((ps_adapter->chip_id == 3201184529UL || ps_adapter->chip_id == 3201184528UL) || ps_adapter->chip_id == 3201184513UL) || ps_adapter->chip_id == 3201184545UL) { bytes = rdmalt(ps_adapter, 251661652U, & value, 4UL); if (bytes < 0) { retval = bytes; printk("\016%s:read failed with status :%d", "reset_card_proc", retval); goto err_exit; } else { } value = value | 1U; retval = wrmalt(ps_adapter, 251661652U, & value, 4UL); if (retval < 0) { printk("\016%s:write failed with status :%d", "reset_card_proc", retval); goto err_exit; } else { } } else { } } else { bytes = rdmalt(ps_adapter, 251686936U, & value, 4UL); if (bytes < 0) { retval = bytes; printk("\016%s:read failed with status :%d", "reset_card_proc", retval); goto err_exit; } else { } value = value & 4294901759U; retval = wrmalt(ps_adapter, 251686936U, & value, 4UL); if (retval < 0) { printk("\016%s:write failed with status :%d", "reset_card_proc", retval); goto err_exit; } else { } value = 0U; retval = wrmalt(ps_adapter, 251658300U, & value, 4UL); if (retval < 0) { printk("\016%s:write failed with status :%d", "reset_card_proc", retval); goto err_exit; } else { } value = 768U; retval = wrmalt(ps_adapter, 251658292U, & value, 4UL); if (retval < 0) { printk("\016%s:write failed with status :%d", "reset_card_proc", retval); goto err_exit; } else { } __ms = 50UL; goto ldv_52191; ldv_52190: __const_udelay(4295000UL); ldv_52191: tmp___16 = __ms; __ms = __ms - 1UL; if (tmp___16 != 0UL) { goto ldv_52190; } else { } } if ((int )ps_adapter->bFlashBoot) { rdmalt(ps_adapter, 251658252U, & uiResetValue, 4UL); uiResetValue = uiResetValue | 1073741824U; wrmalt(ps_adapter, 251658252U, & uiResetValue, 4UL); } else { } if (ps_adapter->chip_id > 3201184511UL) { uiResetValue = 0U; rdmalt(ps_adapter, 251661312U, & uiResetValue, 4UL); if ((uiResetValue & 16U) != 0U) { uiResetValue = 0U; rdmalt(ps_adapter, 251661312U, & uiResetValue, 4UL); uiResetValue = uiResetValue & 4294967279U; wrmalt(ps_adapter, 251661312U, & uiResetValue, 4UL); } else { } } else { } uiResetValue = 0U; wrmalt(ps_adapter, 251730028U, & uiResetValue, 4UL); err_exit: (psIntfAdapter->psAdapter)->StopAllXaction = 0; return (retval); } } int run_card_proc(struct bcm_mini_adapter *ps_adapter ) { int status ; int bytes ; unsigned int value ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; int tmp___3 ; { status = 0; value = 0U; bytes = rdmalt(ps_adapter, 251658252U, & value, 4UL); if (bytes < 0) { status = bytes; if ((((unsigned long )ps_adapter != (unsigned long )((struct bcm_mini_adapter *)0) && ps_adapter->stDebugState.debug_level > 6U) && (int )ps_adapter->stDebugState.type & 1) && (ps_adapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "run_card_proc"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___0.format = "%s:\n%s:%d\n"; descriptor___0.lineno = 941U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n%s:%d\n", "run_card_proc", "run_card_proc", 941); } else { } } else { } return (status); } else { } if ((int )ps_adapter->bFlashBoot) { value = value & 3221225471U; } else { value = value | 1073741824U; } tmp___3 = wrmalt(ps_adapter, 251658252U, & value, 4UL); if (tmp___3 < 0) { if ((((unsigned long )ps_adapter != (unsigned long )((struct bcm_mini_adapter *)0) && ps_adapter->stDebugState.debug_level > 6U) && (int )ps_adapter->stDebugState.type & 1) && (ps_adapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "run_card_proc"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___2.format = "%s:\n%s:%d\n"; descriptor___2.lineno = 951U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\n%s:%d\n", "run_card_proc", "run_card_proc", 951); } else { } } else { } return (-1); } else { } return (status); } } int InitCardAndDownloadFirmware(struct bcm_mini_adapter *ps_adapter ) { int status ; unsigned int value ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; int tmp___3 ; struct _ddebug descriptor___4 ; long tmp___5 ; struct _ddebug descriptor___6 ; long tmp___7 ; int tmp___8 ; struct _ddebug descriptor___10 ; long tmp___12 ; struct _ddebug descriptor___12 ; long tmp___14 ; struct _ddebug descriptor___14 ; long tmp___16 ; unsigned long __ms ; unsigned long tmp___17 ; { value = 0U; status = create_worker_threads(ps_adapter); if (status < 0) { return (status); } else { } status = bcm_parse_target_params(ps_adapter); if (status != 0) { return (status); } else { } if (ps_adapter->chip_id > 3201184511UL) { rdmalt(ps_adapter, 251661312U, & value, 4UL); ps_adapter->syscfgBefFwDld = value; if ((value & 96U) == 0U) { ps_adapter->bFlashBoot = 1; } else { } } else { } reset_card_proc(ps_adapter); BcmInitNVM(ps_adapter); status = ddr_init(ps_adapter); if (status != 0) { printk("\vbeceemddr_init Failed\n"); return (status); } else { } status = buffDnldVerify(ps_adapter, (unsigned char *)ps_adapter->pstargetparams, 144U, 3210784768UL); if (status != 0) { if ((((unsigned long )ps_adapter != (unsigned long )((struct bcm_mini_adapter *)0) && ps_adapter->stDebugState.debug_level > 6U) && (int )ps_adapter->stDebugState.type & 1) && (ps_adapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "InitCardAndDownloadFirmware"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___0.format = "%s:\nError downloading CFG file"; descriptor___0.lineno = 998U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nError downloading CFG file", "InitCardAndDownloadFirmware"); } else { } } else { } goto OUT; } else { } tmp___3 = register_networkdev(ps_adapter); if (tmp___3 != 0) { if ((((unsigned long )ps_adapter != (unsigned long )((struct bcm_mini_adapter *)0) && ps_adapter->stDebugState.debug_level > 6U) && (int )ps_adapter->stDebugState.type & 1) && (ps_adapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "InitCardAndDownloadFirmware"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___2.format = "%s:\nRegister Netdevice failed. Cleanup needs to be performed."; descriptor___2.lineno = 1003U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nRegister Netdevice failed. Cleanup needs to be performed.", "InitCardAndDownloadFirmware"); } else { } } else { } return (-5); } else { } if (! ps_adapter->AutoFirmDld) { if ((((unsigned long )ps_adapter != (unsigned long )((struct bcm_mini_adapter *)0) && ps_adapter->stDebugState.debug_level > 6U) && (int )ps_adapter->stDebugState.type & 1) && (ps_adapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "InitCardAndDownloadFirmware"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___4.format = "%s:\nAutoFirmDld Disabled in CFG File..\n"; descriptor___4.lineno = 1008U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nAutoFirmDld Disabled in CFG File..\n", "InitCardAndDownloadFirmware"); } else { } } else { } tmp___8 = register_control_device_interface(ps_adapter); if (tmp___8 < 0) { if ((((unsigned long )ps_adapter != (unsigned long )((struct bcm_mini_adapter *)0) && ps_adapter->stDebugState.debug_level > 6U) && (int )ps_adapter->stDebugState.type & 1) && (ps_adapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "InitCardAndDownloadFirmware"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___6.format = "%s:\nRegister Control Device failed. Cleanup needs to be performed."; descriptor___6.lineno = 1012U; descriptor___6.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nRegister Control Device failed. Cleanup needs to be performed.", "InitCardAndDownloadFirmware"); } else { } } else { } return (-5); } else { } return (0); } else { } status = InitLedSettings(ps_adapter); if (status != 0) { printk("\016%s:INIT LED FAILED\n", "InitCardAndDownloadFirmware"); return (status); } else { } if (ps_adapter->LEDInfo.led_thread_running & 1) { ps_adapter->DriverState = 1; __wake_up(& ps_adapter->LEDInfo.notify_led_event, 3U, 1, (void *)0); } else { } if (ps_adapter->LEDInfo.led_thread_running & 1) { ps_adapter->DriverState = 2; __wake_up(& ps_adapter->LEDInfo.notify_led_event, 3U, 1, (void *)0); } else { } value = 0U; wrmalt(ps_adapter, 3215982596U, & value, 4UL); wrmalt(ps_adapter, 3215982592U, & value, 4UL); if ((unsigned int )ps_adapter->eNVMType == 2U) { status = PropagateCalParamsFromFlashToMemory(ps_adapter); if (status != 0) { if ((((unsigned long )ps_adapter != (unsigned long )((struct bcm_mini_adapter *)0) && ps_adapter->stDebugState.debug_level > 6U) && (int )ps_adapter->stDebugState.type & 1) && (ps_adapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "InitCardAndDownloadFirmware"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___10.format = "%s:\nPropagation of Cal param failed .."; descriptor___10.lineno = 1052U; descriptor___10.flags = 0U; tmp___12 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___12 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nPropagation of Cal param failed ..", "InitCardAndDownloadFirmware"); } else { } } else { } goto OUT; } else { } } else { } status = BcmFileDownload(ps_adapter, "/lib/firmware/macxvi200.bin", 3217031168U); if (status != 0) { if ((((unsigned long )ps_adapter != (unsigned long )((struct bcm_mini_adapter *)0) && ps_adapter->stDebugState.debug_level > 6U) && (int )ps_adapter->stDebugState.type & 1) && (ps_adapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "InitCardAndDownloadFirmware"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___12.format = "%s:\nNo Firmware File is present...\n"; descriptor___12.lineno = 1060U; descriptor___12.flags = 0U; tmp___14 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___14 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nNo Firmware File is present...\n", "InitCardAndDownloadFirmware"); } else { } } else { } goto OUT; } else { } status = run_card_proc(ps_adapter); if (status != 0) { if ((((unsigned long )ps_adapter != (unsigned long )((struct bcm_mini_adapter *)0) && ps_adapter->stDebugState.debug_level > 6U) && (int )ps_adapter->stDebugState.type & 1) && (ps_adapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "InitCardAndDownloadFirmware"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___14.format = "%s:\nrun_card_proc Failed\n"; descriptor___14.lineno = 1066U; descriptor___14.flags = 0U; tmp___16 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___16 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nrun_card_proc Failed\n", "InitCardAndDownloadFirmware"); } else { } } else { } goto OUT; } else { } ps_adapter->fw_download_done = 1; __ms = 10UL; goto ldv_52229; ldv_52228: __const_udelay(4295000UL); ldv_52229: tmp___17 = __ms; __ms = __ms - 1UL; if (tmp___17 != 0UL) { goto ldv_52228; } else { } OUT: ; if (ps_adapter->LEDInfo.led_thread_running & 1) { ps_adapter->DriverState = 4; __wake_up(& ps_adapter->LEDInfo.notify_led_event, 3U, 1, (void *)0); } else { } return (status); } } static int bcm_parse_target_params(struct bcm_mini_adapter *Adapter ) { struct file *flp ; char *buff ; int len ; void *tmp ; void *tmp___0 ; struct _ddebug descriptor___0 ; long tmp___2 ; struct _ddebug descriptor___2 ; long tmp___4 ; size_t __len ; void *__ret ; { flp = (struct file *)0; len = 0; tmp = kmalloc(1024UL, 208U); buff = (char *)tmp; if ((unsigned long )buff == (unsigned long )((char *)0)) { return (-12); } else { } tmp___0 = kmalloc(144UL, 208U); Adapter->pstargetparams = (struct bcm_target_params *)tmp___0; if ((unsigned long )Adapter->pstargetparams == (unsigned long )((struct bcm_target_params *)0)) { kfree((void const *)buff); return (-12); } else { } flp = open_firmware_file(Adapter, "/lib/firmware/macxvi.cfg"); if ((unsigned long )flp == (unsigned long )((struct file *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_parse_target_params"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___0.format = "%s:\nNOT ABLE TO OPEN THE %s FILE\n"; descriptor___0.lineno = 1100U; descriptor___0.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nNOT ABLE TO OPEN THE %s FILE\n", "bcm_parse_target_params", (char *)"/lib/firmware/macxvi.cfg"); } else { } } else { } kfree((void const *)buff); kfree((void const *)Adapter->pstargetparams); Adapter->pstargetparams = (struct bcm_target_params *)0; return (-2); } else { } len = kernel_read(flp, 0LL, buff, 1024UL); filp_close(flp, (fl_owner_t )0); if (len != 144) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (int )Adapter->stDebugState.type & 1) && (Adapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "bcm_parse_target_params"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___2.format = "%s:\nMismatch in Target Param Structure!\n"; descriptor___2.lineno = 1110U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nMismatch in Target Param Structure!\n", "bcm_parse_target_params"); } else { } } else { } kfree((void const *)buff); kfree((void const *)Adapter->pstargetparams); Adapter->pstargetparams = (struct bcm_target_params *)0; return (-2); } else { } __len = 144UL; if (__len > 63UL) { __ret = memcpy((void *)Adapter->pstargetparams, (void const *)buff, __len); } else { __ret = memcpy((void *)Adapter->pstargetparams, (void const *)buff, __len); } kfree((void const *)buff); beceem_parse_target_struct(Adapter); return (0); } } void beceem_parse_target_struct(struct bcm_mini_adapter *Adapter ) { unsigned int uiHostDrvrCfg6 ; unsigned int uiEEPROMFlag ; __u32 tmp ; __u32 tmp___0 ; __u32 tmp___1 ; __u32 tmp___2 ; __u32 tmp___3 ; __u32 tmp___4 ; __u32 tmp___5 ; __u32 tmp___6 ; __u32 tmp___7 ; __u32 tmp___8 ; { uiHostDrvrCfg6 = 0U; uiEEPROMFlag = 0U; tmp = __fswab32((Adapter->pstargetparams)->m_u32PhyParameter2); if ((int )tmp & 1) { printk("\016beceem: AutoSyncup is Disabled\n"); Adapter->AutoSyncup = 0; } else { printk("\016beceem: AutoSyncup is Enabled\n"); Adapter->AutoSyncup = 1; } tmp___0 = __fswab32((Adapter->pstargetparams)->HostDrvrConfig6); if ((tmp___0 & 2U) != 0U) { printk("\016beceem: Enabling autolink up"); Adapter->AutoLinkUp = 1; } else { printk("\016beceem: Disabling autolink up"); Adapter->AutoLinkUp = 0; } tmp___1 = __fswab32((Adapter->pstargetparams)->HostDrvrConfig6); Adapter->DDRSetting = (int )(tmp___1 >> 8) & 15; tmp___2 = __fswab32((Adapter->pstargetparams)->HostDrvrConfig6); Adapter->ulPowerSaveMode = (ULONG )(tmp___2 >> 12) & 15UL; printk("\016beceem: DDR Setting: %x\n", Adapter->DDRSetting); printk("\016beceem: Power Save Mode: %lx\n", Adapter->ulPowerSaveMode); tmp___3 = __fswab32((Adapter->pstargetparams)->HostDrvrConfig6); if ((int )tmp___3 & 1) { printk("\016beceem: Enabling Auto Firmware Download\n"); Adapter->AutoFirmDld = 1; } else { printk("\016beceem: Disabling Auto Firmware Download\n"); Adapter->AutoFirmDld = 0; } tmp___4 = __fswab32((Adapter->pstargetparams)->HostDrvrConfig6); uiHostDrvrCfg6 = tmp___4; Adapter->bMipsConfig = ((uiHostDrvrCfg6 >> 20) & 1U) != 0U; printk("\016beceem: MIPSConfig : 0x%X\n", (int )Adapter->bMipsConfig); Adapter->bDPLLConfig = ((uiHostDrvrCfg6 >> 19) & 1U) != 0U; Adapter->PmuMode = (uiHostDrvrCfg6 >> 24) & 3U; printk("\016beceem: PMU MODE: %x", Adapter->PmuMode); if ((uiHostDrvrCfg6 & 65536U) != 0U) { Adapter->bDoSuspend = 1; printk("\016beceem: Making DoSuspend TRUE as per configFile"); } else { } tmp___5 = __fswab32((Adapter->pstargetparams)->m_u32EEPROMFlag); uiEEPROMFlag = tmp___5; printk("\016beceem: uiEEPROMFlag : 0x%X\n", uiEEPROMFlag); Adapter->eNVMType = (enum bcm_nvm_type )((uiEEPROMFlag >> 4) & 3U); Adapter->bStatusWrite = ((uiEEPROMFlag >> 6) & 1U) != 0U; tmp___6 = __fswab32((Adapter->pstargetparams)->HostDrvrConfig4); Adapter->uiSectorSizeInCFG = (tmp___6 & 65535U) * 1024U; tmp___7 = __fswab32((Adapter->pstargetparams)->HostDrvrConfig4); Adapter->bSectorSizeOverride = tmp___7 >> 16 != 0U; tmp___8 = __fswab32((Adapter->pstargetparams)->m_u32PowerSavingModeOptions); if ((int )tmp___8 & 1) { Adapter->ulPowerSaveMode = 4UL; } else { } if (Adapter->ulPowerSaveMode != 4UL) { doPowerAutoCorrection(Adapter); } else { } return; } } static void doPowerAutoCorrection(struct bcm_mini_adapter *psAdapter ) { unsigned int reporting_mode ; __u32 tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; __u32 tmp___2 ; struct _ddebug descriptor___2 ; long tmp___4 ; { tmp = __fswab32((psAdapter->pstargetparams)->m_u32PowerSavingModeOptions); reporting_mode = tmp & 2U; psAdapter->bIsAutoCorrectEnabled = ((int )((signed char )(psAdapter->ulPowerSaveMode >> 3)) & 1) == 0; if (reporting_mode == 1U) { if ((((unsigned long )psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && psAdapter->stDebugState.debug_level > 6U) && (int )psAdapter->stDebugState.type & 1) && (psAdapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "doPowerAutoCorrection"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___0.format = "%s:\ncan\'t do suspen/resume as reporting mode is enable"; descriptor___0.lineno = 1193U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\ncan\'t do suspen/resume as reporting mode is enable", "doPowerAutoCorrection"); } else { } } else { } psAdapter->bDoSuspend = 0; } else { } if ((int )psAdapter->bIsAutoCorrectEnabled && psAdapter->chip_id > 3201184511UL) { psAdapter->ulPowerSaveMode = 1UL; psAdapter->bDoSuspend = 0; (psAdapter->pstargetparams)->HostDrvrConfig6 = (psAdapter->pstargetparams)->HostDrvrConfig6 & 4279238655U; tmp___2 = __fswab32((__u32 )psAdapter->ulPowerSaveMode << 12U); (psAdapter->pstargetparams)->HostDrvrConfig6 = (psAdapter->pstargetparams)->HostDrvrConfig6 | tmp___2; } else if (! psAdapter->bIsAutoCorrectEnabled) { psAdapter->ulPowerSaveMode = psAdapter->ulPowerSaveMode & 0xfffffffffffffff7UL; (psAdapter->pstargetparams)->HostDrvrConfig6 = (psAdapter->pstargetparams)->HostDrvrConfig6 & 4286578687U; if ((((unsigned long )psAdapter != (unsigned long )((struct bcm_mini_adapter *)0) && psAdapter->stDebugState.debug_level > 6U) && (int )psAdapter->stDebugState.type & 1) && (psAdapter->stDebugState.subtype[1] & 2U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "doPowerAutoCorrection"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___2.format = "%s:\nUsing Forced User Choice: %lx\n"; descriptor___2.lineno = 1212U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nUsing Forced User Choice: %lx\n", "doPowerAutoCorrection", psAdapter->ulPowerSaveMode); } else { } } else { } } else { } return; } } static void convertEndian(unsigned char rwFlag , unsigned int *puiBuffer , unsigned int uiByteCount ) { unsigned int uiIndex ; __u32 tmp ; __u32 tmp___0 ; { uiIndex = 0U; if ((unsigned int )rwFlag == 1U) { uiIndex = 0U; goto ldv_52266; ldv_52265: tmp = __fswab32(*(puiBuffer + (unsigned long )uiIndex)); *(puiBuffer + (unsigned long )uiIndex) = tmp; uiIndex = uiIndex + 1U; ldv_52266: ; if (uiByteCount / 4U > uiIndex) { goto ldv_52265; } else { } } else { uiIndex = 0U; goto ldv_52269; ldv_52268: tmp___0 = __fswab32(*(puiBuffer + (unsigned long )uiIndex)); *(puiBuffer + (unsigned long )uiIndex) = tmp___0; uiIndex = uiIndex + 1U; ldv_52269: ; if (uiByteCount / 4U > uiIndex) { goto ldv_52268; } else { } } return; } } int rdm(struct bcm_mini_adapter *Adapter , unsigned int uiAddress , PCHAR pucBuff , size_t sSize ) { int tmp ; { tmp = (*(Adapter->interface_rdm))(Adapter->pvInterfaceAdapter, uiAddress, (PVOID )pucBuff, (int )sSize); return (tmp); } } int wrm(struct bcm_mini_adapter *Adapter , unsigned int uiAddress , PCHAR pucBuff , size_t sSize ) { int iRetVal ; { iRetVal = (*(Adapter->interface_wrm))(Adapter->pvInterfaceAdapter, uiAddress, (PVOID )pucBuff, (int )sSize); return (iRetVal); } } int wrmalt(struct bcm_mini_adapter *Adapter , unsigned int uiAddress , unsigned int *pucBuff , size_t size ) { int tmp ; { convertEndian(1, pucBuff, (unsigned int )size); tmp = wrm(Adapter, uiAddress, (PCHAR )pucBuff, size); return (tmp); } } int rdmalt(struct bcm_mini_adapter *Adapter , unsigned int uiAddress , unsigned int *pucBuff , size_t size ) { int uiRetVal ; { uiRetVal = 0; uiRetVal = rdm(Adapter, uiAddress, (PCHAR )pucBuff, size); convertEndian(0, pucBuff, (unsigned int )size); return (uiRetVal); } } int wrmWithLock(struct bcm_mini_adapter *Adapter , unsigned int uiAddress , PCHAR pucBuff , size_t sSize ) { int status ; { status = 0; down(& Adapter->rdmwrmsync); if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { status = -13; goto exit; } else { } status = wrm(Adapter, uiAddress, pucBuff, sSize); exit: up(& Adapter->rdmwrmsync); return (status); } } int wrmaltWithLock(struct bcm_mini_adapter *Adapter , unsigned int uiAddress , unsigned int *pucBuff , size_t size ) { int iRetVal ; { iRetVal = 0; down(& Adapter->rdmwrmsync); if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { iRetVal = -13; goto exit; } else { } iRetVal = wrmalt(Adapter, uiAddress, pucBuff, size); exit: up(& Adapter->rdmwrmsync); return (iRetVal); } } int rdmaltWithLock(struct bcm_mini_adapter *Adapter , unsigned int uiAddress , unsigned int *pucBuff , size_t size ) { int uiRetVal ; { uiRetVal = 0; down(& Adapter->rdmwrmsync); if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { uiRetVal = -13; goto exit; } else { } uiRetVal = rdmalt(Adapter, uiAddress, pucBuff, size); exit: up(& Adapter->rdmwrmsync); return (uiRetVal); } } static void HandleShutDownModeWakeup(struct bcm_mini_adapter *Adapter ) { int clear_abort_pattern ; int Status ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; struct _ddebug descriptor___6 ; long tmp___6 ; { clear_abort_pattern = 0; Status = 0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 16U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "HandleShutDownModeWakeup"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___0.format = "%s:\n====>\n"; descriptor___0.lineno = 1321U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n====>\n", "HandleShutDownModeWakeup"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 16U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "HandleShutDownModeWakeup"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___2.format = "%s:\nClearing Shut Down Software abort pattern\n"; descriptor___2.lineno = 1323U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nClearing Shut Down Software abort pattern\n", "HandleShutDownModeWakeup"); } else { } } else { } Status = wrmalt(Adapter, 267395068U, (unsigned int *)(& clear_abort_pattern), 4UL); if (Status != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 16U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "HandleShutDownModeWakeup"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___4.format = "%s:\nWRM to SW_ABORT_IDLEMODE_LOC failed with err:%d"; descriptor___4.lineno = 1326U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nWRM to SW_ABORT_IDLEMODE_LOC failed with err:%d", "HandleShutDownModeWakeup", Status); } else { } } else { } return; } else { } if (Adapter->ulPowerSaveMode != 4UL) { msleep(100U); InterfaceHandleShutdownModeWakeup(Adapter); msleep(100U); } else { } if (Adapter->LEDInfo.led_thread_running & 1) { Adapter->DriverState = 8; __wake_up(& Adapter->LEDInfo.notify_led_event, 3U, 1, (void *)0); } else { } Adapter->bTriedToWakeUpFromlowPowerMode = 0; Adapter->bShutStatus = 0; __wake_up(& Adapter->lowpower_mode_wait_queue, 3U, 1, (void *)0); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 16U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "HandleShutDownModeWakeup"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___6.format = "%s:\n<====\n"; descriptor___6.lineno = 1344U; descriptor___6.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\n<====\n", "HandleShutDownModeWakeup"); } else { } } else { } return; } } static void SendShutModeResponse(struct bcm_mini_adapter *Adapter ) { struct bcm_link_request stShutdownResponse ; unsigned int NVMAccess ; unsigned int lowPwrAbortMsg ; unsigned int Status ; int tmp ; int tmp___0 ; struct _ddebug descriptor___0 ; long tmp___2 ; struct _ddebug descriptor___2 ; long tmp___4 ; int iRetVal ; long __ret ; unsigned long tmp___5 ; wait_queue_t __wait ; long __ret___0 ; unsigned long tmp___6 ; long __int ; long tmp___7 ; bool __cond ; bool __cond___0 ; struct _ddebug descriptor___4 ; long tmp___9 ; int tmp___10 ; INT tmp___11 ; struct _ddebug descriptor___6 ; long tmp___13 ; { NVMAccess = 0U; lowPwrAbortMsg = 0U; Status = 0U; memset((void *)(& stShutdownResponse), 0, 12UL); stShutdownResponse.Leader.Status = 131U; stShutdownResponse.Leader.PLength = 8U; stShutdownResponse.szData[0] = 246U; stShutdownResponse.szData[1] = 8U; tmp = down_trylock(& Adapter->NVMRdmWrmLock); NVMAccess = (unsigned int )tmp; tmp___0 = down_trylock(& Adapter->LowPowerModeSync); lowPwrAbortMsg = (unsigned int )tmp___0; if (NVMAccess != 0U || lowPwrAbortMsg != 0U) { goto _L; } else { tmp___10 = atomic_read((atomic_t const *)(& Adapter->TotalPacketCount)); if (tmp___10 != 0) { _L: /* CIL Label */ if (NVMAccess == 0U) { up(& Adapter->NVMRdmWrmLock); } else { } if (lowPwrAbortMsg == 0U) { up(& Adapter->LowPowerModeSync); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 16U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "SendShutModeResponse"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___0.format = "%s:\nDevice Access is going on NACK the Shut Down MODE\n"; descriptor___0.lineno = 1378U; descriptor___0.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nDevice Access is going on NACK the Shut Down MODE\n", "SendShutModeResponse"); } else { } } else { } stShutdownResponse.szData[2] = 2U; Adapter->bPreparingForLowPowerMode = 0; } else { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 16U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "SendShutModeResponse"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___2.format = "%s:\nSending SHUTDOWN MODE ACK\n"; descriptor___2.lineno = 1382U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nSending SHUTDOWN MODE ACK\n", "SendShutModeResponse"); } else { } } else { } stShutdownResponse.szData[2] = 1U; if (Adapter->LEDInfo.led_thread_running & 1) { iRetVal = 0; Adapter->DriverState = 32; __wake_up(& Adapter->LEDInfo.notify_led_event, 3U, 1, (void *)0); tmp___5 = msecs_to_jiffies(1000U); __ret = (long )tmp___5; __cond___0 = Adapter->LEDInfo.bIdle_led_off; if ((int )__cond___0 && __ret == 0L) { __ret = 1L; } else { } if (((int )__cond___0 || __ret == 0L) == 0) { tmp___6 = msecs_to_jiffies(1000U); __ret___0 = (long )tmp___6; INIT_LIST_HEAD(& __wait.task_list); __wait.flags = 0U; ldv_52358: tmp___7 = prepare_to_wait_event(& Adapter->LEDInfo.idleModeSyncEvent, & __wait, 2); __int = tmp___7; __cond = Adapter->LEDInfo.bIdle_led_off; if ((int )__cond && __ret___0 == 0L) { __ret___0 = 1L; } else { } if (((int )__cond || __ret___0 == 0L) != 0) { goto ldv_52357; } else { } __ret___0 = schedule_timeout(__ret___0); goto ldv_52358; ldv_52357: finish_wait(& Adapter->LEDInfo.idleModeSyncEvent, & __wait); __ret = __ret___0; } else { } iRetVal = (int )__ret; if (iRetVal <= 0) { stShutdownResponse.szData[1] = 2U; Adapter->DriverState = 8; __wake_up(& Adapter->LEDInfo.notify_led_event, 3U, 1, (void *)0); } else { } } else { } if ((unsigned int )stShutdownResponse.szData[2] == 1U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 16U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "SendShutModeResponse"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___4.format = "%s:\nACKING SHUTDOWN MODE !!!!!!!!!"; descriptor___4.lineno = 1405U; descriptor___4.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nACKING SHUTDOWN MODE !!!!!!!!!", "SendShutModeResponse"); } else { } } else { } down(& Adapter->rdmwrmsync); Adapter->bPreparingForLowPowerMode = 1; up(& Adapter->rdmwrmsync); if ((int )Adapter->bDoSuspend) { Bcm_kill_all_URBs((struct bcm_interface_adapter *)Adapter->pvInterfaceAdapter); } else { } } else { Adapter->bPreparingForLowPowerMode = 0; } if (NVMAccess == 0U) { up(& Adapter->NVMRdmWrmLock); } else { } if (lowPwrAbortMsg == 0U) { up(& Adapter->LowPowerModeSync); } else { } } } tmp___11 = CopyBufferToControlPacket(Adapter, (void *)(& stShutdownResponse)); Status = (unsigned int )tmp___11; if (Status != 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 16U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "SendShutModeResponse"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___6.format = "%s:\nfail to send the Idle mode Request\n"; descriptor___6.lineno = 1425U; descriptor___6.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nfail to send the Idle mode Request\n", "SendShutModeResponse"); } else { } } else { } Adapter->bPreparingForLowPowerMode = 0; StartInterruptUrb((struct bcm_interface_adapter *)Adapter->pvInterfaceAdapter); } else { } return; } } static void HandleShutDownModeRequest(struct bcm_mini_adapter *Adapter , PUCHAR pucBuffer ) { unsigned int uiResetValue ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; { uiResetValue = 0U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 16U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "HandleShutDownModeRequest"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___0.format = "%s:\n====>\n"; descriptor___0.lineno = 1435U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n====>\n", "HandleShutDownModeRequest"); } else { } } else { } if ((unsigned int )*(pucBuffer + 1UL) == 9U) { HandleShutDownModeWakeup(Adapter); } else if ((unsigned int )*(pucBuffer + 1UL) == 8U) { if (((Adapter->chip_id == 3201184529UL || Adapter->chip_id == 3201184528UL) || Adapter->chip_id == 3201184513UL) || Adapter->chip_id == 3201184545UL) { rdmalt(Adapter, 251661656U, & uiResetValue, 4UL); uiResetValue = uiResetValue | 131072U; wrmalt(Adapter, 251661656U, & uiResetValue, 4UL); } else { } SendShutModeResponse(Adapter); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 16U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "HandleShutDownModeRequest"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___2.format = "%s:\nShutDownModeResponse:Notification received: Sending the response(Ack/Nack)\n"; descriptor___2.lineno = 1453U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nShutDownModeResponse:Notification received: Sending the response(Ack/Nack)\n", "HandleShutDownModeRequest"); } else { } } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 16U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "HandleShutDownModeRequest"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Misc.o.c.prepared"; descriptor___4.format = "%s:\n<====\n"; descriptor___4.lineno = 1456U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n<====\n", "HandleShutDownModeRequest"); } else { } } else { } return; } } VOID ResetCounters(struct bcm_mini_adapter *Adapter ) { { beceem_protocol_reset(Adapter); Adapter->CurrNumRecvDescs = 0U; Adapter->PrevNumRecvDescs = 0U; Adapter->LinkUpStatus = 0; Adapter->LinkStatus = 0U; atomic_set(& Adapter->cntrlpktCnt, 0); atomic_set(& Adapter->TotalPacketCount, 0); Adapter->fw_download_done = 0; Adapter->LinkStatus = 0U; Adapter->AutoLinkUp = 0; Adapter->IdleMode = 0; Adapter->bShutStatus = 0; return; } } struct bcm_classifier_rule *GetFragIPClsEntry(struct bcm_mini_adapter *Adapter , USHORT usIpIdentification , ULONG SrcIP ) { unsigned int uiIndex ; { uiIndex = 0U; uiIndex = 0U; goto ldv_52387; ldv_52386: ; if ((((int )Adapter->astFragmentedPktClassifierTable[uiIndex].bUsed && (int )Adapter->astFragmentedPktClassifierTable[uiIndex].usIpIdentification == (int )usIpIdentification) && Adapter->astFragmentedPktClassifierTable[uiIndex].ulSrcIpAddress == SrcIP) && ! Adapter->astFragmentedPktClassifierTable[uiIndex].bOutOfOrderFragment) { return (Adapter->astFragmentedPktClassifierTable[uiIndex].pstMatchedClassifierEntry); } else { } uiIndex = uiIndex + 1U; ldv_52387: ; if (uiIndex <= 255U) { goto ldv_52386; } else { } return ((struct bcm_classifier_rule *)0); } } void AddFragIPClsEntry(struct bcm_mini_adapter *Adapter , struct bcm_fragmented_packet_info *psFragPktInfo ) { unsigned int uiIndex ; size_t __len ; void *__ret ; { uiIndex = 0U; uiIndex = 0U; goto ldv_52399; ldv_52398: ; if (! Adapter->astFragmentedPktClassifierTable[uiIndex].bUsed) { __len = 40UL; if (__len > 63UL) { __ret = memcpy((void *)(& Adapter->astFragmentedPktClassifierTable) + (unsigned long )uiIndex, (void const *)psFragPktInfo, __len); } else { __ret = memcpy((void *)(& Adapter->astFragmentedPktClassifierTable) + (unsigned long )uiIndex, (void const *)psFragPktInfo, __len); } goto ldv_52397; } else { } uiIndex = uiIndex + 1U; ldv_52399: ; if (uiIndex <= 255U) { goto ldv_52398; } else { } ldv_52397: ; return; } } void DelFragIPClsEntry(struct bcm_mini_adapter *Adapter , USHORT usIpIdentification , ULONG SrcIp ) { unsigned int uiIndex ; { uiIndex = 0U; uiIndex = 0U; goto ldv_52407; ldv_52406: ; if (((int )Adapter->astFragmentedPktClassifierTable[uiIndex].bUsed && (int )Adapter->astFragmentedPktClassifierTable[uiIndex].usIpIdentification == (int )usIpIdentification) && Adapter->astFragmentedPktClassifierTable[uiIndex].ulSrcIpAddress == SrcIp) { memset((void *)(& Adapter->astFragmentedPktClassifierTable) + (unsigned long )uiIndex, 0, 40UL); } else { } uiIndex = uiIndex + 1U; ldv_52407: ; if (uiIndex <= 255U) { goto ldv_52406; } else { } return; } } void update_per_cid_rx(struct bcm_mini_adapter *Adapter ) { unsigned int qindex ; { qindex = 0U; if ((unsigned long )jiffies - Adapter->liDrainCalculated <= 249UL) { return; } else { } qindex = 0U; goto ldv_52414; ldv_52413: ; if ((unsigned int )Adapter->PackInfo[qindex].ucDirection == 0U) { Adapter->PackInfo[qindex].uiCurrentRxRate = (Adapter->PackInfo[qindex].uiCurrentRxRate + Adapter->PackInfo[qindex].uiThisPeriodRxBytes) / 2U; Adapter->PackInfo[qindex].uiThisPeriodRxBytes = 0U; } else { Adapter->PackInfo[qindex].uiCurrentDrainRate = (Adapter->PackInfo[qindex].uiCurrentDrainRate + Adapter->PackInfo[qindex].uiThisPeriodSentBytes) / 2U; Adapter->PackInfo[qindex].uiThisPeriodSentBytes = 0U; } qindex = qindex + 1U; ldv_52414: ; if (qindex <= 15U) { goto ldv_52413; } else { } Adapter->liDrainCalculated = jiffies; return; } } void update_per_sf_desc_cnts(struct bcm_mini_adapter *Adapter ) { int iIndex ; u32 uibuff[24U] ; int bytes ; int tmp ; { iIndex = 0; tmp = atomic_read((atomic_t const *)(& Adapter->uiMBupdate)); if (tmp == 0) { return; } else { } bytes = rdmaltWithLock(Adapter, 3221222400U, (unsigned int *)(& uibuff), 96UL); if (bytes < 0) { printk("\016%s:rdm failed\n", "update_per_sf_desc_cnts"); return; } else { } iIndex = 0; goto ldv_52428; ldv_52427: ; if ((int )Adapter->PackInfo[iIndex].bValid && (unsigned int )Adapter->PackInfo[iIndex].ucDirection != 0U) { if ((unsigned int )Adapter->PackInfo[iIndex].usVCID_Value <= 23U) { atomic_set(& Adapter->PackInfo[iIndex].uiPerSFTxResourceCount, (int )uibuff[(int )Adapter->PackInfo[iIndex].usVCID_Value]); } else { printk("\016%s:Invalid VCID : %x\n", "update_per_sf_desc_cnts", (int )Adapter->PackInfo[iIndex].usVCID_Value); } } else { } iIndex = iIndex + 1; ldv_52428: ; if (iIndex <= 15) { goto ldv_52427; } else { } atomic_set(& Adapter->uiMBupdate, 0); return; } } void flush_queue(struct bcm_mini_adapter *Adapter , unsigned int iQIndex ) { struct sk_buff *PacketToDrop ; struct net_device_stats *netstats ; int tmp ; { PacketToDrop = (struct sk_buff *)0; netstats = & (Adapter->dev)->stats; spin_lock_bh(& Adapter->PackInfo[iQIndex].SFQueueLock); goto ldv_52437; ldv_52436: PacketToDrop = Adapter->PackInfo[iQIndex].ldv_50875.ldv_50870.FirstTxQueue; if ((unsigned long )PacketToDrop != (unsigned long )((struct sk_buff *)0) && PacketToDrop->len != 0U) { netstats->tx_dropped = netstats->tx_dropped + 1UL; if ((unsigned long )Adapter->PackInfo[iQIndex].ldv_50875.ldv_50870.FirstTxQueue != (unsigned long )((struct sk_buff *)0)) { if ((unsigned long )(Adapter->PackInfo[iQIndex].ldv_50875.ldv_50870.FirstTxQueue)->next == (unsigned long )((struct sk_buff *)0)) { Adapter->PackInfo[iQIndex].ldv_50875.ldv_50870.LastTxQueue = (struct sk_buff *)0; } else { } Adapter->PackInfo[iQIndex].ldv_50875.ldv_50870.FirstTxQueue = (Adapter->PackInfo[iQIndex].ldv_50875.ldv_50870.FirstTxQueue)->next; } else { } Adapter->PackInfo[iQIndex].uiCurrentPacketsOnHost = Adapter->PackInfo[iQIndex].uiCurrentPacketsOnHost - 1U; Adapter->PackInfo[iQIndex].uiCurrentBytesOnHost = Adapter->PackInfo[iQIndex].uiCurrentBytesOnHost - PacketToDrop->len; Adapter->PackInfo[iQIndex].uiDroppedCountBytes = Adapter->PackInfo[iQIndex].uiDroppedCountBytes + PacketToDrop->len; Adapter->PackInfo[iQIndex].uiDroppedCountPackets = Adapter->PackInfo[iQIndex].uiDroppedCountPackets + 1U; consume_skb(PacketToDrop); atomic_dec(& Adapter->TotalPacketCount); } else { } ldv_52437: ; if ((unsigned long )Adapter->PackInfo[iQIndex].ldv_50875.ldv_50870.FirstTxQueue != (unsigned long )((struct sk_buff *)0)) { tmp = atomic_read((atomic_t const *)(& Adapter->TotalPacketCount)); if (tmp != 0) { goto ldv_52436; } else { goto ldv_52438; } } else { } ldv_52438: spin_unlock_bh(& Adapter->PackInfo[iQIndex].SFQueueLock); return; } } static void beceem_protocol_reset(struct bcm_mini_adapter *Adapter ) { int i ; { if ((Adapter->msg_enable & 4U) != 0U) { printk("\rbeceem %s: protocol reset\n", (char *)(& (Adapter->dev)->name)); } else { } netif_carrier_off(Adapter->dev); netif_stop_queue(Adapter->dev); Adapter->IdleMode = 0; Adapter->LinkUpStatus = 0; ClearTargetDSXBuffer(Adapter, 0, 1); i = 0; goto ldv_52444; ldv_52443: DeleteAllClassifiersForSF(Adapter, (UINT )i); i = i + 1; ldv_52444: ; if (i <= 15) { goto ldv_52443; } else { } flush_all_queues(Adapter); if ((int )Adapter->TimerActive) { Adapter->TimerActive = 0; } else { } memset((void *)(& Adapter->astFragmentedPktClassifierTable), 0, 10240UL); i = 0; goto ldv_52447; ldv_52446: memset((void *)(& Adapter->PackInfo[i].stMibsExtServiceFlowTable), 0, 84UL); i = i + 1; ldv_52447: ; if (i <= 15) { goto ldv_52446; } else { } return; } } int ldv_pskb_expand_head_706(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_708(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_710(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_711(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_712(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_713(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_714(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_715(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_716(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } void ldv_free_netdev_718(struct net_device *dev ) { { free_netdev(dev); ldv_state_variable_3 = 0; return; } } struct sk_buff *ldv_skb_clone_754(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_762(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_756(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_752(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_760(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_761(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_757(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_758(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_759(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; extern void sort(void * , size_t , size_t , int (*)(void const * , void const * ) , void (*)(void * , void * , int ) ) ; static int compare_packet_info(void const *a , void const *b ) { struct bcm_packet_info const *pa ; struct bcm_packet_info const *pb ; { pa = (struct bcm_packet_info const *)a; pb = (struct bcm_packet_info const *)b; if (! ((_Bool )pa->bValid) || ! ((_Bool )pb->bValid)) { return (0); } else { } return ((int )pa->u8TrafficPriority - (int )pb->u8TrafficPriority); } } VOID SortPackInfo(struct bcm_mini_adapter *Adapter ) { struct _ddebug descriptor___0 ; long tmp___0 ; { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "SortPackInfo"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/sort.o.c.prepared"; descriptor___0.format = "%s:\n<======="; descriptor___0.lineno = 64U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n<=======", "SortPackInfo"); } else { } } else { } sort((void *)(& Adapter->PackInfo), 17UL, 384UL, & compare_packet_info, (void (*)(void * , void * , int ))0); return; } } static int compare_classifiers(void const *a , void const *b ) { struct bcm_classifier_rule const *pa ; struct bcm_classifier_rule const *pb ; { pa = (struct bcm_classifier_rule const *)a; pb = (struct bcm_classifier_rule const *)b; if (! ((_Bool )pa->bUsed) || ! ((_Bool )pb->bUsed)) { return (0); } else { } return ((int )pa->u8ClassifierRulePriority - (int )pb->u8ClassifierRulePriority); } } VOID SortClassifiers(struct bcm_mini_adapter *Adapter ) { struct _ddebug descriptor___0 ; long tmp___0 ; { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 536870912U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "SortClassifiers"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/sort.o.c.prepared"; descriptor___0.format = "%s:\n<======="; descriptor___0.lineno = 84U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n<=======", "SortClassifiers"); } else { } } else { } sort((void *)(& Adapter->astClassifierTable), 100UL, 1216UL, & compare_classifiers, (void (*)(void * , void * , int ))0); return; } } int ldv_pskb_expand_head_752(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_754(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_756(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_757(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_758(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_759(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_760(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_761(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_762(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } extern struct task_struct *current_task ; __inline static struct task_struct *get_current(void) { struct task_struct *pfo_ret__ ; { switch (8UL) { case 1UL: __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "p" (& current_task)); goto ldv_3067; case 2UL: __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task)); goto ldv_3067; case 4UL: __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task)); goto ldv_3067; case 8UL: __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task)); goto ldv_3067; default: __bad_percpu_size(); } ldv_3067: ; return (pfo_ret__); } } extern void *memdup_user(void const * , size_t ) ; extern size_t strlen(char const * ) ; __inline static void *kmalloc(size_t size , gfp_t flags ) ; __inline static void *kzalloc(size_t size , gfp_t flags ) ; extern size_t __VERIFIER_nondet_size_t(void) ; extern loff_t __VERIFIER_nondet_loff_t(void) ; extern unsigned int __VERIFIER_nondet_uint(void) ; void ldv_file_operations_1(void) ; extern int __register_chrdev(unsigned int , unsigned int , unsigned int , char const * , struct file_operations const * ) ; extern void __unregister_chrdev(unsigned int , unsigned int , unsigned int , char const * ) ; __inline static int register_chrdev(unsigned int major , char const *name , struct file_operations const *fops ) { int tmp ; { tmp = __register_chrdev(major, 0U, 256U, name, fops); return (tmp); } } __inline static int ldv_register_chrdev_808(unsigned int major , char const *name , struct file_operations const *fops ) ; __inline static void unregister_chrdev(unsigned int major , char const *name ) { { __unregister_chrdev(major, 0U, 256U, name); return; } } __inline static void ldv_unregister_chrdev_809(unsigned int major , char const *name ) ; __inline static void ldv_unregister_chrdev_809(unsigned int major , char const *name ) ; extern loff_t no_llseek(struct file * , loff_t , int ) ; extern int nonseekable_open(struct inode * , struct file * ) ; extern struct device *device_create(struct class * , struct device * , dev_t , void * , char const * , ...) ; extern void device_destroy(struct class * , dev_t ) ; __inline static bool __chk_range_not_ok(unsigned long addr , unsigned long size , unsigned long limit ) { { addr = addr + size; if (addr < size) { return (1); } else { } return (addr > limit); } } extern void kfree_skb(struct sk_buff * ) ; struct sk_buff *ldv_skb_clone_798(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_806(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_800(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_796(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_804(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_805(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_801(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_802(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_803(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; int ProcessGetHostMibs(struct bcm_mini_adapter *Adapter , struct bcm_host_stats_mibs *pstHostMibs ) ; void GetDroppedAppCntrlPktMibs(struct bcm_host_stats_mibs *pstHostMibs , struct bcm_tarang_data *pTarang ) ; INT BeceemNVMRead(struct bcm_mini_adapter *Adapter , PUINT pBuffer , unsigned int uiOffset , unsigned int uiNumBytes ) ; INT BeceemNVMWrite(struct bcm_mini_adapter *Adapter , PUINT pBuffer , unsigned int uiOffset , unsigned int uiNumBytes , bool bVerify ) ; INT BcmUpdateSectorSize(struct bcm_mini_adapter *Adapter , unsigned int uiSectorSize ) ; bool IsSectionExistInFlash(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val section ) ; INT BcmGetFlash2xSectionalBitMap(struct bcm_mini_adapter *Adapter , struct bcm_flash2x_bitmap *psFlash2xBitMap ) ; INT BcmFlash2xBulkWrite(struct bcm_mini_adapter *Adapter , PUINT pBuffer , enum bcm_flash2x_section_val eFlash2xSectVal , unsigned int uiOffset , unsigned int uiNumBytes , unsigned int bVerify ) ; INT BcmFlash2xBulkRead(struct bcm_mini_adapter *Adapter , PUINT pBuffer , enum bcm_flash2x_section_val eFlash2xSectionVal , unsigned int uiOffsetWithinSectionVal , unsigned int uiNumBytes ) ; INT BcmGetSectionValStartOffset(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val eFlashSectionVal ) ; INT BcmSetActiveSection(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val eFlash2xSectVal ) ; INT BcmCopyISO(struct bcm_mini_adapter *Adapter , struct bcm_flash2x_copy_section sCopySectStrut ) ; INT BcmFlash2xCorruptSig(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val eFlash2xSectionVal ) ; INT BcmFlash2xWriteSig(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val eFlashSectionVal ) ; INT validateFlash2xReadWrite(struct bcm_mini_adapter *Adapter , struct bcm_flash2x_readwrite *psFlash2xReadWrite ) ; INT IsFlash2x(struct bcm_mini_adapter *Adapter ) ; INT BcmCopySection(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val SrcSection , enum bcm_flash2x_section_val DstSection , unsigned int offset , unsigned int numOfBytes ) ; bool IsNonCDLessDevice(struct bcm_mini_adapter *Adapter ) ; bool IsReqGpioIsLedInNVM(struct bcm_mini_adapter *Adapter , UINT gpios ) ; INT vendorextnIoctl(struct bcm_mini_adapter *Adapter , UINT cmd , ULONG arg ) ; static int bcm_handle_nvm_read_cmd(struct bcm_mini_adapter *Adapter , PUCHAR pReadData , struct bcm_nvm_readwrite *stNVMReadWrite ) { INT Status ; struct _ddebug descriptor___0 ; long tmp___0 ; unsigned long tmp___1 ; { Status = -1; down(& Adapter->NVMRdmWrmLock); if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_handle_nvm_read_cmd"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___0.format = "%s:\nDevice is in Idle/Shutdown Mode\n"; descriptor___0.lineno = 53U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nDevice is in Idle/Shutdown Mode\n", "bcm_handle_nvm_read_cmd"); } else { } } else { } up(& Adapter->NVMRdmWrmLock); kfree((void const *)pReadData); return (-13); } else { } Status = BeceemNVMRead(Adapter, (unsigned int *)pReadData, stNVMReadWrite->uiOffset, stNVMReadWrite->uiNumBytes); up(& Adapter->NVMRdmWrmLock); if (Status != 0) { kfree((void const *)pReadData); return (Status); } else { } tmp___1 = copy_to_user(stNVMReadWrite->pBuffer, (void const *)pReadData, (unsigned long )stNVMReadWrite->uiNumBytes); if (tmp___1 != 0UL) { kfree((void const *)pReadData); return (-14); } else { } return (0); } } static int handle_flash2x_adapter(struct bcm_mini_adapter *Adapter , PUCHAR pReadData , struct bcm_nvm_readwrite *stNVMReadWrite ) { INT Status ; ULONG ulDSDMagicNumInUsrBuff ; struct _ddebug descriptor___0 ; long tmp___0 ; __u32 tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; { ulDSDMagicNumInUsrBuff = 0UL; Status = BcmFlash2xCorruptSig(Adapter, Adapter->eActiveDSD); if (Status == 0) { return (0); } else { } if (stNVMReadWrite->uiOffset + stNVMReadWrite->uiNumBytes != Adapter->uiNVMDSDSize || stNVMReadWrite->uiNumBytes <= 3U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "handle_flash2x_adapter"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___0.format = "%s:\nDSD Sig is present neither in Flash nor User provided Input.."; descriptor___0.lineno = 108U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nDSD Sig is present neither in Flash nor User provided Input..", "handle_flash2x_adapter"); } else { } } else { } up(& Adapter->NVMRdmWrmLock); kfree((void const *)pReadData); return (Status); } else { } tmp___1 = __fswab32(*((unsigned int *)(pReadData + ((unsigned long )stNVMReadWrite->uiNumBytes + 0xfffffffffffffffcUL)))); ulDSDMagicNumInUsrBuff = (ULONG )tmp___1; if (ulDSDMagicNumInUsrBuff != 3201174877UL) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "handle_flash2x_adapter"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___2.format = "%s:\nDSD Sig is present neither in Flash nor User provided Input.."; descriptor___2.lineno = 119U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nDSD Sig is present neither in Flash nor User provided Input..", "handle_flash2x_adapter"); } else { } } else { } up(& Adapter->NVMRdmWrmLock); kfree((void const *)pReadData); return (Status); } else { } return (0); } } static int bcm_char_open(struct inode *inode , struct file *filp ) { struct bcm_mini_adapter *Adapter ; struct bcm_tarang_data *pTarang ; void *tmp ; void *tmp___0 ; { Adapter = (struct bcm_mini_adapter *)0; pTarang = (struct bcm_tarang_data *)0; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; tmp___0 = kzalloc(112UL, 208U); pTarang = (struct bcm_tarang_data *)tmp___0; if ((unsigned long )pTarang == (unsigned long )((struct bcm_tarang_data *)0)) { return (-12); } else { } pTarang->Adapter = Adapter; pTarang->RxCntrlMsgBitMask = 4294965247UL; down(& Adapter->RxAppControlQueuelock); pTarang->next = Adapter->pTarangs; Adapter->pTarangs = pTarang; up(& Adapter->RxAppControlQueuelock); filp->private_data = (void *)pTarang; atomic_inc(& Adapter->ApplicationRunning); nonseekable_open(inode, filp); return (0); } } static int bcm_char_release(struct inode *inode , struct file *filp ) { struct bcm_tarang_data *pTarang ; struct bcm_tarang_data *tmp ; struct bcm_tarang_data *ptmp ; struct bcm_mini_adapter *Adapter ; struct sk_buff *pkt ; struct sk_buff *npkt ; { Adapter = (struct bcm_mini_adapter *)0; pTarang = (struct bcm_tarang_data *)filp->private_data; if ((unsigned long )pTarang == (unsigned long )((struct bcm_tarang_data *)0)) { return (0); } else { } Adapter = pTarang->Adapter; down(& Adapter->RxAppControlQueuelock); tmp = Adapter->pTarangs; ptmp = (struct bcm_tarang_data *)0; goto ldv_51777; ldv_51776: ; if ((unsigned long )tmp == (unsigned long )pTarang) { goto ldv_51775; } else { } ptmp = tmp; tmp = tmp->next; ldv_51777: ; if ((unsigned long )tmp != (unsigned long )((struct bcm_tarang_data *)0)) { goto ldv_51776; } else { } ldv_51775: ; if ((unsigned long )tmp != (unsigned long )((struct bcm_tarang_data *)0)) { if ((unsigned long )ptmp == (unsigned long )((struct bcm_tarang_data *)0)) { Adapter->pTarangs = tmp->next; } else { ptmp->next = tmp->next; } } else { up(& Adapter->RxAppControlQueuelock); return (0); } pkt = pTarang->RxAppControlHead; goto ldv_51779; ldv_51778: npkt = pkt->next; kfree_skb(pkt); pkt = npkt; ldv_51779: ; if ((unsigned long )pkt != (unsigned long )((struct sk_buff *)0)) { goto ldv_51778; } else { } up(& Adapter->RxAppControlQueuelock); atomic_dec(& Adapter->ApplicationRunning); kfree((void const *)pTarang); filp->private_data = (void *)0; return (0); } } static ssize_t bcm_char_read(struct file *filp , char *buf , size_t size , loff_t *f_pos ) { struct bcm_tarang_data *pTarang ; struct bcm_mini_adapter *Adapter ; struct sk_buff *Packet ; ssize_t PktLen ; int wait_ret_val ; unsigned long ret ; int __ret ; wait_queue_t __wait ; long __ret___0 ; long __int ; long tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; size_t __min1 ; size_t __min2 ; struct _ddebug descriptor___6 ; struct task_struct *tmp___8 ; long tmp___9 ; struct _ddebug descriptor___8 ; long tmp___11 ; { pTarang = (struct bcm_tarang_data *)filp->private_data; Adapter = pTarang->Adapter; Packet = (struct sk_buff *)0; PktLen = 0L; wait_ret_val = 0; ret = 0UL; __ret = 0; if ((unsigned long )pTarang->RxAppControlHead == (unsigned long )((struct sk_buff *)0) && ! Adapter->device_removed) { __ret___0 = 0L; INIT_LIST_HEAD(& __wait.task_list); __wait.flags = 0U; ldv_51799: tmp = prepare_to_wait_event(& Adapter->process_read_wait_queue, & __wait, 1); __int = tmp; if ((unsigned long )pTarang->RxAppControlHead != (unsigned long )((struct sk_buff *)0) || (int )Adapter->device_removed) { goto ldv_51798; } else { } if (__int != 0L) { __ret___0 = __int; goto ldv_51798; } else { } schedule(); goto ldv_51799; ldv_51798: finish_wait(& Adapter->process_read_wait_queue, & __wait); __ret = (int )__ret___0; } else { } wait_ret_val = __ret; if (wait_ret_val == -512) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_char_read"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___0.format = "%s:\nExiting as i\'ve been asked to exit!!!\n"; descriptor___0.lineno = 235U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nExiting as i\'ve been asked to exit!!!\n", "bcm_char_read"); } else { } } else { } return ((ssize_t )wait_ret_val); } else { } if ((int )Adapter->device_removed) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "bcm_char_read"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___2.format = "%s:\nDevice Removed... Killing the Apps...\n"; descriptor___2.lineno = 241U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nDevice Removed... Killing the Apps...\n", "bcm_char_read"); } else { } } else { } return (-19L); } else { } if (! Adapter->fw_download_done) { return (-13L); } else { } down(& Adapter->RxAppControlQueuelock); if ((unsigned long )pTarang->RxAppControlHead != (unsigned long )((struct sk_buff *)0)) { Packet = pTarang->RxAppControlHead; if ((unsigned long )pTarang->RxAppControlHead != (unsigned long )((struct sk_buff *)0)) { if ((unsigned long )(pTarang->RxAppControlHead)->next == (unsigned long )((struct sk_buff *)0)) { pTarang->RxAppControlTail = (struct sk_buff *)0; } else { } pTarang->RxAppControlHead = (pTarang->RxAppControlHead)->next; } else { } pTarang->AppCtrlQueueLen = pTarang->AppCtrlQueueLen - 1; } else { } up(& Adapter->RxAppControlQueuelock); if ((unsigned long )Packet != (unsigned long )((struct sk_buff *)0)) { PktLen = (ssize_t )Packet->len; __min1 = (size_t )PktLen; __min2 = size; ret = copy_to_user((void *)buf, (void const *)Packet->data, __min1 < __min2 ? __min1 : __min2); if (ret != 0UL) { consume_skb(Packet); printk("\016%s:Returning from copy to user failure\n", "bcm_char_read"); return (-14L); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "bcm_char_read"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___6.format = "%s:\nRead %zd Bytes From Adapter packet = %p by process %d!\n"; descriptor___6.lineno = 271U; descriptor___6.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___9 != 0L) { tmp___8 = get_current(); __dynamic_pr_debug(& descriptor___6, "%s:\nRead %zd Bytes From Adapter packet = %p by process %d!\n", "bcm_char_read", PktLen, Packet, tmp___8->pid); } else { } } else { } consume_skb(Packet); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "bcm_char_read"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___8.format = "%s:\n<\n"; descriptor___8.lineno = 275U; descriptor___8.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\n<\n", "bcm_char_read"); } else { } } else { } return (PktLen); } } static int bcm_char_ioctl_reg_read_private(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_rdm_buffer sRdmBuffer ; struct bcm_ioctl_buffer IoBuffer ; PCHAR temp_buff ; INT Status ; UINT Bufflen ; u16 temp_value ; int bytes ; unsigned long tmp ; unsigned long tmp___0 ; void *tmp___1 ; unsigned long tmp___2 ; { sRdmBuffer.Register = 0UL; sRdmBuffer.Length = 0UL; Status = -1; tmp = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp != 0UL) { return (-14); } else { } if (IoBuffer.InputLength > 16UL) { return (-22); } else { } tmp___0 = copy_from_user((void *)(& sRdmBuffer), (void const *)IoBuffer.InputBuffer, IoBuffer.InputLength); if (tmp___0 != 0UL) { return (-14); } else { } if (IoBuffer.OutputLength > 65535UL || IoBuffer.OutputLength == 0UL) { return (-22); } else { } Bufflen = (UINT )IoBuffer.OutputLength; temp_value = 4U - ((unsigned int )((u16 )Bufflen) & 3U); Bufflen = ((UINT )temp_value & 3U) + Bufflen; tmp___1 = kmalloc((size_t )Bufflen, 208U); temp_buff = (PCHAR )tmp___1; if ((unsigned long )temp_buff == (unsigned long )((PCHAR )0)) { return (-12); } else { } bytes = rdmalt(Adapter, (unsigned int )sRdmBuffer.Register, (unsigned int *)temp_buff, (size_t )Bufflen); if (bytes > 0) { Status = 0; tmp___2 = copy_to_user(IoBuffer.OutputBuffer, (void const *)temp_buff, (unsigned long )bytes); if (tmp___2 != 0UL) { kfree((void const *)temp_buff); return (-14); } else { } } else { Status = bytes; } kfree((void const *)temp_buff); return (Status); } } static int bcm_char_ioctl_reg_write_private(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_wrm_buffer sWrmBuffer ; struct bcm_ioctl_buffer IoBuffer ; UINT uiTempVar ; INT Status ; unsigned long tmp ; unsigned long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___4 ; struct _ddebug descriptor___4 ; long tmp___6 ; { sWrmBuffer.Register = 0UL; sWrmBuffer.Length = 0UL; sWrmBuffer.Data[0] = (unsigned char)0; sWrmBuffer.Data[1] = (unsigned char)0; sWrmBuffer.Data[2] = (unsigned char)0; sWrmBuffer.Data[3] = (unsigned char)0; uiTempVar = 0U; tmp = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp != 0UL) { return (-14); } else { } if (IoBuffer.InputLength > 20UL) { return (-22); } else { } tmp___0 = copy_from_user((void *)(& sWrmBuffer), (void const *)IoBuffer.InputBuffer, IoBuffer.InputLength); if (tmp___0 != 0UL) { return (-14); } else { } uiTempVar = (UINT )sWrmBuffer.Register & 268435455U; if (((Adapter->pstargetparams)->m_u32Customize & 3U) == 0U && (((uiTempVar == 251670552U || uiTempVar == 251670556U) || uiTempVar == 251670536U) || uiTempVar == 251670560U)) { printk("\016%s:EEPROM Access Denied, not in VSG Mode\n", "bcm_char_ioctl_reg_write_private"); return (-14); } else { } Status = wrmalt(Adapter, (unsigned int )sWrmBuffer.Register, (unsigned int *)(& sWrmBuffer.Data), 8UL); if (Status == 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "bcm_char_ioctl_reg_write_private"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___2.format = "%s:\nWRM Done\n"; descriptor___2.lineno = 368U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nWRM Done\n", "bcm_char_ioctl_reg_write_private"); } else { } } else { } } else { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "bcm_char_ioctl_reg_write_private"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___4.format = "%s:\nWRM Failed\n"; descriptor___4.lineno = 371U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nWRM Failed\n", "bcm_char_ioctl_reg_write_private"); } else { } } else { } Status = -14; } return (Status); } } static int bcm_char_ioctl_eeprom_reg_read(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_rdm_buffer sRdmBuffer ; struct bcm_ioctl_buffer IoBuffer ; PCHAR temp_buff ; UINT uiTempVar ; INT Status ; int bytes ; unsigned long tmp___1 ; unsigned long tmp___2 ; void *tmp___3 ; unsigned long tmp___6 ; { sRdmBuffer.Register = 0UL; sRdmBuffer.Length = 0UL; temp_buff = (PCHAR )0; uiTempVar = 0U; if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { printk("\016%s:Device in Idle Mode, Blocking Rdms\n", "bcm_char_ioctl_eeprom_reg_read"); return (-13); } else { } tmp___1 = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp___1 != 0UL) { return (-14); } else { } if (IoBuffer.InputLength > 16UL) { return (-22); } else { } tmp___2 = copy_from_user((void *)(& sRdmBuffer), (void const *)IoBuffer.InputBuffer, IoBuffer.InputLength); if (tmp___2 != 0UL) { return (-14); } else { } if (IoBuffer.OutputLength > 65535UL || IoBuffer.OutputLength == 0UL) { return (-22); } else { } tmp___3 = kmalloc(IoBuffer.OutputLength, 208U); temp_buff = (PCHAR )tmp___3; if ((unsigned long )temp_buff == (unsigned long )((PCHAR )0)) { return (-1); } else { } if ((sRdmBuffer.Register & 251658240UL) != 251658240UL || (sRdmBuffer.Register & 3UL) != 0UL) { printk("\016%s:RDM Done On invalid Address : %x Access Denied.\n", "bcm_char_ioctl_eeprom_reg_read", (int )sRdmBuffer.Register); kfree((void const *)temp_buff); return (-22); } else { } uiTempVar = (UINT )sRdmBuffer.Register & 268435455U; bytes = rdmaltWithLock(Adapter, (unsigned int )sRdmBuffer.Register, (unsigned int *)temp_buff, IoBuffer.OutputLength); if (bytes > 0) { Status = 0; tmp___6 = copy_to_user(IoBuffer.OutputBuffer, (void const *)temp_buff, (unsigned long )bytes); if (tmp___6 != 0UL) { kfree((void const *)temp_buff); return (-14); } else { } } else { Status = bytes; } kfree((void const *)temp_buff); return (Status); } } static int bcm_char_ioctl_eeprom_reg_write(void *argp , struct bcm_mini_adapter *Adapter , UINT cmd ) { struct bcm_wrm_buffer sWrmBuffer ; struct bcm_ioctl_buffer IoBuffer ; UINT uiTempVar ; INT Status ; unsigned long tmp___1 ; unsigned long tmp___2 ; struct _ddebug descriptor___8 ; long tmp___10 ; { sWrmBuffer.Register = 0UL; sWrmBuffer.Length = 0UL; sWrmBuffer.Data[0] = (unsigned char)0; sWrmBuffer.Data[1] = (unsigned char)0; sWrmBuffer.Data[2] = (unsigned char)0; sWrmBuffer.Data[3] = (unsigned char)0; uiTempVar = 0U; if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { printk("\016%s:Device in Idle Mode, Blocking Wrms\n", "bcm_char_ioctl_eeprom_reg_write"); return (-13); } else { } tmp___1 = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp___1 != 0UL) { return (-14); } else { } if (IoBuffer.InputLength > 20UL) { return (-22); } else { } tmp___2 = copy_from_user((void *)(& sWrmBuffer), (void const *)IoBuffer.InputBuffer, IoBuffer.InputLength); if (tmp___2 != 0UL) { return (-14); } else { } if ((sWrmBuffer.Register & 251658240UL) != 251658240UL || (sWrmBuffer.Register & 3UL) != 0UL) { printk("\016%s:WRM Done On invalid Address : %x Access Denied.\n", "bcm_char_ioctl_eeprom_reg_write", (int )sWrmBuffer.Register); return (-22); } else { } uiTempVar = (UINT )sWrmBuffer.Register & 268435455U; if ((((Adapter->pstargetparams)->m_u32Customize & 3U) == 0U && (((uiTempVar == 251670552U || uiTempVar == 251670556U) || uiTempVar == 251670536U) || uiTempVar == 251670560U)) && cmd == 1074031362U) { printk("\016%s:EEPROM Access Denied, not in VSG Mode\n", "bcm_char_ioctl_eeprom_reg_write"); return (-14); } else { } Status = wrmaltWithLock(Adapter, (unsigned int )sWrmBuffer.Register, (unsigned int *)(& sWrmBuffer.Data), sWrmBuffer.Length); if (Status == 0) { printk("\016%s:WRM Done\n", "bcm_char_ioctl_eeprom_reg_write"); } else { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "bcm_char_ioctl_eeprom_reg_write"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___8.format = "%s:\nWRM Failed\n"; descriptor___8.lineno = 506U; descriptor___8.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nWRM Failed\n", "bcm_char_ioctl_eeprom_reg_write"); } else { } } else { } Status = -14; } return (Status); } } static int bcm_char_ioctl_gpio_set_request(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_gpio_info gpio_info ; struct bcm_ioctl_buffer IoBuffer ; UCHAR ucResetValue[4U] ; UINT value ; UINT uiBit ; UINT uiOperation ; INT Status ; int bytes ; struct _ddebug descriptor___0 ; long tmp___0 ; unsigned long tmp___1 ; unsigned long tmp___2 ; struct _ddebug descriptor___2 ; long tmp___4 ; bool tmp___5 ; int tmp___6 ; struct _ddebug descriptor___4 ; long tmp___8 ; struct _ddebug descriptor___6 ; long tmp___10 ; struct _ddebug descriptor___8 ; long tmp___12 ; struct _ddebug descriptor___10 ; long tmp___14 ; struct _ddebug descriptor___12 ; long tmp___16 ; struct _ddebug descriptor___14 ; long tmp___18 ; struct _ddebug descriptor___16 ; long tmp___20 ; { gpio_info.uiGpioNumber = 0U; gpio_info.uiGpioValue = 0U; value = 0U; uiBit = 0U; uiOperation = 0U; if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_char_ioctl_gpio_set_request"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___0.format = "%s:\nGPIO Can\'t be set/clear in Low power Mode"; descriptor___0.lineno = 530U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nGPIO Can\'t be set/clear in Low power Mode", "bcm_char_ioctl_gpio_set_request"); } else { } } else { } return (-13); } else { } tmp___1 = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp___1 != 0UL) { return (-14); } else { } if (IoBuffer.InputLength > 8UL) { return (-22); } else { } tmp___2 = copy_from_user((void *)(& gpio_info), (void const *)IoBuffer.InputBuffer, IoBuffer.InputLength); if (tmp___2 != 0UL) { return (-14); } else { } uiBit = gpio_info.uiGpioNumber; uiOperation = gpio_info.uiGpioValue; value = (UINT )(1 << (int )uiBit); tmp___5 = IsReqGpioIsLedInNVM(Adapter, value); if (tmp___5) { tmp___6 = 0; } else { tmp___6 = 1; } if (tmp___6) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "bcm_char_ioctl_gpio_set_request"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___2.format = "%s:\nSorry, Requested GPIO<0x%X> is not correspond to LED !!!"; descriptor___2.lineno = 552U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nSorry, Requested GPIO<0x%X> is not correspond to LED !!!", "bcm_char_ioctl_gpio_set_request", value); } else { } } else { } return (-22); } else { } if (uiOperation != 0U) { Status = wrmaltWithLock(Adapter, 251658304U, & value, 4UL); if (Status == 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "bcm_char_ioctl_gpio_set_request"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___4.format = "%s:\nSet the GPIO bit\n"; descriptor___4.lineno = 566U; descriptor___4.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nSet the GPIO bit\n", "bcm_char_ioctl_gpio_set_request"); } else { } } else { } } else { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "bcm_char_ioctl_gpio_set_request"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___6.format = "%s:\nFailed to set the %dth GPIO\n"; descriptor___6.lineno = 571U; descriptor___6.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nFailed to set the %dth GPIO\n", "bcm_char_ioctl_gpio_set_request", uiBit); } else { } } else { } return (Status); } } else { Status = wrmaltWithLock(Adapter, 251658308U, & value, 4UL); if (Status == 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "bcm_char_ioctl_gpio_set_request"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___8.format = "%s:\nSet the GPIO bit\n"; descriptor___8.lineno = 583U; descriptor___8.flags = 0U; tmp___12 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___12 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nSet the GPIO bit\n", "bcm_char_ioctl_gpio_set_request"); } else { } } else { } } else { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "bcm_char_ioctl_gpio_set_request"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___10.format = "%s:\nFailed to clear the %dth GPIO\n"; descriptor___10.lineno = 588U; descriptor___10.flags = 0U; tmp___14 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___14 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nFailed to clear the %dth GPIO\n", "bcm_char_ioctl_gpio_set_request", uiBit); } else { } } else { } return (Status); } } bytes = rdmaltWithLock(Adapter, 251658292U, (unsigned int *)(& ucResetValue), 4UL); if (bytes < 0) { Status = bytes; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "bcm_char_ioctl_gpio_set_request"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___12.format = "%s:\nGPIO_MODE_REGISTER read failed"; descriptor___12.lineno = 598U; descriptor___12.flags = 0U; tmp___16 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___16 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nGPIO_MODE_REGISTER read failed", "bcm_char_ioctl_gpio_set_request"); } else { } } else { } return (Status); } else { Status = 0; } *((UINT *)(& ucResetValue)) = *((UINT *)(& ucResetValue)) | (UINT )(1 << (int )uiBit); Status = wrmaltWithLock(Adapter, 251658292U, (unsigned int *)(& ucResetValue), 4UL); if (Status == 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "bcm_char_ioctl_gpio_set_request"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___14.format = "%s:\nSet the GPIO to output Mode\n"; descriptor___14.lineno = 612U; descriptor___14.flags = 0U; tmp___18 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___18 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nSet the GPIO to output Mode\n", "bcm_char_ioctl_gpio_set_request"); } else { } } else { } } else if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "bcm_char_ioctl_gpio_set_request"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___16.format = "%s:\nFailed to put GPIO in Output Mode\n"; descriptor___16.lineno = 616U; descriptor___16.flags = 0U; tmp___20 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___20 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\nFailed to put GPIO in Output Mode\n", "bcm_char_ioctl_gpio_set_request"); } else { } } else { } return (Status); } } static int bcm_char_ioctl_led_thread_state_change_req(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_user_thread_req threadReq ; struct bcm_ioctl_buffer IoBuffer ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; unsigned long tmp___3 ; unsigned long tmp___4 ; struct _ddebug descriptor___4 ; long tmp___6 ; struct _ddebug descriptor___6 ; long tmp___8 ; { threadReq.ThreadState = 0U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_char_ioctl_led_thread_state_change_req"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___0.format = "%s:\nUser made LED thread InActive"; descriptor___0.lineno = 629U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nUser made LED thread InActive", "bcm_char_ioctl_led_thread_state_change_req"); } else { } } else { } if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "bcm_char_ioctl_led_thread_state_change_req"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___2.format = "%s:\nGPIO Can\'t be set/clear in Low power Mode"; descriptor___2.lineno = 637U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nGPIO Can\'t be set/clear in Low power Mode", "bcm_char_ioctl_led_thread_state_change_req"); } else { } } else { } return (-13); } else { } tmp___3 = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp___3 != 0UL) { return (-14); } else { } if (IoBuffer.InputLength > 4UL) { return (-22); } else { } tmp___4 = copy_from_user((void *)(& threadReq), (void const *)IoBuffer.InputBuffer, IoBuffer.InputLength); if (tmp___4 != 0UL) { return (-14); } else { } if (Adapter->LEDInfo.led_thread_running != 0) { if (threadReq.ThreadState == 1U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "bcm_char_ioctl_led_thread_state_change_req"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___4.format = "%s:\nActivating thread req"; descriptor___4.lineno = 658U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nActivating thread req", "bcm_char_ioctl_led_thread_state_change_req"); } else { } } else { } Adapter->DriverState = 512; } else { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "bcm_char_ioctl_led_thread_state_change_req"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___6.format = "%s:\nDeActivating Thread req....."; descriptor___6.lineno = 663U; descriptor___6.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nDeActivating Thread req.....", "bcm_char_ioctl_led_thread_state_change_req"); } else { } } else { } Adapter->DriverState = 256; } __wake_up(& Adapter->LEDInfo.notify_led_event, 3U, 1, (void *)0); } else { } return (0); } } static int bcm_char_ioctl_gpio_status_request(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_gpio_info gpio_info ; struct bcm_ioctl_buffer IoBuffer ; ULONG uiBit ; UCHAR ucRead[4U] ; INT Status ; int bytes ; unsigned long tmp ; unsigned long tmp___0 ; { gpio_info.uiGpioNumber = 0U; gpio_info.uiGpioValue = 0U; uiBit = 0UL; if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { return (-13); } else { } tmp = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp != 0UL) { return (-14); } else { } if (IoBuffer.InputLength > 8UL) { return (-22); } else { } tmp___0 = copy_from_user((void *)(& gpio_info), (void const *)IoBuffer.InputBuffer, IoBuffer.InputLength); if (tmp___0 != 0UL) { return (-14); } else { } uiBit = (ULONG )gpio_info.uiGpioNumber; bytes = rdmaltWithLock(Adapter, 251658296U, (unsigned int *)(& ucRead), 4UL); if (bytes < 0) { Status = bytes; printk("\016%s:RDM Failed\n", "bcm_char_ioctl_gpio_status_request"); return (Status); } else { Status = 0; } return (Status); } } static int bcm_char_ioctl_gpio_multi_request(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_gpio_multi_info gpio_multi_info[2U] ; struct bcm_gpio_multi_info *pgpio_multi_info ; struct bcm_ioctl_buffer IoBuffer ; UCHAR ucResetValue[4U] ; INT Status ; int bytes ; unsigned long tmp ; unsigned long tmp___0 ; struct _ddebug descriptor___0 ; long tmp___2 ; bool tmp___3 ; int tmp___4 ; unsigned long tmp___11 ; { pgpio_multi_info = (struct bcm_gpio_multi_info *)(& gpio_multi_info); Status = -1; memset((void *)pgpio_multi_info, 0, 24UL); if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { return (-22); } else { } tmp = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp != 0UL) { return (-14); } else { } if (IoBuffer.InputLength > 24UL) { return (-22); } else { } if (IoBuffer.OutputLength > 24UL) { IoBuffer.OutputLength = 24UL; } else { } tmp___0 = copy_from_user((void *)(& gpio_multi_info), (void const *)IoBuffer.InputBuffer, IoBuffer.InputLength); if (tmp___0 != 0UL) { return (-14); } else { } tmp___3 = IsReqGpioIsLedInNVM(Adapter, pgpio_multi_info->uiGPIOMask); if (tmp___3) { tmp___4 = 0; } else { tmp___4 = 1; } if (tmp___4) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_char_ioctl_gpio_multi_request"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___0.format = "%s:\nSorry, Requested GPIO<0x%X> is not correspond to NVM LED bit map<0x%X>!!!"; descriptor___0.lineno = 752U; descriptor___0.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nSorry, Requested GPIO<0x%X> is not correspond to NVM LED bit map<0x%X>!!!", "bcm_char_ioctl_gpio_multi_request", pgpio_multi_info->uiGPIOMask, Adapter->gpioBitMap); } else { } } else { } return (-22); } else { } if ((pgpio_multi_info->uiGPIOMask & pgpio_multi_info->uiGPIOCommand) != 0U) { *((UINT *)(& ucResetValue)) = (pgpio_multi_info->uiGPIOMask & pgpio_multi_info->uiGPIOCommand) & pgpio_multi_info->uiGPIOValue; if (*((UINT *)(& ucResetValue)) != 0U) { Status = wrmaltWithLock(Adapter, 251658304U, (unsigned int *)(& ucResetValue), 8UL); } else { } if (Status != 0) { printk("\016%s:WRM to BCM_GPIO_OUTPUT_SET_REG Failed.", "bcm_char_ioctl_gpio_multi_request"); return (Status); } else { } *((UINT *)(& ucResetValue)) = (pgpio_multi_info->uiGPIOMask & pgpio_multi_info->uiGPIOCommand) & ~ pgpio_multi_info->uiGPIOValue; if (*((UINT *)(& ucResetValue)) != 0U) { Status = wrmaltWithLock(Adapter, 251658308U, (unsigned int *)(& ucResetValue), 8UL); } else { } if (Status != 0) { printk("\016%s:WRM to BCM_GPIO_OUTPUT_CLR_REG Failed.", "bcm_char_ioctl_gpio_multi_request"); return (Status); } else { } } else { } if (pgpio_multi_info->uiGPIOMask != 0U) { bytes = rdmaltWithLock(Adapter, 251658296U, (unsigned int *)(& ucResetValue), 4UL); if (bytes < 0) { Status = bytes; printk("\016%s:RDM to GPIO_PIN_STATE_REGISTER Failed.", "bcm_char_ioctl_gpio_multi_request"); return (Status); } else { Status = 0; } pgpio_multi_info->uiGPIOValue = *((UINT *)(& ucResetValue)) & pgpio_multi_info->uiGPIOMask; } else { } tmp___11 = copy_to_user(IoBuffer.OutputBuffer, (void const *)(& gpio_multi_info), IoBuffer.OutputLength); Status = (INT )tmp___11; if (Status != 0) { printk("\016%s:Failed while copying Content to IOBufer for user space err:%d", "bcm_char_ioctl_gpio_multi_request", Status); return (-14); } else { } return (Status); } } static int bcm_char_ioctl_gpio_mode_request(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_gpio_multi_mode gpio_multi_mode[2U] ; struct bcm_gpio_multi_mode *pgpio_multi_mode ; struct bcm_ioctl_buffer IoBuffer ; UCHAR ucResetValue[4U] ; INT Status ; int bytes ; unsigned long tmp ; unsigned long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___4 ; bool tmp___5 ; int tmp___6 ; struct _ddebug descriptor___4 ; long tmp___8 ; unsigned long tmp___11 ; { pgpio_multi_mode = (struct bcm_gpio_multi_mode *)(& gpio_multi_mode); if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { return (-22); } else { } tmp = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp != 0UL) { return (-14); } else { } if (IoBuffer.InputLength > 16UL) { return (-22); } else { } if (IoBuffer.OutputLength > 16UL) { IoBuffer.OutputLength = 16UL; } else { } tmp___0 = copy_from_user((void *)(& gpio_multi_mode), (void const *)IoBuffer.InputBuffer, IoBuffer.InputLength); if (tmp___0 != 0UL) { return (-14); } else { } bytes = rdmaltWithLock(Adapter, 251658292U, (unsigned int *)(& ucResetValue), 4UL); if (bytes < 0) { Status = bytes; printk("\016%s:Read of GPIO_MODE_REGISTER failed", "bcm_char_ioctl_gpio_mode_request"); return (Status); } else { Status = 0; } tmp___5 = IsReqGpioIsLedInNVM(Adapter, pgpio_multi_mode->uiGPIOMask); if (tmp___5) { tmp___6 = 0; } else { tmp___6 = 1; } if (tmp___6) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "bcm_char_ioctl_gpio_mode_request"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___2.format = "%s:\nSorry, Requested GPIO<0x%X> is not correspond to NVM LED bit map<0x%X>!!!"; descriptor___2.lineno = 868U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nSorry, Requested GPIO<0x%X> is not correspond to NVM LED bit map<0x%X>!!!", "bcm_char_ioctl_gpio_mode_request", pgpio_multi_mode->uiGPIOMask, Adapter->gpioBitMap); } else { } } else { } return (-22); } else { } if (pgpio_multi_mode->uiGPIOMask != 0U) { *((UINT *)(& ucResetValue)) = *((UINT *)(& ucResetValue)) | (pgpio_multi_mode->uiGPIOMode & pgpio_multi_mode->uiGPIOMask); *((UINT *)(& ucResetValue)) = *((UINT *)(& ucResetValue)) & ~ (~ pgpio_multi_mode->uiGPIOMode & pgpio_multi_mode->uiGPIOMask); pgpio_multi_mode->uiGPIOMode = *((UINT *)(& ucResetValue)); Status = wrmaltWithLock(Adapter, 251658292U, (unsigned int *)(& ucResetValue), 8UL); if (Status == 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "bcm_char_ioctl_gpio_mode_request"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___4.format = "%s:\nWRM to GPIO_MODE_REGISTER Done"; descriptor___4.lineno = 893U; descriptor___4.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nWRM to GPIO_MODE_REGISTER Done", "bcm_char_ioctl_gpio_mode_request"); } else { } } else { } } else { printk("\016%s:WRM to GPIO_MODE_REGISTER Failed", "bcm_char_ioctl_gpio_mode_request"); return (-14); } } else { pgpio_multi_mode->uiGPIOMode = *((UINT *)(& ucResetValue)); } tmp___11 = copy_to_user(IoBuffer.OutputBuffer, (void const *)(& gpio_multi_mode), IoBuffer.OutputLength); Status = (INT )tmp___11; if (Status != 0) { printk("\016%s:Failed while copying Content to IOBufer for user space err:%d", "bcm_char_ioctl_gpio_mode_request", Status); return (-14); } else { } return (Status); } } static int bcm_char_ioctl_misc_request(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_ioctl_buffer IoBuffer ; PVOID pvBuffer ; INT Status ; unsigned long tmp ; long tmp___0 ; bool tmp___1 ; long __ret ; wait_queue_t __wait ; long __ret___0 ; long __int ; long tmp___2 ; bool __cond ; bool __cond___0 ; struct _ddebug descriptor___0 ; long tmp___4 ; { pvBuffer = (void *)0; tmp = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp != 0UL) { return (-14); } else { } if (IoBuffer.InputLength <= 11UL) { return (-22); } else { } if (IoBuffer.InputLength > 2048UL) { return (-22); } else { } pvBuffer = memdup_user((void const *)IoBuffer.InputBuffer, IoBuffer.InputLength); tmp___1 = IS_ERR((void const *)pvBuffer); if ((int )tmp___1) { tmp___0 = PTR_ERR((void const *)pvBuffer); return ((int )tmp___0); } else { } down(& Adapter->LowPowerModeSync); __ret = 250L; __cond___0 = (bool )(! ((int )Adapter->bPreparingForLowPowerMode != 0)); if ((int )__cond___0 && __ret == 0L) { __ret = 1L; } else { } if (((int )__cond___0 || __ret == 0L) == 0) { __ret___0 = 250L; INIT_LIST_HEAD(& __wait.task_list); __wait.flags = 0U; ldv_51995: tmp___2 = prepare_to_wait_event(& Adapter->lowpower_mode_wait_queue, & __wait, 1); __int = tmp___2; __cond = (bool )(! ((int )Adapter->bPreparingForLowPowerMode != 0)); if ((int )__cond && __ret___0 == 0L) { __ret___0 = 1L; } else { } if (((int )__cond || __ret___0 == 0L) != 0) { goto ldv_51994; } else { } if (__int != 0L) { __ret___0 = __int; goto ldv_51994; } else { } __ret___0 = schedule_timeout(__ret___0); goto ldv_51995; ldv_51994: finish_wait(& Adapter->lowpower_mode_wait_queue, & __wait); __ret = __ret___0; } else { } Status = (INT )__ret; if (Status == -512) { goto cntrlEnd; } else { } if ((int )Adapter->bPreparingForLowPowerMode) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_char_ioctl_misc_request"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___0.format = "%s:\nPreparing Idle Mode is still True - Hence Rejecting control message\n"; descriptor___0.lineno = 948U; descriptor___0.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nPreparing Idle Mode is still True - Hence Rejecting control message\n", "bcm_char_ioctl_misc_request"); } else { } } else { } Status = -1; goto cntrlEnd; } else { } Status = CopyBufferToControlPacket(Adapter, pvBuffer); cntrlEnd: up(& Adapter->LowPowerModeSync); kfree((void const *)pvBuffer); return (Status); } } static int bcm_char_ioctl_buffer_download_start(struct bcm_mini_adapter *Adapter ) { INT Status ; struct _ddebug descriptor___0 ; long tmp___0 ; int tmp___1 ; struct task_struct *tmp___2 ; int tmp___6 ; struct task_struct *tmp___7 ; unsigned long __ms ; unsigned long tmp___8 ; { tmp___1 = down_trylock(& Adapter->NVMRdmWrmLock); if (tmp___1 != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_char_ioctl_buffer_download_start"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___0.format = "%s:\nIOCTL_BCM_CHIP_RESET not allowed as EEPROM Read/Write is in progress\n"; descriptor___0.lineno = 967U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nIOCTL_BCM_CHIP_RESET not allowed as EEPROM Read/Write is in progress\n", "bcm_char_ioctl_buffer_download_start"); } else { } } else { } return (-13); } else { } tmp___2 = get_current(); printk("\016%s:Starting the firmware download PID =0x%x!!!!\n", "bcm_char_ioctl_buffer_download_start", tmp___2->pid); tmp___6 = down_trylock(& Adapter->fw_download_sema); if (tmp___6 != 0) { return (-16); } else { } Adapter->bBinDownloaded = 0; tmp___7 = get_current(); Adapter->fw_download_process_pid = tmp___7->pid; Adapter->bCfgDownloaded = 0; Adapter->fw_download_done = 0; netif_carrier_off(Adapter->dev); netif_stop_queue(Adapter->dev); Status = reset_card_proc(Adapter); if (Status != 0) { printk("\vbeceem %s: reset_card_proc Failed!\n", (char *)(& (Adapter->dev)->name)); up(& Adapter->fw_download_sema); up(& Adapter->NVMRdmWrmLock); return (Status); } else { } __ms = 10UL; goto ldv_52013; ldv_52012: __const_udelay(4295000UL); ldv_52013: tmp___8 = __ms; __ms = __ms - 1UL; if (tmp___8 != 0UL) { goto ldv_52012; } else { } up(& Adapter->NVMRdmWrmLock); return (Status); } } static int bcm_char_ioctl_buffer_download(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_firmware_info *psFwInfo ; struct bcm_ioctl_buffer IoBuffer ; INT Status ; struct task_struct *tmp ; int tmp___5 ; unsigned long tmp___6 ; void *tmp___9 ; unsigned long tmp___10 ; { psFwInfo = (struct bcm_firmware_info *)0; tmp = get_current(); printk("\016%s:Starting the firmware download PID =0x%x!!!!\n", "bcm_char_ioctl_buffer_download", tmp->pid); tmp___5 = down_trylock(& Adapter->fw_download_sema); if (tmp___5 == 0) { printk("\016%s:Invalid way to download buffer. Use Start and then call this!!!\n", "bcm_char_ioctl_buffer_download"); up(& Adapter->fw_download_sema); return (-22); } else { } tmp___6 = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp___6 != 0UL) { up(& Adapter->fw_download_sema); return (-14); } else { } printk("\016%s:Length for FW DLD is : %lx\n", "bcm_char_ioctl_buffer_download", IoBuffer.InputLength); if (IoBuffer.InputLength > 24UL) { up(& Adapter->fw_download_sema); return (-22); } else { } tmp___9 = kmalloc(24UL, 208U); psFwInfo = (struct bcm_firmware_info *)tmp___9; if ((unsigned long )psFwInfo == (unsigned long )((struct bcm_firmware_info *)0)) { up(& Adapter->fw_download_sema); return (-12); } else { } tmp___10 = copy_from_user((void *)psFwInfo, (void const *)IoBuffer.InputBuffer, IoBuffer.InputLength); if (tmp___10 != 0UL) { up(& Adapter->fw_download_sema); kfree((void const *)psFwInfo); return (-14); } else { } if ((unsigned long )psFwInfo->pvMappedFirmwareAddress == (unsigned long )((void *)0) || psFwInfo->u32FirmwareLength == 0UL) { printk("\016%s:Something else is wrong %lu\n", "bcm_char_ioctl_buffer_download", psFwInfo->u32FirmwareLength); up(& Adapter->fw_download_sema); kfree((void const *)psFwInfo); Status = -22; return (Status); } else { } Status = bcm_ioctl_fw_download(Adapter, psFwInfo); if (Status != 0) { if (psFwInfo->u32StartingAddress == 3210784768UL) { printk("\016%s:IOCTL: Configuration File Upload Failed\n", "bcm_char_ioctl_buffer_download"); } else { printk("\016%s:IOCTL: Firmware File Upload Failed\n", "bcm_char_ioctl_buffer_download"); } if (Adapter->LEDInfo.led_thread_running & 1) { Adapter->DriverState = 1; Adapter->LEDInfo.bLedInitDone = 0; __wake_up(& Adapter->LEDInfo.notify_led_event, 3U, 1, (void *)0); } else { } } else { } if (Status != 0) { up(& Adapter->fw_download_sema); } else { } printk("\016%s:IOCTL: Firmware File Uploaded\n", "bcm_char_ioctl_buffer_download"); kfree((void const *)psFwInfo); return (Status); } } static int bcm_char_ioctl_buffer_download_stop(void *argp , struct bcm_mini_adapter *Adapter ) { INT Status ; int timeout ; int tmp ; int tmp___2 ; struct _ddebug descriptor___4 ; long tmp___6 ; unsigned long __ms ; unsigned long tmp___7 ; INT tmp___10 ; long __ret ; wait_queue_t __wait ; long __ret___0 ; long __int ; long tmp___11 ; bool __cond ; bool __cond___0 ; { timeout = 0; tmp = down_trylock(& Adapter->fw_download_sema); if (tmp == 0) { up(& Adapter->fw_download_sema); return (-22); } else { } tmp___2 = down_trylock(& Adapter->NVMRdmWrmLock); if (tmp___2 != 0) { printk("\016%s:FW download blocked as EEPROM Read/Write is in progress\n", "bcm_char_ioctl_buffer_download_stop"); up(& Adapter->fw_download_sema); return (-13); } else { } Adapter->bBinDownloaded = 1; Adapter->bCfgDownloaded = 1; atomic_set(& Adapter->CurrNumFreeTxDesc, 0); Adapter->CurrNumRecvDescs = 0U; Adapter->downloadDDR = 0; Status = run_card_proc(Adapter); if (Status != 0) { printk("\016%s:Firm Download Failed\n", "bcm_char_ioctl_buffer_download_stop"); up(& Adapter->fw_download_sema); up(& Adapter->NVMRdmWrmLock); return (Status); } else if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "bcm_char_ioctl_buffer_download_stop"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___4.format = "%s:\nFirm Download Over...\n"; descriptor___4.lineno = 1117U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nFirm Download Over...\n", "bcm_char_ioctl_buffer_download_stop"); } else { } } else { } __ms = 10UL; goto ldv_52052; ldv_52051: __const_udelay(4295000UL); ldv_52052: tmp___7 = __ms; __ms = __ms - 1UL; if (tmp___7 != 0UL) { goto ldv_52051; } else { } tmp___10 = StartInterruptUrb((struct bcm_interface_adapter *)Adapter->pvInterfaceAdapter); if (tmp___10 != 0) { printk("\016%s:Unable to send interrupt...\n", "bcm_char_ioctl_buffer_download_stop"); } else { } timeout = 1250; Adapter->waiting_to_fw_download_done = 0; __ret = (long )timeout; __cond___0 = Adapter->waiting_to_fw_download_done; if ((int )__cond___0 && __ret == 0L) { __ret = 1L; } else { } if (((int )__cond___0 || __ret == 0L) == 0) { __ret___0 = (long )timeout; INIT_LIST_HEAD(& __wait.task_list); __wait.flags = 0U; ldv_52066: tmp___11 = prepare_to_wait_event(& Adapter->ioctl_fw_dnld_wait_queue, & __wait, 2); __int = tmp___11; __cond = Adapter->waiting_to_fw_download_done; if ((int )__cond && __ret___0 == 0L) { __ret___0 = 1L; } else { } if (((int )__cond || __ret___0 == 0L) != 0) { goto ldv_52065; } else { } __ret___0 = schedule_timeout(__ret___0); goto ldv_52066; ldv_52065: finish_wait(& Adapter->ioctl_fw_dnld_wait_queue, & __wait); __ret = __ret___0; } else { } Adapter->fw_download_process_pid = -1; Adapter->fw_download_done = 1; atomic_set(& Adapter->CurrNumFreeTxDesc, 0); Adapter->CurrNumRecvDescs = 0U; Adapter->PrevNumRecvDescs = 0U; atomic_set(& Adapter->cntrlpktCnt, 0); Adapter->LinkUpStatus = 0; Adapter->LinkStatus = 0U; if (Adapter->LEDInfo.led_thread_running & 1) { Adapter->DriverState = 4; __wake_up(& Adapter->LEDInfo.notify_led_event, 3U, 1, (void *)0); } else { } if (timeout == 0) { Status = -19; } else { } up(& Adapter->fw_download_sema); up(& Adapter->NVMRdmWrmLock); return (Status); } } static int bcm_char_ioctl_chip_reset(struct bcm_mini_adapter *Adapter ) { INT Status ; INT NVMAccess ; { NVMAccess = down_trylock(& Adapter->NVMRdmWrmLock); if (NVMAccess != 0) { printk("\016%s: IOCTL_BCM_CHIP_RESET not allowed as EEPROM Read/Write is in progress\n", "bcm_char_ioctl_chip_reset"); return (-13); } else { } down(& Adapter->RxAppControlQueuelock); Status = reset_card_proc(Adapter); flushAllAppQ(); up(& Adapter->RxAppControlQueuelock); up(& Adapter->NVMRdmWrmLock); ResetCounters(Adapter); return (Status); } } static int bcm_char_ioctl_qos_threshold(ULONG arg , struct bcm_mini_adapter *Adapter ) { USHORT uiLoopIndex ; int __ret_gu ; register unsigned long __val_gu ; { uiLoopIndex = 0U; goto ldv_52086; ldv_52085: might_fault(); __asm__ volatile ("call __get_user_%P3": "=a" (__ret_gu), "=r" (__val_gu): "0" ((unsigned long *)arg), "i" (8UL)); Adapter->PackInfo[(int )uiLoopIndex].uiThreshold = (UINT )__val_gu; if (__ret_gu != 0) { return (-14); } else { } uiLoopIndex = (USHORT )((int )uiLoopIndex + 1); ldv_52086: ; if ((unsigned int )uiLoopIndex <= 16U) { goto ldv_52085; } else { } return (0); } } static int bcm_char_ioctl_switch_transfer_mode(void *argp , struct bcm_mini_adapter *Adapter ) { UINT uiData ; unsigned long tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; { uiData = 0U; tmp = copy_from_user((void *)(& uiData), (void const *)argp, 4UL); if (tmp != 0UL) { return (-14); } else { } if (uiData != 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_char_ioctl_switch_transfer_mode"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___0.format = "%s:\nIOCTL_BCM_SWITCH_TRANSFER_MODE: ETH_PACKET_TUNNELING_MODE\n"; descriptor___0.lineno = 1200U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nIOCTL_BCM_SWITCH_TRANSFER_MODE: ETH_PACKET_TUNNELING_MODE\n", "bcm_char_ioctl_switch_transfer_mode"); } else { } } else { } Adapter->TransferMode = 1; } else { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "bcm_char_ioctl_switch_transfer_mode"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___2.format = "%s:\nIOCTL_BCM_SWITCH_TRANSFER_MODE: IP_PACKET_ONLY_MODE\n"; descriptor___2.lineno = 1205U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nIOCTL_BCM_SWITCH_TRANSFER_MODE: IP_PACKET_ONLY_MODE\n", "bcm_char_ioctl_switch_transfer_mode"); } else { } } else { } Adapter->TransferMode = 0; } return (0); } } static int bcm_char_ioctl_get_driver_version(void *argp ) { struct bcm_ioctl_buffer IoBuffer ; ulong len ; unsigned long tmp ; ulong __min1 ; ulong __min2 ; size_t tmp___0 ; unsigned long tmp___1 ; { tmp = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp != 0UL) { return (-14); } else { } __min1 = IoBuffer.OutputLength; tmp___0 = strlen("5.2.45"); __min2 = tmp___0 + 1UL; len = __min1 < __min2 ? __min1 : __min2; tmp___1 = copy_to_user(IoBuffer.OutputBuffer, (void const *)"5.2.45", len); if (tmp___1 != 0UL) { return (-14); } else { } return (0); } } static int bcm_char_ioctl_get_current_status(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_link_state link_state ; struct bcm_ioctl_buffer IoBuffer ; unsigned long tmp___1 ; size_t __min1 ; size_t __min2 ; unsigned long tmp___4 ; { tmp___1 = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp___1 != 0UL) { printk("\016%s:copy_from_user failed..\n", "bcm_char_ioctl_get_current_status"); return (-14); } else { } if (IoBuffer.OutputLength != 3UL) { return (-22); } else { } memset((void *)(& link_state), 0, 3UL); link_state.bIdleMode = (unsigned char )Adapter->IdleMode; link_state.bShutdownMode = (unsigned char )Adapter->bShutStatus; link_state.ucLinkStatus = Adapter->LinkStatus; __min1 = 3UL; __min2 = IoBuffer.OutputLength; tmp___4 = copy_to_user(IoBuffer.OutputBuffer, (void const *)(& link_state), __min1 < __min2 ? __min1 : __min2); if (tmp___4 != 0UL) { printk("\016%s:Copy_to_user Failed..\n", "bcm_char_ioctl_get_current_status"); return (-14); } else { } return (0); } } static int bcm_char_ioctl_set_mac_tracing(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_ioctl_buffer IoBuffer ; UINT tracing_flag ; unsigned long tmp ; unsigned long tmp___0 ; { tmp = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp != 0UL) { return (-14); } else { } tmp___0 = copy_from_user((void *)(& tracing_flag), (void const *)IoBuffer.InputBuffer, 4UL); if (tmp___0 != 0UL) { return (-14); } else { } if (tracing_flag != 0U) { (Adapter->pTarangs)->MacTracingEnabled = 1; } else { (Adapter->pTarangs)->MacTracingEnabled = 0; } return (0); } } static int bcm_char_ioctl_get_dsx_indication(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_ioctl_buffer IoBuffer ; ULONG ulSFId ; unsigned long tmp ; unsigned long tmp___2 ; struct _ddebug descriptor___2 ; long tmp___4 ; { ulSFId = 0UL; tmp = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp != 0UL) { return (-14); } else { } if (IoBuffer.OutputLength <= 8459UL) { printk("\016%s:Mismatch req: %lx needed is =0x%zx!!!", "bcm_char_ioctl_get_dsx_indication", IoBuffer.OutputLength, 8460UL); return (-22); } else { } tmp___2 = copy_from_user((void *)(& ulSFId), (void const *)IoBuffer.InputBuffer, 8UL); if (tmp___2 != 0UL) { return (-14); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "bcm_char_ioctl_get_dsx_indication"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___2.format = "%s:\nGet DSX Data SF ID is =%lx\n"; descriptor___2.lineno = 1301U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nGet DSX Data SF ID is =%lx\n", "bcm_char_ioctl_get_dsx_indication", ulSFId); } else { } } else { } get_dsx_sf_data_to_application(Adapter, (UINT )ulSFId, IoBuffer.OutputBuffer); return (0); } } static int bcm_char_ioctl_get_host_mibs(void *argp , struct bcm_mini_adapter *Adapter , struct bcm_tarang_data *pTarang ) { struct bcm_ioctl_buffer IoBuffer ; INT Status ; PVOID temp_buff ; unsigned long tmp ; unsigned long tmp___2 ; { Status = -1; tmp = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp != 0UL) { return (-14); } else { } if (IoBuffer.OutputLength != 122048UL) { printk("\016%s:Length Check failed %lu %zd\n", "bcm_char_ioctl_get_host_mibs", IoBuffer.OutputLength, 122048UL); return (-22); } else { } temp_buff = kzalloc(122048UL, 208U); if ((unsigned long )temp_buff == (unsigned long )((PVOID )0)) { return (-1); } else { } Status = ProcessGetHostMibs(Adapter, (struct bcm_host_stats_mibs *)temp_buff); GetDroppedAppCntrlPktMibs((struct bcm_host_stats_mibs *)temp_buff, pTarang); if (Status != -1) { tmp___2 = copy_to_user(IoBuffer.OutputBuffer, (void const *)temp_buff, 122048UL); if (tmp___2 != 0UL) { kfree((void const *)temp_buff); return (-14); } else { } } else { } kfree((void const *)temp_buff); return (Status); } } static int bcm_char_ioctl_bulk_wrm(void *argp , struct bcm_mini_adapter *Adapter , UINT cmd ) { struct bcm_bulk_wrm_buffer *pBulkBuffer ; struct bcm_ioctl_buffer IoBuffer ; UINT uiTempVar ; INT Status ; PCHAR pvBuffer ; unsigned long tmp___1 ; void *tmp___2 ; long tmp___3 ; bool tmp___4 ; { uiTempVar = 0U; Status = -1; pvBuffer = (PCHAR )0; if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { printk("\016%s:Device in Idle/Shutdown Mode, Blocking Wrms\n", "bcm_char_ioctl_bulk_wrm"); return (-13); } else { } tmp___1 = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp___1 != 0UL) { return (-14); } else { } if (IoBuffer.InputLength <= 15UL) { return (-22); } else { } tmp___2 = memdup_user((void const *)IoBuffer.InputBuffer, IoBuffer.InputLength); pvBuffer = (PCHAR )tmp___2; tmp___4 = IS_ERR((void const *)pvBuffer); if ((int )tmp___4) { tmp___3 = PTR_ERR((void const *)pvBuffer); return ((int )tmp___3); } else { } pBulkBuffer = (struct bcm_bulk_wrm_buffer *)pvBuffer; if ((pBulkBuffer->Register & 251658240UL) != 251658240UL || (pBulkBuffer->Register & 3UL) != 0UL) { printk("\016%s:WRM Done On invalid Address : %x Access Denied.\n", "bcm_char_ioctl_bulk_wrm", (int )pBulkBuffer->Register); kfree((void const *)pvBuffer); return (-22); } else { } uiTempVar = (UINT )pBulkBuffer->Register & 268435455U; if ((((Adapter->pstargetparams)->m_u32Customize & 3U) == 0U && (((uiTempVar == 251670552U || uiTempVar == 251670556U) || uiTempVar == 251670536U) || uiTempVar == 251670560U)) && cmd == 1074031362U) { kfree((void const *)pvBuffer); printk("\016%s:EEPROM Access Denied, not in VSG Mode\n", "bcm_char_ioctl_bulk_wrm"); return (-14); } else { } if (pBulkBuffer->SwapEndian == 0UL) { Status = wrmWithLock(Adapter, (unsigned int )pBulkBuffer->Register, (char *)(& pBulkBuffer->Values), IoBuffer.InputLength - 16UL); } else { Status = wrmaltWithLock(Adapter, (unsigned int )pBulkBuffer->Register, (unsigned int *)(& pBulkBuffer->Values), IoBuffer.InputLength - 16UL); } if (Status != 0) { printk("\016%s:WRM Failed\n", "bcm_char_ioctl_bulk_wrm"); } else { } kfree((void const *)pvBuffer); return (Status); } } static int bcm_char_ioctl_get_nvm_size(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_ioctl_buffer IoBuffer ; unsigned long tmp ; unsigned long tmp___0 ; { tmp = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp != 0UL) { return (-14); } else { } if ((unsigned int )Adapter->eNVMType == 1U || (unsigned int )Adapter->eNVMType == 2U) { tmp___0 = copy_to_user(IoBuffer.OutputBuffer, (void const *)(& Adapter->uiNVMDSDSize), 4UL); if (tmp___0 != 0UL) { return (-14); } else { } } else { } return (0); } } static int bcm_char_ioctl_cal_init(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_ioctl_buffer IoBuffer ; UINT uiSectorSize ; INT Status ; unsigned long tmp ; unsigned long tmp___0 ; unsigned long tmp___1 ; unsigned long tmp___2 ; INT tmp___5 ; { uiSectorSize = 0U; Status = -1; if ((unsigned int )Adapter->eNVMType == 2U) { tmp = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp != 0UL) { return (-14); } else { } tmp___0 = copy_from_user((void *)(& uiSectorSize), (void const *)IoBuffer.InputBuffer, 4UL); if (tmp___0 != 0UL) { return (-14); } else { } if (uiSectorSize <= 1023U || uiSectorSize > 524288U) { tmp___1 = copy_to_user(IoBuffer.OutputBuffer, (void const *)(& Adapter->uiSectorSize), 4UL); if (tmp___1 != 0UL) { return (-14); } else { } } else { tmp___5 = IsFlash2x(Adapter); if (tmp___5 != 0) { tmp___2 = copy_to_user(IoBuffer.OutputBuffer, (void const *)(& Adapter->uiSectorSize), 4UL); if (tmp___2 != 0UL) { return (-14); } else { } } else { if ((int )Adapter->bShutStatus || (int )Adapter->IdleMode) { printk("\016%s:Device is in Idle/Shutdown Mode\n", "bcm_char_ioctl_cal_init"); return (-13); } else { } Adapter->uiSectorSize = uiSectorSize; BcmUpdateSectorSize(Adapter, Adapter->uiSectorSize); } } Status = 0; } else { Status = -1; } return (Status); } } static int bcm_char_ioctl_set_debug(void *argp , struct bcm_mini_adapter *Adapter ) { { return (0); } } static int bcm_char_ioctl_nvm_rw(void *argp , struct bcm_mini_adapter *Adapter , UINT cmd ) { struct bcm_nvm_readwrite stNVMReadWrite ; struct timeval tv0 ; struct timeval tv1 ; struct bcm_ioctl_buffer IoBuffer ; PUCHAR pReadData ; INT Status ; INT tmp___3 ; unsigned long tmp___4 ; unsigned long tmp___5 ; void *tmp___6 ; long tmp___7 ; bool tmp___8 ; int ret ; int tmp___9 ; struct _ddebug descriptor___4 ; long tmp___11 ; int ret___0 ; int tmp___12 ; INT tmp___13 ; INT tmp___14 ; struct _ddebug descriptor___6 ; long tmp___16 ; { pReadData = (PUCHAR )0U; Status = -1; memset((void *)(& tv0), 0, 16UL); memset((void *)(& tv1), 0, 16UL); if ((unsigned int )Adapter->eNVMType == 2U && Adapter->uiFlashLayoutMajorVersion == 0U) { printk("\016%s:The Flash Control Section is Corrupted. Hence Rejection on NVM Read/Write\n", "bcm_char_ioctl_nvm_rw"); return (-14); } else { } tmp___3 = IsFlash2x(Adapter); if (tmp___3 != 0) { if (((unsigned int )Adapter->eActiveDSD != 3U && (unsigned int )Adapter->eActiveDSD != 4U) && (unsigned int )Adapter->eActiveDSD != 5U) { printk("\016%s:No DSD is active..hence NVM Command is blocked", "bcm_char_ioctl_nvm_rw"); return (-1); } else { } } else { } tmp___4 = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp___4 != 0UL) { return (-14); } else { } tmp___5 = copy_from_user((void *)(& stNVMReadWrite), (void const *)(cmd == 2147773281U ? IoBuffer.OutputBuffer : IoBuffer.InputBuffer), 24UL); if (tmp___5 != 0UL) { return (-14); } else { } if (stNVMReadWrite.uiNumBytes > Adapter->uiNVMDSDSize) { return (-1); } else { } if (stNVMReadWrite.uiOffset > Adapter->uiNVMDSDSize - stNVMReadWrite.uiNumBytes) { return (-1); } else { } tmp___6 = memdup_user((void const *)stNVMReadWrite.pBuffer, (size_t )stNVMReadWrite.uiNumBytes); pReadData = (PUCHAR )tmp___6; tmp___8 = IS_ERR((void const *)pReadData); if ((int )tmp___8) { tmp___7 = PTR_ERR((void const *)pReadData); return ((int )tmp___7); } else { } do_gettimeofday(& tv0); if (cmd == 2147773281U) { tmp___9 = bcm_handle_nvm_read_cmd(Adapter, pReadData, & stNVMReadWrite); ret = tmp___9; if (ret != 0) { return (ret); } else { } } else { down(& Adapter->NVMRdmWrmLock); if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "bcm_char_ioctl_nvm_rw"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___4.format = "%s:\nDevice is in Idle/Shutdown Mode\n"; descriptor___4.lineno = 1590U; descriptor___4.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nDevice is in Idle/Shutdown Mode\n", "bcm_char_ioctl_nvm_rw"); } else { } } else { } up(& Adapter->NVMRdmWrmLock); kfree((void const *)pReadData); return (-13); } else { } Adapter->bHeaderChangeAllowed = 1; tmp___13 = IsFlash2x(Adapter); if (tmp___13 != 0) { tmp___12 = handle_flash2x_adapter(Adapter, pReadData, & stNVMReadWrite); ret___0 = tmp___12; if (ret___0 != 0) { return (ret___0); } else { } } else { } Status = BeceemNVMWrite(Adapter, (unsigned int *)pReadData, stNVMReadWrite.uiOffset, stNVMReadWrite.uiNumBytes, (int )stNVMReadWrite.bVerify); tmp___14 = IsFlash2x(Adapter); if (tmp___14 != 0) { BcmFlash2xWriteSig(Adapter, Adapter->eActiveDSD); } else { } Adapter->bHeaderChangeAllowed = 0; up(& Adapter->NVMRdmWrmLock); if (Status != 0) { kfree((void const *)pReadData); return (Status); } else { } } do_gettimeofday(& tv1); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "bcm_char_ioctl_nvm_rw"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___6.format = "%s:\n timetaken by Write/read :%ld msec\n"; descriptor___6.lineno = 1625U; descriptor___6.flags = 0U; tmp___16 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___16 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\n timetaken by Write/read :%ld msec\n", "bcm_char_ioctl_nvm_rw", (tv1.tv_sec - tv0.tv_sec) * 1000L + (tv1.tv_usec - tv0.tv_usec) / 1000L); } else { } } else { } kfree((void const *)pReadData); return (0); } } static int bcm_char_ioctl_flash2x_section_read(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_flash2x_readwrite sFlash2xRead ; struct bcm_ioctl_buffer IoBuffer ; PUCHAR pReadBuff ; UINT NOB ; UINT BuffSize ; UINT ReadBytes ; UINT ReadOffset ; INT Status ; void *OutPutBuff ; INT tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; unsigned long tmp___4 ; unsigned long tmp___5 ; struct _ddebug descriptor___4 ; long tmp___7 ; struct _ddebug descriptor___6 ; long tmp___9 ; struct _ddebug descriptor___8 ; long tmp___11 ; struct _ddebug descriptor___10 ; long tmp___13 ; INT tmp___14 ; void *tmp___15 ; struct _ddebug descriptor___14 ; long tmp___19 ; struct _ddebug descriptor___16 ; long tmp___21 ; struct _ddebug descriptor___17 ; long tmp___22 ; unsigned long tmp___23 ; struct _ddebug descriptor___19 ; long tmp___25 ; { sFlash2xRead.Section = 0; sFlash2xRead.offset = 0U; sFlash2xRead.numOfBytes = 0U; sFlash2xRead.bVerify = 0U; sFlash2xRead.pDataBuff = 0; pReadBuff = (PUCHAR )0U; NOB = 0U; BuffSize = 0U; ReadBytes = 0U; ReadOffset = 0U; Status = -1; tmp___1 = IsFlash2x(Adapter); if (tmp___1 != 1) { printk("\016%s:Flash Does not have 2.x map", "bcm_char_ioctl_flash2x_section_read"); return (-22); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "bcm_char_ioctl_flash2x_section_read"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___2.format = "%s:\nIOCTL_BCM_FLASH2X_SECTION_READ Called"; descriptor___2.lineno = 1651U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nIOCTL_BCM_FLASH2X_SECTION_READ Called", "bcm_char_ioctl_flash2x_section_read"); } else { } } else { } tmp___4 = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp___4 != 0UL) { return (-14); } else { } tmp___5 = copy_from_user((void *)(& sFlash2xRead), (void const *)IoBuffer.InputBuffer, 24UL); if (tmp___5 != 0UL) { return (-14); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "bcm_char_ioctl_flash2x_section_read"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___4.format = "%s:\n\nsFlash2xRead.Section :%x"; descriptor___4.lineno = 1662U; descriptor___4.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n\nsFlash2xRead.Section :%x", "bcm_char_ioctl_flash2x_section_read", (unsigned int )sFlash2xRead.Section); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "bcm_char_ioctl_flash2x_section_read"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___6.format = "%s:\n\nsFlash2xRead.offset :%x"; descriptor___6.lineno = 1665U; descriptor___6.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\n\nsFlash2xRead.offset :%x", "bcm_char_ioctl_flash2x_section_read", sFlash2xRead.offset); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "bcm_char_ioctl_flash2x_section_read"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___8.format = "%s:\n\nsFlash2xRead.numOfBytes :%x"; descriptor___8.lineno = 1668U; descriptor___8.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\n\nsFlash2xRead.numOfBytes :%x", "bcm_char_ioctl_flash2x_section_read", sFlash2xRead.numOfBytes); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "bcm_char_ioctl_flash2x_section_read"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___10.format = "%s:\n\nsFlash2xRead.bVerify :%x\n"; descriptor___10.lineno = 1671U; descriptor___10.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\n\nsFlash2xRead.bVerify :%x\n", "bcm_char_ioctl_flash2x_section_read", sFlash2xRead.bVerify); } else { } } else { } tmp___14 = validateFlash2xReadWrite(Adapter, & sFlash2xRead); if (tmp___14 == 0) { return (-1); } else { } NOB = sFlash2xRead.numOfBytes; if (Adapter->uiSectorSize < NOB) { BuffSize = Adapter->uiSectorSize; } else { BuffSize = NOB; } ReadOffset = sFlash2xRead.offset; OutPutBuff = IoBuffer.OutputBuffer; tmp___15 = kzalloc((size_t )BuffSize, 208U); pReadBuff = (PUCHAR )tmp___15; if ((unsigned long )pReadBuff == (unsigned long )((PUCHAR )0U)) { printk("\016%s:Memory allocation failed for Flash 2.x Read Structure", "bcm_char_ioctl_flash2x_section_read"); return (-12); } else { } down(& Adapter->NVMRdmWrmLock); if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "bcm_char_ioctl_flash2x_section_read"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___14.format = "%s:\nDevice is in Idle/Shutdown Mode\n"; descriptor___14.lineno = 1702U; descriptor___14.flags = 0U; tmp___19 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___19 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nDevice is in Idle/Shutdown Mode\n", "bcm_char_ioctl_flash2x_section_read"); } else { } } else { } up(& Adapter->NVMRdmWrmLock); kfree((void const *)pReadBuff); return (-13); } else { } goto ldv_52245; ldv_52244: ; if (Adapter->uiSectorSize < NOB) { ReadBytes = Adapter->uiSectorSize; } else { ReadBytes = NOB; } Status = BcmFlash2xBulkRead(Adapter, (unsigned int *)pReadBuff, sFlash2xRead.Section, ReadOffset, ReadBytes); if (Status != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "bcm_char_ioctl_flash2x_section_read"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___16.format = "%s:\nFlash 2x read err with Status :%d"; descriptor___16.lineno = 1721U; descriptor___16.flags = 0U; tmp___21 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___21 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\nFlash 2x read err with Status :%d", "bcm_char_ioctl_flash2x_section_read", Status); } else { } } else { } goto ldv_52240; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___17.modname = "bcm_wimax"; descriptor___17.function = "bcm_char_ioctl_flash2x_section_read"; descriptor___17.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___17.format = "%s:\n"; descriptor___17.lineno = 1726U; descriptor___17.flags = 0U; tmp___22 = ldv__builtin_expect((long )descriptor___17.flags & 1L, 0L); if (tmp___22 != 0L) { __dynamic_pr_debug(& descriptor___17, "%s:\n", "bcm_char_ioctl_flash2x_section_read"); } else { } print_hex_dump("\017", " ", 2, 16, 1, (void const *)pReadBuff, (size_t )ReadBytes, 0); } else { } tmp___23 = copy_to_user(OutPutBuff, (void const *)pReadBuff, (unsigned long )ReadBytes); Status = (INT )tmp___23; if (Status != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___19.modname = "bcm_wimax"; descriptor___19.function = "bcm_char_ioctl_flash2x_section_read"; descriptor___19.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___19.format = "%s:\nCopy to use failed with status :%d"; descriptor___19.lineno = 1732U; descriptor___19.flags = 0U; tmp___25 = ldv__builtin_expect((long )descriptor___19.flags & 1L, 0L); if (tmp___25 != 0L) { __dynamic_pr_debug(& descriptor___19, "%s:\nCopy to use failed with status :%d", "bcm_char_ioctl_flash2x_section_read", Status); } else { } } else { } up(& Adapter->NVMRdmWrmLock); kfree((void const *)pReadBuff); return (-14); } else { } NOB = NOB - ReadBytes; if (NOB != 0U) { ReadOffset = ReadOffset + ReadBytes; OutPutBuff = OutPutBuff + (unsigned long )ReadBytes; } else { } ldv_52245: ; if (NOB != 0U) { goto ldv_52244; } else { } ldv_52240: up(& Adapter->NVMRdmWrmLock); kfree((void const *)pReadBuff); return (Status); } } static int bcm_char_ioctl_flash2x_section_write(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_flash2x_readwrite sFlash2xWrite ; struct bcm_ioctl_buffer IoBuffer ; PUCHAR pWriteBuff ; void *InputAddr ; UINT NOB ; UINT BuffSize ; UINT WriteOffset ; UINT WriteBytes ; INT Status ; INT tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; unsigned long tmp___4 ; unsigned long tmp___5 ; struct _ddebug descriptor___4 ; long tmp___7 ; struct _ddebug descriptor___6 ; long tmp___9 ; struct _ddebug descriptor___8 ; long tmp___11 ; struct _ddebug descriptor___10 ; long tmp___13 ; struct _ddebug descriptor___12 ; long tmp___15 ; INT tmp___16 ; void *tmp___17 ; struct _ddebug descriptor___14 ; long tmp___19 ; unsigned long tmp___20 ; struct _ddebug descriptor___17 ; long tmp___23 ; { sFlash2xWrite.Section = 0; sFlash2xWrite.offset = 0U; sFlash2xWrite.numOfBytes = 0U; sFlash2xWrite.bVerify = 0U; sFlash2xWrite.pDataBuff = 0; NOB = 0U; BuffSize = 0U; WriteOffset = 0U; WriteBytes = 0U; Status = -1; tmp___1 = IsFlash2x(Adapter); if (tmp___1 != 1) { printk("\016%s:Flash Does not have 2.x map", "bcm_char_ioctl_flash2x_section_write"); return (-22); } else { } Adapter->bAllDSDWriteAllow = 0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "bcm_char_ioctl_flash2x_section_write"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___2.format = "%s:\nIOCTL_BCM_FLASH2X_SECTION_WRITE Called"; descriptor___2.lineno = 1774U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nIOCTL_BCM_FLASH2X_SECTION_WRITE Called", "bcm_char_ioctl_flash2x_section_write"); } else { } } else { } tmp___4 = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp___4 != 0UL) { return (-14); } else { } tmp___5 = copy_from_user((void *)(& sFlash2xWrite), (void const *)IoBuffer.InputBuffer, 24UL); if (tmp___5 != 0UL) { return (-14); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "bcm_char_ioctl_flash2x_section_write"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___4.format = "%s:\n\nsFlash2xRead.Section :%x"; descriptor___4.lineno = 1785U; descriptor___4.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n\nsFlash2xRead.Section :%x", "bcm_char_ioctl_flash2x_section_write", (unsigned int )sFlash2xWrite.Section); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "bcm_char_ioctl_flash2x_section_write"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___6.format = "%s:\n\nsFlash2xRead.offset :%d"; descriptor___6.lineno = 1787U; descriptor___6.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\n\nsFlash2xRead.offset :%d", "bcm_char_ioctl_flash2x_section_write", sFlash2xWrite.offset); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "bcm_char_ioctl_flash2x_section_write"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___8.format = "%s:\n\nsFlash2xRead.numOfBytes :%x"; descriptor___8.lineno = 1789U; descriptor___8.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\n\nsFlash2xRead.numOfBytes :%x", "bcm_char_ioctl_flash2x_section_write", sFlash2xWrite.numOfBytes); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "bcm_char_ioctl_flash2x_section_write"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___10.format = "%s:\n\nsFlash2xRead.bVerify :%x\n"; descriptor___10.lineno = 1791U; descriptor___10.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\n\nsFlash2xRead.bVerify :%x\n", "bcm_char_ioctl_flash2x_section_write", sFlash2xWrite.bVerify); } else { } } else { } if (((unsigned int )sFlash2xWrite.Section != 6U && (unsigned int )sFlash2xWrite.Section != 7U) && (unsigned int )sFlash2xWrite.Section != 8U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "bcm_char_ioctl_flash2x_section_write"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___12.format = "%s:\nOnly VSA write is allowed"; descriptor___12.lineno = 1796U; descriptor___12.flags = 0U; tmp___15 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___15 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nOnly VSA write is allowed", "bcm_char_ioctl_flash2x_section_write"); } else { } } else { } return (-22); } else { } tmp___16 = validateFlash2xReadWrite(Adapter, & sFlash2xWrite); if (tmp___16 == 0) { return (-1); } else { } InputAddr = sFlash2xWrite.pDataBuff; WriteOffset = sFlash2xWrite.offset; NOB = sFlash2xWrite.numOfBytes; if (Adapter->uiSectorSize < NOB) { BuffSize = Adapter->uiSectorSize; } else { BuffSize = NOB; } tmp___17 = kmalloc((size_t )BuffSize, 208U); pWriteBuff = (PUCHAR )tmp___17; if ((unsigned long )pWriteBuff == (unsigned long )((PUCHAR )0U)) { return (-12); } else { } WriteBytes = Adapter->uiSectorSize; if (WriteOffset % Adapter->uiSectorSize != 0U) { WriteBytes = Adapter->uiSectorSize - WriteOffset % Adapter->uiSectorSize; } else { } if (NOB < WriteBytes) { WriteBytes = NOB; } else { } down(& Adapter->NVMRdmWrmLock); if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "bcm_char_ioctl_flash2x_section_write"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___14.format = "%s:\nDevice is in Idle/Shutdown Mode\n"; descriptor___14.lineno = 1834U; descriptor___14.flags = 0U; tmp___19 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___19 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nDevice is in Idle/Shutdown Mode\n", "bcm_char_ioctl_flash2x_section_write"); } else { } } else { } up(& Adapter->NVMRdmWrmLock); kfree((void const *)pWriteBuff); return (-13); } else { } BcmFlash2xCorruptSig(Adapter, sFlash2xWrite.Section); ldv_52282: tmp___20 = copy_from_user((void *)pWriteBuff, (void const *)InputAddr, (unsigned long )WriteBytes); Status = (INT )tmp___20; if (Status != 0) { printk("\016%s:Copy to user failed with status :%d", "bcm_char_ioctl_flash2x_section_write", Status); up(& Adapter->NVMRdmWrmLock); kfree((void const *)pWriteBuff); return (-14); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___17.modname = "bcm_wimax"; descriptor___17.function = "bcm_char_ioctl_flash2x_section_write"; descriptor___17.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___17.format = "%s:\n"; descriptor___17.lineno = 1851U; descriptor___17.flags = 0U; tmp___23 = ldv__builtin_expect((long )descriptor___17.flags & 1L, 0L); if (tmp___23 != 0L) { __dynamic_pr_debug(& descriptor___17, "%s:\n", "bcm_char_ioctl_flash2x_section_write"); } else { } print_hex_dump("\017", " ", 2, 16, 1, (void const *)pWriteBuff, (size_t )WriteBytes, 0); } else { } Status = BcmFlash2xBulkWrite(Adapter, (unsigned int *)pWriteBuff, sFlash2xWrite.Section, WriteOffset, WriteBytes, sFlash2xWrite.bVerify); if (Status != 0) { printk("\016%s:Flash 2x read err with Status :%d", "bcm_char_ioctl_flash2x_section_write", Status); goto ldv_52281; } else { } NOB = NOB - WriteBytes; if (NOB != 0U) { WriteOffset = WriteOffset + WriteBytes; InputAddr = InputAddr + (unsigned long )WriteBytes; if (Adapter->uiSectorSize < NOB) { WriteBytes = Adapter->uiSectorSize; } else { WriteBytes = NOB; } } else { } if (NOB != 0U) { goto ldv_52282; } else { } ldv_52281: BcmFlash2xWriteSig(Adapter, sFlash2xWrite.Section); up(& Adapter->NVMRdmWrmLock); kfree((void const *)pWriteBuff); return (Status); } } static int bcm_char_ioctl_flash2x_section_bitmap(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_flash2x_bitmap *psFlash2xBitMap ; struct bcm_ioctl_buffer IoBuffer ; struct _ddebug descriptor___0 ; long tmp___0 ; unsigned long tmp___1 ; void *tmp___2 ; struct _ddebug descriptor___4 ; long tmp___6 ; unsigned long tmp___7 ; { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_char_ioctl_flash2x_section_bitmap"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___0.format = "%s:\nIOCTL_BCM_GET_FLASH2X_SECTION_BITMAP Called"; descriptor___0.lineno = 1890U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nIOCTL_BCM_GET_FLASH2X_SECTION_BITMAP Called", "bcm_char_ioctl_flash2x_section_bitmap"); } else { } } else { } tmp___1 = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp___1 != 0UL) { return (-14); } else { } if (IoBuffer.OutputLength != 13UL) { return (-22); } else { } tmp___2 = kzalloc(13UL, 208U); psFlash2xBitMap = (struct bcm_flash2x_bitmap *)tmp___2; if ((unsigned long )psFlash2xBitMap == (unsigned long )((struct bcm_flash2x_bitmap *)0)) { printk("\016%s:Memory is not available", "bcm_char_ioctl_flash2x_section_bitmap"); return (-12); } else { } down(& Adapter->NVMRdmWrmLock); if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "bcm_char_ioctl_flash2x_section_bitmap"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___4.format = "%s:\nDevice is in Idle/Shutdown Mode\n"; descriptor___4.lineno = 1915U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nDevice is in Idle/Shutdown Mode\n", "bcm_char_ioctl_flash2x_section_bitmap"); } else { } } else { } up(& Adapter->NVMRdmWrmLock); kfree((void const *)psFlash2xBitMap); return (-13); } else { } BcmGetFlash2xSectionalBitMap(Adapter, psFlash2xBitMap); up(& Adapter->NVMRdmWrmLock); tmp___7 = copy_to_user(IoBuffer.OutputBuffer, (void const *)psFlash2xBitMap, 13UL); if (tmp___7 != 0UL) { kfree((void const *)psFlash2xBitMap); return (-14); } else { } kfree((void const *)psFlash2xBitMap); return (-1); } } static int bcm_char_ioctl_set_active_section(void *argp , struct bcm_mini_adapter *Adapter ) { enum bcm_flash2x_section_val eFlash2xSectionVal ; INT Status ; struct bcm_ioctl_buffer IoBuffer ; struct _ddebug descriptor___0 ; long tmp___0 ; INT tmp___3 ; unsigned long tmp___4 ; unsigned long tmp___7 ; struct _ddebug descriptor___8 ; long tmp___11 ; { eFlash2xSectionVal = 0; Status = -1; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_char_ioctl_set_active_section"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___0.format = "%s:\nIOCTL_BCM_SET_ACTIVE_SECTION Called"; descriptor___0.lineno = 1941U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nIOCTL_BCM_SET_ACTIVE_SECTION Called", "bcm_char_ioctl_set_active_section"); } else { } } else { } tmp___3 = IsFlash2x(Adapter); if (tmp___3 != 1) { printk("\016%s:Flash Does not have 2.x map", "bcm_char_ioctl_set_active_section"); return (-22); } else { } tmp___4 = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); Status = (INT )tmp___4; if (Status != 0) { printk("\016%s:Copy of IOCTL BUFFER failed", "bcm_char_ioctl_set_active_section"); return (-14); } else { } tmp___7 = copy_from_user((void *)(& eFlash2xSectionVal), (void const *)IoBuffer.InputBuffer, 4UL); Status = (INT )tmp___7; if (Status != 0) { printk("\016%s:Copy of flash section val failed", "bcm_char_ioctl_set_active_section"); return (-14); } else { } down(& Adapter->NVMRdmWrmLock); if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "bcm_char_ioctl_set_active_section"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___8.format = "%s:\nDevice is in Idle/Shutdown Mode\n"; descriptor___8.lineno = 1972U; descriptor___8.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nDevice is in Idle/Shutdown Mode\n", "bcm_char_ioctl_set_active_section"); } else { } } else { } up(& Adapter->NVMRdmWrmLock); return (-13); } else { } Status = BcmSetActiveSection(Adapter, eFlash2xSectionVal); if (Status != 0) { printk("\016%s:Failed to make it\'s priority Highest. Status %d", "bcm_char_ioctl_set_active_section", Status); } else { } up(& Adapter->NVMRdmWrmLock); return (Status); } } static int bcm_char_ioctl_copy_section(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_flash2x_copy_section sCopySectStrut ; struct bcm_ioctl_buffer IoBuffer ; INT Status ; struct _ddebug descriptor___0 ; long tmp___0 ; INT tmp___3 ; unsigned long tmp___4 ; unsigned long tmp___7 ; struct _ddebug descriptor___8 ; long tmp___11 ; struct _ddebug descriptor___10 ; long tmp___13 ; struct _ddebug descriptor___12 ; long tmp___15 ; struct _ddebug descriptor___14 ; long tmp___17 ; bool tmp___20 ; int tmp___21 ; bool tmp___24 ; int tmp___25 ; struct _ddebug descriptor___20 ; long tmp___27 ; struct _ddebug descriptor___22 ; long tmp___29 ; bool tmp___34 ; { sCopySectStrut.SrcSection = 0; sCopySectStrut.DstSection = 0; sCopySectStrut.offset = 0U; sCopySectStrut.numOfBytes = 0U; Status = 0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_char_ioctl_copy_section"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___0.format = "%s:\nIOCTL_BCM_COPY_SECTION Called"; descriptor___0.lineno = 1996U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nIOCTL_BCM_COPY_SECTION Called", "bcm_char_ioctl_copy_section"); } else { } } else { } Adapter->bAllDSDWriteAllow = 0; tmp___3 = IsFlash2x(Adapter); if (tmp___3 != 1) { printk("\016%s:Flash Does not have 2.x map", "bcm_char_ioctl_copy_section"); return (-22); } else { } tmp___4 = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); Status = (INT )tmp___4; if (Status != 0) { printk("\016%s:Copy of IOCTL BUFFER failed Status :%d", "bcm_char_ioctl_copy_section", Status); return (-14); } else { } tmp___7 = copy_from_user((void *)(& sCopySectStrut), (void const *)IoBuffer.InputBuffer, 16UL); Status = (INT )tmp___7; if (Status != 0) { printk("\016%s:Copy of Copy_Section_Struct failed with Status :%d", "bcm_char_ioctl_copy_section", Status); return (-14); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "bcm_char_ioctl_copy_section"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___8.format = "%s:\nSource SEction :%x"; descriptor___8.lineno = 2024U; descriptor___8.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nSource SEction :%x", "bcm_char_ioctl_copy_section", (unsigned int )sCopySectStrut.SrcSection); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "bcm_char_ioctl_copy_section"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___10.format = "%s:\nDestination SEction :%x"; descriptor___10.lineno = 2026U; descriptor___10.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nDestination SEction :%x", "bcm_char_ioctl_copy_section", (unsigned int )sCopySectStrut.DstSection); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "bcm_char_ioctl_copy_section"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___12.format = "%s:\noffset :%x"; descriptor___12.lineno = 2028U; descriptor___12.flags = 0U; tmp___15 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___15 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\noffset :%x", "bcm_char_ioctl_copy_section", sCopySectStrut.offset); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "bcm_char_ioctl_copy_section"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___14.format = "%s:\nNOB :%x"; descriptor___14.lineno = 2030U; descriptor___14.flags = 0U; tmp___17 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___17 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nNOB :%x", "bcm_char_ioctl_copy_section", sCopySectStrut.numOfBytes); } else { } } else { } tmp___20 = IsSectionExistInFlash(Adapter, sCopySectStrut.SrcSection); if (tmp___20) { tmp___21 = 0; } else { tmp___21 = 1; } if (tmp___21) { printk("\016%s:Source Section<%x> does not exist in Flash ", "bcm_char_ioctl_copy_section", (unsigned int )sCopySectStrut.SrcSection); return (-22); } else { } tmp___24 = IsSectionExistInFlash(Adapter, sCopySectStrut.DstSection); if (tmp___24) { tmp___25 = 0; } else { tmp___25 = 1; } if (tmp___25) { printk("\016%s:Destinatio Section<%x> does not exist in Flash ", "bcm_char_ioctl_copy_section", (unsigned int )sCopySectStrut.DstSection); return (-22); } else { } if ((unsigned int )sCopySectStrut.SrcSection == (unsigned int )sCopySectStrut.DstSection) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___20.modname = "bcm_wimax"; descriptor___20.function = "bcm_char_ioctl_copy_section"; descriptor___20.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___20.format = "%s:\nSource and Destination section should be different"; descriptor___20.lineno = 2048U; descriptor___20.flags = 0U; tmp___27 = ldv__builtin_expect((long )descriptor___20.flags & 1L, 0L); if (tmp___27 != 0L) { __dynamic_pr_debug(& descriptor___20, "%s:\nSource and Destination section should be different", "bcm_char_ioctl_copy_section"); } else { } } else { } return (-22); } else { } down(& Adapter->NVMRdmWrmLock); if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___22.modname = "bcm_wimax"; descriptor___22.function = "bcm_char_ioctl_copy_section"; descriptor___22.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___22.format = "%s:\nDevice is in Idle/Shutdown Mode\n"; descriptor___22.lineno = 2059U; descriptor___22.flags = 0U; tmp___29 = ldv__builtin_expect((long )descriptor___22.flags & 1L, 0L); if (tmp___29 != 0L) { __dynamic_pr_debug(& descriptor___22, "%s:\nDevice is in Idle/Shutdown Mode\n", "bcm_char_ioctl_copy_section"); } else { } } else { } up(& Adapter->NVMRdmWrmLock); return (-13); } else { } if ((unsigned int )sCopySectStrut.SrcSection == 1U || (unsigned int )sCopySectStrut.SrcSection == 2U) { tmp___34 = IsNonCDLessDevice(Adapter); if ((int )tmp___34) { printk("\016%s:Device is Non-CDLess hence won\'t have ISO !!", "bcm_char_ioctl_copy_section"); Status = -22; } else if (sCopySectStrut.numOfBytes == 0U) { Status = BcmCopyISO(Adapter, sCopySectStrut); } else { printk("\016%s:Partial Copy of ISO section is not Allowed..", "bcm_char_ioctl_copy_section"); Status = -1; } up(& Adapter->NVMRdmWrmLock); return (Status); } else { } Status = BcmCopySection(Adapter, sCopySectStrut.SrcSection, sCopySectStrut.DstSection, sCopySectStrut.offset, sCopySectStrut.numOfBytes); up(& Adapter->NVMRdmWrmLock); return (Status); } } static int bcm_char_ioctl_get_flash_cs_info(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_ioctl_buffer IoBuffer ; INT Status ; struct _ddebug descriptor___0 ; long tmp___0 ; unsigned long tmp___1 ; unsigned long tmp___6 ; unsigned long tmp___7 ; INT tmp___8 ; { Status = 0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_char_ioctl_get_flash_cs_info"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___0.format = "%s:\n IOCTL_BCM_GET_FLASH_CS_INFO Called"; descriptor___0.lineno = 2096U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n IOCTL_BCM_GET_FLASH_CS_INFO Called", "bcm_char_ioctl_get_flash_cs_info"); } else { } } else { } tmp___1 = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); Status = (INT )tmp___1; if (Status != 0) { printk("\016%s:Copy of IOCTL BUFFER failed", "bcm_char_ioctl_get_flash_cs_info"); return (-14); } else { } if ((unsigned int )Adapter->eNVMType != 2U) { printk("\016%s:Connected device does not have flash", "bcm_char_ioctl_get_flash_cs_info"); return (-22); } else { } tmp___8 = IsFlash2x(Adapter); if (tmp___8 == 1) { if (IoBuffer.OutputLength <= 435UL) { return (-22); } else { } tmp___6 = copy_to_user(IoBuffer.OutputBuffer, (void const *)Adapter->psFlash2xCSInfo, 436UL); if (tmp___6 != 0UL) { return (-14); } else { } } else { if (IoBuffer.OutputLength <= 95UL) { return (-22); } else { } tmp___7 = copy_to_user(IoBuffer.OutputBuffer, (void const *)Adapter->psFlashCSInfo, 96UL); if (tmp___7 != 0UL) { return (-14); } else { } } return (Status); } } static int bcm_char_ioctl_select_dsd(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_ioctl_buffer IoBuffer ; INT Status ; UINT SectOfset ; enum bcm_flash2x_section_val eFlash2xSectionVal ; struct _ddebug descriptor___0 ; long tmp___0 ; INT tmp___3 ; unsigned long tmp___4 ; unsigned long tmp___7 ; struct _ddebug descriptor___8 ; long tmp___11 ; INT tmp___14 ; { Status = -1; SectOfset = 0U; eFlash2xSectionVal = 0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_char_ioctl_select_dsd"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___0.format = "%s:\nIOCTL_BCM_SELECT_DSD Called"; descriptor___0.lineno = 2141U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nIOCTL_BCM_SELECT_DSD Called", "bcm_char_ioctl_select_dsd"); } else { } } else { } tmp___3 = IsFlash2x(Adapter); if (tmp___3 != 1) { printk("\016%s:Flash Does not have 2.x map", "bcm_char_ioctl_select_dsd"); return (-22); } else { } tmp___4 = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); Status = (INT )tmp___4; if (Status != 0) { printk("\016%s:Copy of IOCTL BUFFER failed", "bcm_char_ioctl_select_dsd"); return (-14); } else { } tmp___7 = copy_from_user((void *)(& eFlash2xSectionVal), (void const *)IoBuffer.InputBuffer, 4UL); Status = (INT )tmp___7; if (Status != 0) { printk("\016%s:Copy of flash section val failed", "bcm_char_ioctl_select_dsd"); return (-14); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "bcm_char_ioctl_select_dsd"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___8.format = "%s:\nRead Section :%d"; descriptor___8.lineno = 2165U; descriptor___8.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nRead Section :%d", "bcm_char_ioctl_select_dsd", (unsigned int )eFlash2xSectionVal); } else { } } else { } if (((unsigned int )eFlash2xSectionVal != 3U && (unsigned int )eFlash2xSectionVal != 4U) && (unsigned int )eFlash2xSectionVal != 5U) { printk("\016%s:Passed section<%x> is not DSD section", "bcm_char_ioctl_select_dsd", (unsigned int )eFlash2xSectionVal); return (-1); } else { } tmp___14 = BcmGetSectionValStartOffset(Adapter, eFlash2xSectionVal); SectOfset = (UINT )tmp___14; if (SectOfset == 4294967295U) { printk("\016%s:Provided Section val <%d> does not exist in Flash 2.x", "bcm_char_ioctl_select_dsd", (unsigned int )eFlash2xSectionVal); return (-22); } else { } Adapter->bAllDSDWriteAllow = 1; Adapter->ulFlashCalStart = SectOfset; Adapter->eActiveDSD = eFlash2xSectionVal; return (0); } } static int bcm_char_ioctl_nvm_raw_read(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_nvm_readwrite stNVMRead ; struct bcm_ioctl_buffer IoBuffer ; unsigned int NOB ; INT BuffSize ; INT ReadOffset ; UINT ReadBytes ; PUCHAR pReadBuff ; void *OutPutBuff ; INT Status ; unsigned long tmp___3 ; unsigned long tmp___4 ; void *tmp___5 ; struct _ddebug descriptor___6 ; long tmp___9 ; struct _ddebug descriptor___9 ; long tmp___12 ; unsigned long tmp___13 ; { ReadOffset = 0; ReadBytes = 0U; Status = -1; if ((unsigned int )Adapter->eNVMType != 2U) { printk("\016%s:NVM TYPE is not Flash", "bcm_char_ioctl_nvm_raw_read"); return (-22); } else { } tmp___3 = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp___3 != 0UL) { printk("\016%s:copy_from_user 1 failed\n", "bcm_char_ioctl_nvm_raw_read"); return (-14); } else { } tmp___4 = copy_from_user((void *)(& stNVMRead), (void const *)IoBuffer.OutputBuffer, 24UL); if (tmp___4 != 0UL) { return (-14); } else { } NOB = stNVMRead.uiNumBytes; if (NOB > 65536U) { BuffSize = 65536; } else { BuffSize = (INT )NOB; } ReadOffset = (INT )stNVMRead.uiOffset; OutPutBuff = stNVMRead.pBuffer; tmp___5 = kzalloc((size_t )BuffSize, 208U); pReadBuff = (PUCHAR )tmp___5; if ((unsigned long )pReadBuff == (unsigned long )((PUCHAR )0U)) { printk("\016%s:Memory allocation failed for Flash 2.x Read Structure", "bcm_char_ioctl_nvm_raw_read"); return (-12); } else { } down(& Adapter->NVMRdmWrmLock); if (((int )Adapter->IdleMode || (int )Adapter->bShutStatus) || (int )Adapter->bPreparingForLowPowerMode) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "bcm_char_ioctl_nvm_raw_read"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___6.format = "%s:\nDevice is in Idle/Shutdown Mode\n"; descriptor___6.lineno = 2245U; descriptor___6.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nDevice is in Idle/Shutdown Mode\n", "bcm_char_ioctl_nvm_raw_read"); } else { } } else { } kfree((void const *)pReadBuff); up(& Adapter->NVMRdmWrmLock); return (-13); } else { } Adapter->bFlashRawRead = 1; goto ldv_52417; ldv_52416: ; if (NOB > 65536U) { ReadBytes = 65536U; } else { ReadBytes = NOB; } Status = BeceemNVMRead(Adapter, (unsigned int *)pReadBuff, (UINT )ReadOffset, ReadBytes); if (Status != 0) { printk("\016%s:Flash 2x read err with Status :%d", "bcm_char_ioctl_nvm_raw_read", Status); goto ldv_52412; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___9.modname = "bcm_wimax"; descriptor___9.function = "bcm_char_ioctl_nvm_raw_read"; descriptor___9.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___9.format = "%s:\n"; descriptor___9.lineno = 2270U; descriptor___9.flags = 0U; tmp___12 = ldv__builtin_expect((long )descriptor___9.flags & 1L, 0L); if (tmp___12 != 0L) { __dynamic_pr_debug(& descriptor___9, "%s:\n", "bcm_char_ioctl_nvm_raw_read"); } else { } print_hex_dump("\017", " ", 2, 16, 1, (void const *)pReadBuff, (size_t )ReadBytes, 0); } else { } tmp___13 = copy_to_user(OutPutBuff, (void const *)pReadBuff, (unsigned long )ReadBytes); Status = (INT )tmp___13; if (Status != 0) { printk("\016%s:Copy to use failed with status :%d", "bcm_char_ioctl_nvm_raw_read", Status); up(& Adapter->NVMRdmWrmLock); kfree((void const *)pReadBuff); return (-14); } else { } NOB = NOB - ReadBytes; if (NOB != 0U) { ReadOffset = (INT )((UINT )ReadOffset + ReadBytes); OutPutBuff = OutPutBuff + (unsigned long )ReadBytes; } else { } ldv_52417: ; if (NOB != 0U) { goto ldv_52416; } else { } ldv_52412: Adapter->bFlashRawRead = 0; up(& Adapter->NVMRdmWrmLock); kfree((void const *)pReadBuff); return (Status); } } static int bcm_char_ioctl_cntrlmsg_mask(void *argp , struct bcm_mini_adapter *Adapter , struct bcm_tarang_data *pTarang ) { struct bcm_ioctl_buffer IoBuffer ; INT Status ; ULONG RxCntrlMsgBitMask ; unsigned long tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; unsigned long tmp___2 ; struct _ddebug descriptor___2 ; long tmp___4 ; struct _ddebug descriptor___4 ; long tmp___6 ; { Status = -1; RxCntrlMsgBitMask = 0UL; tmp = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); Status = (INT )tmp; if (Status != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_char_ioctl_cntrlmsg_mask"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___0.format = "%s:\ncopy of Ioctl buffer is failed from user space"; descriptor___0.lineno = 2305U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\ncopy of Ioctl buffer is failed from user space", "bcm_char_ioctl_cntrlmsg_mask"); } else { } } else { } return (-14); } else { } if (IoBuffer.InputLength != 8UL) { return (-22); } else { } tmp___2 = copy_from_user((void *)(& RxCntrlMsgBitMask), (void const *)IoBuffer.InputBuffer, IoBuffer.InputLength); Status = (INT )tmp___2; if (Status != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "bcm_char_ioctl_cntrlmsg_mask"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___2.format = "%s:\ncopy of control bit mask failed from user space"; descriptor___2.lineno = 2316U; descriptor___2.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\ncopy of control bit mask failed from user space", "bcm_char_ioctl_cntrlmsg_mask"); } else { } } else { } return (-14); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "bcm_char_ioctl_cntrlmsg_mask"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___4.format = "%s:\n\n Got user defined cntrl msg bit mask :%lx"; descriptor___4.lineno = 2321U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n\n Got user defined cntrl msg bit mask :%lx", "bcm_char_ioctl_cntrlmsg_mask", RxCntrlMsgBitMask); } else { } } else { } pTarang->RxCntrlMsgBitMask = RxCntrlMsgBitMask; return (Status); } } static int bcm_char_ioctl_get_device_driver_info(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_driver_info DevInfo ; struct bcm_ioctl_buffer IoBuffer ; struct _ddebug descriptor___0 ; long tmp___0 ; unsigned long tmp___1 ; unsigned long tmp___2 ; { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_char_ioctl_get_device_driver_info"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___0.format = "%s:\nCalled IOCTL_BCM_GET_DEVICE_DRIVER_INFO\n"; descriptor___0.lineno = 2334U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nCalled IOCTL_BCM_GET_DEVICE_DRIVER_INFO\n", "bcm_char_ioctl_get_device_driver_info"); } else { } } else { } memset((void *)(& DevInfo), 0, 60UL); DevInfo.MaxRDMBufferSize = 4096U; DevInfo.u32DSDStartOffset = 512U; DevInfo.u32RxAlignmentCorrection = 0U; DevInfo.u32NVMType = Adapter->eNVMType; DevInfo.u32InterfaceType = 2; tmp___1 = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp___1 != 0UL) { return (-14); } else { } if (IoBuffer.OutputLength <= 59UL) { return (-22); } else { } tmp___2 = copy_to_user(IoBuffer.OutputBuffer, (void const *)(& DevInfo), 60UL); if (tmp___2 != 0UL) { return (-14); } else { } return (0); } } static int bcm_char_ioctl_time_since_net_entry(void *argp , struct bcm_mini_adapter *Adapter ) { struct bcm_time_elapsed stTimeElapsedSinceNetEntry ; struct bcm_ioctl_buffer IoBuffer ; struct _ddebug descriptor___0 ; long tmp___0 ; unsigned long tmp___1 ; unsigned long tmp___2 ; unsigned long tmp___3 ; { stTimeElapsedSinceNetEntry.ul64TimeElapsedSinceNetEntry = 0ULL; stTimeElapsedSinceNetEntry.uiReserved[0] = 0U; stTimeElapsedSinceNetEntry.uiReserved[1] = 0U; stTimeElapsedSinceNetEntry.uiReserved[2] = 0U; stTimeElapsedSinceNetEntry.uiReserved[3] = 0U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_char_ioctl_time_since_net_entry"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___0.format = "%s:\nIOCTL_BCM_TIME_SINCE_NET_ENTRY called"; descriptor___0.lineno = 2362U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nIOCTL_BCM_TIME_SINCE_NET_ENTRY called", "bcm_char_ioctl_time_since_net_entry"); } else { } } else { } tmp___1 = copy_from_user((void *)(& IoBuffer), (void const *)argp, 32UL); if (tmp___1 != 0UL) { return (-14); } else { } if (IoBuffer.OutputLength <= 23UL) { return (-22); } else { } tmp___2 = get_seconds(); stTimeElapsedSinceNetEntry.ul64TimeElapsedSinceNetEntry = (u64 )(tmp___2 - (unsigned long )Adapter->liTimeSinceLastNetEntry); tmp___3 = copy_to_user(IoBuffer.OutputBuffer, (void const *)(& stTimeElapsedSinceNetEntry), 24UL); if (tmp___3 != 0UL) { return (-14); } else { } return (0); } } static long bcm_char_ioctl(struct file *filp , UINT cmd , ULONG arg ) { struct bcm_tarang_data *pTarang ; void *argp ; struct bcm_mini_adapter *Adapter ; INT Status ; struct _ddebug descriptor___0 ; long tmp___0 ; struct thread_info *tmp___1 ; bool tmp___2 ; int tmp___3 ; long tmp___4 ; struct thread_info *tmp___5 ; bool tmp___6 ; int tmp___7 ; long tmp___8 ; int __ret_gu ; register unsigned long __val_gu ; int __ret_gu___0 ; register unsigned long __val_gu___0 ; unsigned long tmp___9 ; struct _ddebug descriptor___2 ; long tmp___11 ; struct _ddebug descriptor___4 ; long tmp___13 ; { pTarang = (struct bcm_tarang_data *)filp->private_data; argp = (void *)arg; Adapter = pTarang->Adapter; Status = -1; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "bcm_char_ioctl"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___0.format = "%s:\nParameters Passed to control IOCTL cmd=0x%X arg=0x%lX"; descriptor___0.lineno = 2390U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nParameters Passed to control IOCTL cmd=0x%X arg=0x%lX", "bcm_char_ioctl", cmd, arg); } else { } } else { } if (((cmd >> 8) & 255U) != 107U) { return (-14L); } else { } if ((int )cmd < 0) { tmp___1 = current_thread_info(); tmp___2 = __chk_range_not_ok((unsigned long )argp, (unsigned long )(cmd >> 16) & 16383UL, tmp___1->addr_limit.seg); if (tmp___2) { tmp___3 = 0; } else { tmp___3 = 1; } tmp___4 = ldv__builtin_expect((long )tmp___3, 1L); Status = tmp___4 == 0L; } else if ((cmd & 1073741824U) != 0U) { tmp___5 = current_thread_info(); tmp___6 = __chk_range_not_ok((unsigned long )argp, (unsigned long )(cmd >> 16) & 16383UL, tmp___5->addr_limit.seg); if (tmp___6) { tmp___7 = 0; } else { tmp___7 = 1; } tmp___8 = ldv__builtin_expect((long )tmp___7, 1L); Status = tmp___8 == 0L; } else { Status = 0; } if (Status != 0) { return (-14L); } else { } if ((int )Adapter->device_removed) { return (-14L); } else { } if (! Adapter->fw_download_done) { switch (cmd) { case 1074031377U: ; case 1074031370U: ; case 1074031375U: ; case 1074031373U: ; case 1074031361U: ; case 1074031372U: ; case 1074031402U: ; case 1074031403U: ; return (-13L); default: ; goto ldv_52474; } ldv_52474: ; } else { } Status = vendorextnIoctl(Adapter, cmd, arg); if (Status != 65535) { return ((long )Status); } else { } switch (cmd) { case 1073834791U: Status = bcm_char_ioctl_reg_read_private(argp, Adapter); return ((long )Status); case 1073834790U: Status = bcm_char_ioctl_reg_write_private(argp, Adapter); return ((long )Status); case 2147773187U: ; case 2147773273U: Status = bcm_char_ioctl_eeprom_reg_read(argp, Adapter); return ((long )Status); case 1074031362U: ; case 1074031448U: Status = bcm_char_ioctl_eeprom_reg_write(argp, Adapter, cmd); return ((long )Status); case 1074031402U: Status = bcm_char_ioctl_gpio_set_request(argp, Adapter); return ((long )Status); case 1074031480U: Status = bcm_char_ioctl_led_thread_state_change_req(argp, Adapter); return ((long )Status); case 1074031403U: Status = bcm_char_ioctl_gpio_status_request(argp, Adapter); return ((long )Status); case 1075866413U: Status = bcm_char_ioctl_gpio_multi_request(argp, Adapter); return ((long )Status); case 1075866414U: Status = bcm_char_ioctl_gpio_mode_request(argp, Adapter); return ((long )Status); case 1074031377U: ; case 1074031370U: ; case 1074031375U: ; case 1074031373U: ; case 1074031361U: ; case 1074031372U: Status = bcm_char_ioctl_misc_request(argp, Adapter); return ((long )Status); case 1074031445U: Status = bcm_char_ioctl_buffer_download_start(Adapter); return ((long )Status); case 1074031446U: Status = bcm_char_ioctl_buffer_download(argp, Adapter); return ((long )Status); case 1074031447U: Status = bcm_char_ioctl_buffer_download_stop(argp, Adapter); return ((long )Status); case 1074293528U: Status = 0; might_fault(); __asm__ volatile ("call __get_user_%P3": "=a" (__ret_gu), "=r" (__val_gu): "0" ((unsigned long *)arg), "i" (8UL)); Adapter->BEBucketSize = __val_gu; if (__ret_gu != 0) { Status = -14; } else { } goto ldv_52499; case 1074293529U: Status = 0; might_fault(); __asm__ volatile ("call __get_user_%P3": "=a" (__ret_gu___0), "=r" (__val_gu___0): "0" ((unsigned long *)arg), "i" (8UL)); Adapter->rtPSBucketSize = __val_gu___0; if (__ret_gu___0 != 0) { Status = -14; } else { } goto ldv_52499; case 27414U: Status = bcm_char_ioctl_chip_reset(Adapter); return ((long )Status); case 1074293536U: Status = bcm_char_ioctl_qos_threshold(arg, Adapter); return ((long )Status); case 27425U: DumpPackInfo(Adapter); DumpPhsRules(& Adapter->stBCMPhsContext); Status = 0; goto ldv_52499; case 2147773219U: tmp___9 = copy_to_user(argp, (void const *)(& Adapter->PackInfo), 6528UL); if (tmp___9 != 0UL) { return (-14L); } else { } Status = 0; goto ldv_52499; case 1074031369U: Status = bcm_char_ioctl_switch_transfer_mode(argp, Adapter); return ((long )Status); case 2147773225U: Status = bcm_char_ioctl_get_driver_version(argp); return ((long )Status); case 1074031400U: Status = bcm_char_ioctl_get_current_status(argp, Adapter); return ((long )Status); case 1074031404U: Status = bcm_char_ioctl_set_mac_tracing(argp, Adapter); return ((long )Status); case 2147773268U: Status = bcm_char_ioctl_get_dsx_indication(argp, Adapter); return ((long )Status); case 1074031443U: Status = bcm_char_ioctl_get_host_mibs(argp, Adapter, pTarang); return ((long )Status); case 2147773280U: ; if (! Adapter->bTriedToWakeUpFromlowPowerMode && (int )Adapter->IdleMode) { Adapter->usIdleModePattern = 2U; Adapter->bWakeUpDevice = 1; __wake_up(& Adapter->process_rx_cntrlpkt, 3U, 1, (void *)0); } else { } Status = 0; goto ldv_52499; case 1074031371U: Status = bcm_char_ioctl_bulk_wrm(argp, Adapter, cmd); return ((long )Status); case 2147773283U: Status = bcm_char_ioctl_get_nvm_size(argp, Adapter); return ((long )Status); case 2147773284U: Status = bcm_char_ioctl_cal_init(argp, Adapter); return ((long )Status); case 1075866404U: Status = bcm_char_ioctl_set_debug(argp, Adapter); return ((long )Status); case 2147773281U: ; case 1074031458U: Status = bcm_char_ioctl_nvm_rw(argp, Adapter, cmd); return ((long )Status); case 2147773285U: Status = bcm_char_ioctl_flash2x_section_read(argp, Adapter); return ((long )Status); case 1074031462U: Status = bcm_char_ioctl_flash2x_section_write(argp, Adapter); return ((long )Status); case 2147773287U: Status = bcm_char_ioctl_flash2x_section_bitmap(argp, Adapter); return ((long )Status); case 1074031464U: Status = bcm_char_ioctl_set_active_section(argp, Adapter); return ((long )Status); case 27497U: Adapter->bAllDSDWriteAllow = 0; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "bcm_char_ioctl"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___2.format = "%s:\nIOCTL_BCM_IDENTIFY_ACTIVE_SECTION called"; descriptor___2.lineno = 2601U; descriptor___2.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nIOCTL_BCM_IDENTIFY_ACTIVE_SECTION called", "bcm_char_ioctl"); } else { } } else { } Status = 0; goto ldv_52499; case 1074031472U: Status = bcm_char_ioctl_copy_section(argp, Adapter); return ((long )Status); case 2147773297U: Status = bcm_char_ioctl_get_flash_cs_info(argp, Adapter); return ((long )Status); case 1074031474U: Status = bcm_char_ioctl_select_dsd(argp, Adapter); return ((long )Status); case 2147773301U: Status = bcm_char_ioctl_nvm_raw_read(argp, Adapter); return ((long )Status); case 1074031476U: Status = bcm_char_ioctl_cntrlmsg_mask(argp, Adapter, pTarang); return ((long )Status); case 2147773303U: Status = bcm_char_ioctl_get_device_driver_info(argp, Adapter); return ((long )Status); case 2147773302U: Status = bcm_char_ioctl_time_since_net_entry(argp, Adapter); return ((long )Status); case 27412U: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 67108864U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "bcm_char_ioctl"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/Bcmchar.o.c.prepared"; descriptor___4.format = "%s:\nIOCTL_CLOSE_NOTIFICATION"; descriptor___4.lineno = 2635U; descriptor___4.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nIOCTL_CLOSE_NOTIFICATION", "bcm_char_ioctl"); } else { } } else { } goto ldv_52499; default: printk("\016beceem: unknown ioctl cmd=%#x\n", cmd); Status = -1; goto ldv_52499; } ldv_52499: ; return ((long )Status); } } static struct file_operations const bcm_fops = {& __this_module, & no_llseek, & bcm_char_read, 0, 0, 0, 0, 0, 0, 0, & bcm_char_ioctl, 0, 0, & bcm_char_open, 0, & bcm_char_release, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; int register_control_device_interface(struct bcm_mini_adapter *Adapter ) { long tmp ; bool tmp___0 ; { if (Adapter->major > 0) { return (Adapter->major); } else { } Adapter->major = ldv_register_chrdev_808(0U, "tarang", & bcm_fops); if (Adapter->major < 0) { printk("\vbeceem: could not created character device\n"); return (Adapter->major); } else { } Adapter->pstCreatedClassDevice = device_create(bcm_class, (struct device *)0, (dev_t )(Adapter->major << 20), (void *)Adapter, "tarang"); tmp___0 = IS_ERR((void const *)Adapter->pstCreatedClassDevice); if ((int )tmp___0) { printk("\vbeceem: class device create failed\n"); ldv_unregister_chrdev_809((unsigned int )Adapter->major, "tarang"); tmp = PTR_ERR((void const *)Adapter->pstCreatedClassDevice); return ((int )tmp); } else { } return (0); } } void unregister_control_device_interface(struct bcm_mini_adapter *Adapter ) { { if (Adapter->major > 0) { device_destroy(bcm_class, (dev_t )(Adapter->major << 20)); ldv_unregister_chrdev_809((unsigned int )Adapter->major, "tarang"); } else { } return; } } int ldv_retval_4 ; void ldv_file_operations_1(void) { void *tmp ; void *tmp___0 ; { tmp = ldv_zalloc(1032UL); bcm_fops_group1 = (struct inode *)tmp; tmp___0 = ldv_zalloc(512UL); bcm_fops_group2 = (struct file *)tmp___0; return; } } void ldv_main_exported_1(void) { loff_t *ldvarg6 ; void *tmp ; unsigned long ldvarg2 ; unsigned long tmp___0 ; loff_t ldvarg5 ; loff_t tmp___1 ; unsigned int ldvarg3 ; unsigned int tmp___2 ; int ldvarg4 ; int tmp___3 ; size_t ldvarg7 ; size_t tmp___4 ; char *ldvarg8 ; void *tmp___5 ; int tmp___6 ; { tmp = ldv_zalloc(8UL); ldvarg6 = (loff_t *)tmp; tmp___0 = __VERIFIER_nondet_ulong(); ldvarg2 = tmp___0; tmp___1 = __VERIFIER_nondet_loff_t(); ldvarg5 = tmp___1; tmp___2 = __VERIFIER_nondet_uint(); ldvarg3 = tmp___2; tmp___3 = __VERIFIER_nondet_int(); ldvarg4 = tmp___3; tmp___4 = __VERIFIER_nondet_size_t(); ldvarg7 = tmp___4; tmp___5 = ldv_zalloc(1UL); ldvarg8 = (char *)tmp___5; tmp___6 = __VERIFIER_nondet_int(); switch (tmp___6) { case 0: ; if (ldv_state_variable_1 == 2) { bcm_char_release(bcm_fops_group1, bcm_fops_group2); ldv_state_variable_1 = 1; ref_cnt = ref_cnt - 1; } else { } goto ldv_52561; case 1: ; if (ldv_state_variable_1 == 2) { bcm_char_read(bcm_fops_group2, ldvarg8, ldvarg7, ldvarg6); ldv_state_variable_1 = 2; } else { } goto ldv_52561; case 2: ; if (ldv_state_variable_1 == 2) { no_llseek(bcm_fops_group2, ldvarg5, ldvarg4); ldv_state_variable_1 = 2; } else { } goto ldv_52561; case 3: ; if (ldv_state_variable_1 == 1) { ldv_retval_4 = bcm_char_open(bcm_fops_group1, bcm_fops_group2); if (ldv_retval_4 == 0) { ldv_state_variable_1 = 2; ref_cnt = ref_cnt + 1; } else { } } else { } goto ldv_52561; case 4: ; if (ldv_state_variable_1 == 2) { bcm_char_ioctl(bcm_fops_group2, ldvarg3, ldvarg2); ldv_state_variable_1 = 2; } else { } goto ldv_52561; default: ldv_stop(); } ldv_52561: ; return; } } int ldv_pskb_expand_head_796(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_798(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_800(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_801(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_802(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_803(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_804(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_805(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_806(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } __inline static int ldv_register_chrdev_808(unsigned int major , char const *name , struct file_operations const *fops ) { ldv_func_ret_type___2 ldv_func_res ; int tmp ; { tmp = register_chrdev(major, name, fops); ldv_func_res = tmp; ldv_state_variable_1 = 1; ldv_file_operations_1(); return (ldv_func_res); } } __inline static void ldv_unregister_chrdev_809(unsigned int major , char const *name ) { { unregister_chrdev(major, name); ldv_state_variable_1 = 0; return; } } struct sk_buff *ldv_skb_clone_848(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_856(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_850(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_846(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_854(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_855(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_851(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_852(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_853(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; UINT GetServiceFlowEntry(struct bcm_phs_table *psServiceFlowTable , B_UINT16 uiVcid , struct bcm_phs_entry **ppstServiceFlowEntry ) ; int ProcessGetHostMibs(struct bcm_mini_adapter *Adapter , struct bcm_host_stats_mibs *pstHostMibs ) { struct bcm_phs_entry *pstServiceFlowEntry ; struct bcm_phs_rule *pstPhsRule ; struct bcm_phs_classifier_table *pstClassifierTable ; struct bcm_phs_classifier_entry *pstClassifierRule ; struct bcm_phs_extension *pDeviceExtension ; UINT nClassifierIndex ; UINT nPhsTableIndex ; UINT nSfIndex ; UINT uiIndex ; struct _ddebug descriptor___0 ; long tmp___0 ; size_t __len ; void *__ret ; size_t __len___0 ; void *__ret___0 ; UINT tmp___1 ; size_t __len___1 ; void *__ret___1 ; int tmp___2 ; size_t __len___2 ; void *__ret___2 ; size_t __len___3 ; void *__ret___3 ; { pstServiceFlowEntry = (struct bcm_phs_entry *)0; pstPhsRule = (struct bcm_phs_rule *)0; pstClassifierTable = (struct bcm_phs_classifier_table *)0; pstClassifierRule = (struct bcm_phs_classifier_entry *)0; pDeviceExtension = & Adapter->stBCMPhsContext; nClassifierIndex = 0U; nPhsTableIndex = 0U; nSfIndex = 0U; uiIndex = 0U; if ((unsigned long )pDeviceExtension == (unsigned long )((struct bcm_phs_extension *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 268435456U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "ProcessGetHostMibs"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/hostmibs.o.c.prepared"; descriptor___0.format = "%s:\nInvalid Device Extension\n"; descriptor___0.lineno = 63U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nInvalid Device Extension\n", "ProcessGetHostMibs"); } else { } } else { } return (-1); } else { } nClassifierIndex = 0U; goto ldv_51731; ldv_51730: ; if ((int )Adapter->astClassifierTable[nClassifierIndex].bUsed) { __len = 632UL; if (__len > 63UL) { __ret = memcpy((void *)(& pstHostMibs->astClassifierTable) + (unsigned long )nClassifierIndex, (void const *)(& Adapter->astClassifierTable) + (unsigned long )nClassifierIndex, __len); } else { __ret = memcpy((void *)(& pstHostMibs->astClassifierTable) + (unsigned long )nClassifierIndex, (void const *)(& Adapter->astClassifierTable) + (unsigned long )nClassifierIndex, __len); } } else { } nClassifierIndex = nClassifierIndex + 1U; ldv_51731: ; if (nClassifierIndex <= 99U) { goto ldv_51730; } else { } nSfIndex = 0U; goto ldv_51744; ldv_51743: ; if ((int )Adapter->PackInfo[nSfIndex].bValid) { __len___0 = 200UL; if (__len___0 > 63UL) { __ret___0 = memcpy((void *)(& pstHostMibs->astSFtable) + (unsigned long )nSfIndex, (void const *)(& Adapter->PackInfo) + (unsigned long )nSfIndex, __len___0); } else { __ret___0 = memcpy((void *)(& pstHostMibs->astSFtable) + (unsigned long )nSfIndex, (void const *)(& Adapter->PackInfo) + (unsigned long )nSfIndex, __len___0); } } else { goto ldv_51736; } tmp___1 = GetServiceFlowEntry(pDeviceExtension->pstServiceFlowPhsRulesTable, (int )Adapter->PackInfo[nSfIndex].usVCID_Value, & pstServiceFlowEntry); if (tmp___1 == 4294967295U) { goto ldv_51736; } else { } pstClassifierTable = pstServiceFlowEntry->pstClassifierTable; uiIndex = 0U; goto ldv_51741; ldv_51740: pstClassifierRule = (struct bcm_phs_classifier_entry *)(& pstClassifierTable->stActivePhsRulesList) + (unsigned long )uiIndex; if ((unsigned int )pstClassifierRule->bUsed != 0U) { pstPhsRule = pstClassifierRule->pstPhsRule; pstHostMibs->astPhsRulesTable[nPhsTableIndex].ulSFID = Adapter->PackInfo[nSfIndex].ulSFID; __len___1 = 544UL; if (__len___1 > 63UL) { __ret___1 = memcpy((void *)(& pstHostMibs->astPhsRulesTable[nPhsTableIndex].u8PHSI), (void const *)(& pstPhsRule->u8PHSI), __len___1); } else { __ret___1 = memcpy((void *)(& pstHostMibs->astPhsRulesTable[nPhsTableIndex].u8PHSI), (void const *)(& pstPhsRule->u8PHSI), __len___1); } nPhsTableIndex = nPhsTableIndex + 1U; } else { } uiIndex = uiIndex + 1U; ldv_51741: ; if (uiIndex <= 19U) { goto ldv_51740; } else { } ldv_51736: nSfIndex = nSfIndex + 1U; ldv_51744: ; if (nSfIndex <= 16U) { goto ldv_51743; } else { } pstHostMibs->stHostInfo.GoodTransmits = (u64 )(Adapter->dev)->stats.tx_packets; pstHostMibs->stHostInfo.GoodReceives = (u64 )(Adapter->dev)->stats.rx_packets; tmp___2 = atomic_read((atomic_t const *)(& Adapter->CurrNumFreeTxDesc)); pstHostMibs->stHostInfo.CurrNumFreeDesc = (unsigned long )tmp___2; pstHostMibs->stHostInfo.BEBucketSize = Adapter->BEBucketSize; pstHostMibs->stHostInfo.rtPSBucketSize = Adapter->rtPSBucketSize; pstHostMibs->stHostInfo.TimerActive = Adapter->TimerActive; pstHostMibs->stHostInfo.u32TotalDSD = Adapter->u32TotalDSD; __len___2 = 48UL; if (__len___2 > 63UL) { __ret___2 = memcpy((void *)(& pstHostMibs->stHostInfo.aTxPktSizeHist), (void const *)(& Adapter->aTxPktSizeHist), __len___2); } else { __ret___2 = memcpy((void *)(& pstHostMibs->stHostInfo.aTxPktSizeHist), (void const *)(& Adapter->aTxPktSizeHist), __len___2); } __len___3 = 48UL; if (__len___3 > 63UL) { __ret___3 = memcpy((void *)(& pstHostMibs->stHostInfo.aRxPktSizeHist), (void const *)(& Adapter->aRxPktSizeHist), __len___3); } else { __ret___3 = memcpy((void *)(& pstHostMibs->stHostInfo.aRxPktSizeHist), (void const *)(& Adapter->aRxPktSizeHist), __len___3); } return (0); } } void GetDroppedAppCntrlPktMibs(struct bcm_host_stats_mibs *pstHostMibs , struct bcm_tarang_data *pTarang ) { size_t __len ; void *__ret ; { __len = 64UL; if (__len > 63UL) { __ret = memcpy((void *)(& pstHostMibs->stDroppedAppCntrlMsgs), (void const *)(& pTarang->stDroppedAppCntrlMsgs), __len); } else { __ret = memcpy((void *)(& pstHostMibs->stDroppedAppCntrlMsgs), (void const *)(& pTarang->stDroppedAppCntrlMsgs), __len); } return; } } void CopyMIBSExtendedSFParameters(struct bcm_mini_adapter *Adapter , struct bcm_connect_mgr_params *psfLocalSet , UINT uiSearchRuleIndex ) { struct bcm_mibs_parameters *t ; __u32 tmp ; __u32 tmp___0 ; __u32 tmp___1 ; __u32 tmp___2 ; __u16 tmp___3 ; __u32 tmp___4 ; __u16 tmp___5 ; __u32 tmp___6 ; __u16 tmp___7 ; __u32 tmp___8 ; __u32 tmp___9 ; __u16 tmp___10 ; __u32 tmp___11 ; __u16 tmp___12 ; __u32 tmp___13 ; __u32 tmp___14 ; __u32 tmp___15 ; __u16 tmp___16 ; __u32 tmp___17 ; { t = & Adapter->PackInfo[uiSearchRuleIndex].stMibsExtServiceFlowTable; t->wmanIfSfid = psfLocalSet->u32SFID; t->wmanIfCmnCpsMaxSustainedRate = psfLocalSet->u32MaxSustainedTrafficRate; t->wmanIfCmnCpsMaxTrafficBurst = psfLocalSet->u32MaxTrafficBurst; t->wmanIfCmnCpsMinReservedRate = psfLocalSet->u32MinReservedTrafficRate; t->wmanIfCmnCpsToleratedJitter = psfLocalSet->u32ToleratedJitter; t->wmanIfCmnCpsMaxLatency = psfLocalSet->u32MaximumLatency; t->wmanIfCmnCpsFixedVsVariableSduInd = (u32 )psfLocalSet->u8FixedLengthVSVariableLengthSDUIndicator; tmp = __fswab32(t->wmanIfCmnCpsFixedVsVariableSduInd); t->wmanIfCmnCpsFixedVsVariableSduInd = tmp; t->wmanIfCmnCpsSduSize = (u32 )psfLocalSet->u8SDUSize; tmp___0 = __fswab32(t->wmanIfCmnCpsSduSize); t->wmanIfCmnCpsSduSize = tmp___0; t->wmanIfCmnCpsSfSchedulingType = (u32 )psfLocalSet->u8ServiceFlowSchedulingType; tmp___1 = __fswab32(t->wmanIfCmnCpsSfSchedulingType); t->wmanIfCmnCpsSfSchedulingType = tmp___1; t->wmanIfCmnCpsArqEnable = (u32 )psfLocalSet->u8ARQEnable; tmp___2 = __fswab32(t->wmanIfCmnCpsArqEnable); t->wmanIfCmnCpsArqEnable = tmp___2; tmp___3 = __fswab16((int )psfLocalSet->u16ARQWindowSize); t->wmanIfCmnCpsArqWindowSize = (u32 )tmp___3; tmp___4 = __fswab32(t->wmanIfCmnCpsArqWindowSize); t->wmanIfCmnCpsArqWindowSize = tmp___4; tmp___5 = __fswab16((int )psfLocalSet->u16ARQBlockLifeTime); t->wmanIfCmnCpsArqBlockLifetime = (u32 )tmp___5; tmp___6 = __fswab32(t->wmanIfCmnCpsArqBlockLifetime); t->wmanIfCmnCpsArqBlockLifetime = tmp___6; tmp___7 = __fswab16((int )psfLocalSet->u16ARQSyncLossTimeOut); t->wmanIfCmnCpsArqSyncLossTimeout = (u32 )tmp___7; tmp___8 = __fswab32(t->wmanIfCmnCpsArqSyncLossTimeout); t->wmanIfCmnCpsArqSyncLossTimeout = tmp___8; t->wmanIfCmnCpsArqDeliverInOrder = (u32 )psfLocalSet->u8ARQDeliverInOrder; tmp___9 = __fswab32(t->wmanIfCmnCpsArqDeliverInOrder); t->wmanIfCmnCpsArqDeliverInOrder = tmp___9; tmp___10 = __fswab16((int )psfLocalSet->u16ARQRxPurgeTimeOut); t->wmanIfCmnCpsArqRxPurgeTimeout = (u32 )tmp___10; tmp___11 = __fswab32(t->wmanIfCmnCpsArqRxPurgeTimeout); t->wmanIfCmnCpsArqRxPurgeTimeout = tmp___11; tmp___12 = __fswab16((int )psfLocalSet->u16ARQBlockSize); t->wmanIfCmnCpsArqBlockSize = (u32 )tmp___12; tmp___13 = __fswab32(t->wmanIfCmnCpsArqBlockSize); t->wmanIfCmnCpsArqBlockSize = tmp___13; t->wmanIfCmnCpsReqTxPolicy = (u32 )psfLocalSet->u8RequesttransmissionPolicy; tmp___14 = __fswab32(t->wmanIfCmnCpsReqTxPolicy); t->wmanIfCmnCpsReqTxPolicy = tmp___14; t->wmanIfCmnSfCsSpecification = (u32 )psfLocalSet->u8CSSpecification; tmp___15 = __fswab32(t->wmanIfCmnSfCsSpecification); t->wmanIfCmnSfCsSpecification = tmp___15; tmp___16 = __fswab16((int )psfLocalSet->u16TargetSAID); t->wmanIfCmnCpsTargetSaid = (u32 )tmp___16; tmp___17 = __fswab32(t->wmanIfCmnCpsTargetSaid); t->wmanIfCmnCpsTargetSaid = tmp___17; return; } } int ldv_pskb_expand_head_846(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_848(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_850(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_851(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_852(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_853(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_854(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_855(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_856(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } __inline static void *kmalloc(size_t size , gfp_t flags ) ; __inline static void *kzalloc(size_t size , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_892(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_900(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_894(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_902(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_890(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_898(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_899(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_895(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_896(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_897(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; __inline static int __skb_cow___0(struct sk_buff *skb , unsigned int headroom , int cloned ) { int delta ; unsigned int tmp ; unsigned int tmp___0 ; int _max1 ; int _max2 ; int _max1___0 ; int _max2___0 ; int tmp___1 ; { delta = 0; tmp___0 = skb_headroom((struct sk_buff const *)skb); if (tmp___0 < headroom) { tmp = skb_headroom((struct sk_buff const *)skb); delta = (int )(headroom - tmp); } else { } if (delta != 0 || cloned != 0) { _max1 = 32; _max2 = 64; _max1___0 = 32; _max2___0 = 64; tmp___1 = ldv_pskb_expand_head_898(skb, (((_max1 > _max2 ? _max1 : _max2) + -1) + delta) & - (_max1___0 > _max2___0 ? _max1___0 : _max2___0), 0, 32U); return (tmp___1); } else { } return (0); } } __inline static int skb_cow___0(struct sk_buff *skb , unsigned int headroom ) { int tmp ; int tmp___0 ; { tmp = skb_cloned((struct sk_buff const *)skb); tmp___0 = __skb_cow___0(skb, headroom, tmp); return (tmp___0); } } static UINT CreateSFToClassifierRuleMapping(B_UINT16 uiVcid , B_UINT16 uiClsId , struct bcm_phs_table *psServiceFlowTable , struct bcm_phs_rule *psPhsRule , B_UINT8 u8AssociatedPHSI ) ; static UINT CreateClassiferToPHSRuleMapping(B_UINT16 uiVcid , B_UINT16 uiClsId , struct bcm_phs_entry *pstServiceFlowEntry , struct bcm_phs_rule *psPhsRule , B_UINT8 u8AssociatedPHSI ) ; static UINT CreateClassifierPHSRule(B_UINT16 uiClsId , struct bcm_phs_classifier_table *psaClassifiertable , struct bcm_phs_rule *psPhsRule , enum bcm_phs_classifier_context eClsContext , B_UINT8 u8AssociatedPHSI ) ; static UINT UpdateClassifierPHSRule(B_UINT16 uiClsId , struct bcm_phs_classifier_entry *pstClassifierEntry , struct bcm_phs_classifier_table *psaClassifiertable , struct bcm_phs_rule *psPhsRule , B_UINT8 u8AssociatedPHSI ) ; static bool ValidatePHSRuleComplete(struct bcm_phs_rule *psPhsRule ) ; static bool DerefPhsRule(B_UINT16 uiClsId , struct bcm_phs_classifier_table *psaClassifiertable , struct bcm_phs_rule *pstPhsRule ) ; static UINT GetClassifierEntry(struct bcm_phs_classifier_table *pstClassifierTable , B_UINT32 uiClsid , enum bcm_phs_classifier_context eClsContext , struct bcm_phs_classifier_entry **ppstClassifierEntry ) ; static UINT GetPhsRuleEntry(struct bcm_phs_classifier_table *pstClassifierTable , B_UINT32 uiPHSI , enum bcm_phs_classifier_context eClsContext , struct bcm_phs_rule **ppstPhsRule ) ; static void free_phs_serviceflow_rules(struct bcm_phs_table *psServiceFlowRulesTable ) ; static int phs_compress(struct bcm_phs_rule *phs_rule , unsigned char *in_buf , unsigned char *out_buf , unsigned int *header_size , UINT *new_header_size ) ; static int verify_suppress_phsf(unsigned char *in_buffer , unsigned char *out_buffer , unsigned char *phsf , unsigned char *phsm , unsigned int phss , unsigned int phsv , UINT *new_header_size ) ; static int phs_decompress(unsigned char *in_buf , unsigned char *out_buf , struct bcm_phs_rule *decomp_phs_rules , UINT *header_size ) ; static ULONG PhsCompress(void *pvContext , B_UINT16 uiVcid , B_UINT16 uiClsId , void *pvInputBuffer , void *pvOutputBuffer , UINT *pOldHeaderSize , UINT *pNewHeaderSize ) ; static ULONG PhsDeCompress(void *pvContext , B_UINT16 uiVcid , void *pvInputBuffer , void *pvOutputBuffer , UINT *pInHeaderSize , UINT *pOutHeaderSize ) ; int PHSTransmit(struct bcm_mini_adapter *Adapter , struct sk_buff **pPacket , USHORT Vcid , B_UINT16 uiClassifierRuleID , bool bHeaderSuppressionEnabled , unsigned int *PacketLen , UCHAR bEthCSSupport ) { UINT unPHSPktHdrBytesCopied ; UINT unPhsOldHdrSize ; UINT unPHSNewPktHeaderLen ; PUCHAR pucPHSPktHdrInBuf ; PUCHAR pucPHSPktHdrOutBuf ; UINT usPacketType ; UINT BytesToRemove ; bool bPHSI ; LONG ulPhsStatus ; UINT numBytesCompressed ; struct sk_buff *newPacket ; struct sk_buff *Packet ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; ULONG tmp___3 ; struct _ddebug descriptor___4 ; long tmp___5 ; struct _ddebug descriptor___6 ; long tmp___7 ; int tmp___8 ; size_t __len ; void *__ret ; size_t __len___0 ; void *__ret___0 ; int tmp___11 ; unsigned int tmp___12 ; struct _ddebug descriptor___10 ; long tmp___14 ; { unPHSPktHdrBytesCopied = 0U; unPhsOldHdrSize = 0U; unPHSNewPktHeaderLen = 0U; pucPHSPktHdrInBuf = (PUCHAR )(& Adapter->stPhsTxContextInfo.ucaHdrSuppressionInBuf); pucPHSPktHdrOutBuf = (PUCHAR )(& Adapter->stPhsTxContextInfo.ucaHdrSuppressionOutBuf); BytesToRemove = 0U; bPHSI = 0; ulPhsStatus = 0L; numBytesCompressed = 0U; newPacket = (struct sk_buff *)0; Packet = *pPacket; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 65536U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "PHSTransmit"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___0.format = "%s:\nIn PHSTransmit"; descriptor___0.lineno = 126U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nIn PHSTransmit", "PHSTransmit"); } else { } } else { } if ((unsigned int )bEthCSSupport == 0U) { BytesToRemove = 14U; } else { } usPacketType = (UINT )((struct ethhdr *)Packet->data)->h_proto; pucPHSPktHdrInBuf = Packet->data + (unsigned long )BytesToRemove; if (*PacketLen - BytesToRemove <= 254U) { unPHSPktHdrBytesCopied = *PacketLen - BytesToRemove; } else { unPHSPktHdrBytesCopied = 255U; } if (unPHSPktHdrBytesCopied != 0U && unPHSPktHdrBytesCopied <= 255U) { if ((usPacketType == 8U || usPacketType == 56710U) && (int )bHeaderSuppressionEnabled) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 65536U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "PHSTransmit"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___2.format = "%s:\n\nTrying to PHS Compress Using Classifier rule 0x%X"; descriptor___2.lineno = 155U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\n\nTrying to PHS Compress Using Classifier rule 0x%X", "PHSTransmit", (int )uiClassifierRuleID); } else { } } else { } unPHSNewPktHeaderLen = unPHSPktHdrBytesCopied; tmp___3 = PhsCompress((void *)(& Adapter->stBCMPhsContext), (int )Vcid, (int )uiClassifierRuleID, (void *)pucPHSPktHdrInBuf, (void *)pucPHSPktHdrOutBuf, & unPhsOldHdrSize, & unPHSNewPktHeaderLen); ulPhsStatus = (LONG )tmp___3; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 65536U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "PHSTransmit"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___4.format = "%s:\n\nPHS Old header Size : %d New Header Size %d\n"; descriptor___4.lineno = 164U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n\nPHS Old header Size : %d New Header Size %d\n", "PHSTransmit", unPhsOldHdrSize, unPHSNewPktHeaderLen); } else { } } else { } if (unPHSNewPktHeaderLen == unPhsOldHdrSize) { if (ulPhsStatus == 161L) { bPHSI = (unsigned int )*pucPHSPktHdrOutBuf != 0U; } else { } ulPhsStatus = 162L; } else { } if (ulPhsStatus == 161L) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 65536U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "PHSTransmit"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___6.format = "%s:\nPHS Sending packet Compressed"; descriptor___6.lineno = 176U; descriptor___6.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nPHS Sending packet Compressed", "PHSTransmit"); } else { } } else { } tmp___8 = skb_cloned((struct sk_buff const *)Packet); if (tmp___8 != 0) { newPacket = ldv_skb_copy_902((struct sk_buff const *)Packet, 32U); if ((unsigned long )newPacket == (unsigned long )((struct sk_buff *)0)) { return (-1); } else { } consume_skb(Packet); Packet = newPacket; *pPacket = Packet; pucPHSPktHdrInBuf = Packet->data + (unsigned long )BytesToRemove; } else { } numBytesCompressed = (unPhsOldHdrSize - unPHSNewPktHeaderLen) - 1U; __len = (size_t )(unPHSNewPktHeaderLen + 1U); __ret = memcpy((void *)pucPHSPktHdrInBuf + (unsigned long )numBytesCompressed, (void const *)pucPHSPktHdrOutBuf, __len); __len___0 = (size_t )BytesToRemove; __ret___0 = memcpy((void *)Packet->data + (unsigned long )numBytesCompressed, (void const *)Packet->data, __len___0); skb_pull(Packet, numBytesCompressed); return (0); } else { tmp___12 = skb_headroom((struct sk_buff const *)Packet); if (tmp___12 == 0U) { tmp___11 = skb_cow___0(Packet, 1U); if (tmp___11 != 0) { printk("\016%s:SKB Cow Failed\n", "PHSTransmit"); return (-1); } else { } } else { } skb_push(Packet, 1U); *(Packet->data + (unsigned long )BytesToRemove) = (unsigned char )bPHSI; return (0); } } else { if (! bHeaderSuppressionEnabled) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 65536U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "PHSTransmit"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___10.format = "%s:\n\nHeader Suppression Disabled For SF: No PHS\n"; descriptor___10.lineno = 218U; descriptor___10.flags = 0U; tmp___14 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___14 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\n\nHeader Suppression Disabled For SF: No PHS\n", "PHSTransmit"); } else { } } else { } } else { } return (0); } } else { } return (0); } } int PHSReceive(struct bcm_mini_adapter *Adapter , USHORT usVcid , struct sk_buff *packet , UINT *punPacketLen , UCHAR *pucEthernetHdr , UINT bHeaderSuppressionEnabled ) { u32 nStandardPktHdrLen ; u32 nTotalsuppressedPktHdrBytes ; int ulPhsStatus ; PUCHAR pucInBuff ; UINT TotalBytesAdded ; struct _ddebug descriptor___0 ; long tmp___0 ; ULONG tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; unsigned int tmp___6 ; int tmp___7 ; unsigned int tmp___8 ; size_t __len ; void *__ret ; { nStandardPktHdrLen = 0U; nTotalsuppressedPktHdrBytes = 0U; ulPhsStatus = 0; pucInBuff = (PUCHAR )0U; TotalBytesAdded = 0U; if (bHeaderSuppressionEnabled == 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 131072U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "PHSReceive"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___0.format = "%s:\n\nPhs Disabled for incoming packet"; descriptor___0.lineno = 242U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n\nPhs Disabled for incoming packet", "PHSReceive"); } else { } } else { } return (ulPhsStatus); } else { } pucInBuff = packet->data; nStandardPktHdrLen = packet->len; tmp___1 = PhsDeCompress((void *)(& Adapter->stBCMPhsContext), (int )usVcid, (void *)pucInBuff, (void *)(& Adapter->ucaPHSPktRestoreBuf), & nTotalsuppressedPktHdrBytes, & nStandardPktHdrLen); ulPhsStatus = (int )tmp___1; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 131072U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "PHSReceive"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___2.format = "%s:\n\nSuppressed PktHdrLen : 0x%x Restored PktHdrLen : 0x%x"; descriptor___2.lineno = 258U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\n\nSuppressed PktHdrLen : 0x%x Restored PktHdrLen : 0x%x", "PHSReceive", nTotalsuppressedPktHdrBytes, nStandardPktHdrLen); } else { } } else { } if (ulPhsStatus != 161) { skb_pull(packet, 1U); return (0); } else { TotalBytesAdded = (nStandardPktHdrLen - nTotalsuppressedPktHdrBytes) - 1U; if (TotalBytesAdded != 0U) { tmp___8 = skb_headroom((struct sk_buff const *)packet); if (tmp___8 >= TotalBytesAdded + 16U) { skb_push(packet, TotalBytesAdded); } else { tmp___6 = skb_headroom((struct sk_buff const *)packet); tmp___7 = skb_cow___0(packet, tmp___6 + TotalBytesAdded); if (tmp___7 != 0) { printk("\016%s:cow failed in receive\n", "PHSReceive"); return (-1); } else { } skb_push(packet, TotalBytesAdded); } } else { } __len = (size_t )nStandardPktHdrLen; __ret = memcpy((void *)packet->data, (void const *)(& Adapter->ucaPHSPktRestoreBuf), __len); } return (0); } } void DumpFullPacket(UCHAR *pBuf , UINT nPktLen ) { struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___1 ; long tmp___2 ; { tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "DumpFullPacket"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___0.format = "%s:\nDumping Data Packet"; descriptor___0.lineno = 289U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nDumping Data Packet", "DumpFullPacket"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 2U) != 0U) && (Adapter->stDebugState.subtype[2] & 8192U) != 0U) { descriptor___1.modname = "bcm_wimax"; descriptor___1.function = "DumpFullPacket"; descriptor___1.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___1.format = "%s:\n"; descriptor___1.lineno = 290U; descriptor___1.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___1.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___1, "%s:\n", "DumpFullPacket"); } else { } print_hex_dump("\017", " ", 2, 16, 1, (void const *)pBuf, (size_t )nPktLen, 0); } else { } return; } } int phs_init(struct bcm_phs_extension *pPhsdeviceExtension , struct bcm_mini_adapter *Adapter ) { int i ; struct bcm_phs_table *pstServiceFlowTable ; struct _ddebug descriptor___0 ; long tmp___0 ; void *tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; struct bcm_phs_entry sServiceFlow ; void *tmp___4 ; struct _ddebug descriptor___4 ; long tmp___6 ; struct _ddebug descriptor___6 ; long tmp___8 ; struct _ddebug descriptor___8 ; long tmp___10 ; struct _ddebug descriptor___10 ; long tmp___12 ; { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "phs_init"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___0.format = "%s:\n\nPHS:phs_init function"; descriptor___0.lineno = 311U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n\nPHS:phs_init function", "phs_init"); } else { } } else { } if ((unsigned long )pPhsdeviceExtension->pstServiceFlowPhsRulesTable != (unsigned long )((struct bcm_phs_table *)0)) { return (-22); } else { } tmp___1 = kzalloc(280UL, 208U); pPhsdeviceExtension->pstServiceFlowPhsRulesTable = (struct bcm_phs_table *)tmp___1; if ((unsigned long )pPhsdeviceExtension->pstServiceFlowPhsRulesTable == (unsigned long )((struct bcm_phs_table *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "phs_init"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___2.format = "%s:\n\nAllocation ServiceFlowPhsRulesTable failed"; descriptor___2.lineno = 319U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\n\nAllocation ServiceFlowPhsRulesTable failed", "phs_init"); } else { } } else { } return (-12); } else { } pstServiceFlowTable = pPhsdeviceExtension->pstServiceFlowPhsRulesTable; i = 0; goto ldv_51880; ldv_51879: sServiceFlow = pstServiceFlowTable->stSFList[i]; tmp___4 = kzalloc(976UL, 208U); sServiceFlow.pstClassifierTable = (struct bcm_phs_classifier_table *)tmp___4; if ((unsigned long )sServiceFlow.pstClassifierTable == (unsigned long )((struct bcm_phs_classifier_table *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "phs_init"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___4.format = "%s:\n\nAllocation failed"; descriptor___4.lineno = 328U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n\nAllocation failed", "phs_init"); } else { } } else { } free_phs_serviceflow_rules(pPhsdeviceExtension->pstServiceFlowPhsRulesTable); pPhsdeviceExtension->pstServiceFlowPhsRulesTable = (struct bcm_phs_table *)0; return (-12); } else { } i = i + 1; ldv_51880: ; if (i <= 16) { goto ldv_51879; } else { } pPhsdeviceExtension->CompressedTxBuffer = kmalloc(1532UL, 208U); if ((unsigned long )pPhsdeviceExtension->CompressedTxBuffer == (unsigned long )((void *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "phs_init"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___6.format = "%s:\n\nAllocation failed"; descriptor___6.lineno = 337U; descriptor___6.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\n\nAllocation failed", "phs_init"); } else { } } else { } free_phs_serviceflow_rules(pPhsdeviceExtension->pstServiceFlowPhsRulesTable); pPhsdeviceExtension->pstServiceFlowPhsRulesTable = (struct bcm_phs_table *)0; return (-12); } else { } pPhsdeviceExtension->UnCompressedRxBuffer = kmalloc(1532UL, 208U); if ((unsigned long )pPhsdeviceExtension->UnCompressedRxBuffer == (unsigned long )((void *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "phs_init"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___8.format = "%s:\n\nAllocation failed"; descriptor___8.lineno = 345U; descriptor___8.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\n\nAllocation failed", "phs_init"); } else { } } else { } kfree((void const *)pPhsdeviceExtension->CompressedTxBuffer); free_phs_serviceflow_rules(pPhsdeviceExtension->pstServiceFlowPhsRulesTable); pPhsdeviceExtension->pstServiceFlowPhsRulesTable = (struct bcm_phs_table *)0; return (-12); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "phs_init"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___10.format = "%s:\n\n phs_init Successful"; descriptor___10.lineno = 352U; descriptor___10.flags = 0U; tmp___12 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___12 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\n\n phs_init Successful", "phs_init"); } else { } } else { } return (0); } } int PhsCleanup(struct bcm_phs_extension *pPHSDeviceExt ) { { if ((unsigned long )pPHSDeviceExt->pstServiceFlowPhsRulesTable != (unsigned long )((struct bcm_phs_table *)0)) { free_phs_serviceflow_rules(pPHSDeviceExt->pstServiceFlowPhsRulesTable); pPHSDeviceExt->pstServiceFlowPhsRulesTable = (struct bcm_phs_table *)0; } else { } kfree((void const *)pPHSDeviceExt->CompressedTxBuffer); pPHSDeviceExt->CompressedTxBuffer = (void *)0; kfree((void const *)pPHSDeviceExt->UnCompressedRxBuffer); pPHSDeviceExt->UnCompressedRxBuffer = (void *)0; return (0); } } ULONG PhsUpdateClassifierRule(void *pvContext , B_UINT16 uiVcid , B_UINT16 uiClsId , struct bcm_phs_rule *psPhsRule , B_UINT8 u8AssociatedPHSI ) { ULONG lStatus ; UINT nSFIndex ; struct bcm_phs_entry *pstServiceFlowEntry ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct bcm_phs_extension *pDeviceExtension ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; UINT tmp___4 ; UINT tmp___5 ; { lStatus = 0UL; nSFIndex = 0U; pstServiceFlowEntry = (struct bcm_phs_entry *)0; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; pDeviceExtension = (struct bcm_phs_extension *)pvContext; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "PhsUpdateClassifierRule"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___0.format = "%s:\nPHS With Corr2 Changes\n"; descriptor___0.lineno = 402U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nPHS With Corr2 Changes\n", "PhsUpdateClassifierRule"); } else { } } else { } if ((unsigned long )pDeviceExtension == (unsigned long )((struct bcm_phs_extension *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "PhsUpdateClassifierRule"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___2.format = "%s:\nInvalid Device Extension\n"; descriptor___2.lineno = 405U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nInvalid Device Extension\n", "PhsUpdateClassifierRule"); } else { } } else { } return (2048UL); } else { } if ((unsigned int )u8AssociatedPHSI == 0U) { return (2049UL); } else { } nSFIndex = GetServiceFlowEntry(pDeviceExtension->pstServiceFlowPhsRulesTable, (int )uiVcid, & pstServiceFlowEntry); if (nSFIndex == 4294967295U) { tmp___4 = CreateSFToClassifierRuleMapping((int )uiVcid, (int )uiClsId, pDeviceExtension->pstServiceFlowPhsRulesTable, psPhsRule, (int )u8AssociatedPHSI); lStatus = (ULONG )tmp___4; return (lStatus); } else { } tmp___5 = CreateClassiferToPHSRuleMapping((int )uiVcid, (int )uiClsId, pstServiceFlowEntry, psPhsRule, (int )u8AssociatedPHSI); lStatus = (ULONG )tmp___5; return (lStatus); } } ULONG PhsDeletePHSRule(void *pvContext , B_UINT16 uiVcid , B_UINT8 u8PHSI ) { UINT nSFIndex ; UINT nClsidIndex ; struct bcm_phs_entry *pstServiceFlowEntry ; struct bcm_phs_classifier_table *pstClassifierRulesTable ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct bcm_phs_extension *pDeviceExtension ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; { nSFIndex = 0U; nClsidIndex = 0U; pstServiceFlowEntry = (struct bcm_phs_entry *)0; pstClassifierRulesTable = (struct bcm_phs_classifier_table *)0; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; pDeviceExtension = (struct bcm_phs_extension *)pvContext; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "PhsDeletePHSRule"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___0.format = "%s:\n======>\n"; descriptor___0.lineno = 454U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n======>\n", "PhsDeletePHSRule"); } else { } } else { } if ((unsigned long )pDeviceExtension != (unsigned long )((struct bcm_phs_extension *)0)) { nSFIndex = GetServiceFlowEntry(pDeviceExtension->pstServiceFlowPhsRulesTable, (int )uiVcid, & pstServiceFlowEntry); if (nSFIndex == 4294967295U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "PhsDeletePHSRule"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___2.format = "%s:\nSFID Match Failed\n"; descriptor___2.lineno = 461U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nSFID Match Failed\n", "PhsDeletePHSRule"); } else { } } else { } return (2051UL); } else { } pstClassifierRulesTable = pstServiceFlowEntry->pstClassifierTable; if ((unsigned long )pstClassifierRulesTable != (unsigned long )((struct bcm_phs_classifier_table *)0)) { nClsidIndex = 0U; goto ldv_51925; ldv_51924: ; if ((unsigned int )pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].bUsed != 0U && (unsigned long )pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule != (unsigned long )((struct bcm_phs_rule *)0)) { if ((int )(pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule)->u8PHSI == (int )u8PHSI) { if ((unsigned int )(pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule)->u8RefCnt != 0U) { (pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule)->u8RefCnt = (u8 )((int )(pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule)->u8RefCnt - 1); } else { } if ((unsigned int )(pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule)->u8RefCnt == 0U) { kfree((void const *)pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule); } else { } memset((void *)(& pstClassifierRulesTable->stActivePhsRulesList) + (unsigned long )nClsidIndex, 0, 24UL); } else { } } else { } nClsidIndex = nClsidIndex + 1U; ldv_51925: ; if (nClsidIndex <= 19U) { goto ldv_51924; } else { } } else { } } else { } return (0UL); } } ULONG PhsDeleteClassifierRule(void *pvContext , B_UINT16 uiVcid , B_UINT16 uiClsId ) { UINT nSFIndex ; UINT nClsidIndex ; struct bcm_phs_entry *pstServiceFlowEntry ; struct bcm_phs_classifier_entry *pstClassifierEntry ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct bcm_phs_extension *pDeviceExtension ; struct _ddebug descriptor___0 ; long tmp___1 ; { nSFIndex = 0U; nClsidIndex = 0U; pstServiceFlowEntry = (struct bcm_phs_entry *)0; pstClassifierEntry = (struct bcm_phs_classifier_entry *)0; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; pDeviceExtension = (struct bcm_phs_extension *)pvContext; if ((unsigned long )pDeviceExtension != (unsigned long )((struct bcm_phs_extension *)0)) { nSFIndex = GetServiceFlowEntry(pDeviceExtension->pstServiceFlowPhsRulesTable, (int )uiVcid, & pstServiceFlowEntry); if (nSFIndex == 4294967295U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "PhsDeleteClassifierRule"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___0.format = "%s:\nSFID Match Failed\n"; descriptor___0.lineno = 515U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nSFID Match Failed\n", "PhsDeleteClassifierRule"); } else { } } else { } return (2051UL); } else { } nClsidIndex = GetClassifierEntry(pstServiceFlowEntry->pstClassifierTable, (B_UINT32 )uiClsId, 0, & pstClassifierEntry); if (nClsidIndex != 4294967295U && (unsigned int )pstClassifierEntry->bUnclassifiedPHSRule == 0U) { if ((unsigned long )pstClassifierEntry->pstPhsRule != (unsigned long )((struct bcm_phs_rule *)0)) { if ((unsigned int )(pstClassifierEntry->pstPhsRule)->u8RefCnt != 0U) { (pstClassifierEntry->pstPhsRule)->u8RefCnt = (u8 )((int )(pstClassifierEntry->pstPhsRule)->u8RefCnt - 1); } else { } if ((unsigned int )(pstClassifierEntry->pstPhsRule)->u8RefCnt == 0U) { kfree((void const *)pstClassifierEntry->pstPhsRule); } else { } } else { } memset((void *)pstClassifierEntry, 0, 24UL); } else { } nClsidIndex = GetClassifierEntry(pstServiceFlowEntry->pstClassifierTable, (B_UINT32 )uiClsId, 1, & pstClassifierEntry); if (nClsidIndex != 4294967295U && (unsigned int )pstClassifierEntry->bUnclassifiedPHSRule == 0U) { kfree((void const *)pstClassifierEntry->pstPhsRule); memset((void *)pstClassifierEntry, 0, 24UL); } else { } } else { } return (0UL); } } ULONG PhsDeleteSFRules(void *pvContext , B_UINT16 uiVcid ) { UINT nSFIndex ; UINT nClsidIndex ; struct bcm_phs_entry *pstServiceFlowEntry ; struct bcm_phs_classifier_table *pstClassifierRulesTable ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct bcm_phs_extension *pDeviceExtension ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; { nSFIndex = 0U; nClsidIndex = 0U; pstServiceFlowEntry = (struct bcm_phs_entry *)0; pstClassifierRulesTable = (struct bcm_phs_classifier_table *)0; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; pDeviceExtension = (struct bcm_phs_extension *)pvContext; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "PhsDeleteSFRules"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___0.format = "%s:\n====>\n"; descriptor___0.lineno = 567U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n====>\n", "PhsDeleteSFRules"); } else { } } else { } if ((unsigned long )pDeviceExtension != (unsigned long )((struct bcm_phs_extension *)0)) { nSFIndex = GetServiceFlowEntry(pDeviceExtension->pstServiceFlowPhsRulesTable, (int )uiVcid, & pstServiceFlowEntry); if (nSFIndex == 4294967295U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "PhsDeleteSFRules"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___2.format = "%s:\nSFID Match Failed\n"; descriptor___2.lineno = 574U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nSFID Match Failed\n", "PhsDeleteSFRules"); } else { } } else { } return (2051UL); } else { } pstClassifierRulesTable = pstServiceFlowEntry->pstClassifierTable; if ((unsigned long )pstClassifierRulesTable != (unsigned long )((struct bcm_phs_classifier_table *)0)) { nClsidIndex = 0U; goto ldv_51957; ldv_51956: ; if ((unsigned long )pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule != (unsigned long )((struct bcm_phs_rule *)0)) { if ((unsigned int )(pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule)->u8RefCnt != 0U) { (pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule)->u8RefCnt = (u8 )((int )(pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule)->u8RefCnt - 1); } else { } if ((unsigned int )(pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule)->u8RefCnt == 0U) { kfree((void const *)pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule); } else { } pstClassifierRulesTable->stActivePhsRulesList[nClsidIndex].pstPhsRule = (struct bcm_phs_rule *)0; } else { } memset((void *)(& pstClassifierRulesTable->stActivePhsRulesList) + (unsigned long )nClsidIndex, 0, 24UL); if ((unsigned long )pstClassifierRulesTable->stOldPhsRulesList[nClsidIndex].pstPhsRule != (unsigned long )((struct bcm_phs_rule *)0)) { if ((unsigned int )(pstClassifierRulesTable->stOldPhsRulesList[nClsidIndex].pstPhsRule)->u8RefCnt != 0U) { (pstClassifierRulesTable->stOldPhsRulesList[nClsidIndex].pstPhsRule)->u8RefCnt = (u8 )((int )(pstClassifierRulesTable->stOldPhsRulesList[nClsidIndex].pstPhsRule)->u8RefCnt - 1); } else { } if ((unsigned int )(pstClassifierRulesTable->stOldPhsRulesList[nClsidIndex].pstPhsRule)->u8RefCnt == 0U) { kfree((void const *)pstClassifierRulesTable->stOldPhsRulesList[nClsidIndex].pstPhsRule); } else { } pstClassifierRulesTable->stOldPhsRulesList[nClsidIndex].pstPhsRule = (struct bcm_phs_rule *)0; } else { } memset((void *)(& pstClassifierRulesTable->stOldPhsRulesList) + (unsigned long )nClsidIndex, 0, 24UL); nClsidIndex = nClsidIndex + 1U; ldv_51957: ; if (nClsidIndex <= 19U) { goto ldv_51956; } else { } } else { } pstServiceFlowEntry->bUsed = 0U; pstServiceFlowEntry->uiVcid = 0U; } else { } return (0UL); } } static ULONG PhsCompress(void *pvContext , B_UINT16 uiVcid , B_UINT16 uiClsId , void *pvInputBuffer , void *pvOutputBuffer , UINT *pOldHeaderSize , UINT *pNewHeaderSize ) { UINT nSFIndex ; UINT nClsidIndex ; struct bcm_phs_entry *pstServiceFlowEntry ; struct bcm_phs_classifier_entry *pstClassifierEntry ; struct bcm_phs_rule *pstPhsRule ; ULONG lStatus ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct bcm_phs_extension *pDeviceExtension ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; struct _ddebug descriptor___4 ; long tmp___5 ; struct _ddebug descriptor___6 ; long tmp___7 ; struct _ddebug descriptor___8 ; long tmp___9 ; bool tmp___10 ; int tmp___11 ; int tmp___12 ; { nSFIndex = 0U; nClsidIndex = 0U; pstServiceFlowEntry = (struct bcm_phs_entry *)0; pstClassifierEntry = (struct bcm_phs_classifier_entry *)0; pstPhsRule = (struct bcm_phs_rule *)0; lStatus = 0UL; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; pDeviceExtension = (struct bcm_phs_extension *)pvContext; if ((unsigned long )pDeviceExtension == (unsigned long )((struct bcm_phs_extension *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 65536U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "PhsCompress"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___0.format = "%s:\nInvalid Device Extension\n"; descriptor___0.lineno = 649U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nInvalid Device Extension\n", "PhsCompress"); } else { } } else { } lStatus = 162UL; return (lStatus); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 65536U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "PhsCompress"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___2.format = "%s:\nSuppressing header\n"; descriptor___2.lineno = 654U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nSuppressing header\n", "PhsCompress"); } else { } } else { } nSFIndex = GetServiceFlowEntry(pDeviceExtension->pstServiceFlowPhsRulesTable, (int )uiVcid, & pstServiceFlowEntry); if (nSFIndex == 4294967295U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 65536U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "PhsCompress"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___4.format = "%s:\nSFID Match Failed\n"; descriptor___4.lineno = 660U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nSFID Match Failed\n", "PhsCompress"); } else { } } else { } lStatus = 162UL; return (lStatus); } else { } nClsidIndex = GetClassifierEntry(pstServiceFlowEntry->pstClassifierTable, (B_UINT32 )uiClsId, 0, & pstClassifierEntry); if (nClsidIndex == 4294967295U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 65536U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "PhsCompress"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___6.format = "%s:\nNo PHS Rule Defined For Classifier\n"; descriptor___6.lineno = 669U; descriptor___6.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nNo PHS Rule Defined For Classifier\n", "PhsCompress"); } else { } } else { } lStatus = 162UL; return (lStatus); } else { } pstPhsRule = pstClassifierEntry->pstPhsRule; tmp___10 = ValidatePHSRuleComplete(pstPhsRule); if (tmp___10) { tmp___11 = 0; } else { tmp___11 = 1; } if (tmp___11) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "PhsCompress"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___8.format = "%s:\nPHS Rule Defined For Classifier But Not Complete\n"; descriptor___8.lineno = 677U; descriptor___8.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nPHS Rule Defined For Classifier But Not Complete\n", "PhsCompress"); } else { } } else { } lStatus = 162UL; return (lStatus); } else { } tmp___12 = phs_compress(pstPhsRule, (unsigned char *)pvInputBuffer, (unsigned char *)pvOutputBuffer, pOldHeaderSize, pNewHeaderSize); lStatus = (ULONG )tmp___12; if (lStatus == 161UL) { pstPhsRule->PHSModifiedBytes = pstPhsRule->PHSModifiedBytes + (long )((*pOldHeaderSize - *pNewHeaderSize) - 1U); pstPhsRule->PHSModifiedNumPackets = pstPhsRule->PHSModifiedNumPackets + 1UL; } else { pstPhsRule->PHSErrorNumPackets = pstPhsRule->PHSErrorNumPackets + 1UL; } return (lStatus); } } static ULONG PhsDeCompress(void *pvContext , B_UINT16 uiVcid , void *pvInputBuffer , void *pvOutputBuffer , UINT *pInHeaderSize , UINT *pOutHeaderSize ) { UINT nSFIndex ; UINT nPhsRuleIndex ; struct bcm_phs_entry *pstServiceFlowEntry ; struct bcm_phs_rule *pstPhsRule ; UINT phsi ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct bcm_phs_extension *pDeviceExtension ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; struct _ddebug descriptor___4 ; long tmp___5 ; struct _ddebug descriptor___6 ; long tmp___7 ; int tmp___8 ; { nSFIndex = 0U; nPhsRuleIndex = 0U; pstServiceFlowEntry = (struct bcm_phs_entry *)0; pstPhsRule = (struct bcm_phs_rule *)0; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; pDeviceExtension = (struct bcm_phs_extension *)pvContext; *pInHeaderSize = 0U; if ((unsigned long )pDeviceExtension == (unsigned long )((struct bcm_phs_extension *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 131072U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "PhsDeCompress"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___0.format = "%s:\nInvalid Device Extension\n"; descriptor___0.lineno = 729U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nInvalid Device Extension\n", "PhsDeCompress"); } else { } } else { } return (2048UL); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 131072U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "PhsDeCompress"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___2.format = "%s:\nRestoring header\n"; descriptor___2.lineno = 733U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nRestoring header\n", "PhsDeCompress"); } else { } } else { } phsi = (UINT )*((unsigned char *)pvInputBuffer); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 131072U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "PhsDeCompress"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___4.format = "%s:\nPHSI To Be Used For restore : %x\n"; descriptor___4.lineno = 736U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nPHSI To Be Used For restore : %x\n", "PhsDeCompress", phsi); } else { } } else { } if (phsi == 0U) { return (162UL); } else { } nSFIndex = GetServiceFlowEntry(pDeviceExtension->pstServiceFlowPhsRulesTable, (int )uiVcid, & pstServiceFlowEntry); if (nSFIndex == 4294967295U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 131072U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "PhsDeCompress"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___6.format = "%s:\nSFID Match Failed During Lookup\n"; descriptor___6.lineno = 744U; descriptor___6.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nSFID Match Failed During Lookup\n", "PhsDeCompress"); } else { } } else { } return (2051UL); } else { } nPhsRuleIndex = GetPhsRuleEntry(pstServiceFlowEntry->pstClassifierTable, phsi, 0, & pstPhsRule); if (nPhsRuleIndex == 4294967295U) { nPhsRuleIndex = GetPhsRuleEntry(pstServiceFlowEntry->pstClassifierTable, phsi, 1, & pstPhsRule); if (nPhsRuleIndex == 4294967295U) { return (2057UL); } else { } } else { } tmp___8 = phs_decompress((unsigned char *)pvInputBuffer, (unsigned char *)pvOutputBuffer, pstPhsRule, pOutHeaderSize); *pInHeaderSize = (UINT )tmp___8; pstPhsRule->PHSModifiedBytes = pstPhsRule->PHSModifiedBytes + (long )((*pOutHeaderSize - *pInHeaderSize) - 1U); pstPhsRule->PHSModifiedNumPackets = pstPhsRule->PHSModifiedNumPackets + 1UL; return (161UL); } } static void free_phs_serviceflow_rules(struct bcm_phs_table *psServiceFlowRulesTable ) { int i ; int j ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct bcm_phs_entry stServiceFlowEntry ; struct bcm_phs_classifier_table *pstClassifierRulesTable ; { tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "free_phs_serviceflow_rules"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___0.format = "%s:\n=======>\n"; descriptor___0.lineno = 783U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n=======>\n", "free_phs_serviceflow_rules"); } else { } } else { } if ((unsigned long )psServiceFlowRulesTable != (unsigned long )((struct bcm_phs_table *)0)) { i = 0; goto ldv_52026; ldv_52025: stServiceFlowEntry = psServiceFlowRulesTable->stSFList[i]; pstClassifierRulesTable = stServiceFlowEntry.pstClassifierTable; if ((unsigned long )pstClassifierRulesTable != (unsigned long )((struct bcm_phs_classifier_table *)0)) { j = 0; goto ldv_52023; ldv_52022: ; if ((unsigned long )pstClassifierRulesTable->stActivePhsRulesList[j].pstPhsRule != (unsigned long )((struct bcm_phs_rule *)0)) { if ((unsigned int )(pstClassifierRulesTable->stActivePhsRulesList[j].pstPhsRule)->u8RefCnt != 0U) { (pstClassifierRulesTable->stActivePhsRulesList[j].pstPhsRule)->u8RefCnt = (u8 )((int )(pstClassifierRulesTable->stActivePhsRulesList[j].pstPhsRule)->u8RefCnt - 1); } else { } if ((unsigned int )(pstClassifierRulesTable->stActivePhsRulesList[j].pstPhsRule)->u8RefCnt == 0U) { kfree((void const *)pstClassifierRulesTable->stActivePhsRulesList[j].pstPhsRule); } else { } pstClassifierRulesTable->stActivePhsRulesList[j].pstPhsRule = (struct bcm_phs_rule *)0; } else { } if ((unsigned long )pstClassifierRulesTable->stOldPhsRulesList[j].pstPhsRule != (unsigned long )((struct bcm_phs_rule *)0)) { if ((unsigned int )(pstClassifierRulesTable->stOldPhsRulesList[j].pstPhsRule)->u8RefCnt != 0U) { (pstClassifierRulesTable->stOldPhsRulesList[j].pstPhsRule)->u8RefCnt = (u8 )((int )(pstClassifierRulesTable->stOldPhsRulesList[j].pstPhsRule)->u8RefCnt - 1); } else { } if ((unsigned int )(pstClassifierRulesTable->stOldPhsRulesList[j].pstPhsRule)->u8RefCnt == 0U) { kfree((void const *)pstClassifierRulesTable->stOldPhsRulesList[j].pstPhsRule); } else { } pstClassifierRulesTable->stOldPhsRulesList[j].pstPhsRule = (struct bcm_phs_rule *)0; } else { } j = j + 1; ldv_52023: ; if (j <= 19) { goto ldv_52022; } else { } kfree((void const *)pstClassifierRulesTable); pstClassifierRulesTable = (struct bcm_phs_classifier_table *)0; stServiceFlowEntry.pstClassifierTable = pstClassifierRulesTable; } else { } i = i + 1; ldv_52026: ; if (i <= 16) { goto ldv_52025; } else { } } else { } kfree((void const *)psServiceFlowRulesTable); psServiceFlowRulesTable = (struct bcm_phs_table *)0; return; } } static bool ValidatePHSRuleComplete(struct bcm_phs_rule *psPhsRule ) { { if ((unsigned long )psPhsRule != (unsigned long )((struct bcm_phs_rule *)0)) { if ((unsigned int )psPhsRule->u8PHSI == 0U) { return (0); } else { } if ((unsigned int )psPhsRule->u8PHSS == 0U) { return (0); } else { } if ((unsigned int )psPhsRule->u8PHSFLength == 0U) { return (0); } else { } return (1); } else { return (0); } } } UINT GetServiceFlowEntry(struct bcm_phs_table *psServiceFlowTable , B_UINT16 uiVcid , struct bcm_phs_entry **ppstServiceFlowEntry ) { int i ; { i = 0; goto ldv_52038; ldv_52037: ; if ((unsigned int )psServiceFlowTable->stSFList[i].bUsed != 0U) { if ((int )psServiceFlowTable->stSFList[i].uiVcid == (int )uiVcid) { *ppstServiceFlowEntry = (struct bcm_phs_entry *)(& psServiceFlowTable->stSFList) + (unsigned long )i; return ((UINT )i); } else { } } else { } i = i + 1; ldv_52038: ; if (i <= 16) { goto ldv_52037; } else { } *ppstServiceFlowEntry = (struct bcm_phs_entry *)0; return (4294967295U); } } static UINT GetClassifierEntry(struct bcm_phs_classifier_table *pstClassifierTable , B_UINT32 uiClsid , enum bcm_phs_classifier_context eClsContext , struct bcm_phs_classifier_entry **ppstClassifierEntry ) { int i ; struct bcm_phs_classifier_entry *psClassifierRules ; { psClassifierRules = (struct bcm_phs_classifier_entry *)0; i = 0; goto ldv_52049; ldv_52048: ; if ((unsigned int )eClsContext == 0U) { psClassifierRules = (struct bcm_phs_classifier_entry *)(& pstClassifierTable->stActivePhsRulesList) + (unsigned long )i; } else { psClassifierRules = (struct bcm_phs_classifier_entry *)(& pstClassifierTable->stOldPhsRulesList) + (unsigned long )i; } if ((unsigned int )psClassifierRules->bUsed != 0U) { if ((B_UINT32 )psClassifierRules->uiClassifierRuleId == uiClsid) { *ppstClassifierEntry = psClassifierRules; return ((UINT )i); } else { } } else { } i = i + 1; ldv_52049: ; if (i <= 19) { goto ldv_52048; } else { } *ppstClassifierEntry = (struct bcm_phs_classifier_entry *)0; return (4294967295U); } } static UINT GetPhsRuleEntry(struct bcm_phs_classifier_table *pstClassifierTable , B_UINT32 uiPHSI , enum bcm_phs_classifier_context eClsContext , struct bcm_phs_rule **ppstPhsRule ) { int i ; struct bcm_phs_classifier_entry *pstClassifierRule ; { pstClassifierRule = (struct bcm_phs_classifier_entry *)0; i = 0; goto ldv_52060; ldv_52059: ; if ((unsigned int )eClsContext == 0U) { pstClassifierRule = (struct bcm_phs_classifier_entry *)(& pstClassifierTable->stActivePhsRulesList) + (unsigned long )i; } else { pstClassifierRule = (struct bcm_phs_classifier_entry *)(& pstClassifierTable->stOldPhsRulesList) + (unsigned long )i; } if ((unsigned int )pstClassifierRule->bUsed != 0U) { if ((B_UINT32 )pstClassifierRule->u8PHSI == uiPHSI) { *ppstPhsRule = pstClassifierRule->pstPhsRule; return ((UINT )i); } else { } } else { } i = i + 1; ldv_52060: ; if (i <= 19) { goto ldv_52059; } else { } *ppstPhsRule = (struct bcm_phs_rule *)0; return (4294967295U); } } static UINT CreateSFToClassifierRuleMapping(B_UINT16 uiVcid , B_UINT16 uiClsId , struct bcm_phs_table *psServiceFlowTable , struct bcm_phs_rule *psPhsRule , B_UINT8 u8AssociatedPHSI ) { struct bcm_phs_classifier_table *psaClassifiertable ; UINT uiStatus ; int iSfIndex ; bool bFreeEntryFound ; { psaClassifiertable = (struct bcm_phs_classifier_table *)0; uiStatus = 0U; bFreeEntryFound = 0; iSfIndex = 0; goto ldv_52075; ldv_52074: ; if ((unsigned int )psServiceFlowTable->stSFList[iSfIndex].bUsed == 0U) { bFreeEntryFound = 1; goto ldv_52073; } else { } iSfIndex = iSfIndex + 1; ldv_52075: ; if (iSfIndex <= 16) { goto ldv_52074; } else { } ldv_52073: ; if (! bFreeEntryFound) { return (2053U); } else { } psaClassifiertable = psServiceFlowTable->stSFList[iSfIndex].pstClassifierTable; uiStatus = CreateClassifierPHSRule((int )uiClsId, psaClassifiertable, psPhsRule, 0, (int )u8AssociatedPHSI); if (uiStatus == 0U) { psServiceFlowTable->stSFList[iSfIndex].bUsed = 1U; psServiceFlowTable->stSFList[iSfIndex].uiVcid = uiVcid; } else { } return (uiStatus); } } static UINT CreateClassiferToPHSRuleMapping(B_UINT16 uiVcid , B_UINT16 uiClsId , struct bcm_phs_entry *pstServiceFlowEntry , struct bcm_phs_rule *psPhsRule , B_UINT8 u8AssociatedPHSI ) { struct bcm_phs_classifier_entry *pstClassifierEntry ; UINT uiStatus ; UINT nClassifierIndex ; struct bcm_phs_classifier_table *psaClassifiertable ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; size_t __len ; void *__ret ; size_t __len___0 ; void *__ret___0 ; { pstClassifierEntry = (struct bcm_phs_classifier_entry *)0; uiStatus = 0U; nClassifierIndex = 0U; psaClassifiertable = (struct bcm_phs_classifier_table *)0; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; psaClassifiertable = pstServiceFlowEntry->pstClassifierTable; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "CreateClassiferToPHSRuleMapping"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___0.format = "%s:\n==>"; descriptor___0.lineno = 963U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n==>", "CreateClassiferToPHSRuleMapping"); } else { } } else { } nClassifierIndex = GetClassifierEntry(pstServiceFlowEntry->pstClassifierTable, (B_UINT32 )uiClsId, 0, & pstClassifierEntry); if (nClassifierIndex == 4294967295U) { uiStatus = CreateClassifierPHSRule((int )uiClsId, psaClassifiertable, psPhsRule, 0, (int )u8AssociatedPHSI); return (uiStatus); } else { } if ((int )pstClassifierEntry->u8PHSI == (int )psPhsRule->u8PHSI) { if ((unsigned long )pstClassifierEntry->pstPhsRule == (unsigned long )((struct bcm_phs_rule *)0)) { return (2049U); } else { } if ((unsigned int )psPhsRule->u8PHSFLength != 0U) { __len = 255UL; if (__len > 63UL) { __ret = memcpy((void *)(& (pstClassifierEntry->pstPhsRule)->u8PHSF), (void const *)(& psPhsRule->u8PHSF), __len); } else { __ret = memcpy((void *)(& (pstClassifierEntry->pstPhsRule)->u8PHSF), (void const *)(& psPhsRule->u8PHSF), __len); } } else { } if ((unsigned int )psPhsRule->u8PHSFLength != 0U) { (pstClassifierEntry->pstPhsRule)->u8PHSFLength = psPhsRule->u8PHSFLength; } else { } if ((unsigned int )psPhsRule->u8PHSMLength != 0U) { __len___0 = 255UL; if (__len___0 > 63UL) { __ret___0 = memcpy((void *)(& (pstClassifierEntry->pstPhsRule)->u8PHSM), (void const *)(& psPhsRule->u8PHSM), __len___0); } else { __ret___0 = memcpy((void *)(& (pstClassifierEntry->pstPhsRule)->u8PHSM), (void const *)(& psPhsRule->u8PHSM), __len___0); } } else { } if ((unsigned int )psPhsRule->u8PHSMLength != 0U) { (pstClassifierEntry->pstPhsRule)->u8PHSMLength = psPhsRule->u8PHSMLength; } else { } if ((unsigned int )psPhsRule->u8PHSS != 0U) { (pstClassifierEntry->pstPhsRule)->u8PHSS = psPhsRule->u8PHSS; } else { } (pstClassifierEntry->pstPhsRule)->u8PHSV = psPhsRule->u8PHSV; } else { uiStatus = UpdateClassifierPHSRule((int )uiClsId, pstClassifierEntry, psaClassifiertable, psPhsRule, (int )u8AssociatedPHSI); } return (uiStatus); } } static UINT CreateClassifierPHSRule(B_UINT16 uiClsId , struct bcm_phs_classifier_table *psaClassifiertable , struct bcm_phs_rule *psPhsRule , enum bcm_phs_classifier_context eClsContext , B_UINT8 u8AssociatedPHSI ) { UINT iClassifierIndex ; bool bFreeEntryFound ; struct bcm_phs_classifier_entry *psClassifierRules ; UINT nStatus ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; void *tmp___2 ; size_t __len ; void *__ret ; { iClassifierIndex = 0U; bFreeEntryFound = 0; psClassifierRules = (struct bcm_phs_classifier_entry *)0; nStatus = 0U; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "CreateClassifierPHSRule"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___0.format = "%s:\nInside CreateClassifierPHSRule"; descriptor___0.lineno = 1050U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nInside CreateClassifierPHSRule", "CreateClassifierPHSRule"); } else { } } else { } if ((unsigned long )psaClassifiertable == (unsigned long )((struct bcm_phs_classifier_table *)0)) { return (2052U); } else { } if ((unsigned int )eClsContext == 1U) { iClassifierIndex = GetClassifierEntry(psaClassifiertable, (B_UINT32 )uiClsId, eClsContext, & psClassifierRules); if (iClassifierIndex != 4294967295U) { bFreeEntryFound = 1; } else { } } else { } if (! bFreeEntryFound) { iClassifierIndex = 0U; goto ldv_52114; ldv_52113: ; if ((unsigned int )eClsContext == 0U) { psClassifierRules = (struct bcm_phs_classifier_entry *)(& psaClassifiertable->stActivePhsRulesList) + (unsigned long )iClassifierIndex; } else { psClassifierRules = (struct bcm_phs_classifier_entry *)(& psaClassifiertable->stOldPhsRulesList) + (unsigned long )iClassifierIndex; } if ((unsigned int )psClassifierRules->bUsed == 0U) { bFreeEntryFound = 1; goto ldv_52112; } else { } iClassifierIndex = iClassifierIndex + 1U; ldv_52114: ; if (iClassifierIndex <= 19U) { goto ldv_52113; } else { } ldv_52112: ; } else { } if (! bFreeEntryFound) { if ((unsigned int )eClsContext == 0U) { return (2054U); } else { if ((unsigned int )psaClassifiertable->uiOldestPhsRuleIndex > 19U) { psaClassifiertable->uiOldestPhsRuleIndex = 0U; } else { } iClassifierIndex = (UINT )psaClassifiertable->uiOldestPhsRuleIndex; psClassifierRules = (struct bcm_phs_classifier_entry *)(& psaClassifiertable->stOldPhsRulesList) + (unsigned long )iClassifierIndex; psaClassifiertable->uiOldestPhsRuleIndex = (u16 )((int )psaClassifiertable->uiOldestPhsRuleIndex + 1); } } else { } if ((unsigned int )eClsContext == 1U) { if ((unsigned long )psClassifierRules->pstPhsRule == (unsigned long )((struct bcm_phs_rule *)0)) { tmp___2 = kmalloc(544UL, 208U); psClassifierRules->pstPhsRule = (struct bcm_phs_rule *)tmp___2; if ((unsigned long )psClassifierRules->pstPhsRule == (unsigned long )((struct bcm_phs_rule *)0)) { return (2055U); } else { } } else { } psClassifierRules->bUsed = 1U; psClassifierRules->uiClassifierRuleId = uiClsId; psClassifierRules->u8PHSI = psPhsRule->u8PHSI; psClassifierRules->bUnclassifiedPHSRule = psPhsRule->bUnclassifiedPHSRule; __len = 544UL; if (__len > 63UL) { __ret = memcpy((void *)psClassifierRules->pstPhsRule, (void const *)psPhsRule, __len); } else { __ret = memcpy((void *)psClassifierRules->pstPhsRule, (void const *)psPhsRule, __len); } } else { nStatus = UpdateClassifierPHSRule((int )uiClsId, psClassifierRules, psaClassifiertable, psPhsRule, (int )u8AssociatedPHSI); } return (nStatus); } } static UINT UpdateClassifierPHSRule(B_UINT16 uiClsId , struct bcm_phs_classifier_entry *pstClassifierEntry , struct bcm_phs_classifier_table *psaClassifiertable , struct bcm_phs_rule *psPhsRule , B_UINT8 u8AssociatedPHSI ) { struct bcm_phs_rule *pstAddPhsRule ; UINT nPhsRuleIndex ; bool bPHSRuleOrphaned ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; void *tmp___4 ; size_t __len ; void *__ret ; struct _ddebug descriptor___4 ; long tmp___6 ; { pstAddPhsRule = (struct bcm_phs_rule *)0; nPhsRuleIndex = 0U; bPHSRuleOrphaned = 0; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; psPhsRule->u8RefCnt = 0U; bPHSRuleOrphaned = DerefPhsRule((int )uiClsId, psaClassifiertable, pstClassifierEntry->pstPhsRule); nPhsRuleIndex = GetPhsRuleEntry(psaClassifiertable, (B_UINT32 )u8AssociatedPHSI, 0, & pstAddPhsRule); if (nPhsRuleIndex == 4294967295U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "UpdateClassifierPHSRule"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___0.format = "%s:\n\nAdding New PHSRuleEntry For Classifier"; descriptor___0.lineno = 1152U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n\nAdding New PHSRuleEntry For Classifier", "UpdateClassifierPHSRule"); } else { } } else { } if ((unsigned int )psPhsRule->u8PHSI == 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "UpdateClassifierPHSRule"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___2.format = "%s:\n\nError PHSI is Zero\n"; descriptor___2.lineno = 1155U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\n\nError PHSI is Zero\n", "UpdateClassifierPHSRule"); } else { } } else { } return (2049U); } else { } if (! bPHSRuleOrphaned) { tmp___4 = kmalloc(544UL, 208U); pstClassifierEntry->pstPhsRule = (struct bcm_phs_rule *)tmp___4; if ((unsigned long )pstClassifierEntry->pstPhsRule == (unsigned long )((struct bcm_phs_rule *)0)) { return (2055U); } else { } } else { } __len = 544UL; if (__len > 63UL) { __ret = memcpy((void *)pstClassifierEntry->pstPhsRule, (void const *)psPhsRule, __len); } else { __ret = memcpy((void *)pstClassifierEntry->pstPhsRule, (void const *)psPhsRule, __len); } } else { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 33554432U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "UpdateClassifierPHSRule"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___4.format = "%s:\n\nTying Classifier to Existing PHS Rule"; descriptor___4.lineno = 1169U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n\nTying Classifier to Existing PHS Rule", "UpdateClassifierPHSRule"); } else { } } else { } if ((int )bPHSRuleOrphaned) { kfree((void const *)pstClassifierEntry->pstPhsRule); pstClassifierEntry->pstPhsRule = (struct bcm_phs_rule *)0; } else { } pstClassifierEntry->pstPhsRule = pstAddPhsRule; } pstClassifierEntry->bUsed = 1U; pstClassifierEntry->u8PHSI = (pstClassifierEntry->pstPhsRule)->u8PHSI; pstClassifierEntry->uiClassifierRuleId = uiClsId; (pstClassifierEntry->pstPhsRule)->u8RefCnt = (u8 )((int )(pstClassifierEntry->pstPhsRule)->u8RefCnt + 1); pstClassifierEntry->bUnclassifiedPHSRule = (pstClassifierEntry->pstPhsRule)->bUnclassifiedPHSRule; return (0U); } } static bool DerefPhsRule(B_UINT16 uiClsId , struct bcm_phs_classifier_table *psaClassifiertable , struct bcm_phs_rule *pstPhsRule ) { { if ((unsigned long )pstPhsRule == (unsigned long )((struct bcm_phs_rule *)0)) { return (0); } else { } if ((unsigned int )pstPhsRule->u8RefCnt != 0U) { pstPhsRule->u8RefCnt = (u8 )((int )pstPhsRule->u8RefCnt - 1); } else { } if ((unsigned int )pstPhsRule->u8RefCnt == 0U) { return (1); } else { return (0); } } } void DumpPhsRules(struct bcm_phs_extension *pDeviceExtension ) { int i ; int j ; int k ; int l ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct bcm_phs_entry stServFlowEntry ; struct bcm_phs_classifier_entry stClsEntry ; struct _ddebug descriptor___1 ; long tmp___2 ; struct _ddebug descriptor___3 ; long tmp___4 ; struct _ddebug descriptor___6 ; long tmp___7 ; struct _ddebug descriptor___7 ; long tmp___8 ; struct _ddebug descriptor___9 ; long tmp___10 ; struct _ddebug descriptor___11 ; long tmp___12 ; struct _ddebug descriptor___13 ; long tmp___14 ; struct _ddebug descriptor___15 ; long tmp___16 ; struct _ddebug descriptor___17 ; long tmp___18 ; struct _ddebug descriptor___19 ; long tmp___20 ; struct _ddebug descriptor___21 ; long tmp___22 ; struct _ddebug descriptor___23 ; long tmp___24 ; struct _ddebug descriptor___25 ; long tmp___26 ; struct _ddebug descriptor___27 ; long tmp___28 ; struct _ddebug descriptor___29 ; long tmp___30 ; struct _ddebug descriptor___32 ; long tmp___33 ; { tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "DumpPhsRules"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___0.format = "%s:\n\n Dumping PHS Rules :\n"; descriptor___0.lineno = 1210U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n\n Dumping PHS Rules :\n", "DumpPhsRules"); } else { } } else { } i = 0; goto ldv_52202; ldv_52201: stServFlowEntry = (pDeviceExtension->pstServiceFlowPhsRulesTable)->stSFList[i]; if ((unsigned int )stServFlowEntry.bUsed != 0U) { j = 0; goto ldv_52199; ldv_52198: l = 0; goto ldv_52196; ldv_52195: ; if (l == 0) { stClsEntry = (stServFlowEntry.pstClassifierTable)->stActivePhsRulesList[j]; if ((unsigned int )stClsEntry.bUsed != 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___1.modname = "bcm_wimax"; descriptor___1.function = "DumpPhsRules"; descriptor___1.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___1.format = "%s:\n"; descriptor___1.lineno = 1226U; descriptor___1.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___1.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___1, "%s:\n", (char *)"\n Active PHS Rule :\n"); } else { } } else { } } else { } } else { stClsEntry = (stServFlowEntry.pstClassifierTable)->stOldPhsRulesList[j]; if ((unsigned int )stClsEntry.bUsed != 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___3.modname = "bcm_wimax"; descriptor___3.function = "DumpPhsRules"; descriptor___3.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___3.format = "%s:\n"; descriptor___3.lineno = 1230U; descriptor___3.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___3.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___3, "%s:\n", (char *)"\n Old PHS Rule :\n"); } else { } } else { } } else { } } if ((unsigned int )stClsEntry.bUsed != 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "DumpPhsRules"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___6.format = "%s:\n\n VCID : %#X"; descriptor___6.lineno = 1234U; descriptor___6.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\n\n VCID : %#X", "DumpPhsRules", (int )stServFlowEntry.uiVcid); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___7.modname = "bcm_wimax"; descriptor___7.function = "DumpPhsRules"; descriptor___7.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___7.format = "%s:\n"; descriptor___7.lineno = 1235U; descriptor___7.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___7.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___7, "%s:\n", (char *)"\n ClassifierID : %#X"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___9.modname = "bcm_wimax"; descriptor___9.function = "DumpPhsRules"; descriptor___9.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___9.format = "%s:\n"; descriptor___9.lineno = 1236U; descriptor___9.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___9.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___9, "%s:\n", (char *)"\n PHSRuleID : %#X"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___11.modname = "bcm_wimax"; descriptor___11.function = "DumpPhsRules"; descriptor___11.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___11.format = "%s:\n"; descriptor___11.lineno = 1237U; descriptor___11.flags = 0U; tmp___12 = ldv__builtin_expect((long )descriptor___11.flags & 1L, 0L); if (tmp___12 != 0L) { __dynamic_pr_debug(& descriptor___11, "%s:\n", (char *)"\n****************PHS Rule********************\n"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___13.modname = "bcm_wimax"; descriptor___13.function = "DumpPhsRules"; descriptor___13.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___13.format = "%s:\n"; descriptor___13.lineno = 1238U; descriptor___13.flags = 0U; tmp___14 = ldv__builtin_expect((long )descriptor___13.flags & 1L, 0L); if (tmp___14 != 0L) { __dynamic_pr_debug(& descriptor___13, "%s:\n", (char *)"\n PHSI : %#X"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___15.modname = "bcm_wimax"; descriptor___15.function = "DumpPhsRules"; descriptor___15.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___15.format = "%s:\n"; descriptor___15.lineno = 1239U; descriptor___15.flags = 0U; tmp___16 = ldv__builtin_expect((long )descriptor___15.flags & 1L, 0L); if (tmp___16 != 0L) { __dynamic_pr_debug(& descriptor___15, "%s:\n", (char *)"\n PHSFLength : %#X "); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___17.modname = "bcm_wimax"; descriptor___17.function = "DumpPhsRules"; descriptor___17.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___17.format = "%s:\n"; descriptor___17.lineno = 1240U; descriptor___17.flags = 0U; tmp___18 = ldv__builtin_expect((long )descriptor___17.flags & 1L, 0L); if (tmp___18 != 0L) { __dynamic_pr_debug(& descriptor___17, "%s:\n", (char *)"\n PHSF : "); } else { } } else { } k = 0; goto ldv_52178; ldv_52177: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___19.modname = "bcm_wimax"; descriptor___19.function = "DumpPhsRules"; descriptor___19.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___19.format = "%s:\n"; descriptor___19.lineno = 1243U; descriptor___19.flags = 0U; tmp___20 = ldv__builtin_expect((long )descriptor___19.flags & 1L, 0L); if (tmp___20 != 0L) { __dynamic_pr_debug(& descriptor___19, "%s:\n", (char *)"%#X "); } else { } } else { } k = k + 1; ldv_52178: ; if ((int )(stClsEntry.pstPhsRule)->u8PHSFLength > k) { goto ldv_52177; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___21.modname = "bcm_wimax"; descriptor___21.function = "DumpPhsRules"; descriptor___21.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___21.format = "%s:\n"; descriptor___21.lineno = 1244U; descriptor___21.flags = 0U; tmp___22 = ldv__builtin_expect((long )descriptor___21.flags & 1L, 0L); if (tmp___22 != 0L) { __dynamic_pr_debug(& descriptor___21, "%s:\n", (char *)"\n PHSMLength : %#X"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___23.modname = "bcm_wimax"; descriptor___23.function = "DumpPhsRules"; descriptor___23.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___23.format = "%s:\n"; descriptor___23.lineno = 1245U; descriptor___23.flags = 0U; tmp___24 = ldv__builtin_expect((long )descriptor___23.flags & 1L, 0L); if (tmp___24 != 0L) { __dynamic_pr_debug(& descriptor___23, "%s:\n", (char *)"\n PHSM :"); } else { } } else { } k = 0; goto ldv_52187; ldv_52186: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___25.modname = "bcm_wimax"; descriptor___25.function = "DumpPhsRules"; descriptor___25.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___25.format = "%s:\n"; descriptor___25.lineno = 1248U; descriptor___25.flags = 0U; tmp___26 = ldv__builtin_expect((long )descriptor___25.flags & 1L, 0L); if (tmp___26 != 0L) { __dynamic_pr_debug(& descriptor___25, "%s:\n", (char *)"%#X "); } else { } } else { } k = k + 1; ldv_52187: ; if ((int )(stClsEntry.pstPhsRule)->u8PHSMLength > k) { goto ldv_52186; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___27.modname = "bcm_wimax"; descriptor___27.function = "DumpPhsRules"; descriptor___27.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___27.format = "%s:\n"; descriptor___27.lineno = 1249U; descriptor___27.flags = 0U; tmp___28 = ldv__builtin_expect((long )descriptor___27.flags & 1L, 0L); if (tmp___28 != 0L) { __dynamic_pr_debug(& descriptor___27, "%s:\n", (char *)"\n PHSS : %#X "); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___29.modname = "bcm_wimax"; descriptor___29.function = "DumpPhsRules"; descriptor___29.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___29.format = "%s:\n"; descriptor___29.lineno = 1250U; descriptor___29.flags = 0U; tmp___30 = ldv__builtin_expect((long )descriptor___29.flags & 1L, 0L); if (tmp___30 != 0L) { __dynamic_pr_debug(& descriptor___29, "%s:\n", (char *)"\n PHSV : %#X"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 64U) != 0U) { descriptor___32.modname = "bcm_wimax"; descriptor___32.function = "DumpPhsRules"; descriptor___32.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___32.format = "%s:\n\n********************************************\n"; descriptor___32.lineno = 1251U; descriptor___32.flags = 0U; tmp___33 = ldv__builtin_expect((long )descriptor___32.flags & 1L, 0L); if (tmp___33 != 0L) { __dynamic_pr_debug(& descriptor___32, "%s:\n\n********************************************\n", "DumpPhsRules"); } else { } } else { } } else { } l = l + 1; ldv_52196: ; if (l <= 1) { goto ldv_52195; } else { } j = j + 1; ldv_52199: ; if (j <= 19) { goto ldv_52198; } else { } } else { } i = i + 1; ldv_52202: ; if (i <= 16) { goto ldv_52201; } else { } return; } } static int phs_decompress(unsigned char *in_buf , unsigned char *out_buf , struct bcm_phs_rule *decomp_phs_rules , UINT *header_size ) { int phss ; int size ; struct bcm_phs_rule *tmp_memb ; int bit ; int i ; unsigned char *phsf ; unsigned char *phsm ; int in_buf_len ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; struct _ddebug descriptor___4 ; long tmp___5 ; { size = 0; i = 0; in_buf_len = (int )(*header_size - 1U); tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; in_buf = in_buf + 1; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 131072U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "phs_decompress"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___0.format = "%s:\n====>\n"; descriptor___0.lineno = 1289U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n====>\n", "phs_decompress"); } else { } } else { } *header_size = 0U; if ((unsigned long )decomp_phs_rules == (unsigned long )((struct bcm_phs_rule *)0)) { return (0); } else { } tmp_memb = decomp_phs_rules; phss = (int )tmp_memb->u8PHSS; phsf = (unsigned char *)(& tmp_memb->u8PHSF); phsm = (unsigned char *)(& tmp_memb->u8PHSM); if (phss > 255) { phss = 255; } else { } goto ldv_52227; ldv_52226: bit = ((int )*phsm << i) & 128; if (bit == 128) { *out_buf = *phsf; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 131072U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "phs_decompress"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___2.format = "%s:\n\nDECOMP:In phss %d phsf %d output %d"; descriptor___2.lineno = 1317U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\n\nDECOMP:In phss %d phsf %d output %d", "phs_decompress", phss, (int )*phsf, (int )*out_buf); } else { } } else { } } else { *out_buf = *in_buf; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 131072U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "phs_decompress"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___4.format = "%s:\n\nDECOMP:In phss %d input %d output %d"; descriptor___4.lineno = 1321U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n\nDECOMP:In phss %d input %d output %d", "phs_decompress", phss, (int )*in_buf, (int )*out_buf); } else { } } else { } in_buf = in_buf + 1; size = size + 1; } out_buf = out_buf + 1; phsf = phsf + 1; phss = phss - 1; i = i + 1; *header_size = *header_size + 1U; if (i > 7) { i = 0; phsm = phsm + 1; } else { } ldv_52227: ; if (phss > 0 && size < in_buf_len) { goto ldv_52226; } else { } return (size); } } static int phs_compress(struct bcm_phs_rule *phs_rule , unsigned char *in_buf , unsigned char *out_buf , unsigned int *header_size , UINT *new_header_size ) { unsigned char *old_addr ; int suppress ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; struct _ddebug descriptor___4 ; long tmp___5 ; { old_addr = out_buf; suppress = 0; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if ((unsigned long )phs_rule == (unsigned long )((struct bcm_phs_rule *)0)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 65536U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "phs_compress"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___0.format = "%s:\n\nphs_compress(): phs_rule null!"; descriptor___0.lineno = 1371U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n\nphs_compress(): phs_rule null!", "phs_compress"); } else { } } else { } *out_buf = 0U; return (162); } else { } if ((UINT )phs_rule->u8PHSS <= *new_header_size) { *header_size = (UINT )phs_rule->u8PHSS; } else { *header_size = *new_header_size; } out_buf = out_buf + 1; suppress = verify_suppress_phsf(in_buf, out_buf, (unsigned char *)(& phs_rule->u8PHSF), (unsigned char *)(& phs_rule->u8PHSM), (unsigned int )phs_rule->u8PHSS, (unsigned int )phs_rule->u8PHSV, new_header_size); if (suppress == 161) { *old_addr = phs_rule->u8PHSI; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 65536U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "phs_compress"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___2.format = "%s:\n\nCOMP:In phs_compress phsi %d"; descriptor___2.lineno = 1389U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\n\nCOMP:In phs_compress phsi %d", "phs_compress", (int )phs_rule->u8PHSI); } else { } } else { } } else { *old_addr = 0U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 65536U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "phs_compress"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___4.format = "%s:\n\nCOMP:In phs_compress PHSV Verification failed"; descriptor___4.lineno = 1392U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n\nCOMP:In phs_compress PHSV Verification failed", "phs_compress"); } else { } } else { } } return (suppress); } } static int verify_suppress_phsf(unsigned char *in_buffer , unsigned char *out_buffer , unsigned char *phsf , unsigned char *phsm , unsigned int phss , unsigned int phsv , UINT *new_header_size ) { unsigned int size ; int bit ; int i ; struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; struct _ddebug descriptor___4 ; long tmp___5 ; struct _ddebug descriptor___6 ; long tmp___7 ; struct _ddebug descriptor___8 ; long tmp___9 ; { size = 0U; i = 0; tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 65536U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "verify_suppress_phsf"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___0.format = "%s:\n\nCOMP:In verify_phsf PHSM - 0x%X"; descriptor___0.lineno = 1429U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n\nCOMP:In verify_phsf PHSM - 0x%X", "verify_suppress_phsf", (int )*phsm); } else { } } else { } if (*new_header_size < phss) { phss = *new_header_size; } else { } goto ldv_52269; ldv_52268: bit = ((int )*phsm << i) & 128; if (bit == 128) { if ((int )*in_buffer != (int )*phsf) { if (phsv == 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 65536U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "verify_suppress_phsf"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___2.format = "%s:\n\nCOMP:In verify_phsf failed for field %d buf %d phsf %d"; descriptor___2.lineno = 1446U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\n\nCOMP:In verify_phsf failed for field %d buf %d phsf %d", "verify_suppress_phsf", phss, (int )*in_buffer, (int )*phsf); } else { } } else { } return (162); } else { } } else if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 65536U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "verify_suppress_phsf"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___4.format = "%s:\n\nCOMP:In verify_phsf success for field %d buf %d phsf %d"; descriptor___4.lineno = 1457U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\n\nCOMP:In verify_phsf success for field %d buf %d phsf %d", "verify_suppress_phsf", phss, (int )*in_buffer, (int )*phsf); } else { } } else { } } else { *out_buffer = *in_buffer; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 65536U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "verify_suppress_phsf"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___6.format = "%s:\n\nCOMP:In copying_header input %d out %d"; descriptor___6.lineno = 1466U; descriptor___6.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\n\nCOMP:In copying_header input %d out %d", "verify_suppress_phsf", (int )*in_buffer, (int )*out_buffer); } else { } } else { } out_buffer = out_buffer + 1; size = size + 1U; } in_buffer = in_buffer + 1; phsf = phsf + 1; phss = phss - 1U; i = i + 1; if (i > 7) { i = 0; phsm = phsm + 1; } else { } ldv_52269: ; if (phss != 0U) { goto ldv_52268; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 65536U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "verify_suppress_phsf"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/PHSModule.o.c.prepared"; descriptor___8.format = "%s:\n\nCOMP:In verify_phsf success"; descriptor___8.lineno = 1481U; descriptor___8.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\n\nCOMP:In verify_phsf success", "verify_suppress_phsf"); } else { } } else { } *new_header_size = size; return (161); } } int ldv_pskb_expand_head_890(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_892(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_894(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_895(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_896(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_897(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_898(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_899(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_900(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_902(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } __inline static void *kmalloc(size_t size , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_938(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_946(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_940(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_936(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_944(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_945(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_941(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_942(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_943(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; static B_UINT16 CFG_CalculateChecksum(B_UINT8 *pu8Buffer , B_UINT32 u32Size ) { B_UINT16 u16CheckSum ; B_UINT32 tmp ; { u16CheckSum = 0U; goto ldv_51717; ldv_51716: u16CheckSum = (int )((B_UINT16 )(~ ((int )*pu8Buffer))) + (int )u16CheckSum; pu8Buffer = pu8Buffer + 1; ldv_51717: tmp = u32Size; u32Size = u32Size - 1U; if (tmp != 0U) { goto ldv_51716; } else { } return (u16CheckSum); } } bool IsReqGpioIsLedInNVM(struct bcm_mini_adapter *Adapter , UINT gpios ) { INT Status ; { Status = (INT )(~ Adapter->gpioBitMap & gpios); if (Status != 0) { return (0); } else { return (1); } } } static INT LED_Blink(struct bcm_mini_adapter *Adapter , UINT GPIO_Num , UCHAR uiLedIndex , ULONG timeout , INT num_of_time , enum bcm_led_events currdriverstate ) { int Status ; bool bInfinite ; unsigned int gpio_val ; long __ret ; unsigned long tmp ; wait_queue_t __wait ; long __ret___0 ; unsigned long tmp___0 ; long __int ; long tmp___1 ; bool __cond ; bool tmp___2 ; int tmp___3 ; bool __cond___0 ; bool tmp___4 ; int tmp___5 ; struct _ddebug descriptor___0 ; long tmp___7 ; unsigned int gpio_val___0 ; bool tmp___8 ; unsigned int gpio_val___1 ; unsigned int gpio_val___2 ; long __ret___1 ; unsigned long tmp___9 ; wait_queue_t __wait___0 ; long __ret___2 ; unsigned long tmp___10 ; long __int___0 ; long tmp___11 ; bool __cond___1 ; bool tmp___12 ; int tmp___13 ; bool __cond___2 ; bool tmp___14 ; int tmp___15 ; { Status = 0; bInfinite = 0; if (num_of_time < 0) { bInfinite = 1; num_of_time = 1; } else { } goto ldv_51769; ldv_51768: ; if ((unsigned int )Adapter->DriverState == (unsigned int )currdriverstate) { gpio_val = GPIO_Num; if ((unsigned int )Adapter->LEDInfo.LEDState[(int )uiLedIndex].BitPolarity == 1U) { wrmaltWithLock(Adapter, 251658304U, & gpio_val, 4UL); } else { wrmaltWithLock(Adapter, 251658308U, & gpio_val, 4UL); } } else { } tmp = msecs_to_jiffies((unsigned int const )timeout); __ret = (long )tmp; if ((unsigned int )Adapter->DriverState != (unsigned int )currdriverstate) { tmp___5 = 1; } else { tmp___4 = kthread_should_stop(); if ((int )tmp___4) { tmp___5 = 1; } else { tmp___5 = 0; } } __cond___0 = (bool )tmp___5; if ((int )__cond___0 && __ret == 0L) { __ret = 1L; } else { } if (((int )__cond___0 || __ret == 0L) == 0) { tmp___0 = msecs_to_jiffies((unsigned int const )timeout); __ret___0 = (long )tmp___0; INIT_LIST_HEAD(& __wait.task_list); __wait.flags = 0U; ldv_51745: tmp___1 = prepare_to_wait_event(& Adapter->LEDInfo.notify_led_event, & __wait, 1); __int = tmp___1; if ((unsigned int )Adapter->DriverState != (unsigned int )currdriverstate) { tmp___3 = 1; } else { tmp___2 = kthread_should_stop(); if ((int )tmp___2) { tmp___3 = 1; } else { tmp___3 = 0; } } __cond = (bool )tmp___3; if ((int )__cond && __ret___0 == 0L) { __ret___0 = 1L; } else { } if (((int )__cond || __ret___0 == 0L) != 0) { goto ldv_51744; } else { } if (__int != 0L) { __ret___0 = __int; goto ldv_51744; } else { } __ret___0 = schedule_timeout(__ret___0); goto ldv_51745; ldv_51744: finish_wait(& Adapter->LEDInfo.notify_led_event, & __wait); __ret = __ret___0; } else { } Status = (int )__ret; tmp___8 = kthread_should_stop(); if ((int )tmp___8) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "LED_Blink"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___0.format = "%s:\nLed thread got signal to exit..hence exiting"; descriptor___0.lineno = 87U; descriptor___0.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nLed thread got signal to exit..hence exiting", "LED_Blink"); } else { } } else { } Adapter->LEDInfo.led_thread_running = 0; gpio_val___0 = GPIO_Num; if ((unsigned int )Adapter->LEDInfo.LEDState[(int )uiLedIndex].BitPolarity == 1U) { wrmaltWithLock(Adapter, 251658308U, & gpio_val___0, 4UL); } else { wrmaltWithLock(Adapter, 251658304U, & gpio_val___0, 4UL); } Status = 1; goto ldv_51752; } else { } if (Status != 0) { gpio_val___1 = GPIO_Num; if ((unsigned int )Adapter->LEDInfo.LEDState[(int )uiLedIndex].BitPolarity == 1U) { wrmaltWithLock(Adapter, 251658308U, & gpio_val___1, 4UL); } else { wrmaltWithLock(Adapter, 251658304U, & gpio_val___1, 4UL); } Status = 1; goto ldv_51752; } else { } gpio_val___2 = GPIO_Num; if ((unsigned int )Adapter->LEDInfo.LEDState[(int )uiLedIndex].BitPolarity == 1U) { wrmaltWithLock(Adapter, 251658308U, & gpio_val___2, 4UL); } else { wrmaltWithLock(Adapter, 251658304U, & gpio_val___2, 4UL); } tmp___9 = msecs_to_jiffies((unsigned int const )timeout); __ret___1 = (long )tmp___9; if ((unsigned int )Adapter->DriverState != (unsigned int )currdriverstate) { tmp___15 = 1; } else { tmp___14 = kthread_should_stop(); if ((int )tmp___14) { tmp___15 = 1; } else { tmp___15 = 0; } } __cond___2 = (bool )tmp___15; if ((int )__cond___2 && __ret___1 == 0L) { __ret___1 = 1L; } else { } if (((int )__cond___2 || __ret___1 == 0L) == 0) { tmp___10 = msecs_to_jiffies((unsigned int const )timeout); __ret___2 = (long )tmp___10; INIT_LIST_HEAD(& __wait___0.task_list); __wait___0.flags = 0U; ldv_51765: tmp___11 = prepare_to_wait_event(& Adapter->LEDInfo.notify_led_event, & __wait___0, 1); __int___0 = tmp___11; if ((unsigned int )Adapter->DriverState != (unsigned int )currdriverstate) { tmp___13 = 1; } else { tmp___12 = kthread_should_stop(); if ((int )tmp___12) { tmp___13 = 1; } else { tmp___13 = 0; } } __cond___1 = (bool )tmp___13; if ((int )__cond___1 && __ret___2 == 0L) { __ret___2 = 1L; } else { } if (((int )__cond___1 || __ret___2 == 0L) != 0) { goto ldv_51764; } else { } if (__int___0 != 0L) { __ret___2 = __int___0; goto ldv_51764; } else { } __ret___2 = schedule_timeout(__ret___2); goto ldv_51765; ldv_51764: finish_wait(& Adapter->LEDInfo.notify_led_event, & __wait___0); __ret___1 = __ret___2; } else { } Status = (int )__ret___1; if (! bInfinite) { num_of_time = num_of_time - 1; } else { } ldv_51769: ; if (num_of_time != 0) { goto ldv_51768; } else { } ldv_51752: ; return (Status); } } static INT ScaleRateofTransfer(ULONG rate ) { { if (rate <= 3UL) { return ((INT )rate); } else if (rate > 3UL && rate <= 100UL) { return (5); } else if (rate > 100UL && rate <= 200UL) { return (6); } else if (rate > 200UL && rate <= 300UL) { return (7); } else if (rate > 300UL && rate <= 400UL) { return (8); } else if (rate > 400UL && rate <= 500UL) { return (9); } else if (rate > 500UL && rate <= 600UL) { return (10); } else { return (10); } } } static INT LED_Proportional_Blink(struct bcm_mini_adapter *Adapter , UCHAR GPIO_Num_tx , UCHAR uiTxLedIndex , UCHAR GPIO_Num_rx , UCHAR uiRxLedIndex , enum bcm_led_events currdriverstate ) { ULONG64 Initial_num_of_packts_tx ; ULONG64 Initial_num_of_packts_rx ; ULONG64 Final_num_of_packts_tx ; ULONG64 Final_num_of_packts_rx ; ULONG64 rate_of_transfer_tx ; ULONG64 rate_of_transfer_rx ; int Status ; INT num_of_time ; INT num_of_time_tx ; INT num_of_time_rx ; UINT remDelay ; bool bBlinkBothLED ; ulong timeout ; INT tmp ; INT tmp___0 ; INT tmp___1 ; INT tmp___2 ; INT tmp___3 ; INT tmp___4 ; long __ret ; unsigned long tmp___5 ; wait_queue_t __wait ; long __ret___0 ; unsigned long tmp___6 ; long __int ; long tmp___7 ; bool __cond ; bool tmp___8 ; int tmp___9 ; bool __cond___0 ; bool tmp___10 ; int tmp___11 ; struct _ddebug descriptor___0 ; long tmp___13 ; bool tmp___14 ; unsigned int gpio_val ; unsigned int gpio_val___0 ; { Initial_num_of_packts_tx = 0ULL; Initial_num_of_packts_rx = 0ULL; Final_num_of_packts_tx = 0ULL; Final_num_of_packts_rx = 0ULL; rate_of_transfer_tx = 0ULL; rate_of_transfer_rx = 0ULL; Status = 0; num_of_time = 0; num_of_time_tx = 0; num_of_time_rx = 0; remDelay = 0U; bBlinkBothLED = 1; timeout = 0UL; Initial_num_of_packts_tx = (ULONG64 )(Adapter->dev)->stats.tx_packets; Initial_num_of_packts_rx = (ULONG64 )(Adapter->dev)->stats.rx_packets; num_of_time_tx = ScaleRateofTransfer((unsigned long )rate_of_transfer_tx); num_of_time_rx = ScaleRateofTransfer((unsigned long )rate_of_transfer_rx); goto ldv_51813; ldv_51812: timeout = 50UL; if ((int )bBlinkBothLED) { if (num_of_time_tx > num_of_time_rx) { num_of_time = num_of_time_rx; } else { num_of_time = num_of_time_tx; } if (num_of_time > 0) { tmp = LED_Blink(Adapter, (UINT )(1 << (int )GPIO_Num_tx), (int )uiTxLedIndex, timeout, num_of_time, currdriverstate); if (tmp == 1) { return (1); } else { } tmp___0 = LED_Blink(Adapter, (UINT )(1 << (int )GPIO_Num_rx), (int )uiRxLedIndex, timeout, num_of_time, currdriverstate); if (tmp___0 == 1) { return (1); } else { } } else { } if (num_of_time == num_of_time_tx) { tmp___1 = LED_Blink(Adapter, (UINT )(1 << (int )GPIO_Num_rx), (int )uiRxLedIndex, timeout, num_of_time_rx - num_of_time, currdriverstate); if (tmp___1 == 1) { return (1); } else { } num_of_time = num_of_time_rx; } else { tmp___2 = LED_Blink(Adapter, (UINT )(1 << (int )GPIO_Num_tx), (int )uiTxLedIndex, timeout, num_of_time_tx - num_of_time, currdriverstate); if (tmp___2 == 1) { return (1); } else { } num_of_time = num_of_time_tx; } } else if (num_of_time == num_of_time_tx) { tmp___3 = LED_Blink(Adapter, (UINT )(1 << (int )GPIO_Num_tx), (int )uiTxLedIndex, timeout, num_of_time, currdriverstate); if (tmp___3 == 1) { return (1); } else { } } else { tmp___4 = LED_Blink(Adapter, (UINT )(1 << (int )GPIO_Num_rx), (int )uiRxLedIndex, timeout, num_of_time, currdriverstate); if (tmp___4 == 1) { return (1); } else { } } remDelay = (UINT )(10 - num_of_time); if (remDelay != 0U) { timeout = (ulong )(remDelay * 100U); tmp___5 = msecs_to_jiffies((unsigned int const )timeout); __ret = (long )tmp___5; if ((unsigned int )Adapter->DriverState != (unsigned int )currdriverstate) { tmp___11 = 1; } else { tmp___10 = kthread_should_stop(); if ((int )tmp___10) { tmp___11 = 1; } else { tmp___11 = 0; } } __cond___0 = (bool )tmp___11; if ((int )__cond___0 && __ret == 0L) { __ret = 1L; } else { } if (((int )__cond___0 || __ret == 0L) == 0) { tmp___6 = msecs_to_jiffies((unsigned int const )timeout); __ret___0 = (long )tmp___6; INIT_LIST_HEAD(& __wait.task_list); __wait.flags = 0U; ldv_51804: tmp___7 = prepare_to_wait_event(& Adapter->LEDInfo.notify_led_event, & __wait, 1); __int = tmp___7; if ((unsigned int )Adapter->DriverState != (unsigned int )currdriverstate) { tmp___9 = 1; } else { tmp___8 = kthread_should_stop(); if ((int )tmp___8) { tmp___9 = 1; } else { tmp___9 = 0; } } __cond = (bool )tmp___9; if ((int )__cond && __ret___0 == 0L) { __ret___0 = 1L; } else { } if (((int )__cond || __ret___0 == 0L) != 0) { goto ldv_51803; } else { } if (__int != 0L) { __ret___0 = __int; goto ldv_51803; } else { } __ret___0 = schedule_timeout(__ret___0); goto ldv_51804; ldv_51803: finish_wait(& Adapter->LEDInfo.notify_led_event, & __wait); __ret = __ret___0; } else { } Status = (int )__ret; tmp___14 = kthread_should_stop(); if ((int )tmp___14) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "LED_Proportional_Blink"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___0.format = "%s:\nLed thread got signal to exit..hence exiting"; descriptor___0.lineno = 245U; descriptor___0.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nLed thread got signal to exit..hence exiting", "LED_Proportional_Blink"); } else { } } else { } Adapter->LEDInfo.led_thread_running = 0; return (1); } else { } if (Status != 0) { return (1); } else { } } else { } gpio_val = (unsigned int )(1 << (int )GPIO_Num_tx); if ((unsigned int )Adapter->LEDInfo.LEDState[(int )uiTxLedIndex].BitPolarity == 1U) { wrmaltWithLock(Adapter, 251658308U, & gpio_val, 4UL); } else { wrmaltWithLock(Adapter, 251658304U, & gpio_val, 4UL); } gpio_val___0 = (unsigned int )(1 << (int )GPIO_Num_rx); if ((unsigned int )Adapter->LEDInfo.LEDState[(int )uiTxLedIndex].BitPolarity == 1U) { wrmaltWithLock(Adapter, 251658308U, & gpio_val___0, 4UL); } else { wrmaltWithLock(Adapter, 251658304U, & gpio_val___0, 4UL); } Final_num_of_packts_tx = (ULONG64 )(Adapter->dev)->stats.tx_packets; Final_num_of_packts_rx = (ULONG64 )(Adapter->dev)->stats.rx_packets; rate_of_transfer_tx = Final_num_of_packts_tx - Initial_num_of_packts_tx; rate_of_transfer_rx = Final_num_of_packts_rx - Initial_num_of_packts_rx; Initial_num_of_packts_tx = Final_num_of_packts_tx; Initial_num_of_packts_rx = Final_num_of_packts_rx; num_of_time_tx = ScaleRateofTransfer((unsigned long )rate_of_transfer_tx); num_of_time_rx = ScaleRateofTransfer((unsigned long )rate_of_transfer_rx); ldv_51813: ; if (! Adapter->device_removed) { goto ldv_51812; } else { } return (Status); } } static INT ValidateDSDParamsChecksum(struct bcm_mini_adapter *Adapter , ULONG ulParamOffset , USHORT usParamLen ) { INT Status ; PUCHAR puBuffer ; USHORT usChksmOrg ; USHORT usChecksumCalculated ; struct _ddebug descriptor___0 ; long tmp___0 ; void *tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; struct _ddebug descriptor___4 ; long tmp___5 ; INT tmp___6 ; struct _ddebug descriptor___6 ; long tmp___8 ; struct _ddebug descriptor___8 ; long tmp___10 ; INT tmp___11 ; __u16 tmp___12 ; struct _ddebug descriptor___10 ; long tmp___14 ; struct _ddebug descriptor___12 ; long tmp___16 ; { Status = 0; puBuffer = (PUCHAR )0U; usChksmOrg = 0U; usChecksumCalculated = 0U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "ValidateDSDParamsChecksum"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___0.format = "%s:\nLED Thread:ValidateDSDParamsChecksum: 0x%lx 0x%X"; descriptor___0.lineno = 310U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nLED Thread:ValidateDSDParamsChecksum: 0x%lx 0x%X", "ValidateDSDParamsChecksum", ulParamOffset, (int )usParamLen); } else { } } else { } tmp___1 = kmalloc((size_t )usParamLen, 208U); puBuffer = (PUCHAR )tmp___1; if ((unsigned long )puBuffer == (unsigned long )((PUCHAR )0U)) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "ValidateDSDParamsChecksum"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___2.format = "%s:\nLED Thread: ValidateDSDParamsChecksum Allocation failed"; descriptor___2.lineno = 316U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nLED Thread: ValidateDSDParamsChecksum Allocation failed", "ValidateDSDParamsChecksum"); } else { } } else { } return (-12); } else { } tmp___6 = BeceemNVMRead(Adapter, (unsigned int *)puBuffer, (UINT )ulParamOffset, (UINT )usParamLen); if (tmp___6 != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "ValidateDSDParamsChecksum"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___4.format = "%s:\nLED Thread: ValidateDSDParamsChecksum BeceemNVMRead failed"; descriptor___4.lineno = 326U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nLED Thread: ValidateDSDParamsChecksum BeceemNVMRead failed", "ValidateDSDParamsChecksum"); } else { } } else { } Status = -199; goto exit; } else { } usChecksumCalculated = CFG_CalculateChecksum(puBuffer, (B_UINT32 )usParamLen); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "ValidateDSDParamsChecksum"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___6.format = "%s:\nLED Thread: usCheckSumCalculated = 0x%x\n"; descriptor___6.lineno = 335U; descriptor___6.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nLED Thread: usCheckSumCalculated = 0x%x\n", "ValidateDSDParamsChecksum", (int )usChecksumCalculated); } else { } } else { } tmp___11 = BeceemNVMRead(Adapter, (unsigned int *)(& usChksmOrg), (UINT )usParamLen + (UINT )ulParamOffset, 2U); if (tmp___11 != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "ValidateDSDParamsChecksum"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___8.format = "%s:\nLED Thread: ValidateDSDParamsChecksum BeceemNVMRead failed"; descriptor___8.lineno = 345U; descriptor___8.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nLED Thread: ValidateDSDParamsChecksum BeceemNVMRead failed", "ValidateDSDParamsChecksum"); } else { } } else { } Status = -199; goto exit; } else { } tmp___12 = __fswab16((int )usChksmOrg); usChksmOrg = tmp___12; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "ValidateDSDParamsChecksum"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___10.format = "%s:\nLED Thread: usChksmOrg = 0x%x"; descriptor___10.lineno = 351U; descriptor___10.flags = 0U; tmp___14 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___14 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nLED Thread: usChksmOrg = 0x%x", "ValidateDSDParamsChecksum", (int )usChksmOrg); } else { } } else { } if ((int )usChecksumCalculated != (int )usChksmOrg) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "ValidateDSDParamsChecksum"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___12.format = "%s:\nLED Thread: ValidateDSDParamsChecksum: Checksums don\'t match"; descriptor___12.lineno = 360U; descriptor___12.flags = 0U; tmp___16 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___16 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nLED Thread: ValidateDSDParamsChecksum: Checksums don\'t match", "ValidateDSDParamsChecksum"); } else { } } else { } Status = -199; goto exit; } else { } exit: kfree((void const *)puBuffer); return (Status); } } static INT ValidateHWParmStructure(struct bcm_mini_adapter *Adapter , ULONG ulHwParamOffset ) { INT Status ; USHORT HwParamLen ; __u16 tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; { Status = 0; HwParamLen = 0U; ulHwParamOffset = ulHwParamOffset + 512UL; BeceemNVMRead(Adapter, (unsigned int *)(& HwParamLen), (UINT )ulHwParamOffset, 2U); tmp = __fswab16((int )HwParamLen); HwParamLen = tmp; if ((unsigned int )HwParamLen == 0U || (UINT )HwParamLen > Adapter->uiNVMDSDSize) { return (-199); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "ValidateHWParmStructure"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___0.format = "%s:\nLED Thread:HwParamLen = 0x%x"; descriptor___0.lineno = 404U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nLED Thread:HwParamLen = 0x%x", "ValidateHWParmStructure", (int )HwParamLen); } else { } } else { } Status = ValidateDSDParamsChecksum(Adapter, ulHwParamOffset, (int )HwParamLen); return (Status); } } static int ReadLEDInformationFromEEPROM(struct bcm_mini_adapter *Adapter , UCHAR *GPIO_Array ) { int Status ; ULONG dwReadValue ; USHORT usHwParamData ; USHORT usEEPROMVersion ; UCHAR ucIndex ; UCHAR ucGPIOInfo[32U] ; unsigned int tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; __u16 tmp___2 ; __u32 tmp___3 ; struct _ddebug descriptor___2 ; long tmp___5 ; struct _ddebug descriptor___4 ; long tmp___7 ; { Status = 0; dwReadValue = 0UL; usHwParamData = 0U; usEEPROMVersion = 0U; ucIndex = 0U; ucGPIOInfo[0] = 0U; tmp = 1U; while (1) { if (tmp >= 32U) { break; } else { } ucGPIOInfo[tmp] = (unsigned char)0; tmp = tmp + 1U; } BeceemNVMRead(Adapter, (unsigned int *)(& usEEPROMVersion), 526U, 2U); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "ReadLEDInformationFromEEPROM"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___0.format = "%s:\nusEEPROMVersion: Minor:0x%X Major:0x%x"; descriptor___0.lineno = 426U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nusEEPROMVersion: Minor:0x%X Major:0x%x", "ReadLEDInformationFromEEPROM", (int )usEEPROMVersion & 255, ((int )usEEPROMVersion >> 8) & 255); } else { } } else { } if ((((int )usEEPROMVersion >> 8) & 255) <= 4) { BeceemNVMRead(Adapter, (unsigned int *)(& usHwParamData), 536U, 2U); tmp___2 = __fswab16((int )usHwParamData); usHwParamData = tmp___2; dwReadValue = (ULONG )usHwParamData; } else { Status = ValidateDSDParamsChecksum(Adapter, 512UL, 84); if (Status != 0) { return (Status); } else { } BeceemNVMRead(Adapter, (unsigned int *)(& dwReadValue), 544U, 4U); tmp___3 = __fswab32((unsigned int )dwReadValue); dwReadValue = (ULONG )tmp___3; } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "ReadLEDInformationFromEEPROM"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___2.format = "%s:\nLED Thread: Start address of HW_PARAM structure = 0x%lx"; descriptor___2.lineno = 454U; descriptor___2.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nLED Thread: Start address of HW_PARAM structure = 0x%lx", "ReadLEDInformationFromEEPROM", dwReadValue); } else { } } else { } if (dwReadValue <= 511UL || (ULONG )(Adapter->uiNVMDSDSize - 512U) < dwReadValue) { return (-199); } else { } Status = ValidateHWParmStructure(Adapter, dwReadValue); if (Status != 0) { return (Status); } else { } dwReadValue = dwReadValue + 512UL; dwReadValue = dwReadValue + 3UL; BeceemNVMRead(Adapter, (PUINT )(& ucGPIOInfo), (UINT )dwReadValue, 32U); ucIndex = 0U; goto ldv_51871; ldv_51870: ; switch ((int )ucGPIOInfo[(int )ucIndex]) { case 1: *(GPIO_Array + 1UL) = ucIndex; Adapter->gpioBitMap = Adapter->gpioBitMap | (UINT )(1 << (int )ucIndex); goto ldv_51865; case 2: *(GPIO_Array + 2UL) = ucIndex; Adapter->gpioBitMap = Adapter->gpioBitMap | (UINT )(1 << (int )ucIndex); goto ldv_51865; case 3: *(GPIO_Array + 3UL) = ucIndex; Adapter->gpioBitMap = Adapter->gpioBitMap | (UINT )(1 << (int )ucIndex); goto ldv_51865; case 4: *(GPIO_Array + 4UL) = ucIndex; Adapter->gpioBitMap = Adapter->gpioBitMap | (UINT )(1 << (int )ucIndex); goto ldv_51865; default: ; goto ldv_51865; } ldv_51865: ucIndex = (UCHAR )((int )ucIndex + 1); ldv_51871: ; if ((unsigned int )ucIndex <= 31U) { goto ldv_51870; } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "ReadLEDInformationFromEEPROM"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___4.format = "%s:\nGPIO\'s bit map correspond to LED :0x%X"; descriptor___4.lineno = 511U; descriptor___4.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nGPIO\'s bit map correspond to LED :0x%X", "ReadLEDInformationFromEEPROM", Adapter->gpioBitMap); } else { } } else { } return (Status); } } static int ReadConfigFileStructure(struct bcm_mini_adapter *Adapter , bool *bEnableThread ) { int Status ; UCHAR GPIO_Array[5U] ; UINT uiIndex ; UINT uiNum_of_LED_Type ; PUCHAR puCFGData ; UCHAR bData ; struct _ddebug descriptor___0 ; long tmp___0 ; bool tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; { Status = 0; uiIndex = 0U; uiNum_of_LED_Type = 0U; puCFGData = (PUCHAR )0U; bData = 0U; memset((void *)(& GPIO_Array), 255, 5UL); if ((unsigned long )Adapter->pstargetparams == (unsigned long )((struct bcm_target_params *)0)) { goto _L; } else { tmp___1 = IS_ERR((void const *)Adapter->pstargetparams); if ((int )tmp___1) { _L: /* CIL Label */ if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "ReadConfigFileStructure"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___0.format = "%s:\nTarget Params not Avail.\n"; descriptor___0.lineno = 530U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nTarget Params not Avail.\n", "ReadConfigFileStructure"); } else { } } else { } return (-2); } else { } } Status = ReadLEDInformationFromEEPROM(Adapter, (UCHAR *)(& GPIO_Array)); if (Status == -199) { *bEnableThread = 0; return (0); } else if (Status != 0) { *bEnableThread = 0; return (Status); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "ReadConfigFileStructure"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___2.format = "%s:\nLED Thread: Config file read successfully\n"; descriptor___2.lineno = 550U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nLED Thread: Config file read successfully\n", "ReadConfigFileStructure"); } else { } } else { } puCFGData = (unsigned char *)(& (Adapter->pstargetparams)->HostDrvrConfig1); uiIndex = 0U; goto ldv_51891; ldv_51890: bData = *puCFGData; if ((int )((signed char )bData) < 0) { Adapter->LEDInfo.LEDState[uiIndex].BitPolarity = 0U; bData = (unsigned int )bData & 127U; } else { } Adapter->LEDInfo.LEDState[uiIndex].LED_Type = bData; if ((unsigned int )bData <= 4U) { Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num = GPIO_Array[(int )bData]; } else { Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num = 255U; } puCFGData = puCFGData + 1; bData = *puCFGData; Adapter->LEDInfo.LEDState[uiIndex].LED_On_State = bData; puCFGData = puCFGData + 1; bData = *puCFGData; Adapter->LEDInfo.LEDState[uiIndex].LED_Blink_State = bData; puCFGData = puCFGData + 1; uiIndex = uiIndex + 1U; ldv_51891: ; if (uiIndex <= 3U) { goto ldv_51890; } else { } uiIndex = 0U; goto ldv_51894; ldv_51893: ; if (((unsigned int )Adapter->LEDInfo.LEDState[uiIndex].LED_Type == 255U || (unsigned int )Adapter->LEDInfo.LEDState[uiIndex].LED_Type == 127U) || (unsigned int )Adapter->LEDInfo.LEDState[uiIndex].LED_Type == 0U) { uiNum_of_LED_Type = uiNum_of_LED_Type + 1U; } else { } uiIndex = uiIndex + 1U; ldv_51894: ; if (uiIndex <= 3U) { goto ldv_51893; } else { } if (uiNum_of_LED_Type > 3U) { *bEnableThread = 0; } else { } return (Status); } } static VOID LedGpioInit(struct bcm_mini_adapter *Adapter ) { UINT uiResetValue ; UINT uiIndex ; struct _ddebug descriptor___0 ; long tmp___0 ; int tmp___1 ; unsigned int gpio_val ; struct _ddebug descriptor___2 ; long tmp___3 ; int tmp___4 ; { uiResetValue = 0U; uiIndex = 0U; tmp___1 = rdmalt(Adapter, 251658292U, & uiResetValue, 4UL); if (tmp___1 < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "LedGpioInit"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___0.format = "%s:\nLED Thread: RDM Failed\n"; descriptor___0.lineno = 628U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nLED Thread: RDM Failed\n", "LedGpioInit"); } else { } } else { } } else { } uiIndex = 0U; goto ldv_51906; ldv_51905: ; if ((unsigned int )Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num != 255U) { uiResetValue = (UINT )(1 << (int )Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num) | uiResetValue; } else { } gpio_val = (unsigned int )(1 << (int )Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num); if ((unsigned int )Adapter->LEDInfo.LEDState[uiIndex].BitPolarity == 1U) { wrmaltWithLock(Adapter, 251658308U, & gpio_val, 4UL); } else { wrmaltWithLock(Adapter, 251658304U, & gpio_val, 4UL); } uiIndex = uiIndex + 1U; ldv_51906: ; if (uiIndex <= 3U) { goto ldv_51905; } else { } tmp___4 = wrmalt(Adapter, 251658292U, & uiResetValue, 4UL); if (tmp___4 < 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "LedGpioInit"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___2.format = "%s:\nLED Thread: WRM Failed\n"; descriptor___2.lineno = 639U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nLED Thread: WRM Failed\n", "LedGpioInit"); } else { } } else { } } else { } Adapter->LEDInfo.bIdle_led_off = 0; return; } } static INT BcmGetGPIOPinInfo(struct bcm_mini_adapter *Adapter , UCHAR *GPIO_num_tx , UCHAR *GPIO_num_rx , UCHAR *uiLedTxIndex , UCHAR *uiLedRxIndex , enum bcm_led_events currdriverstate ) { UINT uiIndex ; { uiIndex = 0U; *GPIO_num_tx = 255U; *GPIO_num_rx = 255U; uiIndex = 0U; goto ldv_51920; ldv_51919: ; if (((unsigned int )currdriverstate == 16U || (unsigned int )currdriverstate == 128U) || (unsigned int )currdriverstate == 2U) { if (((unsigned int )Adapter->LEDInfo.LEDState[uiIndex].LED_Blink_State & (unsigned int )currdriverstate) != 0U) { if ((unsigned int )Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num != 255U) { if ((unsigned int )*GPIO_num_tx == 255U) { *GPIO_num_tx = Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num; *uiLedTxIndex = (UCHAR )uiIndex; } else { *GPIO_num_rx = Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num; *uiLedRxIndex = (UCHAR )uiIndex; } } else { } } else { } } else if (((unsigned int )Adapter->LEDInfo.LEDState[uiIndex].LED_On_State & (unsigned int )currdriverstate) != 0U) { if ((unsigned int )Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num != 255U) { *GPIO_num_tx = Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num; *uiLedTxIndex = (UCHAR )uiIndex; } else { } } else { } uiIndex = uiIndex + 1U; ldv_51920: ; if (uiIndex <= 3U) { goto ldv_51919; } else { } return (0); } } static VOID LEDControlThread(struct bcm_mini_adapter *Adapter ) { UINT uiIndex ; UCHAR GPIO_num ; UCHAR uiLedIndex ; UINT uiResetValue ; enum bcm_led_events currdriverstate ; ulong timeout ; INT Status ; UCHAR dummyGPIONum ; UCHAR dummyIndex ; int __ret ; wait_queue_t __wait ; long __ret___0 ; long __int ; long tmp ; bool tmp___0 ; bool tmp___1 ; int tmp___2 ; struct _ddebug descriptor___0 ; long tmp___4 ; unsigned int gpio_val ; bool tmp___5 ; unsigned int gpio_val___0 ; unsigned int gpio_val___1 ; unsigned int gpio_val___2 ; unsigned int gpio_val___3 ; UCHAR GPIO_num_tx ; UCHAR GPIO_num_rx ; UCHAR uiLEDTx ; UCHAR uiLEDRx ; unsigned int gpio_val___4 ; unsigned int gpio_val___5 ; struct _ddebug descriptor___2 ; long tmp___7 ; unsigned int gpio_val___6 ; struct _ddebug descriptor___4 ; long tmp___9 ; { uiIndex = 0U; GPIO_num = 0U; uiLedIndex = 0U; uiResetValue = 0U; currdriverstate = 0; timeout = 0UL; Status = 0; dummyGPIONum = 0U; dummyIndex = 0U; Adapter->LEDInfo.bIdleMode_tx_from_host = 0; GPIO_num = 255U; ldv_51985: ; if (((unsigned int )GPIO_num == 255U || (((unsigned int )currdriverstate != 2U && (unsigned int )currdriverstate != 16U) && (unsigned int )currdriverstate != 32U)) || (unsigned int )currdriverstate == 256U) { __ret = 0; if ((unsigned int )Adapter->DriverState == (unsigned int )currdriverstate) { tmp___1 = kthread_should_stop(); if (tmp___1) { tmp___2 = 0; } else { tmp___2 = 1; } if (tmp___2) { __ret___0 = 0L; INIT_LIST_HEAD(& __wait.task_list); __wait.flags = 0U; ldv_51940: tmp = prepare_to_wait_event(& Adapter->LEDInfo.notify_led_event, & __wait, 1); __int = tmp; if ((unsigned int )Adapter->DriverState != (unsigned int )currdriverstate) { goto ldv_51939; } else { tmp___0 = kthread_should_stop(); if ((int )tmp___0) { goto ldv_51939; } else { } } if (__int != 0L) { __ret___0 = __int; goto ldv_51939; } else { } schedule(); goto ldv_51940; ldv_51939: finish_wait(& Adapter->LEDInfo.notify_led_event, & __wait); __ret = (int )__ret___0; } else { } } else { } Status = __ret; } else { } tmp___5 = kthread_should_stop(); if ((int )tmp___5 || (int )Adapter->device_removed) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "LEDControlThread"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___0.format = "%s:\nLed thread got signal to exit..hence exiting"; descriptor___0.lineno = 727U; descriptor___0.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nLed thread got signal to exit..hence exiting", "LEDControlThread"); } else { } } else { } Adapter->LEDInfo.led_thread_running = 0; gpio_val = (unsigned int )(1 << (int )GPIO_num); if ((unsigned int )Adapter->LEDInfo.LEDState[(int )uiLedIndex].BitPolarity == 1U) { wrmaltWithLock(Adapter, 251658308U, & gpio_val, 4UL); } else { wrmaltWithLock(Adapter, 251658304U, & gpio_val, 4UL); } return; } else { } if ((unsigned int )GPIO_num != 255U) { gpio_val___0 = (unsigned int )(1 << (int )GPIO_num); if ((unsigned int )Adapter->LEDInfo.LEDState[(int )uiLedIndex].BitPolarity == 1U) { wrmaltWithLock(Adapter, 251658308U, & gpio_val___0, 4UL); } else { wrmaltWithLock(Adapter, 251658304U, & gpio_val___0, 4UL); } } else { } if (! Adapter->LEDInfo.bLedInitDone) { LedGpioInit(Adapter); Adapter->LEDInfo.bLedInitDone = 1; } else { } switch ((unsigned int )Adapter->DriverState) { case 1U: currdriverstate = 1; BcmGetGPIOPinInfo(Adapter, & GPIO_num, & dummyGPIONum, & uiLedIndex, & dummyIndex, currdriverstate); if ((unsigned int )GPIO_num != 255U) { gpio_val___1 = (unsigned int )(1 << (int )GPIO_num); if ((unsigned int )Adapter->LEDInfo.LEDState[(int )uiLedIndex].BitPolarity == 1U) { wrmaltWithLock(Adapter, 251658304U, & gpio_val___1, 4UL); } else { wrmaltWithLock(Adapter, 251658308U, & gpio_val___1, 4UL); } } else { } goto ldv_51950; case 2U: currdriverstate = 2; BcmGetGPIOPinInfo(Adapter, & GPIO_num, & dummyGPIONum, & uiLedIndex, & dummyIndex, currdriverstate); if ((unsigned int )GPIO_num != 255U) { timeout = 50UL; LED_Blink(Adapter, (UINT )(1 << (int )GPIO_num), (int )uiLedIndex, timeout, -1, currdriverstate); } else { } goto ldv_51950; case 4U: currdriverstate = 4; BcmGetGPIOPinInfo(Adapter, & GPIO_num, & dummyGPIONum, & uiLedIndex, & dummyIndex, currdriverstate); if ((unsigned int )GPIO_num != 255U) { gpio_val___2 = (unsigned int )(1 << (int )GPIO_num); if ((unsigned int )Adapter->LEDInfo.LEDState[(int )uiLedIndex].BitPolarity == 1U) { wrmaltWithLock(Adapter, 251658304U, & gpio_val___2, 4UL); } else { wrmaltWithLock(Adapter, 251658308U, & gpio_val___2, 4UL); } } else { } goto ldv_51950; case 0U: ; case 8U: currdriverstate = 8; BcmGetGPIOPinInfo(Adapter, & GPIO_num, & dummyGPIONum, & uiLedIndex, & dummyGPIONum, currdriverstate); if ((unsigned int )GPIO_num != 255U) { gpio_val___3 = (unsigned int )(1 << (int )GPIO_num); if ((unsigned int )Adapter->LEDInfo.LEDState[(int )uiLedIndex].BitPolarity == 1U) { wrmaltWithLock(Adapter, 251658304U, & gpio_val___3, 4UL); } else { wrmaltWithLock(Adapter, 251658308U, & gpio_val___3, 4UL); } } else { } goto ldv_51950; case 16U: GPIO_num_tx = 255U; GPIO_num_rx = 255U; uiLEDTx = 0U; uiLEDRx = 0U; currdriverstate = 16; Adapter->LEDInfo.bIdle_led_off = 0; BcmGetGPIOPinInfo(Adapter, & GPIO_num_tx, & GPIO_num_rx, & uiLEDTx, & uiLEDRx, currdriverstate); if ((unsigned int )GPIO_num_tx == 255U && (unsigned int )GPIO_num_rx == 255U) { GPIO_num = 255U; } else { if ((unsigned int )GPIO_num_tx == 255U) { GPIO_num_tx = GPIO_num_rx; uiLEDTx = uiLEDRx; } else if ((unsigned int )GPIO_num_rx == 255U) { GPIO_num_rx = GPIO_num_tx; uiLEDRx = uiLEDTx; } else { } LED_Proportional_Blink(Adapter, (int )GPIO_num_tx, (int )uiLEDTx, (int )GPIO_num_rx, (int )uiLEDRx, currdriverstate); } goto ldv_51950; case 32U: currdriverstate = 32; if (Adapter->ulPowerSaveMode == 0UL) { uiResetValue = 0U; uiIndex = 0U; goto ldv_51965; ldv_51964: ; if ((unsigned int )Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num != 255U) { gpio_val___4 = (unsigned int )(1 << (int )Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num); if ((unsigned int )Adapter->LEDInfo.LEDState[uiIndex].BitPolarity == 1U) { wrmaltWithLock(Adapter, 251658308U, & gpio_val___4, 4UL); } else { wrmaltWithLock(Adapter, 251658304U, & gpio_val___4, 4UL); } } else { } uiIndex = uiIndex + 1U; ldv_51965: ; if (uiIndex <= 3U) { goto ldv_51964; } else { } } else { } Adapter->LEDInfo.bLedInitDone = 0; Adapter->LEDInfo.bIdle_led_off = 1; __wake_up(& Adapter->LEDInfo.idleModeSyncEvent, 3U, 1, (void *)0); GPIO_num = 255U; goto ldv_51950; case 64U: currdriverstate = 64; GPIO_num = 255U; goto ldv_51950; case 128U: ; goto ldv_51950; case 255U: currdriverstate = 255; GPIO_num = 255U; uiIndex = 0U; goto ldv_51972; ldv_51971: ; if ((unsigned int )Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num != 255U) { gpio_val___5 = (unsigned int )(1 << (int )Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num); if ((unsigned int )Adapter->LEDInfo.LEDState[uiIndex].BitPolarity == 1U) { wrmaltWithLock(Adapter, 251658308U, & gpio_val___5, 4UL); } else { wrmaltWithLock(Adapter, 251658304U, & gpio_val___5, 4UL); } } else { } uiIndex = uiIndex + 1U; ldv_51972: ; if (uiIndex <= 3U) { goto ldv_51971; } else { } goto ldv_51950; case 256U: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "LEDControlThread"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___2.format = "%s:\nInActivating LED thread..."; descriptor___2.lineno = 865U; descriptor___2.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nInActivating LED thread...", "LEDControlThread"); } else { } } else { } currdriverstate = 256; Adapter->LEDInfo.led_thread_running = 2; Adapter->LEDInfo.bLedInitDone = 0; uiIndex = 0U; goto ldv_51979; ldv_51978: ; if ((unsigned int )Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num != 255U) { gpio_val___6 = (unsigned int )(1 << (int )Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num); if ((unsigned int )Adapter->LEDInfo.LEDState[uiIndex].BitPolarity == 1U) { wrmaltWithLock(Adapter, 251658308U, & gpio_val___6, 4UL); } else { wrmaltWithLock(Adapter, 251658304U, & gpio_val___6, 4UL); } } else { } uiIndex = uiIndex + 1U; ldv_51979: ; if (uiIndex <= 3U) { goto ldv_51978; } else { } goto ldv_51950; case 512U: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "LEDControlThread"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___4.format = "%s:\nActivating LED thread again..."; descriptor___4.lineno = 879U; descriptor___4.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nActivating LED thread again...", "LEDControlThread"); } else { } } else { } if (! Adapter->LinkUpStatus) { Adapter->DriverState = 8; } else { Adapter->DriverState = 16; } Adapter->LEDInfo.led_thread_running = 1; goto ldv_51950; default: ; goto ldv_51950; } ldv_51950: ; goto ldv_51985; Adapter->LEDInfo.led_thread_running = 0; } } int InitLedSettings(struct bcm_mini_adapter *Adapter ) { int Status ; bool bEnableThread ; UCHAR uiIndex ; struct _ddebug descriptor___0 ; long tmp___0 ; struct lock_class_key __key ; struct lock_class_key __key___0 ; struct task_struct *__k ; struct task_struct *tmp___1 ; bool tmp___2 ; int tmp___3 ; struct _ddebug descriptor___2 ; long tmp___5 ; long tmp___6 ; bool tmp___7 ; { Status = 0; bEnableThread = 1; uiIndex = 0U; uiIndex = 0U; goto ldv_51993; ldv_51992: Adapter->LEDInfo.LEDState[(int )uiIndex].BitPolarity = 1U; uiIndex = (UCHAR )((int )uiIndex + 1); ldv_51993: ; if ((unsigned int )uiIndex <= 3U) { goto ldv_51992; } else { } Status = ReadConfigFileStructure(Adapter, & bEnableThread); if (Status != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "InitLedSettings"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___0.format = "%s:\nLED Thread: FAILED in ReadConfigFileStructure\n"; descriptor___0.lineno = 918U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nLED Thread: FAILED in ReadConfigFileStructure\n", "InitLedSettings"); } else { } } else { } return (Status); } else { } if (Adapter->LEDInfo.led_thread_running != 0) { if ((int )bEnableThread) { } else { Adapter->DriverState = 255; __wake_up(& Adapter->LEDInfo.notify_led_event, 3U, 1, (void *)0); Adapter->LEDInfo.led_thread_running = 0; } } else if ((int )bEnableThread) { __init_waitqueue_head(& Adapter->LEDInfo.notify_led_event, "&Adapter->LEDInfo.notify_led_event", & __key); __init_waitqueue_head(& Adapter->LEDInfo.idleModeSyncEvent, "&Adapter->LEDInfo.idleModeSyncEvent", & __key___0); Adapter->LEDInfo.led_thread_running = 1; Adapter->LEDInfo.bIdle_led_off = 0; tmp___1 = kthread_create_on_node((int (*)(void * ))(& LEDControlThread), (void *)Adapter, -1, "led_control_thread"); __k = tmp___1; tmp___2 = IS_ERR((void const *)__k); if (tmp___2) { tmp___3 = 0; } else { tmp___3 = 1; } if (tmp___3) { wake_up_process(__k); } else { } Adapter->LEDInfo.led_cntrl_threadid = __k; tmp___7 = IS_ERR((void const *)Adapter->LEDInfo.led_cntrl_threadid); if ((int )tmp___7) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 2048U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "InitLedSettings"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/led_control.o.c.prepared"; descriptor___2.format = "%s:\nNot able to spawn Kernel Thread\n"; descriptor___2.lineno = 945U; descriptor___2.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nNot able to spawn Kernel Thread\n", "InitLedSettings"); } else { } } else { } Adapter->LEDInfo.led_thread_running = 0; tmp___6 = PTR_ERR((void const *)Adapter->LEDInfo.led_cntrl_threadid); return ((int )tmp___6); } else { } } else { } return (Status); } } int ldv_pskb_expand_head_936(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_938(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_940(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_941(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_942(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_943(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_944(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_945(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_946(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } __inline static void *kmalloc(size_t size , gfp_t flags ) ; __inline static void *kzalloc(size_t size , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_982(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_990(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_984(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_980(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_988(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_989(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_985(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_986(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_987(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; INT vendorextnGetSectionInfo(PVOID pContext , struct bcm_flash2x_vendor_info *pVendorInfo ) ; INT vendorextnReadSection(PVOID pContext , PUCHAR pBuffer , enum bcm_flash2x_section_val SectionVal , UINT offset , UINT numOfBytes ) ; INT vendorextnWriteSection(PVOID pContext , PUCHAR pBuffer , enum bcm_flash2x_section_val SectionVal , UINT offset , UINT numOfBytes , bool bVerify ) ; INT vendorextnWriteSectionWithoutErase(PVOID pContext , PUCHAR pBuffer , enum bcm_flash2x_section_val SectionVal , UINT offset , UINT numOfBytes ) ; static int BcmDoChipSelect(struct bcm_mini_adapter *Adapter , unsigned int offset ) ; static int BcmGetActiveDSD(struct bcm_mini_adapter *Adapter ) ; static int BcmGetActiveISO(struct bcm_mini_adapter *Adapter ) ; static unsigned int BcmGetEEPROMSize(struct bcm_mini_adapter *Adapter ) ; static int BcmGetFlashCSInfo(struct bcm_mini_adapter *Adapter ) ; static unsigned int BcmGetFlashSectorSize(struct bcm_mini_adapter *Adapter , unsigned int FlashSectorSizeSig , unsigned int FlashSectorSize ) ; static VOID BcmValidateNvmType(struct bcm_mini_adapter *Adapter ) ; static int BcmGetNvmSize(struct bcm_mini_adapter *Adapter ) ; static unsigned int BcmGetFlashSize(struct bcm_mini_adapter *Adapter ) ; static enum bcm_nvm_type BcmGetNvmType(struct bcm_mini_adapter *Adapter ) ; static int BcmGetSectionValEndOffset(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val eFlash2xSectionVal ) ; static B_UINT8 IsOffsetWritable(struct bcm_mini_adapter *Adapter , unsigned int uiOffset ) ; static int IsSectionWritable(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val Section ) ; static int IsSectionExistInVendorInfo(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val section ) ; static int ReadDSDPriority(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val dsd ) ; static int ReadDSDSignature(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val dsd ) ; static int ReadISOPriority(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val iso ) ; static int ReadISOSignature(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val iso ) ; static int CorruptDSDSig(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val eFlash2xSectionVal ) ; static int CorruptISOSig(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val eFlash2xSectionVal ) ; static int SaveHeaderIfPresent(struct bcm_mini_adapter *Adapter , PUCHAR pBuff , unsigned int uiOffset ) ; static int WriteToFlashWithoutSectorErase(struct bcm_mini_adapter *Adapter , PUINT pBuff , enum bcm_flash2x_section_val eFlash2xSectionVal , unsigned int uiOffset , unsigned int uiNumBytes ) ; static enum bcm_flash2x_section_val getHighestPriDSD(struct bcm_mini_adapter *Adapter ) ; static enum bcm_flash2x_section_val getHighestPriISO(struct bcm_mini_adapter *Adapter ) ; static int BeceemFlashBulkRead(struct bcm_mini_adapter *Adapter , PUINT pBuffer , unsigned int uiOffset , unsigned int uiNumBytes ) ; static int BeceemFlashBulkWrite(struct bcm_mini_adapter *Adapter , PUINT pBuffer , unsigned int uiOffset , unsigned int uiNumBytes , bool bVerify ) ; static int GetFlashBaseAddr(struct bcm_mini_adapter *Adapter ) ; static int ReadBeceemEEPROMBulk(struct bcm_mini_adapter *Adapter , unsigned int dwAddress , unsigned int *pdwData , unsigned int dwNumWords ) ; static UCHAR ReadEEPROMStatusRegister(struct bcm_mini_adapter *Adapter ) { UCHAR uiData ; unsigned int dwRetries ; unsigned int uiStatus ; unsigned int value ; unsigned int value1 ; { uiData = 0U; dwRetries = 5120U; uiStatus = 0U; value = 0U; value1 = 0U; value = 83886080U; wrmalt(Adapter, 251670552U, & value, 4UL); goto ldv_51811; ldv_51810: value = 0U; uiStatus = 0U; rdmalt(Adapter, 251670532U, & uiStatus, 4UL); if ((int )Adapter->device_removed) { printk("\016%s:Modem has got removed hence exiting....", "ReadEEPROMStatusRegister"); goto ldv_51807; } else { } if ((uiStatus & 32U) != 0U) { value = uiStatus & 48U; wrmalt(Adapter, 251670532U, & value, 4UL); value = 0U; rdmalt(Adapter, 251670560U, & value, 4UL); uiData = (unsigned char )value; goto ldv_51807; } else { } dwRetries = dwRetries - 1U; if (dwRetries == 0U) { rdmalt(Adapter, 251670532U, & value, 4UL); rdmalt(Adapter, 251670536U, & value1, 4UL); printk("\016%s:0x3004 = %x 0x3008 = %x, retries = %d failed.\n", "ReadEEPROMStatusRegister", value, value1, 5120); return (uiData); } else { } if ((dwRetries & 63U) == 0U) { __const_udelay(4295000UL); } else { } uiStatus = 0U; ldv_51811: ; if (dwRetries != 0U) { goto ldv_51810; } else { } ldv_51807: ; return (uiData); } } static int ReadBeceemEEPROMBulk(struct bcm_mini_adapter *Adapter , unsigned int dwAddress , unsigned int *pdwData , unsigned int dwNumWords ) { unsigned int dwIndex ; unsigned int dwRetries ; unsigned int uiStatus ; unsigned int value ; unsigned int value1 ; UCHAR *pvalue ; { dwIndex = 0U; dwRetries = 5120U; uiStatus = 0U; value = 0U; value1 = 0U; value = 5U; wrmalt(Adapter, 251670604U, & value, 4UL); value = 0U; wrmalt(Adapter, 251670604U, & value, 4UL); value = 48U; wrmalt(Adapter, 251670532U, & value, 4UL); value = (dwNumWords == 4U ? 4211081216U : 989855744U) | dwAddress; wrmalt(Adapter, 251670552U, & value, 4UL); goto ldv_51831; ldv_51830: uiStatus = 0U; rdmalt(Adapter, 251670532U, & uiStatus, 4UL); if ((int )Adapter->device_removed) { printk("\016%s:Modem has got Removed.hence exiting from loop...", "ReadBeceemEEPROMBulk"); return (-19); } else { } if (dwNumWords == 4U) { if ((uiStatus & 16U) != 0U) { value = uiStatus & 48U; wrmalt(Adapter, 251670532U, & value, 4UL); goto ldv_51827; } else { } } else if (dwNumWords == 1U) { if ((uiStatus & 32U) != 0U) { if (Adapter->chip_id == 3201171984UL) { __const_udelay(3436000UL); } else { } value = uiStatus & 48U; wrmalt(Adapter, 251670532U, & value, 4UL); goto ldv_51827; } else { } } else { } uiStatus = 0U; dwRetries = dwRetries - 1U; if (dwRetries == 0U) { value = 0U; value1 = 0U; rdmalt(Adapter, 251670532U, & value, 4UL); rdmalt(Adapter, 251670536U, & value1, 4UL); printk("\016%s:dwNumWords %d 0x3004 = %x 0x3008 = %x retries = %d failed.\n", "ReadBeceemEEPROMBulk", dwNumWords, value, value1, 5120); return (-1); } else { } if ((dwRetries & 63U) == 0U) { __const_udelay(4295000UL); } else { } ldv_51831: ; if (dwRetries != 0U) { goto ldv_51830; } else { } ldv_51827: dwIndex = 0U; goto ldv_51833; ldv_51832: pvalue = (UCHAR *)pdwData + (unsigned long )dwIndex; value = 0U; rdmalt(Adapter, 251670560U, & value, 4UL); *pvalue = (UCHAR )value; value = 0U; rdmalt(Adapter, 251670560U, & value, 4UL); *(pvalue + 1UL) = (UCHAR )value; value = 0U; rdmalt(Adapter, 251670560U, & value, 4UL); *(pvalue + 2UL) = (UCHAR )value; value = 0U; rdmalt(Adapter, 251670560U, & value, 4UL); *(pvalue + 3UL) = (UCHAR )value; dwIndex = dwIndex + 1U; ldv_51833: ; if (dwIndex < dwNumWords) { goto ldv_51832; } else { } return (0); } } INT ReadBeceemEEPROM(struct bcm_mini_adapter *Adapter , unsigned int uiOffset , unsigned int *pBuffer ) { unsigned int uiData[8U] ; unsigned int tmp ; unsigned int uiByteOffset ; unsigned int uiTempOffset ; struct _ddebug descriptor___0 ; long tmp___1 ; size_t __len ; void *__ret ; { uiData[0] = 0U; tmp = 1U; while (1) { if (tmp >= 8U) { break; } else { } uiData[tmp] = 0U; tmp = tmp + 1U; } uiByteOffset = 0U; uiTempOffset = 0U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "ReadBeceemEEPROM"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___0.format = "%s:\n ====> "; descriptor___0.lineno = 288U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n ====> ", "ReadBeceemEEPROM"); } else { } } else { } uiTempOffset = uiOffset & 4294967280U; uiByteOffset = uiOffset - uiTempOffset; ReadBeceemEEPROMBulk(Adapter, uiTempOffset, (unsigned int *)(& uiData), 4U); if (uiByteOffset > 12U) { ReadBeceemEEPROMBulk(Adapter, uiTempOffset + 16U, (unsigned int *)(& uiData) + 4UL, 4U); } else { } __len = 4UL; if (__len > 63UL) { __ret = memcpy((void *)pBuffer, (void const *)(& uiData) + (unsigned long )uiByteOffset, __len); } else { __ret = memcpy((void *)pBuffer, (void const *)(& uiData) + (unsigned long )uiByteOffset, __len); } return (0); } } INT ReadMacAddressFromNVM(struct bcm_mini_adapter *Adapter ) { int Status ; unsigned char puMacAddr[6U] ; size_t __len ; void *__ret ; { Status = BeceemNVMRead(Adapter, (unsigned int *)(& puMacAddr), 512U, 6U); if (Status == 0) { __len = 6UL; if (__len > 63UL) { __ret = memcpy((void *)(Adapter->dev)->dev_addr, (void const *)(& puMacAddr), __len); } else { __ret = memcpy((void *)(Adapter->dev)->dev_addr, (void const *)(& puMacAddr), __len); } } else { } return (Status); } } INT BeceemEEPROMBulkRead(struct bcm_mini_adapter *Adapter , PUINT pBuffer , unsigned int uiOffset , unsigned int uiNumBytes ) { unsigned int uiData[4U] ; unsigned int tmp ; unsigned int uiBytesRemaining ; unsigned int uiIndex ; unsigned int uiTempOffset ; unsigned int uiExtraBytes ; unsigned int uiFailureRetries ; PUCHAR pcBuff ; size_t __len ; void *__ret ; size_t __len___0 ; void *__ret___0 ; size_t __len___1 ; void *__ret___1 ; unsigned long __ms ; unsigned long tmp___0 ; int tmp___1 ; size_t __len___2 ; void *__ret___2 ; unsigned long __ms___0 ; unsigned long tmp___2 ; INT tmp___3 ; PUCHAR pCharBuff ; size_t __len___3 ; void *__ret___3 ; unsigned long __ms___1 ; unsigned long tmp___4 ; INT tmp___5 ; { uiData[0] = 0U; tmp = 1U; while (1) { if (tmp >= 4U) { break; } else { } uiData[tmp] = 0U; tmp = tmp + 1U; } uiBytesRemaining = uiNumBytes; uiIndex = 0U; uiTempOffset = 0U; uiExtraBytes = 0U; uiFailureRetries = 0U; pcBuff = (unsigned char *)pBuffer; if ((uiOffset & 15U) != 0U && uiBytesRemaining != 0U) { uiTempOffset = uiOffset & 4294967280U; uiExtraBytes = uiOffset - uiTempOffset; ReadBeceemEEPROMBulk(Adapter, uiTempOffset, (unsigned int *)(& uiData), 4U); if (16U - uiExtraBytes <= uiBytesRemaining) { __len = (size_t )(16U - uiExtraBytes); __ret = memcpy((void *)pBuffer, (void const *)(& uiData) + (unsigned long )uiExtraBytes, __len); uiBytesRemaining = (uiExtraBytes + uiBytesRemaining) - 16U; uiIndex = (uiIndex - uiExtraBytes) + 16U; uiOffset = (uiOffset - uiExtraBytes) + 16U; } else { __len___0 = (size_t )uiBytesRemaining; __ret___0 = memcpy((void *)pBuffer, (void const *)(& uiData) + (unsigned long )uiExtraBytes, __len___0); uiIndex = uiIndex + uiBytesRemaining; uiOffset = uiOffset + uiBytesRemaining; uiBytesRemaining = 0U; } } else { } goto ldv_51899; ldv_51898: ; if ((int )Adapter->device_removed) { return (-1); } else { } if (uiBytesRemaining > 15U) { tmp___1 = ReadBeceemEEPROMBulk(Adapter, uiOffset, (unsigned int *)(& uiData), 4U); if (tmp___1 == 0) { __len___1 = 16UL; if (__len___1 > 63UL) { __ret___1 = memcpy((void *)pcBuff + (unsigned long )uiIndex, (void const *)(& uiData), __len___1); } else { __ret___1 = memcpy((void *)pcBuff + (unsigned long )uiIndex, (void const *)(& uiData), __len___1); } uiOffset = uiOffset + 16U; uiBytesRemaining = uiBytesRemaining - 16U; uiIndex = uiIndex + 16U; } else { uiFailureRetries = uiFailureRetries + 1U; if (1) { __const_udelay(12885000UL); } else { __ms = 3UL; goto ldv_51881; ldv_51880: __const_udelay(4295000UL); ldv_51881: tmp___0 = __ms; __ms = __ms - 1UL; if (tmp___0 != 0UL) { goto ldv_51880; } else { } } } } else if (uiBytesRemaining > 3U) { tmp___3 = ReadBeceemEEPROM(Adapter, uiOffset, (UINT *)(& uiData)); if (tmp___3 == 0) { __len___2 = 4UL; if (__len___2 > 63UL) { __ret___2 = memcpy((void *)pcBuff + (unsigned long )uiIndex, (void const *)(& uiData), __len___2); } else { __ret___2 = memcpy((void *)pcBuff + (unsigned long )uiIndex, (void const *)(& uiData), __len___2); } uiOffset = uiOffset + 4U; uiBytesRemaining = uiBytesRemaining - 4U; uiIndex = uiIndex + 4U; } else { uiFailureRetries = uiFailureRetries + 1U; if (1) { __const_udelay(12885000UL); } else { __ms___0 = 3UL; goto ldv_51888; ldv_51887: __const_udelay(4295000UL); ldv_51888: tmp___2 = __ms___0; __ms___0 = __ms___0 - 1UL; if (tmp___2 != 0UL) { goto ldv_51887; } else { } } } } else { pCharBuff = (unsigned char *)pBuffer; pCharBuff = pCharBuff + (unsigned long )uiIndex; tmp___5 = ReadBeceemEEPROM(Adapter, uiOffset, (UINT *)(& uiData)); if (tmp___5 == 0) { __len___3 = (size_t )uiBytesRemaining; __ret___3 = memcpy((void *)pCharBuff, (void const *)(& uiData), __len___3); uiBytesRemaining = 0U; } else { uiFailureRetries = uiFailureRetries + 1U; if (1) { __const_udelay(12885000UL); } else { __ms___1 = 3UL; goto ldv_51896; ldv_51895: __const_udelay(4295000UL); ldv_51896: tmp___4 = __ms___1; __ms___1 = __ms___1 - 1UL; if (tmp___4 != 0UL) { goto ldv_51895; } else { } } } } ldv_51899: ; if (uiBytesRemaining != 0U && uiFailureRetries != 128U) { goto ldv_51898; } else { } return (0); } } static int BeceemFlashBulkRead(struct bcm_mini_adapter *Adapter , PUINT pBuffer , unsigned int uiOffset , unsigned int uiNumBytes ) { unsigned int uiIndex ; unsigned int uiBytesToRead ; int Status ; unsigned int uiPartOffset ; int bytes ; int tmp___1 ; int tmp___2 ; { uiIndex = 0U; uiBytesToRead = uiNumBytes; Status = 0; uiPartOffset = 0U; if ((int )Adapter->device_removed) { printk("\016%s:Device Got Removed", "BeceemFlashBulkRead"); return (-19); } else { } Adapter->SelectedChip = -1; if ((uiOffset & 15U) != 0U) { BcmDoChipSelect(Adapter, uiOffset); tmp___1 = GetFlashBaseAddr(Adapter); uiPartOffset = (uiOffset & 16777215U) + (unsigned int )tmp___1; uiBytesToRead = 16U - (uiOffset & 15U); uiBytesToRead = uiNumBytes < uiBytesToRead ? uiNumBytes : uiBytesToRead; bytes = rdm(Adapter, uiPartOffset, (char *)pBuffer + (unsigned long )uiIndex, (size_t )uiBytesToRead); if (bytes < 0) { Status = bytes; Adapter->SelectedChip = -1; return (Status); } else { } uiIndex = uiIndex + uiBytesToRead; uiOffset = uiOffset + uiBytesToRead; uiNumBytes = uiNumBytes - uiBytesToRead; } else { } goto ldv_51917; ldv_51916: BcmDoChipSelect(Adapter, uiOffset); tmp___2 = GetFlashBaseAddr(Adapter); uiPartOffset = (uiOffset & 16777215U) + (unsigned int )tmp___2; uiBytesToRead = 16U < uiNumBytes ? 16U : uiNumBytes; bytes = rdm(Adapter, uiPartOffset, (char *)pBuffer + (unsigned long )uiIndex, (size_t )uiBytesToRead); if (bytes < 0) { Status = bytes; goto ldv_51915; } else { } uiIndex = uiIndex + uiBytesToRead; uiOffset = uiOffset + uiBytesToRead; uiNumBytes = uiNumBytes - uiBytesToRead; ldv_51917: ; if (uiNumBytes != 0U) { goto ldv_51916; } else { } ldv_51915: Adapter->SelectedChip = -1; return (Status); } } static unsigned int BcmGetFlashSize(struct bcm_mini_adapter *Adapter ) { INT tmp ; { tmp = IsFlash2x(Adapter); if (tmp != 0) { return ((Adapter->psFlash2xCSInfo)->OffsetFromDSDStartForDSDHeader + 1024U); } else { return (32768U); } } } static unsigned int BcmGetEEPROMSize(struct bcm_mini_adapter *Adapter ) { unsigned int uiData ; unsigned int uiIndex ; INT tmp ; { uiData = 0U; uiIndex = 0U; BeceemEEPROMBulkRead(Adapter, & uiData, 0U, 4U); if (uiData == 1296254274U) { uiIndex = 2U; goto ldv_51927; ldv_51926: BeceemEEPROMBulkRead(Adapter, & uiData, uiIndex * 1024U, 4U); if (uiData == 1296254274U) { return (uiIndex * 1024U); } else { } uiIndex = uiIndex * 2U; ldv_51927: ; if (uiIndex <= 256U) { goto ldv_51926; } else { } } else { uiData = 3133078222U; tmp = BeceemEEPROMBulkWrite(Adapter, (unsigned char *)(& uiData), 0U, 4U, 1); if (tmp == 0) { uiData = 0U; uiIndex = 2U; goto ldv_51930; ldv_51929: BeceemEEPROMBulkRead(Adapter, & uiData, uiIndex * 1024U, 4U); if (uiData == 3133078222U) { return (uiIndex * 1024U); } else { } uiIndex = uiIndex * 2U; ldv_51930: ; if (uiIndex <= 256U) { goto ldv_51929; } else { } } else { } } return (0U); } } static int FlashSectorErase(struct bcm_mini_adapter *Adapter , unsigned int addr , unsigned int numOfSectors ) { unsigned int iIndex ; unsigned int iRetries ; unsigned int uiStatus ; unsigned int value ; int bytes ; int tmp___1 ; unsigned long __ms ; unsigned long tmp___4 ; { iIndex = 0U; iRetries = 0U; uiStatus = 0U; iIndex = 0U; goto ldv_51956; ldv_51955: value = 100663296U; wrmalt(Adapter, 2936025152U, & value, 4UL); value = (addr & 16777215U) | 3623878656U; wrmalt(Adapter, 2936025152U, & value, 4UL); iRetries = 0U; ldv_51951: value = 83886080U; tmp___1 = wrmalt(Adapter, 2936025152U, & value, 4UL); if (tmp___1 < 0) { printk("\016%s:Programing of FLASH_SPI_CMDQ_REG fails", "FlashSectorErase"); return (-1); } else { } bytes = rdmalt(Adapter, 2936025160U, & uiStatus, 4UL); if (bytes < 0) { uiStatus = (unsigned int )bytes; printk("\016%s:Reading status of FLASH_SPI_READQ_REG fails", "FlashSectorErase"); return ((int )uiStatus); } else { } iRetries = iRetries + 1U; __ms = 10UL; goto ldv_51949; ldv_51948: __const_udelay(4295000UL); ldv_51949: tmp___4 = __ms; __ms = __ms - 1UL; if (tmp___4 != 0UL) { goto ldv_51948; } else { } if ((int )uiStatus & 1 && iRetries <= 399U) { goto ldv_51951; } else { } if ((int )uiStatus & 1) { printk("\016%s:iRetries crossing the limit of 80000\n", "FlashSectorErase"); return (-1); } else { } addr = Adapter->uiSectorSize + addr; iIndex = iIndex + 1U; ldv_51956: ; if (iIndex < numOfSectors) { goto ldv_51955; } else { } return (0); } } static int flashByteWrite(struct bcm_mini_adapter *Adapter , unsigned int uiOffset , PVOID pData ) { unsigned int uiStatus ; int iRetries ; unsigned int value ; ULONG ulData ; int bytes ; int tmp___1 ; int tmp___4 ; int tmp___7 ; int tmp___10 ; { uiStatus = 0U; iRetries = 64; ulData = (ULONG )*((unsigned char *)pData); if (ulData == 255UL) { return (0); } else { } value = 100663296U; tmp___1 = wrmalt(Adapter, 2936025152U, & value, 4UL); if (tmp___1 < 0) { printk("\016%s:Write enable in FLASH_SPI_CMDQ_REG register fails", "flashByteWrite"); return (-1); } else { } tmp___4 = wrm(Adapter, 2936025156U, (char *)(& ulData), 4UL); if (tmp___4 < 0) { printk("\016%s:DATA Write on FLASH_SPI_WRITEQ_REG fails", "flashByteWrite"); return (-1); } else { } value = (uiOffset & 16777215U) | 33554432U; tmp___7 = wrmalt(Adapter, 2936025152U, & value, 4UL); if (tmp___7 < 0) { printk("\016%s:Programming of FLASH_SPI_CMDQ_REG fails", "flashByteWrite"); return (-1); } else { } ldv_51979: value = 83886080U; tmp___10 = wrmalt(Adapter, 2936025152U, & value, 4UL); if (tmp___10 < 0) { printk("\016%s:Programing of FLASH_SPI_CMDQ_REG fails", "flashByteWrite"); return (-1); } else { } bytes = rdmalt(Adapter, 2936025160U, & uiStatus, 4UL); if (bytes < 0) { uiStatus = (unsigned int )bytes; printk("\016%s:Reading status of FLASH_SPI_READQ_REG fails", "flashByteWrite"); return ((int )uiStatus); } else { } iRetries = iRetries - 1; if (iRetries != 0 && ((unsigned int )iRetries & 15U) == 0U) { __const_udelay(4295000UL); } else { } if ((int )uiStatus & 1 && iRetries > 0) { goto ldv_51979; } else { } if ((int )uiStatus & 1) { printk("\016%s:Flash Write fails even after checking status for 200 times.", "flashByteWrite"); return (-1); } else { } return (0); } } static int flashWrite(struct bcm_mini_adapter *Adapter , unsigned int uiOffset , PVOID pData ) { unsigned int uiStatus ; int iRetries ; unsigned int value ; unsigned int uiErasePattern[4U] ; int bytes ; int tmp ; int tmp___2 ; int tmp___5 ; int tmp___8 ; { uiStatus = 0U; iRetries = 64; uiErasePattern[0] = 4294967295U; uiErasePattern[1] = 4294967295U; uiErasePattern[2] = 4294967295U; uiErasePattern[3] = 4294967295U; tmp = memcmp((void const *)pData, (void const *)(& uiErasePattern), 16UL); if (tmp == 0) { return (0); } else { } value = 100663296U; tmp___2 = wrmalt(Adapter, 2936025152U, & value, 4UL); if (tmp___2 < 0) { printk("\016%s:Write Enable of FLASH_SPI_CMDQ_REG fails", "flashWrite"); return (-1); } else { } tmp___5 = wrm(Adapter, uiOffset, (char *)pData, 16UL); if (tmp___5 < 0) { printk("\016%s:Data write fails...", "flashWrite"); return (-1); } else { } ldv_52002: value = 83886080U; tmp___8 = wrmalt(Adapter, 2936025152U, & value, 4UL); if (tmp___8 < 0) { printk("\016%s:Programing of FLASH_SPI_CMDQ_REG fails", "flashWrite"); return (-1); } else { } bytes = rdmalt(Adapter, 2936025160U, & uiStatus, 4UL); if (bytes < 0) { uiStatus = (unsigned int )bytes; printk("\016%s:Reading status of FLASH_SPI_READQ_REG fails", "flashWrite"); return ((int )uiStatus); } else { } iRetries = iRetries - 1; if (iRetries != 0 && ((unsigned int )iRetries & 15U) == 0U) { __const_udelay(4295000UL); } else { } if ((int )uiStatus & 1 && iRetries > 0) { goto ldv_52002; } else { } if ((int )uiStatus & 1) { printk("\016%s:Flash Write fails even after checking status for 200 times.", "flashWrite"); return (-1); } else { } return (0); } } static int flashByteWriteStatus(struct bcm_mini_adapter *Adapter , unsigned int uiOffset , PVOID pData ) { unsigned int uiStatus ; int iRetries ; ULONG ulData ; unsigned int value ; int bytes ; int tmp___1 ; int tmp___4 ; int tmp___7 ; int tmp___10 ; { uiStatus = 0U; iRetries = 64; ulData = (ULONG )*((unsigned char *)pData); if (ulData == 255UL) { return (0); } else { } value = 100663296U; tmp___1 = wrmalt(Adapter, 2936025152U, & value, 4UL); if (tmp___1 < 0) { printk("\016%s:Write enable in FLASH_SPI_CMDQ_REG register fails", "flashByteWriteStatus"); return (0); } else { } tmp___4 = wrm(Adapter, 2936025156U, (char *)(& ulData), 4UL); if (tmp___4 < 0) { printk("\016%s:DATA Write on FLASH_SPI_WRITEQ_REG fails", "flashByteWriteStatus"); return (-1); } else { } value = (uiOffset & 16777215U) | 33554432U; tmp___7 = wrmalt(Adapter, 2936025152U, & value, 4UL); if (tmp___7 < 0) { printk("\016%s:Programming of FLASH_SPI_CMDQ_REG fails", "flashByteWriteStatus"); return (-1); } else { } ldv_52027: value = 83886080U; tmp___10 = wrmalt(Adapter, 2936025152U, & value, 4UL); if (tmp___10 < 0) { printk("\016%s:Programing of FLASH_SPI_CMDQ_REG fails", "flashByteWriteStatus"); return (-1); } else { } bytes = rdmalt(Adapter, 2936025160U, & uiStatus, 4UL); if (bytes < 0) { uiStatus = (unsigned int )bytes; printk("\016%s:Reading status of FLASH_SPI_READQ_REG fails", "flashByteWriteStatus"); return ((int )uiStatus); } else { } iRetries = iRetries - 1; if (iRetries != 0 && ((unsigned int )iRetries & 15U) == 0U) { __const_udelay(4295000UL); } else { } if ((int )uiStatus & 1 && iRetries > 0) { goto ldv_52027; } else { } if ((int )uiStatus & 1) { printk("\016%s:Flash Write fails even after checking status for 200 times.", "flashByteWriteStatus"); return (-1); } else { } return (0); } } static int flashWriteStatus(struct bcm_mini_adapter *Adapter , unsigned int uiOffset , PVOID pData ) { unsigned int uiStatus ; int iRetries ; unsigned int value ; unsigned int uiErasePattern[4U] ; int bytes ; int tmp ; int tmp___2 ; int tmp___5 ; int tmp___8 ; { uiStatus = 0U; iRetries = 64; uiErasePattern[0] = 4294967295U; uiErasePattern[1] = 4294967295U; uiErasePattern[2] = 4294967295U; uiErasePattern[3] = 4294967295U; tmp = memcmp((void const *)pData, (void const *)(& uiErasePattern), 16UL); if (tmp == 0) { return (0); } else { } value = 100663296U; tmp___2 = wrmalt(Adapter, 2936025152U, & value, 4UL); if (tmp___2 < 0) { printk("\016%s:Write Enable of FLASH_SPI_CMDQ_REG fails", "flashWriteStatus"); return (-1); } else { } tmp___5 = wrm(Adapter, uiOffset, (char *)pData, 16UL); if (tmp___5 < 0) { printk("\016%s:Data write fails...", "flashWriteStatus"); return (-1); } else { } ldv_52050: value = 83886080U; tmp___8 = wrmalt(Adapter, 2936025152U, & value, 4UL); if (tmp___8 < 0) { printk("\016%s:Programing of FLASH_SPI_CMDQ_REG fails", "flashWriteStatus"); return (-1); } else { } bytes = rdmalt(Adapter, 2936025160U, & uiStatus, 4UL); if (bytes < 0) { uiStatus = (unsigned int )bytes; printk("\016%s:Reading status of FLASH_SPI_READQ_REG fails", "flashWriteStatus"); return ((int )uiStatus); } else { } iRetries = iRetries - 1; if (iRetries != 0 && ((unsigned int )iRetries & 15U) == 0U) { __const_udelay(4295000UL); } else { } if ((int )uiStatus & 1 && iRetries > 0) { goto ldv_52050; } else { } if ((int )uiStatus & 1) { printk("\016%s:Flash Write fails even after checking status for 200 times.", "flashWriteStatus"); return (-1); } else { } return (0); } } static VOID BcmRestoreBlockProtectStatus(struct bcm_mini_adapter *Adapter , ULONG ulWriteStatus ) { unsigned int value ; { value = 100663296U; wrmalt(Adapter, 2936025152U, & value, 4UL); __const_udelay(85900UL); value = ((unsigned int )ulWriteStatus << 16U) | 16777216U; wrmalt(Adapter, 2936025152U, & value, 4UL); __const_udelay(85900UL); return; } } static ULONG BcmFlashUnProtectBlock(struct bcm_mini_adapter *Adapter , unsigned int uiOffset , unsigned int uiLength ) { ULONG ulStatus ; ULONG ulWriteStatus ; unsigned int value ; { ulStatus = 0UL; ulWriteStatus = 0UL; uiOffset = uiOffset & 1048575U; if (Adapter->ulFlashID == 12526990UL) { value = 83886080U; wrmalt(Adapter, 2936025152U, & value, 4UL); __const_udelay(42950UL); rdmalt(Adapter, 2936025160U, (unsigned int *)(& ulStatus), 8UL); ulStatus = ulStatus >> 24; ulWriteStatus = ulStatus; if (ulStatus != 0UL) { if (uiOffset + uiLength <= 524288U) { ulWriteStatus = ulWriteStatus | 16UL; ulWriteStatus = ulWriteStatus & 0xfffffffffffffff3UL; } else if (uiOffset + uiLength <= 786432U) { ulWriteStatus = ulWriteStatus | 12UL; ulWriteStatus = ulWriteStatus & 0xffffffffffffffefUL; } else if (uiOffset + uiLength <= 917504U) { ulWriteStatus = ulWriteStatus | 8UL; ulWriteStatus = ulWriteStatus & 0xffffffffffffffebUL; } else if (uiOffset + uiLength <= 983040U) { ulWriteStatus = ulWriteStatus | 4UL; ulWriteStatus = ulWriteStatus & 0xffffffffffffffe7UL; } else { ulWriteStatus = ulWriteStatus & 0xffffffffffffffe3UL; } value = 100663296U; wrmalt(Adapter, 2936025152U, & value, 4UL); __const_udelay(85900UL); value = ((unsigned int )ulWriteStatus << 16U) | 16777216U; wrmalt(Adapter, 2936025152U, & value, 4UL); __const_udelay(85900UL); } else { } } else { } return (ulStatus); } } static int BeceemFlashBulkWrite(struct bcm_mini_adapter *Adapter , PUINT pBuffer , unsigned int uiOffset , unsigned int uiNumBytes , bool bVerify ) { PCHAR pTempBuff ; PUCHAR pcBuffer ; unsigned int uiIndex ; unsigned int uiOffsetFromSectStart ; unsigned int uiSectAlignAddr ; unsigned int uiCurrSectOffsetAddr ; unsigned int uiSectBoundary ; unsigned int uiNumSectTobeRead ; UCHAR ucReadBk[16U] ; unsigned int tmp ; ULONG ulStatus ; int Status ; unsigned int uiTemp ; unsigned int index ; unsigned int uiPartOffset ; void *tmp___0 ; B_UINT8 tmp___3 ; INT tmp___4 ; int tmp___5 ; int tmp___6 ; size_t __len ; void *__ret ; size_t __len___0 ; void *__ret___0 ; INT tmp___7 ; int tmp___8 ; unsigned int uiReadIndex ; int tmp___9 ; int tmp___10 ; int tmp___11 ; int tmp___12 ; { pTempBuff = (PCHAR )0; pcBuffer = (unsigned char *)pBuffer; uiIndex = 0U; uiOffsetFromSectStart = 0U; uiSectAlignAddr = 0U; uiCurrSectOffsetAddr = 0U; uiSectBoundary = 0U; uiNumSectTobeRead = 0U; ucReadBk[0] = 0U; tmp = 1U; while (1) { if (tmp >= 16U) { break; } else { } ucReadBk[tmp] = (unsigned char)0; tmp = tmp + 1U; } ulStatus = 0UL; Status = 0; uiTemp = 0U; index = 0U; uiPartOffset = 0U; uiOffsetFromSectStart = - Adapter->uiSectorSize & uiOffset; uiSectAlignAddr = - Adapter->uiSectorSize & uiOffset; uiCurrSectOffsetAddr = (Adapter->uiSectorSize - 1U) & uiOffset; uiSectBoundary = Adapter->uiSectorSize + uiSectAlignAddr; tmp___0 = kmalloc((size_t )Adapter->uiSectorSize, 208U); pTempBuff = (PCHAR )tmp___0; if ((unsigned long )pTempBuff == (unsigned long )((PCHAR )0)) { goto BeceemFlashBulkWrite_EXIT; } else { } if (uiOffset + uiNumBytes < uiSectBoundary) { uiNumSectTobeRead = 1U; } else { uiNumSectTobeRead = (uiCurrSectOffsetAddr + uiNumBytes) / Adapter->uiSectorSize; if ((uiCurrSectOffsetAddr + uiNumBytes) % Adapter->uiSectorSize != 0U) { uiNumSectTobeRead = uiNumSectTobeRead + 1U; } else { } } tmp___4 = IsFlash2x(Adapter); if (tmp___4 != 0 && ! Adapter->bAllDSDWriteAllow) { index = 0U; uiTemp = uiNumSectTobeRead; goto ldv_52093; ldv_52092: tmp___3 = IsOffsetWritable(Adapter, Adapter->uiSectorSize * index + uiOffsetFromSectStart); if ((unsigned int )tmp___3 == 0U) { printk("\016%s:Sector Starting at offset <0X%X> is not writable", "BeceemFlashBulkWrite", Adapter->uiSectorSize * index + uiOffsetFromSectStart); Status = -1; goto BeceemFlashBulkWrite_EXIT; } else { } uiTemp = uiTemp - 1U; index = index + 1U; ldv_52093: ; if (uiTemp != 0U) { goto ldv_52092; } else { } } else { } Adapter->SelectedChip = -1; goto ldv_52112; ldv_52111: tmp___5 = GetFlashBaseAddr(Adapter); uiPartOffset = (uiSectAlignAddr & 16777215U) + (unsigned int )tmp___5; BcmDoChipSelect(Adapter, uiSectAlignAddr); tmp___6 = BeceemFlashBulkRead(Adapter, (unsigned int *)pTempBuff, uiOffsetFromSectStart, Adapter->uiSectorSize); if (tmp___6 != 0) { Status = -1; goto BeceemFlashBulkWrite_EXIT; } else { } ulStatus = BcmFlashUnProtectBlock(Adapter, uiSectAlignAddr, Adapter->uiSectorSize); if (uiNumSectTobeRead > 1U) { __len = (size_t )(uiSectBoundary - (uiSectAlignAddr + uiCurrSectOffsetAddr)); __ret = memcpy((void *)pTempBuff + (unsigned long )uiCurrSectOffsetAddr, (void const *)pcBuffer, __len); pcBuffer = pcBuffer + (unsigned long )(uiSectBoundary - (uiSectAlignAddr + uiCurrSectOffsetAddr)); uiNumBytes = ((uiSectAlignAddr + uiCurrSectOffsetAddr) - uiSectBoundary) + uiNumBytes; } else { __len___0 = (size_t )uiNumBytes; __ret___0 = memcpy((void *)pTempBuff + (unsigned long )uiCurrSectOffsetAddr, (void const *)pcBuffer, __len___0); } tmp___7 = IsFlash2x(Adapter); if (tmp___7 != 0) { SaveHeaderIfPresent(Adapter, (unsigned char *)pTempBuff, uiOffsetFromSectStart); } else { } FlashSectorErase(Adapter, uiPartOffset, 1U); uiIndex = 0U; goto ldv_52102; ldv_52101: ; if ((int )Adapter->device_removed) { Status = -1; goto BeceemFlashBulkWrite_EXIT; } else { } tmp___8 = (*(Adapter->fpFlashWrite))(Adapter, uiPartOffset + uiIndex, (PVOID )pTempBuff + (unsigned long )uiIndex); if (tmp___8 != 0) { Status = -1; goto BeceemFlashBulkWrite_EXIT; } else { } uiIndex = (unsigned int )Adapter->ulFlashWriteSize + uiIndex; ldv_52102: ; if (Adapter->uiSectorSize > uiIndex) { goto ldv_52101; } else { } uiIndex = 0U; goto ldv_52109; ldv_52108: tmp___12 = BeceemFlashBulkRead(Adapter, (unsigned int *)(& ucReadBk), uiOffsetFromSectStart + uiIndex, 16U); if (tmp___12 == 0) { if (Adapter->ulFlashWriteSize == 1UL) { uiReadIndex = 0U; uiReadIndex = 0U; goto ldv_52106; ldv_52105: ; if ((int )ucReadBk[uiReadIndex] != (int )*(pTempBuff + (unsigned long )(uiIndex + uiReadIndex))) { tmp___9 = (*(Adapter->fpFlashWriteWithStatusCheck))(Adapter, (uiPartOffset + uiIndex) + uiReadIndex, (PVOID )pTempBuff + (unsigned long )(uiIndex + uiReadIndex)); if (tmp___9 != 0) { Status = -1; goto BeceemFlashBulkWrite_EXIT; } else { } } else { } uiReadIndex = uiReadIndex + 1U; ldv_52106: ; if (uiReadIndex <= 15U) { goto ldv_52105; } else { } } else { tmp___11 = memcmp((void const *)(& ucReadBk), (void const *)pTempBuff + (unsigned long )uiIndex, 16UL); if (tmp___11 != 0) { tmp___10 = (*(Adapter->fpFlashWriteWithStatusCheck))(Adapter, uiPartOffset + uiIndex, (PVOID )pTempBuff + (unsigned long )uiIndex); if (tmp___10 != 0) { Status = -1; goto BeceemFlashBulkWrite_EXIT; } else { } } else { } } } else { } uiIndex = uiIndex + 16U; ldv_52109: ; if (Adapter->uiSectorSize > uiIndex) { goto ldv_52108; } else { } if (ulStatus != 0UL) { BcmRestoreBlockProtectStatus(Adapter, ulStatus); ulStatus = 0UL; } else { } uiCurrSectOffsetAddr = 0U; uiSectAlignAddr = uiSectBoundary; uiSectBoundary = Adapter->uiSectorSize + uiSectBoundary; uiOffsetFromSectStart = Adapter->uiSectorSize + uiOffsetFromSectStart; uiNumSectTobeRead = uiNumSectTobeRead - 1U; ldv_52112: ; if (uiNumSectTobeRead != 0U) { goto ldv_52111; } else { } BeceemFlashBulkWrite_EXIT: ; if (ulStatus != 0UL) { BcmRestoreBlockProtectStatus(Adapter, ulStatus); } else { } kfree((void const *)pTempBuff); Adapter->SelectedChip = -1; return (Status); } } static int BeceemFlashBulkWriteStatus(struct bcm_mini_adapter *Adapter , PUINT pBuffer , unsigned int uiOffset , unsigned int uiNumBytes , bool bVerify ) { PCHAR pTempBuff ; PUCHAR pcBuffer ; unsigned int uiIndex ; unsigned int uiOffsetFromSectStart ; unsigned int uiSectAlignAddr ; unsigned int uiCurrSectOffsetAddr ; unsigned int uiSectBoundary ; unsigned int uiNumSectTobeRead ; UCHAR ucReadBk[16U] ; unsigned int tmp ; ULONG ulStatus ; unsigned int Status ; unsigned int uiTemp ; unsigned int index ; unsigned int uiPartOffset ; void *tmp___0 ; B_UINT8 tmp___3 ; INT tmp___4 ; int tmp___5 ; int tmp___6 ; size_t __len ; void *__ret ; size_t __len___0 ; void *__ret___0 ; INT tmp___7 ; int tmp___8 ; int tmp___9 ; int tmp___10 ; { pTempBuff = (PCHAR )0; pcBuffer = (unsigned char *)pBuffer; uiIndex = 0U; uiOffsetFromSectStart = 0U; uiSectAlignAddr = 0U; uiCurrSectOffsetAddr = 0U; uiSectBoundary = 0U; uiNumSectTobeRead = 0U; ucReadBk[0] = 0U; tmp = 1U; while (1) { if (tmp >= 16U) { break; } else { } ucReadBk[tmp] = (unsigned char)0; tmp = tmp + 1U; } ulStatus = 0UL; Status = 0U; uiTemp = 0U; index = 0U; uiPartOffset = 0U; uiOffsetFromSectStart = - Adapter->uiSectorSize & uiOffset; uiSectAlignAddr = - Adapter->uiSectorSize & uiOffset; uiCurrSectOffsetAddr = (Adapter->uiSectorSize - 1U) & uiOffset; uiSectBoundary = Adapter->uiSectorSize + uiSectAlignAddr; tmp___0 = kmalloc((size_t )Adapter->uiSectorSize, 208U); pTempBuff = (PCHAR )tmp___0; if ((unsigned long )pTempBuff == (unsigned long )((PCHAR )0)) { goto BeceemFlashBulkWriteStatus_EXIT; } else { } if (uiOffset + uiNumBytes < uiSectBoundary) { uiNumSectTobeRead = 1U; } else { uiNumSectTobeRead = (uiCurrSectOffsetAddr + uiNumBytes) / Adapter->uiSectorSize; if ((uiCurrSectOffsetAddr + uiNumBytes) % Adapter->uiSectorSize != 0U) { uiNumSectTobeRead = uiNumSectTobeRead + 1U; } else { } } tmp___4 = IsFlash2x(Adapter); if (tmp___4 != 0 && ! Adapter->bAllDSDWriteAllow) { index = 0U; uiTemp = uiNumSectTobeRead; goto ldv_52140; ldv_52139: tmp___3 = IsOffsetWritable(Adapter, Adapter->uiSectorSize * index + uiOffsetFromSectStart); if ((unsigned int )tmp___3 == 0U) { printk("\016%s:Sector Starting at offset <0X%x> is not writable", "BeceemFlashBulkWriteStatus", Adapter->uiSectorSize * index + uiOffsetFromSectStart); Status = 4294967295U; goto BeceemFlashBulkWriteStatus_EXIT; } else { } uiTemp = uiTemp - 1U; index = index + 1U; ldv_52140: ; if (uiTemp != 0U) { goto ldv_52139; } else { } } else { } Adapter->SelectedChip = -1; goto ldv_52155; ldv_52154: tmp___5 = GetFlashBaseAddr(Adapter); uiPartOffset = (uiSectAlignAddr & 16777215U) + (unsigned int )tmp___5; BcmDoChipSelect(Adapter, uiSectAlignAddr); tmp___6 = BeceemFlashBulkRead(Adapter, (unsigned int *)pTempBuff, uiOffsetFromSectStart, Adapter->uiSectorSize); if (tmp___6 != 0) { Status = 4294967295U; goto BeceemFlashBulkWriteStatus_EXIT; } else { } ulStatus = BcmFlashUnProtectBlock(Adapter, uiOffsetFromSectStart, Adapter->uiSectorSize); if (uiNumSectTobeRead > 1U) { __len = (size_t )(uiSectBoundary - (uiSectAlignAddr + uiCurrSectOffsetAddr)); __ret = memcpy((void *)pTempBuff + (unsigned long )uiCurrSectOffsetAddr, (void const *)pcBuffer, __len); pcBuffer = pcBuffer + (unsigned long )(uiSectBoundary - (uiSectAlignAddr + uiCurrSectOffsetAddr)); uiNumBytes = ((uiSectAlignAddr + uiCurrSectOffsetAddr) - uiSectBoundary) + uiNumBytes; } else { __len___0 = (size_t )uiNumBytes; __ret___0 = memcpy((void *)pTempBuff + (unsigned long )uiCurrSectOffsetAddr, (void const *)pcBuffer, __len___0); } tmp___7 = IsFlash2x(Adapter); if (tmp___7 != 0) { SaveHeaderIfPresent(Adapter, (unsigned char *)pTempBuff, uiOffsetFromSectStart); } else { } FlashSectorErase(Adapter, uiPartOffset, 1U); uiIndex = 0U; goto ldv_52149; ldv_52148: ; if ((int )Adapter->device_removed) { Status = 4294967295U; goto BeceemFlashBulkWriteStatus_EXIT; } else { } tmp___8 = (*(Adapter->fpFlashWriteWithStatusCheck))(Adapter, uiPartOffset + uiIndex, (PVOID )pTempBuff + (unsigned long )uiIndex); if (tmp___8 != 0) { Status = 4294967295U; goto BeceemFlashBulkWriteStatus_EXIT; } else { } uiIndex = (unsigned int )Adapter->ulFlashWriteSize + uiIndex; ldv_52149: ; if (Adapter->uiSectorSize > uiIndex) { goto ldv_52148; } else { } if ((int )bVerify) { uiIndex = 0U; goto ldv_52152; ldv_52151: tmp___10 = BeceemFlashBulkRead(Adapter, (unsigned int *)(& ucReadBk), uiOffsetFromSectStart + uiIndex, 16U); if (tmp___10 == 0) { tmp___9 = memcmp((void const *)(& ucReadBk), (void const *)pTempBuff + (unsigned long )uiIndex, 16UL); if (tmp___9 != 0) { Status = 4294967295U; goto BeceemFlashBulkWriteStatus_EXIT; } else { } } else { } uiIndex = uiIndex + 16U; ldv_52152: ; if (Adapter->uiSectorSize > uiIndex) { goto ldv_52151; } else { } } else { } if (ulStatus != 0UL) { BcmRestoreBlockProtectStatus(Adapter, ulStatus); ulStatus = 0UL; } else { } uiCurrSectOffsetAddr = 0U; uiSectAlignAddr = uiSectBoundary; uiSectBoundary = Adapter->uiSectorSize + uiSectBoundary; uiOffsetFromSectStart = Adapter->uiSectorSize + uiOffsetFromSectStart; uiNumSectTobeRead = uiNumSectTobeRead - 1U; ldv_52155: ; if (uiNumSectTobeRead != 0U) { goto ldv_52154; } else { } BeceemFlashBulkWriteStatus_EXIT: ; if (ulStatus != 0UL) { BcmRestoreBlockProtectStatus(Adapter, ulStatus); } else { } kfree((void const *)pTempBuff); Adapter->SelectedChip = -1; return ((int )Status); } } INT PropagateCalParamsFromFlashToMemory(struct bcm_mini_adapter *Adapter ) { PCHAR pBuff ; PCHAR pPtr ; unsigned int uiEepromSize ; unsigned int uiBytesToCopy ; unsigned int uiCalStartAddr ; unsigned int uiMemoryLoc ; unsigned int value ; int Status ; INT tmp ; __u32 tmp___0 ; void *tmp___1 ; INT tmp___2 ; { uiEepromSize = 0U; uiBytesToCopy = 0U; uiCalStartAddr = 512U; uiMemoryLoc = 3215982600U; Status = 0; value = 3199057581U; wrmalt(Adapter, 3215982596U, & value, 4UL); value = 3199057581U; wrmalt(Adapter, 3215982592U, & value, 4UL); tmp = BeceemNVMRead(Adapter, & uiEepromSize, 524U, 4U); if (tmp != 0) { return (-1); } else { } tmp___0 = __fswab32(uiEepromSize); uiEepromSize = tmp___0; uiEepromSize = uiEepromSize >> 16; uiEepromSize = uiEepromSize - 512U; if (uiEepromSize > 1048576U) { return (-1); } else { } tmp___1 = kmalloc((size_t )uiEepromSize, 208U); pBuff = (PCHAR )tmp___1; if ((unsigned long )pBuff == (unsigned long )((PCHAR )0)) { return (-12); } else { } tmp___2 = BeceemNVMRead(Adapter, (unsigned int *)pBuff, uiCalStartAddr, uiEepromSize); if (tmp___2 != 0) { kfree((void const *)pBuff); return (-1); } else { } pPtr = pBuff; uiBytesToCopy = 4096U < uiEepromSize ? 4096U : uiEepromSize; goto ldv_52173; ldv_52172: Status = wrm(Adapter, uiMemoryLoc, pPtr, (size_t )uiBytesToCopy); if (Status != 0) { printk("\016%s:wrm failed with status :%d", "PropagateCalParamsFromFlashToMemory", Status); goto ldv_52171; } else { } pPtr = pPtr + (unsigned long )uiBytesToCopy; uiEepromSize = uiEepromSize - uiBytesToCopy; uiMemoryLoc = uiMemoryLoc + uiBytesToCopy; uiBytesToCopy = 4096U < uiEepromSize ? 4096U : uiEepromSize; ldv_52173: ; if (uiBytesToCopy != 0U) { goto ldv_52172; } else { } ldv_52171: kfree((void const *)pBuff); return (Status); } } static int BeceemEEPROMReadBackandVerify(struct bcm_mini_adapter *Adapter , PUINT pBuffer , unsigned int uiOffset , unsigned int uiNumBytes ) { unsigned int uiRdbk ; unsigned int uiIndex ; unsigned int uiData ; unsigned int auiData[4U] ; unsigned int tmp ; unsigned long __ms ; unsigned long tmp___0 ; int tmp___1 ; int tmp___2 ; unsigned long __ms___0 ; unsigned long tmp___3 ; size_t __len ; void *__ret ; int tmp___4 ; { uiRdbk = 0U; uiIndex = 0U; uiData = 0U; auiData[0] = 0U; tmp = 1U; while (1) { if (tmp >= 4U) { break; } else { } auiData[tmp] = 0U; tmp = tmp + 1U; } goto ldv_52196; ldv_52195: ; if ((int )Adapter->device_removed) { return (-1); } else { } if (uiNumBytes > 15U) { BeceemEEPROMBulkRead(Adapter, (unsigned int *)(& auiData), uiOffset, 16U); tmp___2 = memcmp((void const *)pBuffer + (unsigned long )uiIndex, (void const *)(& auiData), 16UL); if (tmp___2 != 0) { BeceemEEPROMBulkWrite(Adapter, (unsigned char *)pBuffer + (unsigned long )uiIndex, uiOffset, 16U, 0); if (1) { __const_udelay(12885000UL); } else { __ms = 3UL; goto ldv_52186; ldv_52185: __const_udelay(4295000UL); ldv_52186: tmp___0 = __ms; __ms = __ms - 1UL; if (tmp___0 != 0UL) { goto ldv_52185; } else { } } BeceemEEPROMBulkRead(Adapter, (unsigned int *)(& auiData), uiOffset, 16U); tmp___1 = memcmp((void const *)pBuffer + (unsigned long )uiIndex, (void const *)(& auiData), 16UL); if (tmp___1 != 0) { return (-1); } else { } } else { } uiOffset = uiOffset + 16U; uiNumBytes = uiNumBytes - 16U; uiIndex = uiIndex + 4U; } else if (uiNumBytes > 3U) { BeceemEEPROMBulkRead(Adapter, & uiData, uiOffset, 4U); if (*(pBuffer + (unsigned long )uiIndex) != uiData) { BeceemEEPROMBulkWrite(Adapter, (unsigned char *)pBuffer + (unsigned long )uiIndex, uiOffset, 4U, 0); if (1) { __const_udelay(12885000UL); } else { __ms___0 = 3UL; goto ldv_52190; ldv_52189: __const_udelay(4295000UL); ldv_52190: tmp___3 = __ms___0; __ms___0 = __ms___0 - 1UL; if (tmp___3 != 0UL) { goto ldv_52189; } else { } } BeceemEEPROMBulkRead(Adapter, & uiData, uiOffset, 4U); if (*(pBuffer + (unsigned long )uiIndex) != uiData) { return (-1); } else { } } else { } uiOffset = uiOffset + 4U; uiNumBytes = uiNumBytes - 4U; uiIndex = uiIndex + 1U; } else { uiData = 0U; __len = (size_t )uiNumBytes; __ret = memcpy((void *)(& uiData), (void const *)pBuffer + (unsigned long )uiIndex * 4UL, __len); BeceemEEPROMBulkRead(Adapter, & uiRdbk, uiOffset, 4U); tmp___4 = memcmp((void const *)(& uiData), (void const *)(& uiRdbk), (size_t )uiNumBytes); if (tmp___4 != 0) { return (-1); } else { } uiNumBytes = 0U; } ldv_52196: ; if (uiNumBytes != 0U) { goto ldv_52195; } else { } return (0); } } static VOID BcmSwapWord(unsigned int *ptr1 ) { unsigned int tempval ; char *ptr2 ; char *ptr ; { tempval = *ptr1; ptr2 = (char *)(& tempval); ptr = (char *)ptr1; *ptr = *(ptr2 + 3UL); *(ptr + 1UL) = *(ptr2 + 2UL); *(ptr + 2UL) = *(ptr2 + 1UL); *(ptr + 3UL) = *ptr2; return; } } static int BeceemEEPROMWritePage(struct bcm_mini_adapter *Adapter , unsigned int *uiData , unsigned int uiOffset ) { unsigned int uiRetries ; unsigned int uiStatus ; UCHAR uiEpromStatus ; unsigned int value ; { uiRetries = 5120U; uiStatus = 0U; uiEpromStatus = 0U; value = 0U; value = 7U; wrmalt(Adapter, 251670604U, & value, 4UL); value = 0U; wrmalt(Adapter, 251670604U, & value, 4UL); value = 28720U; wrmalt(Adapter, 251670532U, & value, 4UL); value = 100663296U; wrmalt(Adapter, 251670552U, & value, 4UL); value = *uiData; BcmSwapWord(& value); wrm(Adapter, 251670556U, (PCHAR )(& value), 4UL); value = *(uiData + 1UL); BcmSwapWord(& value); wrm(Adapter, 251670556U, (PCHAR )(& value), 4UL); value = *(uiData + 2UL); BcmSwapWord(& value); wrm(Adapter, 251670556U, (PCHAR )(& value), 4UL); value = *(uiData + 3UL); BcmSwapWord(& value); wrm(Adapter, 251670556U, (PCHAR )(& value), 4UL); value = uiOffset | 4194304000U; wrmalt(Adapter, 251670552U, & value, 4UL); uiStatus = 0U; rdmalt(Adapter, 251670532U, & uiStatus, 4UL); goto ldv_52219; ldv_52218: uiRetries = uiRetries - 1U; if (uiRetries == 0U) { printk("\016%s:0x0f003004 = %x, %d retries failed.\n", "BeceemEEPROMWritePage", uiStatus, 5120); return (-1); } else { } if ((uiRetries & 63U) == 0U) { __const_udelay(4295000UL); } else { } uiStatus = 0U; rdmalt(Adapter, 251670532U, & uiStatus, 4UL); if ((int )Adapter->device_removed) { printk("\016%s:Modem got removed hence exiting from loop....", "BeceemEEPROMWritePage"); return (-19); } else { } ldv_52219: ; if ((uiStatus & 4096U) == 0U) { goto ldv_52218; } else { } if (uiRetries != 0U) { value = uiStatus & 28672U; wrmalt(Adapter, 251670532U, & value, 4UL); } else { } uiRetries = 5120U; uiEpromStatus = 0U; goto ldv_52228; ldv_52227: uiEpromStatus = ReadEEPROMStatusRegister(Adapter); if ((int )Adapter->device_removed) { printk("\016%s:Modem has got removed hence exiting from loop...", "BeceemEEPROMWritePage"); return (-19); } else { } if (((unsigned int )uiEpromStatus & 1U) == 0U) { printk("\016%s:EEPROM status register = %x tries = %d\n", "BeceemEEPROMWritePage", (int )uiEpromStatus, 5120U - uiRetries); return (0); } else { } uiRetries = uiRetries - 1U; if (uiRetries == 0U) { printk("\016%s:0x0f003004 = %x, for EEPROM status read %d retries failed.\n", "BeceemEEPROMWritePage", (int )uiEpromStatus, 5120); return (-1); } else { } uiEpromStatus = 0U; if ((uiRetries & 63U) == 0U) { __const_udelay(4295000UL); } else { } ldv_52228: ; if (uiRetries != 0U) { goto ldv_52227; } else { } return (0); } } INT BeceemEEPROMBulkWrite(struct bcm_mini_adapter *Adapter , PUCHAR pBuffer , unsigned int uiOffset , unsigned int uiNumBytes , bool bVerify ) { unsigned int uiBytesToCopy ; unsigned int uiData[4U] ; unsigned int tmp ; unsigned int uiIndex ; unsigned int uiTempOffset ; unsigned int uiExtraBytes ; size_t __len ; void *__ret ; int tmp___0 ; size_t __len___0 ; void *__ret___0 ; int tmp___1 ; int tmp___2 ; size_t __len___1 ; void *__ret___1 ; int tmp___3 ; { uiBytesToCopy = uiNumBytes; uiData[0] = 0U; tmp = 1U; while (1) { if (tmp >= 4U) { break; } else { } uiData[tmp] = 0U; tmp = tmp + 1U; } uiIndex = 0U; uiTempOffset = 0U; uiExtraBytes = 0U; if ((uiOffset & 15U) != 0U && uiBytesToCopy != 0U) { uiTempOffset = uiOffset & 4294967280U; uiExtraBytes = uiOffset - uiTempOffset; BeceemEEPROMBulkRead(Adapter, (unsigned int *)(& uiData), uiTempOffset, 16U); if (16U - uiExtraBytes <= uiBytesToCopy) { __len = (size_t )(16U - uiExtraBytes); __ret = memcpy((void *)(& uiData) + (unsigned long )uiExtraBytes, (void const *)pBuffer, __len); tmp___0 = BeceemEEPROMWritePage(Adapter, (unsigned int *)(& uiData), uiTempOffset); if (tmp___0 == -1) { return (-1); } else { } uiBytesToCopy = (uiExtraBytes + uiBytesToCopy) - 16U; uiIndex = (uiIndex - uiExtraBytes) + 16U; uiOffset = (uiOffset - uiExtraBytes) + 16U; } else { __len___0 = (size_t )uiBytesToCopy; __ret___0 = memcpy((void *)(& uiData) + (unsigned long )uiExtraBytes, (void const *)pBuffer, __len___0); tmp___1 = BeceemEEPROMWritePage(Adapter, (unsigned int *)(& uiData), uiTempOffset); if (tmp___1 == -1) { return (-1); } else { } uiIndex = uiIndex + uiBytesToCopy; uiOffset = uiOffset + uiBytesToCopy; uiBytesToCopy = 0U; } } else { } goto ldv_52252; ldv_52251: ; if ((int )Adapter->device_removed) { return (-1); } else { } if (uiBytesToCopy > 15U) { tmp___2 = BeceemEEPROMWritePage(Adapter, (unsigned int *)pBuffer + (unsigned long )uiIndex, uiOffset); if (tmp___2 == -1) { return (-1); } else { } uiIndex = uiIndex + 16U; uiOffset = uiOffset + 16U; uiBytesToCopy = uiBytesToCopy - 16U; } else { BeceemEEPROMBulkRead(Adapter, (unsigned int *)(& uiData), uiOffset, 16U); __len___1 = (size_t )uiBytesToCopy; __ret___1 = memcpy((void *)(& uiData), (void const *)pBuffer + (unsigned long )uiIndex, __len___1); tmp___3 = BeceemEEPROMWritePage(Adapter, (unsigned int *)(& uiData), uiOffset); if (tmp___3 == -1) { return (-1); } else { } uiBytesToCopy = 0U; } ldv_52252: ; if (uiBytesToCopy != 0U) { goto ldv_52251; } else { } return (0); } } INT BeceemNVMRead(struct bcm_mini_adapter *Adapter , PUINT pBuffer , unsigned int uiOffset , unsigned int uiNumBytes ) { int Status ; unsigned int uiTemp ; unsigned int value ; INT tmp ; int tmp___0 ; { Status = 0; uiTemp = 0U; if ((unsigned int )Adapter->eNVMType == 2U) { if (! Adapter->bFlashRawRead) { tmp___0 = IsSectionExistInVendorInfo(Adapter, Adapter->eActiveDSD); if (tmp___0 != 0) { tmp = vendorextnReadSection((PVOID )Adapter, (unsigned char *)pBuffer, Adapter->eActiveDSD, uiOffset, uiNumBytes); return (tmp); } else { } uiOffset = Adapter->ulFlashCalStart + uiOffset; } else { } rdmalt(Adapter, 251661440U, & uiTemp, 4UL); value = 0U; wrmalt(Adapter, 251661440U, & value, 4UL); Status = BeceemFlashBulkRead(Adapter, pBuffer, uiOffset, uiNumBytes); wrmalt(Adapter, 251661440U, & uiTemp, 4UL); } else if ((unsigned int )Adapter->eNVMType == 1U) { Status = BeceemEEPROMBulkRead(Adapter, pBuffer, uiOffset, uiNumBytes); } else { Status = -1; } return (Status); } } INT BeceemNVMWrite(struct bcm_mini_adapter *Adapter , PUINT pBuffer , unsigned int uiOffset , unsigned int uiNumBytes , bool bVerify ) { int Status ; unsigned int uiTemp ; unsigned int uiMemoryLoc ; unsigned int uiIndex ; unsigned int value ; unsigned int uiFlashOffset ; int tmp ; ULONG ulBytesTobeSkipped ; PUCHAR pcBuffer ; { Status = 0; uiTemp = 0U; uiMemoryLoc = 3215982600U; uiIndex = 0U; uiFlashOffset = 0U; if ((unsigned int )Adapter->eNVMType == 2U) { tmp = IsSectionExistInVendorInfo(Adapter, Adapter->eActiveDSD); if (tmp != 0) { Status = vendorextnWriteSection((PVOID )Adapter, (unsigned char *)pBuffer, Adapter->eActiveDSD, uiOffset, uiNumBytes, (int )bVerify); } else { uiFlashOffset = Adapter->ulFlashCalStart + uiOffset; rdmalt(Adapter, 251661440U, & uiTemp, 4UL); value = 0U; wrmalt(Adapter, 251661440U, & value, 4UL); if ((int )Adapter->bStatusWrite) { Status = BeceemFlashBulkWriteStatus(Adapter, pBuffer, uiFlashOffset, uiNumBytes, (int )bVerify); } else { Status = BeceemFlashBulkWrite(Adapter, pBuffer, uiFlashOffset, uiNumBytes, (int )bVerify); } } if (uiOffset > 511U) { uiMemoryLoc = (uiOffset + uiMemoryLoc) - 512U; goto ldv_52278; ldv_52277: ; if (uiNumBytes > 4096U) { wrm(Adapter, uiMemoryLoc + uiIndex, (char *)pBuffer + (unsigned long )(uiIndex / 4U), 4096UL); uiNumBytes = uiNumBytes - 4096U; uiIndex = uiIndex + 4096U; } else { wrm(Adapter, uiMemoryLoc + uiIndex, (char *)pBuffer + (unsigned long )(uiIndex / 4U), (size_t )uiNumBytes); uiNumBytes = 0U; goto ldv_52276; } ldv_52278: ; if (uiNumBytes != 0U) { goto ldv_52277; } else { } ldv_52276: ; } else if (uiOffset + uiNumBytes > 512U) { ulBytesTobeSkipped = 0UL; pcBuffer = (unsigned char *)pBuffer; uiNumBytes = (uiOffset + uiNumBytes) - 512U; ulBytesTobeSkipped = (ULONG )(512U - uiOffset) + ulBytesTobeSkipped; uiOffset = 512U; goto ldv_52283; ldv_52282: ; if (uiNumBytes > 4096U) { wrm(Adapter, uiMemoryLoc + uiIndex, (char *)(pcBuffer + ((ULONG )uiIndex + ulBytesTobeSkipped)), 4096UL); uiNumBytes = uiNumBytes - 4096U; uiIndex = uiIndex + 4096U; } else { wrm(Adapter, uiMemoryLoc + uiIndex, (char *)(pcBuffer + ((ULONG )uiIndex + ulBytesTobeSkipped)), (size_t )uiNumBytes); uiNumBytes = 0U; goto ldv_52281; } ldv_52283: ; if (uiNumBytes != 0U) { goto ldv_52282; } else { } ldv_52281: ; } else { } wrmalt(Adapter, 251661440U, & uiTemp, 4UL); } else if ((unsigned int )Adapter->eNVMType == 1U) { Status = BeceemEEPROMBulkWrite(Adapter, (unsigned char *)pBuffer, uiOffset, uiNumBytes, (int )bVerify); if ((int )bVerify) { Status = BeceemEEPROMReadBackandVerify(Adapter, pBuffer, uiOffset, uiNumBytes); } else { } } else { Status = -1; } return (Status); } } INT BcmUpdateSectorSize(struct bcm_mini_adapter *Adapter , unsigned int uiSectorSize ) { int Status ; struct bcm_flash_cs_info sFlashCsInfo ; unsigned int uiTemp ; unsigned int uiSectorSig ; unsigned int uiCurrentSectorSize ; unsigned int value ; __u32 tmp ; __u32 tmp___0 ; struct _ddebug descriptor___0 ; long tmp___2 ; __u32 tmp___3 ; { Status = -1; sFlashCsInfo.MagicNumber = 0U; sFlashCsInfo.FlashLayoutVersion = 0U; sFlashCsInfo.ISOImageVersion = 0U; sFlashCsInfo.SCSIFirmwareVersion = 0U; sFlashCsInfo.OffsetFromZeroForPart1ISOImage = 0U; sFlashCsInfo.OffsetFromZeroForScsiFirmware = 0U; sFlashCsInfo.SizeOfScsiFirmware = 0U; sFlashCsInfo.OffsetFromZeroForPart2ISOImage = 0U; sFlashCsInfo.OffsetFromZeroForCalibrationStart = 0U; sFlashCsInfo.OffsetFromZeroForCalibrationEnd = 0U; sFlashCsInfo.OffsetFromZeroForVSAStart = 0U; sFlashCsInfo.OffsetFromZeroForVSAEnd = 0U; sFlashCsInfo.OffsetFromZeroForControlSectionStart = 0U; sFlashCsInfo.OffsetFromZeroForControlSectionData = 0U; sFlashCsInfo.CDLessInactivityTimeout = 0U; sFlashCsInfo.NewImageSignature = 0U; sFlashCsInfo.FlashSectorSizeSig = 0U; sFlashCsInfo.FlashSectorSize = 0U; sFlashCsInfo.FlashWriteSupportSize = 0U; sFlashCsInfo.TotalFlashSize = 0U; sFlashCsInfo.FlashBaseAddr = 0U; sFlashCsInfo.FlashPartMaxSize = 0U; sFlashCsInfo.IsCDLessDeviceBootSig = 0U; sFlashCsInfo.MassStorageTimeout = 0U; uiTemp = 0U; uiSectorSig = 0U; uiCurrentSectorSize = 0U; rdmalt(Adapter, 251661440U, & uiTemp, 4UL); value = 0U; wrmalt(Adapter, 251661440U, & value, 4UL); BeceemFlashBulkRead(Adapter, (unsigned int *)(& sFlashCsInfo), (unsigned int )Adapter->ulFlashControlSectionStart, 96U); tmp = __fswab32(sFlashCsInfo.FlashSectorSizeSig); uiSectorSig = tmp; tmp___0 = __fswab32(sFlashCsInfo.FlashSectorSize); uiCurrentSectorSize = tmp___0; if (uiSectorSig == 3405691582U) { if (uiCurrentSectorSize <= 524288U && uiCurrentSectorSize > 1023U) { if (uiSectorSize == uiCurrentSectorSize) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "BcmUpdateSectorSize"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___0.format = "%s:\nProvided sector size is same as programmed in Flash"; descriptor___0.lineno = 1976U; descriptor___0.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nProvided sector size is same as programmed in Flash", "BcmUpdateSectorSize"); } else { } } else { } Status = 0; goto Restore; } else { } } else { } } else { } if (uiSectorSize <= 524288U && uiSectorSize > 1023U) { tmp___3 = __fswab32(uiSectorSize); sFlashCsInfo.FlashSectorSize = tmp___3; sFlashCsInfo.FlashSectorSizeSig = 3199925962U; Status = BeceemFlashBulkWrite(Adapter, (unsigned int *)(& sFlashCsInfo), (unsigned int )Adapter->ulFlashControlSectionStart, 96U, 1); } else { } Restore: wrmalt(Adapter, 251661440U, & uiTemp, 4UL); return (Status); } } static unsigned int BcmGetFlashSectorSize(struct bcm_mini_adapter *Adapter , unsigned int FlashSectorSizeSig , unsigned int FlashSectorSize ) { unsigned int uiSectorSize ; unsigned int uiSectorSig ; struct _ddebug descriptor___0 ; long tmp___0 ; { uiSectorSize = 0U; uiSectorSig = 0U; if ((int )Adapter->bSectorSizeOverride && (Adapter->uiSectorSizeInCFG <= 524288U && Adapter->uiSectorSizeInCFG > 1023U)) { Adapter->uiSectorSize = Adapter->uiSectorSizeInCFG; } else { uiSectorSig = FlashSectorSizeSig; if (uiSectorSig == 3405691582U) { uiSectorSize = FlashSectorSize; if (uiSectorSize <= 524288U && uiSectorSize > 1023U) { Adapter->uiSectorSize = uiSectorSize; } else if (Adapter->uiSectorSizeInCFG <= 524288U && Adapter->uiSectorSizeInCFG > 1023U) { Adapter->uiSectorSize = Adapter->uiSectorSizeInCFG; } else { Adapter->uiSectorSize = 65536U; } } else if (Adapter->uiSectorSizeInCFG <= 524288U && Adapter->uiSectorSizeInCFG > 1023U) { Adapter->uiSectorSize = Adapter->uiSectorSizeInCFG; } else { Adapter->uiSectorSize = 65536U; } } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "BcmGetFlashSectorSize"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___0.format = "%s:\nSector size :%x\n"; descriptor___0.lineno = 2050U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nSector size :%x\n", "BcmGetFlashSectorSize", Adapter->uiSectorSize); } else { } } else { } return (Adapter->uiSectorSize); } } static int BcmInitEEPROMQueues(struct bcm_mini_adapter *Adapter ) { unsigned int value ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; UCHAR tmp___5 ; long tmp___6 ; { value = 0U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "BcmInitEEPROMQueues"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___0.format = "%s:\nFixing reset value on 0x0f003004 register\n"; descriptor___0.lineno = 2074U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nFixing reset value on 0x0f003004 register\n", "BcmInitEEPROMQueues"); } else { } } else { } value = 32U; wrmalt(Adapter, 251670532U, & value, 4UL); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "BcmInitEEPROMQueues"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___2.format = "%s:\n Flushing the queues\n"; descriptor___2.lineno = 2079U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\n Flushing the queues\n", "BcmInitEEPROMQueues"); } else { } } else { } value = 15U; wrmalt(Adapter, 251670604U, & value, 4UL); value = 0U; wrmalt(Adapter, 251670604U, & value, 4UL); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "BcmInitEEPROMQueues"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___4.format = "%s:\nEEPROM Status register value = %x\n"; descriptor___4.lineno = 2087U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { tmp___5 = ReadEEPROMStatusRegister(Adapter); __dynamic_pr_debug(& descriptor___4, "%s:\nEEPROM Status register value = %x\n", "BcmInitEEPROMQueues", (int )tmp___5); } else { } } else { } return (0); } } INT BcmInitNVM(struct bcm_mini_adapter *ps_adapter ) { { BcmValidateNvmType(ps_adapter); BcmInitEEPROMQueues(ps_adapter); if ((unsigned int )ps_adapter->eNVMType == 0U) { ps_adapter->eNVMType = BcmGetNvmType(ps_adapter); if ((unsigned int )ps_adapter->eNVMType == 3U) { printk("\016%s:NVM Type is unknown!!\n", "BcmInitNVM"); } else { } } else if ((unsigned int )ps_adapter->eNVMType == 2U) { BcmGetFlashCSInfo(ps_adapter); } else { } BcmGetNvmSize(ps_adapter); return (0); } } static int BcmGetNvmSize(struct bcm_mini_adapter *Adapter ) { { if ((unsigned int )Adapter->eNVMType == 1U) { Adapter->uiNVMDSDSize = BcmGetEEPROMSize(Adapter); } else if ((unsigned int )Adapter->eNVMType == 2U) { Adapter->uiNVMDSDSize = BcmGetFlashSize(Adapter); } else { } return (0); } } static VOID BcmValidateNvmType(struct bcm_mini_adapter *Adapter ) { { if ((unsigned int )Adapter->eNVMType == 2U && Adapter->chip_id <= 3201184511UL) { Adapter->eNVMType = 0; } else { } return; } } static ULONG BcmReadFlashRDID(struct bcm_mini_adapter *Adapter ) { ULONG ulRDID ; unsigned int value ; { ulRDID = 0UL; value = 2667577344U; wrmalt(Adapter, 2936025152U, & value, 4UL); __const_udelay(42950UL); rdmalt(Adapter, 2936025160U, (unsigned int *)(& ulRDID), 8UL); return (ulRDID >> 8); } } INT BcmAllocFlashCSStructure(struct bcm_mini_adapter *psAdapter ) { void *tmp___1 ; void *tmp___4 ; void *tmp___7 ; { if ((unsigned long )psAdapter == (unsigned long )((struct bcm_mini_adapter *)0)) { printk("\016%s:Adapter structure point is NULL", "BcmAllocFlashCSStructure"); return (-22); } else { } tmp___1 = kzalloc(96UL, 208U); psAdapter->psFlashCSInfo = (struct bcm_flash_cs_info *)tmp___1; if ((unsigned long )psAdapter->psFlashCSInfo == (unsigned long )((struct bcm_flash_cs_info *)0)) { printk("\016%s:Can\'t Allocate memory for Flash 1.x", "BcmAllocFlashCSStructure"); return (-12); } else { } tmp___4 = kzalloc(436UL, 208U); psAdapter->psFlash2xCSInfo = (struct bcm_flash2x_cs_info *)tmp___4; if ((unsigned long )psAdapter->psFlash2xCSInfo == (unsigned long )((struct bcm_flash2x_cs_info *)0)) { printk("\016%s:Can\'t Allocate memory for Flash 2.x", "BcmAllocFlashCSStructure"); kfree((void const *)psAdapter->psFlashCSInfo); return (-12); } else { } tmp___7 = kzalloc(1204UL, 208U); psAdapter->psFlash2xVendorInfo = (struct bcm_flash2x_vendor_info *)tmp___7; if ((unsigned long )psAdapter->psFlash2xVendorInfo == (unsigned long )((struct bcm_flash2x_vendor_info *)0)) { printk("\016%s:Can\'t Allocate Vendor Info Memory for Flash 2.x", "BcmAllocFlashCSStructure"); kfree((void const *)psAdapter->psFlashCSInfo); kfree((void const *)psAdapter->psFlash2xCSInfo); return (-12); } else { } return (0); } } INT BcmDeAllocFlashCSStructure(struct bcm_mini_adapter *psAdapter ) { { if ((unsigned long )psAdapter == (unsigned long )((struct bcm_mini_adapter *)0)) { printk("\016%s:Adapter structure point is NULL", "BcmDeAllocFlashCSStructure"); return (-22); } else { } kfree((void const *)psAdapter->psFlashCSInfo); kfree((void const *)psAdapter->psFlash2xCSInfo); kfree((void const *)psAdapter->psFlash2xVendorInfo); return (0); } } static int BcmDumpFlash2XCSStructure(struct bcm_flash2x_cs_info *psFlash2xCSInfo , struct bcm_mini_adapter *Adapter ) { unsigned int Index ; struct _ddebug descriptor___0 ; long tmp___0 ; struct _ddebug descriptor___2 ; long tmp___2 ; struct _ddebug descriptor___4 ; long tmp___4 ; struct _ddebug descriptor___6 ; long tmp___6 ; struct _ddebug descriptor___8 ; long tmp___8 ; struct _ddebug descriptor___10 ; long tmp___10 ; struct _ddebug descriptor___12 ; long tmp___12 ; struct _ddebug descriptor___14 ; long tmp___14 ; struct _ddebug descriptor___16 ; long tmp___16 ; struct _ddebug descriptor___18 ; long tmp___18 ; struct _ddebug descriptor___20 ; long tmp___20 ; struct _ddebug descriptor___22 ; long tmp___22 ; struct _ddebug descriptor___24 ; long tmp___24 ; struct _ddebug descriptor___26 ; long tmp___26 ; struct _ddebug descriptor___28 ; long tmp___28 ; struct _ddebug descriptor___30 ; long tmp___30 ; struct _ddebug descriptor___32 ; long tmp___32 ; struct _ddebug descriptor___34 ; long tmp___34 ; struct _ddebug descriptor___36 ; long tmp___36 ; struct _ddebug descriptor___38 ; long tmp___38 ; struct _ddebug descriptor___40 ; long tmp___40 ; struct _ddebug descriptor___42 ; long tmp___42 ; struct _ddebug descriptor___44 ; long tmp___44 ; struct _ddebug descriptor___46 ; long tmp___46 ; struct _ddebug descriptor___48 ; long tmp___48 ; struct _ddebug descriptor___50 ; long tmp___50 ; struct _ddebug descriptor___52 ; long tmp___52 ; struct _ddebug descriptor___54 ; long tmp___54 ; struct _ddebug descriptor___56 ; long tmp___56 ; struct _ddebug descriptor___58 ; long tmp___58 ; struct _ddebug descriptor___60 ; long tmp___60 ; struct _ddebug descriptor___62 ; long tmp___62 ; struct _ddebug descriptor___64 ; long tmp___64 ; struct _ddebug descriptor___66 ; long tmp___66 ; struct _ddebug descriptor___68 ; long tmp___68 ; struct _ddebug descriptor___70 ; long tmp___70 ; struct _ddebug descriptor___72 ; long tmp___72 ; struct _ddebug descriptor___74 ; long tmp___74 ; struct _ddebug descriptor___76 ; long tmp___76 ; struct _ddebug descriptor___78 ; long tmp___78 ; struct _ddebug descriptor___80 ; long tmp___80 ; struct _ddebug descriptor___82 ; long tmp___82 ; struct _ddebug descriptor___84 ; long tmp___84 ; struct _ddebug descriptor___86 ; long tmp___86 ; struct _ddebug descriptor___88 ; long tmp___88 ; struct _ddebug descriptor___90 ; long tmp___90 ; struct _ddebug descriptor___92 ; long tmp___92 ; struct _ddebug descriptor___94 ; long tmp___94 ; struct _ddebug descriptor___96 ; long tmp___96 ; { Index = 0U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "BcmDumpFlash2XCSStructure"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___0.format = "%s:\n**********************FLASH2X CS Structure *******************"; descriptor___0.lineno = 2246U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n**********************FLASH2X CS Structure *******************", "BcmDumpFlash2XCSStructure"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "BcmDumpFlash2XCSStructure"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___2.format = "%s:\nSignature is :%x"; descriptor___2.lineno = 2247U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nSignature is :%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->MagicNumber); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "BcmDumpFlash2XCSStructure"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___4.format = "%s:\nFlash Major Version :%d"; descriptor___4.lineno = 2248U; descriptor___4.flags = 0U; tmp___4 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___4 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nFlash Major Version :%d", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->FlashLayoutVersion & 65535U); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "BcmDumpFlash2XCSStructure"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___6.format = "%s:\nFlash Minor Version :%d"; descriptor___6.lineno = 2249U; descriptor___6.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nFlash Minor Version :%d", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->FlashLayoutVersion >> 16); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "BcmDumpFlash2XCSStructure"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___8.format = "%s:\n ISOImageMajorVersion:0x%x"; descriptor___8.lineno = 2250U; descriptor___8.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\n ISOImageMajorVersion:0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->ISOImageVersion); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "BcmDumpFlash2XCSStructure"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___10.format = "%s:\nSCSIFirmwareMajorVersion :0x%x"; descriptor___10.lineno = 2251U; descriptor___10.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nSCSIFirmwareMajorVersion :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->SCSIFirmwareVersion); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "BcmDumpFlash2XCSStructure"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___12.format = "%s:\nOffsetFromZeroForPart1ISOImage :0x%x"; descriptor___12.lineno = 2252U; descriptor___12.flags = 0U; tmp___12 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___12 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nOffsetFromZeroForPart1ISOImage :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetFromZeroForPart1ISOImage); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "BcmDumpFlash2XCSStructure"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___14.format = "%s:\nOffsetFromZeroForScsiFirmware :0x%x"; descriptor___14.lineno = 2253U; descriptor___14.flags = 0U; tmp___14 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___14 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nOffsetFromZeroForScsiFirmware :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetFromZeroForScsiFirmware); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "BcmDumpFlash2XCSStructure"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___16.format = "%s:\nSizeOfScsiFirmware :0x%x"; descriptor___16.lineno = 2254U; descriptor___16.flags = 0U; tmp___16 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___16 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\nSizeOfScsiFirmware :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->SizeOfScsiFirmware); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___18.modname = "bcm_wimax"; descriptor___18.function = "BcmDumpFlash2XCSStructure"; descriptor___18.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___18.format = "%s:\nOffsetFromZeroForPart2ISOImage :0x%x"; descriptor___18.lineno = 2255U; descriptor___18.flags = 0U; tmp___18 = ldv__builtin_expect((long )descriptor___18.flags & 1L, 0L); if (tmp___18 != 0L) { __dynamic_pr_debug(& descriptor___18, "%s:\nOffsetFromZeroForPart2ISOImage :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetFromZeroForPart2ISOImage); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___20.modname = "bcm_wimax"; descriptor___20.function = "BcmDumpFlash2XCSStructure"; descriptor___20.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___20.format = "%s:\nOffsetFromZeroForDSDStart :0x%x"; descriptor___20.lineno = 2256U; descriptor___20.flags = 0U; tmp___20 = ldv__builtin_expect((long )descriptor___20.flags & 1L, 0L); if (tmp___20 != 0L) { __dynamic_pr_debug(& descriptor___20, "%s:\nOffsetFromZeroForDSDStart :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetFromZeroForDSDStart); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___22.modname = "bcm_wimax"; descriptor___22.function = "BcmDumpFlash2XCSStructure"; descriptor___22.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___22.format = "%s:\nOffsetFromZeroForDSDEnd :0x%x"; descriptor___22.lineno = 2257U; descriptor___22.flags = 0U; tmp___22 = ldv__builtin_expect((long )descriptor___22.flags & 1L, 0L); if (tmp___22 != 0L) { __dynamic_pr_debug(& descriptor___22, "%s:\nOffsetFromZeroForDSDEnd :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetFromZeroForDSDEnd); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___24.modname = "bcm_wimax"; descriptor___24.function = "BcmDumpFlash2XCSStructure"; descriptor___24.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___24.format = "%s:\nOffsetFromZeroForVSAStart :0x%x"; descriptor___24.lineno = 2258U; descriptor___24.flags = 0U; tmp___24 = ldv__builtin_expect((long )descriptor___24.flags & 1L, 0L); if (tmp___24 != 0L) { __dynamic_pr_debug(& descriptor___24, "%s:\nOffsetFromZeroForVSAStart :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetFromZeroForVSAStart); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___26.modname = "bcm_wimax"; descriptor___26.function = "BcmDumpFlash2XCSStructure"; descriptor___26.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___26.format = "%s:\nOffsetFromZeroForVSAEnd :0x%x"; descriptor___26.lineno = 2259U; descriptor___26.flags = 0U; tmp___26 = ldv__builtin_expect((long )descriptor___26.flags & 1L, 0L); if (tmp___26 != 0L) { __dynamic_pr_debug(& descriptor___26, "%s:\nOffsetFromZeroForVSAEnd :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetFromZeroForVSAEnd); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___28.modname = "bcm_wimax"; descriptor___28.function = "BcmDumpFlash2XCSStructure"; descriptor___28.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___28.format = "%s:\nOffsetFromZeroForControlSectionStart :0x%x"; descriptor___28.lineno = 2260U; descriptor___28.flags = 0U; tmp___28 = ldv__builtin_expect((long )descriptor___28.flags & 1L, 0L); if (tmp___28 != 0L) { __dynamic_pr_debug(& descriptor___28, "%s:\nOffsetFromZeroForControlSectionStart :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetFromZeroForControlSectionStart); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___30.modname = "bcm_wimax"; descriptor___30.function = "BcmDumpFlash2XCSStructure"; descriptor___30.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___30.format = "%s:\nOffsetFromZeroForControlSectionData :0x%x"; descriptor___30.lineno = 2261U; descriptor___30.flags = 0U; tmp___30 = ldv__builtin_expect((long )descriptor___30.flags & 1L, 0L); if (tmp___30 != 0L) { __dynamic_pr_debug(& descriptor___30, "%s:\nOffsetFromZeroForControlSectionData :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetFromZeroForControlSectionData); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___32.modname = "bcm_wimax"; descriptor___32.function = "BcmDumpFlash2XCSStructure"; descriptor___32.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___32.format = "%s:\nCDLessInactivityTimeout :0x%x"; descriptor___32.lineno = 2262U; descriptor___32.flags = 0U; tmp___32 = ldv__builtin_expect((long )descriptor___32.flags & 1L, 0L); if (tmp___32 != 0L) { __dynamic_pr_debug(& descriptor___32, "%s:\nCDLessInactivityTimeout :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->CDLessInactivityTimeout); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___34.modname = "bcm_wimax"; descriptor___34.function = "BcmDumpFlash2XCSStructure"; descriptor___34.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___34.format = "%s:\nNewImageSignature :0x%x"; descriptor___34.lineno = 2263U; descriptor___34.flags = 0U; tmp___34 = ldv__builtin_expect((long )descriptor___34.flags & 1L, 0L); if (tmp___34 != 0L) { __dynamic_pr_debug(& descriptor___34, "%s:\nNewImageSignature :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->NewImageSignature); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___36.modname = "bcm_wimax"; descriptor___36.function = "BcmDumpFlash2XCSStructure"; descriptor___36.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___36.format = "%s:\nFlashSectorSizeSig :0x%x"; descriptor___36.lineno = 2264U; descriptor___36.flags = 0U; tmp___36 = ldv__builtin_expect((long )descriptor___36.flags & 1L, 0L); if (tmp___36 != 0L) { __dynamic_pr_debug(& descriptor___36, "%s:\nFlashSectorSizeSig :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->FlashSectorSizeSig); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___38.modname = "bcm_wimax"; descriptor___38.function = "BcmDumpFlash2XCSStructure"; descriptor___38.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___38.format = "%s:\nFlashSectorSize :0x%x"; descriptor___38.lineno = 2265U; descriptor___38.flags = 0U; tmp___38 = ldv__builtin_expect((long )descriptor___38.flags & 1L, 0L); if (tmp___38 != 0L) { __dynamic_pr_debug(& descriptor___38, "%s:\nFlashSectorSize :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->FlashSectorSize); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___40.modname = "bcm_wimax"; descriptor___40.function = "BcmDumpFlash2XCSStructure"; descriptor___40.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___40.format = "%s:\nFlashWriteSupportSize :0x%x"; descriptor___40.lineno = 2266U; descriptor___40.flags = 0U; tmp___40 = ldv__builtin_expect((long )descriptor___40.flags & 1L, 0L); if (tmp___40 != 0L) { __dynamic_pr_debug(& descriptor___40, "%s:\nFlashWriteSupportSize :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->FlashWriteSupportSize); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___42.modname = "bcm_wimax"; descriptor___42.function = "BcmDumpFlash2XCSStructure"; descriptor___42.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___42.format = "%s:\nTotalFlashSize :0x%X"; descriptor___42.lineno = 2267U; descriptor___42.flags = 0U; tmp___42 = ldv__builtin_expect((long )descriptor___42.flags & 1L, 0L); if (tmp___42 != 0L) { __dynamic_pr_debug(& descriptor___42, "%s:\nTotalFlashSize :0x%X", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->TotalFlashSize); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___44.modname = "bcm_wimax"; descriptor___44.function = "BcmDumpFlash2XCSStructure"; descriptor___44.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___44.format = "%s:\nFlashBaseAddr :0x%x"; descriptor___44.lineno = 2268U; descriptor___44.flags = 0U; tmp___44 = ldv__builtin_expect((long )descriptor___44.flags & 1L, 0L); if (tmp___44 != 0L) { __dynamic_pr_debug(& descriptor___44, "%s:\nFlashBaseAddr :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->FlashBaseAddr); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___46.modname = "bcm_wimax"; descriptor___46.function = "BcmDumpFlash2XCSStructure"; descriptor___46.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___46.format = "%s:\nFlashPartMaxSize :0x%x"; descriptor___46.lineno = 2269U; descriptor___46.flags = 0U; tmp___46 = ldv__builtin_expect((long )descriptor___46.flags & 1L, 0L); if (tmp___46 != 0L) { __dynamic_pr_debug(& descriptor___46, "%s:\nFlashPartMaxSize :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->FlashPartMaxSize); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___48.modname = "bcm_wimax"; descriptor___48.function = "BcmDumpFlash2XCSStructure"; descriptor___48.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___48.format = "%s:\nIsCDLessDeviceBootSig :0x%x"; descriptor___48.lineno = 2270U; descriptor___48.flags = 0U; tmp___48 = ldv__builtin_expect((long )descriptor___48.flags & 1L, 0L); if (tmp___48 != 0L) { __dynamic_pr_debug(& descriptor___48, "%s:\nIsCDLessDeviceBootSig :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->IsCDLessDeviceBootSig); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___50.modname = "bcm_wimax"; descriptor___50.function = "BcmDumpFlash2XCSStructure"; descriptor___50.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___50.format = "%s:\nMassStorageTimeout :0x%x"; descriptor___50.lineno = 2271U; descriptor___50.flags = 0U; tmp___50 = ldv__builtin_expect((long )descriptor___50.flags & 1L, 0L); if (tmp___50 != 0L) { __dynamic_pr_debug(& descriptor___50, "%s:\nMassStorageTimeout :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->MassStorageTimeout); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___52.modname = "bcm_wimax"; descriptor___52.function = "BcmDumpFlash2XCSStructure"; descriptor___52.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___52.format = "%s:\nOffsetISOImage1Part1Start :0x%x"; descriptor___52.lineno = 2272U; descriptor___52.flags = 0U; tmp___52 = ldv__builtin_expect((long )descriptor___52.flags & 1L, 0L); if (tmp___52 != 0L) { __dynamic_pr_debug(& descriptor___52, "%s:\nOffsetISOImage1Part1Start :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetISOImage1Part1Start); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___54.modname = "bcm_wimax"; descriptor___54.function = "BcmDumpFlash2XCSStructure"; descriptor___54.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___54.format = "%s:\nOffsetISOImage1Part1End :0x%x"; descriptor___54.lineno = 2273U; descriptor___54.flags = 0U; tmp___54 = ldv__builtin_expect((long )descriptor___54.flags & 1L, 0L); if (tmp___54 != 0L) { __dynamic_pr_debug(& descriptor___54, "%s:\nOffsetISOImage1Part1End :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetISOImage1Part1End); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___56.modname = "bcm_wimax"; descriptor___56.function = "BcmDumpFlash2XCSStructure"; descriptor___56.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___56.format = "%s:\nOffsetISOImage1Part2Start :0x%x"; descriptor___56.lineno = 2274U; descriptor___56.flags = 0U; tmp___56 = ldv__builtin_expect((long )descriptor___56.flags & 1L, 0L); if (tmp___56 != 0L) { __dynamic_pr_debug(& descriptor___56, "%s:\nOffsetISOImage1Part2Start :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetISOImage1Part2Start); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___58.modname = "bcm_wimax"; descriptor___58.function = "BcmDumpFlash2XCSStructure"; descriptor___58.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___58.format = "%s:\nOffsetISOImage1Part2End :0x%x"; descriptor___58.lineno = 2275U; descriptor___58.flags = 0U; tmp___58 = ldv__builtin_expect((long )descriptor___58.flags & 1L, 0L); if (tmp___58 != 0L) { __dynamic_pr_debug(& descriptor___58, "%s:\nOffsetISOImage1Part2End :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetISOImage1Part2End); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___60.modname = "bcm_wimax"; descriptor___60.function = "BcmDumpFlash2XCSStructure"; descriptor___60.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___60.format = "%s:\nOffsetISOImage1Part3Start :0x%x"; descriptor___60.lineno = 2276U; descriptor___60.flags = 0U; tmp___60 = ldv__builtin_expect((long )descriptor___60.flags & 1L, 0L); if (tmp___60 != 0L) { __dynamic_pr_debug(& descriptor___60, "%s:\nOffsetISOImage1Part3Start :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetISOImage1Part3Start); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___62.modname = "bcm_wimax"; descriptor___62.function = "BcmDumpFlash2XCSStructure"; descriptor___62.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___62.format = "%s:\nOffsetISOImage1Part3End :0x%x"; descriptor___62.lineno = 2277U; descriptor___62.flags = 0U; tmp___62 = ldv__builtin_expect((long )descriptor___62.flags & 1L, 0L); if (tmp___62 != 0L) { __dynamic_pr_debug(& descriptor___62, "%s:\nOffsetISOImage1Part3End :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetISOImage1Part3End); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___64.modname = "bcm_wimax"; descriptor___64.function = "BcmDumpFlash2XCSStructure"; descriptor___64.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___64.format = "%s:\nOffsetISOImage2Part1Start :0x%x"; descriptor___64.lineno = 2278U; descriptor___64.flags = 0U; tmp___64 = ldv__builtin_expect((long )descriptor___64.flags & 1L, 0L); if (tmp___64 != 0L) { __dynamic_pr_debug(& descriptor___64, "%s:\nOffsetISOImage2Part1Start :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetISOImage2Part1Start); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___66.modname = "bcm_wimax"; descriptor___66.function = "BcmDumpFlash2XCSStructure"; descriptor___66.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___66.format = "%s:\nOffsetISOImage2Part1End\t:0x%x"; descriptor___66.lineno = 2279U; descriptor___66.flags = 0U; tmp___66 = ldv__builtin_expect((long )descriptor___66.flags & 1L, 0L); if (tmp___66 != 0L) { __dynamic_pr_debug(& descriptor___66, "%s:\nOffsetISOImage2Part1End\t:0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetISOImage2Part1End); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___68.modname = "bcm_wimax"; descriptor___68.function = "BcmDumpFlash2XCSStructure"; descriptor___68.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___68.format = "%s:\nOffsetISOImage2Part2Start :0x%x"; descriptor___68.lineno = 2280U; descriptor___68.flags = 0U; tmp___68 = ldv__builtin_expect((long )descriptor___68.flags & 1L, 0L); if (tmp___68 != 0L) { __dynamic_pr_debug(& descriptor___68, "%s:\nOffsetISOImage2Part2Start :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetISOImage2Part2Start); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___70.modname = "bcm_wimax"; descriptor___70.function = "BcmDumpFlash2XCSStructure"; descriptor___70.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___70.format = "%s:\nOffsetISOImage2Part2End :0x%x"; descriptor___70.lineno = 2281U; descriptor___70.flags = 0U; tmp___70 = ldv__builtin_expect((long )descriptor___70.flags & 1L, 0L); if (tmp___70 != 0L) { __dynamic_pr_debug(& descriptor___70, "%s:\nOffsetISOImage2Part2End :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetISOImage2Part2End); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___72.modname = "bcm_wimax"; descriptor___72.function = "BcmDumpFlash2XCSStructure"; descriptor___72.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___72.format = "%s:\nOffsetISOImage2Part3Start :0x%x"; descriptor___72.lineno = 2282U; descriptor___72.flags = 0U; tmp___72 = ldv__builtin_expect((long )descriptor___72.flags & 1L, 0L); if (tmp___72 != 0L) { __dynamic_pr_debug(& descriptor___72, "%s:\nOffsetISOImage2Part3Start :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetISOImage2Part3Start); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___74.modname = "bcm_wimax"; descriptor___74.function = "BcmDumpFlash2XCSStructure"; descriptor___74.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___74.format = "%s:\nOffsetISOImage2Part3End :0x%x"; descriptor___74.lineno = 2283U; descriptor___74.flags = 0U; tmp___74 = ldv__builtin_expect((long )descriptor___74.flags & 1L, 0L); if (tmp___74 != 0L) { __dynamic_pr_debug(& descriptor___74, "%s:\nOffsetISOImage2Part3End :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetISOImage2Part3End); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___76.modname = "bcm_wimax"; descriptor___76.function = "BcmDumpFlash2XCSStructure"; descriptor___76.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___76.format = "%s:\nOffsetFromDSDStartForDSDHeader :0x%x"; descriptor___76.lineno = 2284U; descriptor___76.flags = 0U; tmp___76 = ldv__builtin_expect((long )descriptor___76.flags & 1L, 0L); if (tmp___76 != 0L) { __dynamic_pr_debug(& descriptor___76, "%s:\nOffsetFromDSDStartForDSDHeader :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetFromDSDStartForDSDHeader); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___78.modname = "bcm_wimax"; descriptor___78.function = "BcmDumpFlash2XCSStructure"; descriptor___78.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___78.format = "%s:\nOffsetFromZeroForDSD1Start :0x%x"; descriptor___78.lineno = 2285U; descriptor___78.flags = 0U; tmp___78 = ldv__builtin_expect((long )descriptor___78.flags & 1L, 0L); if (tmp___78 != 0L) { __dynamic_pr_debug(& descriptor___78, "%s:\nOffsetFromZeroForDSD1Start :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetFromZeroForDSD1Start); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___80.modname = "bcm_wimax"; descriptor___80.function = "BcmDumpFlash2XCSStructure"; descriptor___80.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___80.format = "%s:\nOffsetFromZeroForDSD1End :0x%x"; descriptor___80.lineno = 2286U; descriptor___80.flags = 0U; tmp___80 = ldv__builtin_expect((long )descriptor___80.flags & 1L, 0L); if (tmp___80 != 0L) { __dynamic_pr_debug(& descriptor___80, "%s:\nOffsetFromZeroForDSD1End :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetFromZeroForDSD1End); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___82.modname = "bcm_wimax"; descriptor___82.function = "BcmDumpFlash2XCSStructure"; descriptor___82.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___82.format = "%s:\nOffsetFromZeroForDSD2Start :0x%x"; descriptor___82.lineno = 2287U; descriptor___82.flags = 0U; tmp___82 = ldv__builtin_expect((long )descriptor___82.flags & 1L, 0L); if (tmp___82 != 0L) { __dynamic_pr_debug(& descriptor___82, "%s:\nOffsetFromZeroForDSD2Start :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetFromZeroForDSD2Start); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___84.modname = "bcm_wimax"; descriptor___84.function = "BcmDumpFlash2XCSStructure"; descriptor___84.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___84.format = "%s:\nOffsetFromZeroForDSD2End :0x%x"; descriptor___84.lineno = 2288U; descriptor___84.flags = 0U; tmp___84 = ldv__builtin_expect((long )descriptor___84.flags & 1L, 0L); if (tmp___84 != 0L) { __dynamic_pr_debug(& descriptor___84, "%s:\nOffsetFromZeroForDSD2End :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetFromZeroForDSD2End); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___86.modname = "bcm_wimax"; descriptor___86.function = "BcmDumpFlash2XCSStructure"; descriptor___86.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___86.format = "%s:\nOffsetFromZeroForVSA1Start :0x%x"; descriptor___86.lineno = 2289U; descriptor___86.flags = 0U; tmp___86 = ldv__builtin_expect((long )descriptor___86.flags & 1L, 0L); if (tmp___86 != 0L) { __dynamic_pr_debug(& descriptor___86, "%s:\nOffsetFromZeroForVSA1Start :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetFromZeroForVSA1Start); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___88.modname = "bcm_wimax"; descriptor___88.function = "BcmDumpFlash2XCSStructure"; descriptor___88.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___88.format = "%s:\nOffsetFromZeroForVSA1End :0x%x"; descriptor___88.lineno = 2290U; descriptor___88.flags = 0U; tmp___88 = ldv__builtin_expect((long )descriptor___88.flags & 1L, 0L); if (tmp___88 != 0L) { __dynamic_pr_debug(& descriptor___88, "%s:\nOffsetFromZeroForVSA1End :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetFromZeroForVSA1End); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___90.modname = "bcm_wimax"; descriptor___90.function = "BcmDumpFlash2XCSStructure"; descriptor___90.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___90.format = "%s:\nOffsetFromZeroForVSA2Start :0x%x"; descriptor___90.lineno = 2291U; descriptor___90.flags = 0U; tmp___90 = ldv__builtin_expect((long )descriptor___90.flags & 1L, 0L); if (tmp___90 != 0L) { __dynamic_pr_debug(& descriptor___90, "%s:\nOffsetFromZeroForVSA2Start :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetFromZeroForVSA2Start); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___92.modname = "bcm_wimax"; descriptor___92.function = "BcmDumpFlash2XCSStructure"; descriptor___92.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___92.format = "%s:\nOffsetFromZeroForVSA2End :0x%x"; descriptor___92.lineno = 2292U; descriptor___92.flags = 0U; tmp___92 = ldv__builtin_expect((long )descriptor___92.flags & 1L, 0L); if (tmp___92 != 0L) { __dynamic_pr_debug(& descriptor___92, "%s:\nOffsetFromZeroForVSA2End :0x%x", "BcmDumpFlash2XCSStructure", psFlash2xCSInfo->OffsetFromZeroForVSA2End); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___94.modname = "bcm_wimax"; descriptor___94.function = "BcmDumpFlash2XCSStructure"; descriptor___94.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___94.format = "%s:\nSector Access Bit Map is Defined as :"; descriptor___94.lineno = 2293U; descriptor___94.flags = 0U; tmp___94 = ldv__builtin_expect((long )descriptor___94.flags & 1L, 0L); if (tmp___94 != 0L) { __dynamic_pr_debug(& descriptor___94, "%s:\nSector Access Bit Map is Defined as :", "BcmDumpFlash2XCSStructure"); } else { } } else { } Index = 0U; goto ldv_52459; ldv_52458: ; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___96.modname = "bcm_wimax"; descriptor___96.function = "BcmDumpFlash2XCSStructure"; descriptor___96.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___96.format = "%s:\nSectorAccessBitMap[%d] :0x%x"; descriptor___96.lineno = 2297U; descriptor___96.flags = 0U; tmp___96 = ldv__builtin_expect((long )descriptor___96.flags & 1L, 0L); if (tmp___96 != 0L) { __dynamic_pr_debug(& descriptor___96, "%s:\nSectorAccessBitMap[%d] :0x%x", "BcmDumpFlash2XCSStructure", Index, psFlash2xCSInfo->SectorAccessBitMap[Index]); } else { } } else { } Index = Index + 1U; ldv_52459: ; if (Index <= 63U) { goto ldv_52458; } else { } return (0); } } static int ConvertEndianOf2XCSStructure(struct bcm_flash2x_cs_info *psFlash2xCSInfo ) { unsigned int Index ; __u32 tmp ; __u32 tmp___0 ; __u32 tmp___1 ; __u32 tmp___2 ; __u32 tmp___3 ; __u32 tmp___4 ; __u32 tmp___5 ; __u32 tmp___6 ; __u32 tmp___7 ; __u32 tmp___8 ; __u32 tmp___9 ; __u32 tmp___10 ; __u32 tmp___11 ; __u32 tmp___12 ; __u32 tmp___13 ; __u32 tmp___14 ; __u32 tmp___15 ; __u32 tmp___16 ; __u32 tmp___17 ; __u32 tmp___18 ; __u32 tmp___19 ; __u32 tmp___20 ; __u32 tmp___21 ; __u32 tmp___22 ; __u32 tmp___23 ; __u32 tmp___24 ; __u32 tmp___25 ; __u32 tmp___26 ; __u32 tmp___27 ; __u32 tmp___28 ; __u32 tmp___29 ; __u32 tmp___30 ; __u32 tmp___31 ; __u32 tmp___32 ; __u32 tmp___33 ; __u32 tmp___34 ; __u32 tmp___35 ; __u32 tmp___36 ; __u32 tmp___37 ; __u32 tmp___38 ; __u32 tmp___39 ; __u32 tmp___40 ; __u32 tmp___41 ; __u32 tmp___42 ; __u32 tmp___43 ; __u32 tmp___44 ; { Index = 0U; tmp = __fswab32(psFlash2xCSInfo->MagicNumber); psFlash2xCSInfo->MagicNumber = tmp; tmp___0 = __fswab32(psFlash2xCSInfo->FlashLayoutVersion); psFlash2xCSInfo->FlashLayoutVersion = tmp___0; tmp___1 = __fswab32(psFlash2xCSInfo->ISOImageVersion); psFlash2xCSInfo->ISOImageVersion = tmp___1; tmp___2 = __fswab32(psFlash2xCSInfo->SCSIFirmwareVersion); psFlash2xCSInfo->SCSIFirmwareVersion = tmp___2; tmp___3 = __fswab32(psFlash2xCSInfo->OffsetFromZeroForPart1ISOImage); psFlash2xCSInfo->OffsetFromZeroForPart1ISOImage = tmp___3; tmp___4 = __fswab32(psFlash2xCSInfo->OffsetFromZeroForScsiFirmware); psFlash2xCSInfo->OffsetFromZeroForScsiFirmware = tmp___4; tmp___5 = __fswab32(psFlash2xCSInfo->SizeOfScsiFirmware); psFlash2xCSInfo->SizeOfScsiFirmware = tmp___5; tmp___6 = __fswab32(psFlash2xCSInfo->OffsetFromZeroForPart2ISOImage); psFlash2xCSInfo->OffsetFromZeroForPart2ISOImage = tmp___6; tmp___7 = __fswab32(psFlash2xCSInfo->OffsetFromZeroForDSDStart); psFlash2xCSInfo->OffsetFromZeroForDSDStart = tmp___7; tmp___8 = __fswab32(psFlash2xCSInfo->OffsetFromZeroForDSDEnd); psFlash2xCSInfo->OffsetFromZeroForDSDEnd = tmp___8; tmp___9 = __fswab32(psFlash2xCSInfo->OffsetFromZeroForVSAStart); psFlash2xCSInfo->OffsetFromZeroForVSAStart = tmp___9; tmp___10 = __fswab32(psFlash2xCSInfo->OffsetFromZeroForVSAEnd); psFlash2xCSInfo->OffsetFromZeroForVSAEnd = tmp___10; tmp___11 = __fswab32(psFlash2xCSInfo->OffsetFromZeroForControlSectionStart); psFlash2xCSInfo->OffsetFromZeroForControlSectionStart = tmp___11; tmp___12 = __fswab32(psFlash2xCSInfo->OffsetFromZeroForControlSectionData); psFlash2xCSInfo->OffsetFromZeroForControlSectionData = tmp___12; tmp___13 = __fswab32(psFlash2xCSInfo->CDLessInactivityTimeout); psFlash2xCSInfo->CDLessInactivityTimeout = tmp___13; tmp___14 = __fswab32(psFlash2xCSInfo->NewImageSignature); psFlash2xCSInfo->NewImageSignature = tmp___14; tmp___15 = __fswab32(psFlash2xCSInfo->FlashSectorSizeSig); psFlash2xCSInfo->FlashSectorSizeSig = tmp___15; tmp___16 = __fswab32(psFlash2xCSInfo->FlashSectorSize); psFlash2xCSInfo->FlashSectorSize = tmp___16; tmp___17 = __fswab32(psFlash2xCSInfo->FlashWriteSupportSize); psFlash2xCSInfo->FlashWriteSupportSize = tmp___17; tmp___18 = __fswab32(psFlash2xCSInfo->TotalFlashSize); psFlash2xCSInfo->TotalFlashSize = tmp___18; tmp___19 = __fswab32(psFlash2xCSInfo->FlashBaseAddr); psFlash2xCSInfo->FlashBaseAddr = tmp___19; tmp___20 = __fswab32(psFlash2xCSInfo->FlashPartMaxSize); psFlash2xCSInfo->FlashPartMaxSize = tmp___20; tmp___21 = __fswab32(psFlash2xCSInfo->IsCDLessDeviceBootSig); psFlash2xCSInfo->IsCDLessDeviceBootSig = tmp___21; tmp___22 = __fswab32(psFlash2xCSInfo->MassStorageTimeout); psFlash2xCSInfo->MassStorageTimeout = tmp___22; tmp___23 = __fswab32(psFlash2xCSInfo->OffsetISOImage1Part1Start); psFlash2xCSInfo->OffsetISOImage1Part1Start = tmp___23; tmp___24 = __fswab32(psFlash2xCSInfo->OffsetISOImage1Part1End); psFlash2xCSInfo->OffsetISOImage1Part1End = tmp___24; tmp___25 = __fswab32(psFlash2xCSInfo->OffsetISOImage1Part2Start); psFlash2xCSInfo->OffsetISOImage1Part2Start = tmp___25; tmp___26 = __fswab32(psFlash2xCSInfo->OffsetISOImage1Part2End); psFlash2xCSInfo->OffsetISOImage1Part2End = tmp___26; tmp___27 = __fswab32(psFlash2xCSInfo->OffsetISOImage1Part3Start); psFlash2xCSInfo->OffsetISOImage1Part3Start = tmp___27; tmp___28 = __fswab32(psFlash2xCSInfo->OffsetISOImage1Part3End); psFlash2xCSInfo->OffsetISOImage1Part3End = tmp___28; tmp___29 = __fswab32(psFlash2xCSInfo->OffsetISOImage2Part1Start); psFlash2xCSInfo->OffsetISOImage2Part1Start = tmp___29; tmp___30 = __fswab32(psFlash2xCSInfo->OffsetISOImage2Part1End); psFlash2xCSInfo->OffsetISOImage2Part1End = tmp___30; tmp___31 = __fswab32(psFlash2xCSInfo->OffsetISOImage2Part2Start); psFlash2xCSInfo->OffsetISOImage2Part2Start = tmp___31; tmp___32 = __fswab32(psFlash2xCSInfo->OffsetISOImage2Part2End); psFlash2xCSInfo->OffsetISOImage2Part2End = tmp___32; tmp___33 = __fswab32(psFlash2xCSInfo->OffsetISOImage2Part3Start); psFlash2xCSInfo->OffsetISOImage2Part3Start = tmp___33; tmp___34 = __fswab32(psFlash2xCSInfo->OffsetISOImage2Part3End); psFlash2xCSInfo->OffsetISOImage2Part3End = tmp___34; tmp___35 = __fswab32(psFlash2xCSInfo->OffsetFromDSDStartForDSDHeader); psFlash2xCSInfo->OffsetFromDSDStartForDSDHeader = tmp___35; tmp___36 = __fswab32(psFlash2xCSInfo->OffsetFromZeroForDSD1Start); psFlash2xCSInfo->OffsetFromZeroForDSD1Start = tmp___36; tmp___37 = __fswab32(psFlash2xCSInfo->OffsetFromZeroForDSD1End); psFlash2xCSInfo->OffsetFromZeroForDSD1End = tmp___37; tmp___38 = __fswab32(psFlash2xCSInfo->OffsetFromZeroForDSD2Start); psFlash2xCSInfo->OffsetFromZeroForDSD2Start = tmp___38; tmp___39 = __fswab32(psFlash2xCSInfo->OffsetFromZeroForDSD2End); psFlash2xCSInfo->OffsetFromZeroForDSD2End = tmp___39; tmp___40 = __fswab32(psFlash2xCSInfo->OffsetFromZeroForVSA1Start); psFlash2xCSInfo->OffsetFromZeroForVSA1Start = tmp___40; tmp___41 = __fswab32(psFlash2xCSInfo->OffsetFromZeroForVSA1End); psFlash2xCSInfo->OffsetFromZeroForVSA1End = tmp___41; tmp___42 = __fswab32(psFlash2xCSInfo->OffsetFromZeroForVSA2Start); psFlash2xCSInfo->OffsetFromZeroForVSA2Start = tmp___42; tmp___43 = __fswab32(psFlash2xCSInfo->OffsetFromZeroForVSA2End); psFlash2xCSInfo->OffsetFromZeroForVSA2End = tmp___43; Index = 0U; goto ldv_52466; ldv_52465: tmp___44 = __fswab32(psFlash2xCSInfo->SectorAccessBitMap[Index]); psFlash2xCSInfo->SectorAccessBitMap[Index] = tmp___44; Index = Index + 1U; ldv_52466: ; if (Index <= 63U) { goto ldv_52465; } else { } return (0); } } static int ConvertEndianOfCSStructure(struct bcm_flash_cs_info *psFlashCSInfo ) { __u32 tmp ; __u32 tmp___0 ; __u32 tmp___1 ; __u32 tmp___2 ; __u32 tmp___3 ; __u32 tmp___4 ; __u32 tmp___5 ; __u32 tmp___6 ; __u32 tmp___7 ; __u32 tmp___8 ; __u32 tmp___9 ; __u32 tmp___10 ; __u32 tmp___11 ; __u32 tmp___12 ; __u32 tmp___13 ; __u32 tmp___14 ; __u32 tmp___15 ; __u32 tmp___16 ; __u32 tmp___17 ; __u32 tmp___18 ; __u32 tmp___19 ; __u32 tmp___20 ; __u32 tmp___21 ; { tmp = __fswab32(psFlashCSInfo->MagicNumber); psFlashCSInfo->MagicNumber = tmp; tmp___0 = __fswab32(psFlashCSInfo->FlashLayoutVersion); psFlashCSInfo->FlashLayoutVersion = tmp___0; tmp___1 = __fswab32(psFlashCSInfo->ISOImageVersion); psFlashCSInfo->ISOImageVersion = tmp___1; psFlashCSInfo->SCSIFirmwareVersion = psFlashCSInfo->SCSIFirmwareVersion; tmp___2 = __fswab32(psFlashCSInfo->OffsetFromZeroForPart1ISOImage); psFlashCSInfo->OffsetFromZeroForPart1ISOImage = tmp___2; tmp___3 = __fswab32(psFlashCSInfo->OffsetFromZeroForScsiFirmware); psFlashCSInfo->OffsetFromZeroForScsiFirmware = tmp___3; tmp___4 = __fswab32(psFlashCSInfo->SizeOfScsiFirmware); psFlashCSInfo->SizeOfScsiFirmware = tmp___4; tmp___5 = __fswab32(psFlashCSInfo->OffsetFromZeroForPart2ISOImage); psFlashCSInfo->OffsetFromZeroForPart2ISOImage = tmp___5; tmp___6 = __fswab32(psFlashCSInfo->OffsetFromZeroForCalibrationStart); psFlashCSInfo->OffsetFromZeroForCalibrationStart = tmp___6; tmp___7 = __fswab32(psFlashCSInfo->OffsetFromZeroForCalibrationEnd); psFlashCSInfo->OffsetFromZeroForCalibrationEnd = tmp___7; tmp___8 = __fswab32(psFlashCSInfo->OffsetFromZeroForVSAStart); psFlashCSInfo->OffsetFromZeroForVSAStart = tmp___8; tmp___9 = __fswab32(psFlashCSInfo->OffsetFromZeroForVSAEnd); psFlashCSInfo->OffsetFromZeroForVSAEnd = tmp___9; tmp___10 = __fswab32(psFlashCSInfo->OffsetFromZeroForControlSectionStart); psFlashCSInfo->OffsetFromZeroForControlSectionStart = tmp___10; tmp___11 = __fswab32(psFlashCSInfo->OffsetFromZeroForControlSectionData); psFlashCSInfo->OffsetFromZeroForControlSectionData = tmp___11; tmp___12 = __fswab32(psFlashCSInfo->CDLessInactivityTimeout); psFlashCSInfo->CDLessInactivityTimeout = tmp___12; tmp___13 = __fswab32(psFlashCSInfo->NewImageSignature); psFlashCSInfo->NewImageSignature = tmp___13; tmp___14 = __fswab32(psFlashCSInfo->FlashSectorSizeSig); psFlashCSInfo->FlashSectorSizeSig = tmp___14; tmp___15 = __fswab32(psFlashCSInfo->FlashSectorSize); psFlashCSInfo->FlashSectorSize = tmp___15; tmp___16 = __fswab32(psFlashCSInfo->FlashWriteSupportSize); psFlashCSInfo->FlashWriteSupportSize = tmp___16; tmp___17 = __fswab32(psFlashCSInfo->TotalFlashSize); psFlashCSInfo->TotalFlashSize = tmp___17; tmp___18 = __fswab32(psFlashCSInfo->FlashBaseAddr); psFlashCSInfo->FlashBaseAddr = tmp___18; tmp___19 = __fswab32(psFlashCSInfo->FlashPartMaxSize); psFlashCSInfo->FlashPartMaxSize = tmp___19; tmp___20 = __fswab32(psFlashCSInfo->IsCDLessDeviceBootSig); psFlashCSInfo->IsCDLessDeviceBootSig = tmp___20; tmp___21 = __fswab32(psFlashCSInfo->MassStorageTimeout); psFlashCSInfo->MassStorageTimeout = tmp___21; return (0); } } static int IsSectionExistInVendorInfo(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val section ) { { return ((Adapter->uiVendorExtnFlag != 0U && (int )(Adapter->psFlash2xVendorInfo)->VendorSection[(unsigned int )section].AccessFlags & 1) && (Adapter->psFlash2xVendorInfo)->VendorSection[(unsigned int )section].OffsetFromZeroForSectionStart != 3149651421U); } } static VOID UpdateVendorInfo(struct bcm_mini_adapter *Adapter ) { B_UINT32 i ; unsigned int uiSizeSection ; INT tmp ; u32 tmp___0 ; u32 tmp___1 ; u32 tmp___2 ; u32 tmp___3 ; u32 tmp___4 ; u32 tmp___5 ; u32 tmp___6 ; u32 tmp___7 ; u32 tmp___8 ; u32 tmp___9 ; u32 tmp___10 ; u32 tmp___11 ; { i = 0U; uiSizeSection = 0U; Adapter->uiVendorExtnFlag = 0U; i = 0U; goto ldv_52481; ldv_52480: (Adapter->psFlash2xVendorInfo)->VendorSection[i].OffsetFromZeroForSectionStart = 3149651421U; i = i + 1U; ldv_52481: ; if (i <= 14U) { goto ldv_52480; } else { } tmp = vendorextnGetSectionInfo((PVOID )Adapter, Adapter->psFlash2xVendorInfo); if (tmp != 0) { return; } else { } i = 0U; goto ldv_52483; ldv_52492: ; if (((Adapter->psFlash2xVendorInfo)->VendorSection[i].AccessFlags & 1U) == 0U) { i = i + 1U; goto ldv_52483; } else { } Adapter->uiVendorExtnFlag = 1U; uiSizeSection = (Adapter->psFlash2xVendorInfo)->VendorSection[i].OffsetFromZeroForSectionEnd - (Adapter->psFlash2xVendorInfo)->VendorSection[i].OffsetFromZeroForSectionStart; switch (i) { case 3U: ; if ((unsigned long )uiSizeSection >= (unsigned long )(Adapter->psFlash2xCSInfo)->OffsetFromDSDStartForDSDHeader + 1024UL && (Adapter->psFlash2xVendorInfo)->VendorSection[i].OffsetFromZeroForSectionStart != 3149651421U) { tmp___0 = 2863320268U; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSDEnd = tmp___0; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSDStart = tmp___0; } else { tmp___1 = 3149651421U; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSDEnd = tmp___1; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSDStart = tmp___1; } goto ldv_52485; case 4U: ; if ((unsigned long )uiSizeSection >= (unsigned long )(Adapter->psFlash2xCSInfo)->OffsetFromDSDStartForDSDHeader + 1024UL && (Adapter->psFlash2xVendorInfo)->VendorSection[i].OffsetFromZeroForSectionStart != 3149651421U) { tmp___2 = 2863320268U; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD1End = tmp___2; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD1Start = tmp___2; } else { tmp___3 = 3149651421U; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD1End = tmp___3; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD1Start = tmp___3; } goto ldv_52485; case 5U: ; if ((unsigned long )uiSizeSection >= (unsigned long )(Adapter->psFlash2xCSInfo)->OffsetFromDSDStartForDSDHeader + 1024UL && (Adapter->psFlash2xVendorInfo)->VendorSection[i].OffsetFromZeroForSectionStart != 3149651421U) { tmp___4 = 2863320268U; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD2End = tmp___4; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD2Start = tmp___4; } else { tmp___5 = 3149651421U; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD2End = tmp___5; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD2Start = tmp___5; } goto ldv_52485; case 6U: ; if ((Adapter->psFlash2xVendorInfo)->VendorSection[i].OffsetFromZeroForSectionStart != 3149651421U) { tmp___6 = 2863320268U; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSAEnd = tmp___6; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSAStart = tmp___6; } else { tmp___7 = 3149651421U; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSAEnd = tmp___7; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSAStart = tmp___7; } goto ldv_52485; case 7U: ; if ((Adapter->psFlash2xVendorInfo)->VendorSection[i].OffsetFromZeroForSectionStart != 3149651421U) { tmp___8 = 2863320268U; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSA1End = tmp___8; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSA1Start = tmp___8; } else { tmp___9 = 3149651421U; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSA1End = tmp___9; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSA1Start = tmp___9; } goto ldv_52485; case 8U: ; if ((Adapter->psFlash2xVendorInfo)->VendorSection[i].OffsetFromZeroForSectionStart != 3149651421U) { tmp___10 = 2863320268U; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSA2End = tmp___10; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSA2Start = tmp___10; } else { tmp___11 = 3149651421U; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSA2End = tmp___11; (Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSA2Start = tmp___11; } goto ldv_52485; default: ; goto ldv_52485; } ldv_52485: i = i + 1U; ldv_52483: ; if (i <= 14U) { goto ldv_52492; } else { } return; } } static int BcmGetFlashCSInfo(struct bcm_mini_adapter *Adapter ) { unsigned int value ; unsigned int uiFlashLayoutMajorVersion ; __u32 tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; __u32 tmp___4 ; long tmp___5 ; __u32 tmp___6 ; struct _ddebug descriptor___4 ; long tmp___8 ; INT tmp___11 ; { Adapter->uiFlashLayoutMinorVersion = 0U; Adapter->uiFlashLayoutMajorVersion = 0U; Adapter->ulFlashControlSectionStart = 16711680UL; Adapter->uiFlashBaseAdd = 0U; Adapter->ulFlashCalStart = 0U; memset((void *)Adapter->psFlashCSInfo, 0, 96UL); memset((void *)Adapter->psFlash2xCSInfo, 0, 436UL); if (! Adapter->bDDRInitDone) { value = 520093696U; wrmalt(Adapter, 2936053888U, & value, 4UL); } else { } BeceemFlashBulkRead(Adapter, (unsigned int *)Adapter->psFlashCSInfo, (unsigned int )Adapter->ulFlashControlSectionStart, 8U); tmp = __fswab32((Adapter->psFlashCSInfo)->FlashLayoutVersion); (Adapter->psFlashCSInfo)->FlashLayoutVersion = tmp; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "BcmGetFlashCSInfo"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___0.format = "%s:\nFlash Layout Version :%X"; descriptor___0.lineno = 2514U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nFlash Layout Version :%X", "BcmGetFlashCSInfo", (Adapter->psFlashCSInfo)->FlashLayoutVersion); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "BcmGetFlashCSInfo"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___2.format = "%s:\nSignature is :%x\n"; descriptor___2.lineno = 2516U; descriptor___2.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___5 != 0L) { tmp___4 = __fswab32((Adapter->psFlashCSInfo)->MagicNumber); __dynamic_pr_debug(& descriptor___2, "%s:\nSignature is :%x\n", "BcmGetFlashCSInfo", tmp___4); } else { } } else { } tmp___6 = __fswab32((Adapter->psFlashCSInfo)->MagicNumber); if (tmp___6 == 3201233317U) { uiFlashLayoutMajorVersion = (Adapter->psFlashCSInfo)->FlashLayoutVersion & 65535U; Adapter->uiFlashLayoutMinorVersion = (Adapter->psFlashCSInfo)->FlashLayoutVersion >> 16; } else { Adapter->uiFlashLayoutMinorVersion = 0U; uiFlashLayoutMajorVersion = 0U; } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "BcmGetFlashCSInfo"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___4.format = "%s:\nFLASH LAYOUT MAJOR VERSION :%X"; descriptor___4.lineno = 2526U; descriptor___4.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nFLASH LAYOUT MAJOR VERSION :%X", "BcmGetFlashCSInfo", uiFlashLayoutMajorVersion); } else { } } else { } if (uiFlashLayoutMajorVersion <= 1U) { BeceemFlashBulkRead(Adapter, (unsigned int *)Adapter->psFlashCSInfo, (unsigned int )Adapter->ulFlashControlSectionStart, 96U); ConvertEndianOfCSStructure(Adapter->psFlashCSInfo); Adapter->ulFlashCalStart = (Adapter->psFlashCSInfo)->OffsetFromZeroForCalibrationStart; if (Adapter->uiFlashLayoutMajorVersion != 1U || Adapter->uiFlashLayoutMinorVersion != 1U) { Adapter->ulFlashControlSectionStart = (ULONG )(Adapter->psFlashCSInfo)->OffsetFromZeroForControlSectionStart; } else { } if ((((Adapter->psFlashCSInfo)->MagicNumber == 3201233317U && (Adapter->psFlashCSInfo)->SCSIFirmwareVersion >> 16 > 4U) && (Adapter->psFlashCSInfo)->FlashSectorSizeSig == 3405691582U) && (Adapter->psFlashCSInfo)->FlashWriteSupportSize == 1U) { Adapter->ulFlashWriteSize = (ULONG )(Adapter->psFlashCSInfo)->FlashWriteSupportSize; Adapter->fpFlashWrite = & flashByteWrite; Adapter->fpFlashWriteWithStatusCheck = & flashByteWriteStatus; } else { Adapter->ulFlashWriteSize = 16UL; Adapter->fpFlashWrite = & flashWrite; Adapter->fpFlashWriteWithStatusCheck = & flashWriteStatus; } BcmGetFlashSectorSize(Adapter, (Adapter->psFlashCSInfo)->FlashSectorSizeSig, (Adapter->psFlashCSInfo)->FlashSectorSize); Adapter->uiFlashBaseAdd = (Adapter->psFlashCSInfo)->FlashBaseAddr & 4244635647U; } else { tmp___11 = BcmFlash2xBulkRead(Adapter, (unsigned int *)Adapter->psFlash2xCSInfo, 0, (UINT )Adapter->ulFlashControlSectionStart, 436U); if (tmp___11 != 0) { printk("\016%s:Unable to read CS structure\n", "BcmGetFlashCSInfo"); return (-1); } else { } ConvertEndianOf2XCSStructure(Adapter->psFlash2xCSInfo); BcmDumpFlash2XCSStructure(Adapter->psFlash2xCSInfo, Adapter); if ((((Adapter->psFlash2xCSInfo)->MagicNumber == 3201233317U && (Adapter->psFlash2xCSInfo)->SCSIFirmwareVersion >> 16 > 4U) && (Adapter->psFlash2xCSInfo)->FlashSectorSizeSig == 3405691582U) && (Adapter->psFlash2xCSInfo)->FlashWriteSupportSize == 1U) { Adapter->ulFlashWriteSize = (ULONG )(Adapter->psFlash2xCSInfo)->FlashWriteSupportSize; Adapter->fpFlashWrite = & flashByteWrite; Adapter->fpFlashWriteWithStatusCheck = & flashByteWriteStatus; } else { Adapter->ulFlashWriteSize = 16UL; Adapter->fpFlashWrite = & flashWrite; Adapter->fpFlashWriteWithStatusCheck = & flashWriteStatus; } BcmGetFlashSectorSize(Adapter, (Adapter->psFlash2xCSInfo)->FlashSectorSizeSig, (Adapter->psFlash2xCSInfo)->FlashSectorSize); UpdateVendorInfo(Adapter); BcmGetActiveDSD(Adapter); BcmGetActiveISO(Adapter); Adapter->uiFlashBaseAdd = (Adapter->psFlash2xCSInfo)->FlashBaseAddr & 4244635647U; Adapter->ulFlashControlSectionStart = (ULONG )(Adapter->psFlash2xCSInfo)->OffsetFromZeroForControlSectionStart; } Adapter->ulFlashID = BcmReadFlashRDID(Adapter); Adapter->uiFlashLayoutMajorVersion = uiFlashLayoutMajorVersion; return (0); } } static enum bcm_nvm_type BcmGetNvmType(struct bcm_mini_adapter *Adapter ) { unsigned int uiData ; unsigned int tmp ; { uiData = 0U; BeceemEEPROMBulkRead(Adapter, & uiData, 0U, 4U); if (uiData == 1296254274U) { return (1); } else { } BcmGetFlashCSInfo(Adapter); BeceemFlashBulkRead(Adapter, & uiData, Adapter->ulFlashCalStart, 4U); if (uiData == 1296254274U) { return (2); } else { } tmp = BcmGetEEPROMSize(Adapter); if (tmp != 0U) { return (1); } else { } return (3); } } INT BcmGetSectionValStartOffset(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val eFlashSectionVal ) { int SectStartOffset ; int tmp ; bool tmp___0 ; int tmp___1 ; bool tmp___2 ; int tmp___3 ; { SectStartOffset = 0; SectStartOffset = -1; tmp = IsSectionExistInVendorInfo(Adapter, eFlashSectionVal); if (tmp != 0) { return ((INT )(Adapter->psFlash2xVendorInfo)->VendorSection[(unsigned int )eFlashSectionVal].OffsetFromZeroForSectionStart); } else { } switch ((unsigned int )eFlashSectionVal) { case 1U: ; if ((Adapter->psFlash2xCSInfo)->OffsetISOImage1Part1Start != 3149651421U) { tmp___0 = IsNonCDLessDevice(Adapter); if (tmp___0) { tmp___1 = 0; } else { tmp___1 = 1; } if (tmp___1) { SectStartOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetISOImage1Part1Start; } else { } } else { } goto ldv_52518; case 2U: ; if ((Adapter->psFlash2xCSInfo)->OffsetISOImage2Part1Start != 3149651421U) { tmp___2 = IsNonCDLessDevice(Adapter); if (tmp___2) { tmp___3 = 0; } else { tmp___3 = 1; } if (tmp___3) { SectStartOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetISOImage2Part1Start; } else { } } else { } goto ldv_52518; case 3U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSDStart != 3149651421U) { SectStartOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSDStart; } else { } goto ldv_52518; case 4U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD1Start != 3149651421U) { SectStartOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD1Start; } else { } goto ldv_52518; case 5U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD2Start != 3149651421U) { SectStartOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD2Start; } else { } goto ldv_52518; case 6U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSAStart != 3149651421U) { SectStartOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSAStart; } else { } goto ldv_52518; case 7U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSA1Start != 3149651421U) { SectStartOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSA1Start; } else { } goto ldv_52518; case 8U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSA2Start != 3149651421U) { SectStartOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSA2Start; } else { } goto ldv_52518; case 9U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForScsiFirmware != 3149651421U) { SectStartOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetFromZeroForScsiFirmware; } else { } goto ldv_52518; case 10U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForControlSectionStart != 3149651421U) { SectStartOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetFromZeroForControlSectionStart; } else { } goto ldv_52518; case 11U: ; if ((Adapter->psFlash2xCSInfo)->OffsetISOImage1Part2Start != 3149651421U) { SectStartOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetISOImage1Part2Start; } else { } goto ldv_52518; case 12U: ; if ((Adapter->psFlash2xCSInfo)->OffsetISOImage1Part3Start != 3149651421U) { SectStartOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetISOImage1Part3Start; } else { } goto ldv_52518; case 13U: ; if ((Adapter->psFlash2xCSInfo)->OffsetISOImage2Part2Start != 3149651421U) { SectStartOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetISOImage2Part2Start; } else { } goto ldv_52518; case 14U: ; if ((Adapter->psFlash2xCSInfo)->OffsetISOImage2Part3Start != 3149651421U) { SectStartOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetISOImage2Part3Start; } else { } goto ldv_52518; default: printk("\016%s:Section Does not exist in Flash 2.x", "BcmGetSectionValStartOffset"); SectStartOffset = -1; } ldv_52518: ; return (SectStartOffset); } } static int BcmGetSectionValEndOffset(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val eFlash2xSectionVal ) { int SectEndOffset ; int tmp ; bool tmp___0 ; int tmp___1 ; bool tmp___2 ; int tmp___3 ; { SectEndOffset = 0; SectEndOffset = -1; tmp = IsSectionExistInVendorInfo(Adapter, eFlash2xSectionVal); if (tmp != 0) { return ((int )(Adapter->psFlash2xVendorInfo)->VendorSection[(unsigned int )eFlash2xSectionVal].OffsetFromZeroForSectionEnd); } else { } switch ((unsigned int )eFlash2xSectionVal) { case 1U: ; if ((Adapter->psFlash2xCSInfo)->OffsetISOImage1Part1End != 3149651421U) { tmp___0 = IsNonCDLessDevice(Adapter); if (tmp___0) { tmp___1 = 0; } else { tmp___1 = 1; } if (tmp___1) { SectEndOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetISOImage1Part1End; } else { } } else { } goto ldv_52542; case 2U: ; if ((Adapter->psFlash2xCSInfo)->OffsetISOImage2Part1End != 3149651421U) { tmp___2 = IsNonCDLessDevice(Adapter); if (tmp___2) { tmp___3 = 0; } else { tmp___3 = 1; } if (tmp___3) { SectEndOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetISOImage2Part1End; } else { } } else { } goto ldv_52542; case 3U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSDEnd != 3149651421U) { SectEndOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSDEnd; } else { } goto ldv_52542; case 4U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD1End != 3149651421U) { SectEndOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD1End; } else { } goto ldv_52542; case 5U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD2End != 3149651421U) { SectEndOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD2End; } else { } goto ldv_52542; case 6U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSAEnd != 3149651421U) { SectEndOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSAEnd; } else { } goto ldv_52542; case 7U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSA1End != 3149651421U) { SectEndOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSA1End; } else { } goto ldv_52542; case 8U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSA2End != 3149651421U) { SectEndOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSA2End; } else { } goto ldv_52542; case 9U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForScsiFirmware != 3149651421U) { SectEndOffset = (int )((Adapter->psFlash2xCSInfo)->OffsetFromZeroForScsiFirmware + (Adapter->psFlash2xCSInfo)->SizeOfScsiFirmware); } else { } goto ldv_52542; case 10U: SectEndOffset = -1; goto ldv_52542; case 11U: ; if ((Adapter->psFlash2xCSInfo)->OffsetISOImage1Part2End != 3149651421U) { SectEndOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetISOImage1Part2End; } else { } goto ldv_52542; case 12U: ; if ((Adapter->psFlash2xCSInfo)->OffsetISOImage1Part3End != 3149651421U) { SectEndOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetISOImage1Part3End; } else { } goto ldv_52542; case 13U: ; if ((Adapter->psFlash2xCSInfo)->OffsetISOImage2Part2End != 3149651421U) { SectEndOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetISOImage2Part2End; } else { } goto ldv_52542; case 14U: ; if ((Adapter->psFlash2xCSInfo)->OffsetISOImage2Part3End != 3149651421U) { SectEndOffset = (int )(Adapter->psFlash2xCSInfo)->OffsetISOImage2Part3End; } else { } goto ldv_52542; default: SectEndOffset = -1; } ldv_52542: ; return (SectEndOffset); } } INT BcmFlash2xBulkRead(struct bcm_mini_adapter *Adapter , PUINT pBuffer , enum bcm_flash2x_section_val eFlash2xSectionVal , unsigned int uiOffsetWithinSectionVal , unsigned int uiNumBytes ) { int Status ; int SectionStartOffset ; unsigned int uiAbsoluteOffset ; unsigned int uiTemp ; unsigned int value ; INT tmp___5 ; int tmp___6 ; { Status = 0; SectionStartOffset = 0; uiAbsoluteOffset = 0U; uiTemp = 0U; value = 0U; if ((unsigned long )Adapter == (unsigned long )((struct bcm_mini_adapter *)0)) { printk("\016%s:Adapter structure is NULL", "BcmFlash2xBulkRead"); return (-22); } else { } if ((int )Adapter->device_removed) { printk("\016%s:Device has been removed", "BcmFlash2xBulkRead"); return (-19); } else { } if ((unsigned int )eFlash2xSectionVal == 0U) { SectionStartOffset = 0; } else { SectionStartOffset = BcmGetSectionValStartOffset(Adapter, eFlash2xSectionVal); } if (SectionStartOffset == -1) { printk("\016%s:This Section<%d> does not exist in Flash 2.x Map ", "BcmFlash2xBulkRead", (unsigned int )eFlash2xSectionVal); return (-22); } else { } tmp___6 = IsSectionExistInVendorInfo(Adapter, eFlash2xSectionVal); if (tmp___6 != 0) { tmp___5 = vendorextnReadSection((PVOID )Adapter, (unsigned char *)pBuffer, eFlash2xSectionVal, uiOffsetWithinSectionVal, uiNumBytes); return (tmp___5); } else { } uiAbsoluteOffset = uiOffsetWithinSectionVal + (unsigned int )SectionStartOffset; rdmalt(Adapter, 251661440U, & uiTemp, 4UL); value = 0U; wrmalt(Adapter, 251661440U, & value, 4UL); Status = BeceemFlashBulkRead(Adapter, pBuffer, uiAbsoluteOffset, uiNumBytes); wrmalt(Adapter, 251661440U, & uiTemp, 4UL); if (Status != 0) { printk("\016%s:Flash Read Failed with Status :%d", "BcmFlash2xBulkRead", Status); return (Status); } else { } return (Status); } } INT BcmFlash2xBulkWrite(struct bcm_mini_adapter *Adapter , PUINT pBuffer , enum bcm_flash2x_section_val eFlash2xSectVal , unsigned int uiOffset , unsigned int uiNumBytes , unsigned int bVerify ) { int Status ; unsigned int FlashSectValStartOffset ; unsigned int uiTemp ; unsigned int value ; INT tmp___3 ; INT tmp___6 ; int tmp___7 ; { Status = 0; FlashSectValStartOffset = 0U; uiTemp = 0U; value = 0U; if ((unsigned long )Adapter == (unsigned long )((struct bcm_mini_adapter *)0)) { printk("\016%s:Adapter structure is NULL", "BcmFlash2xBulkWrite"); return (-22); } else { } if ((int )Adapter->device_removed) { printk("\016%s:Device has been removed", "BcmFlash2xBulkWrite"); return (-19); } else { } if ((unsigned int )eFlash2xSectVal == 0U) { FlashSectValStartOffset = 0U; } else { tmp___3 = BcmGetSectionValStartOffset(Adapter, eFlash2xSectVal); FlashSectValStartOffset = (unsigned int )tmp___3; } if (FlashSectValStartOffset == 4294967295U) { printk("\016%s:This Section<%d> does not exist in Flash Map 2.x", "BcmFlash2xBulkWrite", (unsigned int )eFlash2xSectVal); return (-22); } else { } tmp___7 = IsSectionExistInVendorInfo(Adapter, eFlash2xSectVal); if (tmp___7 != 0) { tmp___6 = vendorextnWriteSection((PVOID )Adapter, (unsigned char *)pBuffer, eFlash2xSectVal, uiOffset, uiNumBytes, bVerify != 0U); return (tmp___6); } else { } uiOffset = uiOffset + FlashSectValStartOffset; rdmalt(Adapter, 251661440U, & uiTemp, 4UL); value = 0U; wrmalt(Adapter, 251661440U, & value, 4UL); Status = BeceemFlashBulkWrite(Adapter, pBuffer, uiOffset, uiNumBytes, bVerify != 0U); wrmalt(Adapter, 251661440U, & uiTemp, 4UL); if (Status != 0) { printk("\016%s:Flash Write failed with Status :%d", "BcmFlash2xBulkWrite", Status); return (Status); } else { } return (Status); } } static int BcmGetActiveDSD(struct bcm_mini_adapter *Adapter ) { enum bcm_flash2x_section_val uiHighestPriDSD ; struct _ddebug descriptor___0 ; long tmp___0 ; int tmp___1 ; int tmp___2 ; int tmp___3 ; { uiHighestPriDSD = 0; uiHighestPriDSD = getHighestPriDSD(Adapter); Adapter->eActiveDSD = uiHighestPriDSD; if ((unsigned int )uiHighestPriDSD == 3U) { Adapter->ulFlashCalStart = (Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSDStart; } else { } if ((unsigned int )uiHighestPriDSD == 4U) { Adapter->ulFlashCalStart = (Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD1Start; } else { } if ((unsigned int )uiHighestPriDSD == 5U) { Adapter->ulFlashCalStart = (Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD2Start; } else { } if ((unsigned int )Adapter->eActiveDSD != 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "BcmGetActiveDSD"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___0.format = "%s:\nActive DSD :%d"; descriptor___0.lineno = 2962U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nActive DSD :%d", "BcmGetActiveDSD", (unsigned int )Adapter->eActiveDSD); } else { } } else { } } else { } if ((unsigned int )Adapter->eActiveDSD == 0U) { tmp___3 = IsSectionWritable(Adapter, 5); if (tmp___3 != 0) { Adapter->eActiveDSD = 5; Adapter->ulFlashCalStart = (Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD2Start; } else { tmp___2 = IsSectionWritable(Adapter, 4); if (tmp___2 != 0) { Adapter->eActiveDSD = 4; Adapter->ulFlashCalStart = (Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD1Start; } else { tmp___1 = IsSectionWritable(Adapter, 3); if (tmp___1 != 0) { Adapter->eActiveDSD = 3; Adapter->ulFlashCalStart = (Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSDStart; } else { } } } } else { } return (0); } } static int BcmGetActiveISO(struct bcm_mini_adapter *Adapter ) { int HighestPriISO ; enum bcm_flash2x_section_val tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; { HighestPriISO = 0; tmp = getHighestPriISO(Adapter); HighestPriISO = (int )tmp; Adapter->eActiveISO = (enum bcm_flash2x_section_val )HighestPriISO; if ((unsigned int )Adapter->eActiveISO == 2U) { Adapter->uiActiveISOOffset = (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part1Start; } else if ((unsigned int )Adapter->eActiveISO == 1U) { Adapter->uiActiveISOOffset = (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part1Start; } else { } if ((unsigned int )Adapter->eActiveISO != 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "BcmGetActiveISO"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___0.format = "%s:\nActive ISO :%x"; descriptor___0.lineno = 3003U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nActive ISO :%x", "BcmGetActiveISO", (unsigned int )Adapter->eActiveISO); } else { } } else { } } else { } return (0); } } static B_UINT8 IsOffsetWritable(struct bcm_mini_adapter *Adapter , unsigned int uiOffset ) { unsigned int uiSectorNum ; unsigned int uiWordOfSectorPermission ; unsigned int uiBitofSectorePermission ; B_UINT32 permissionBits ; { uiSectorNum = 0U; uiWordOfSectorPermission = 0U; uiBitofSectorePermission = 0U; permissionBits = 0U; uiSectorNum = uiOffset / Adapter->uiSectorSize; uiWordOfSectorPermission = (Adapter->psFlash2xCSInfo)->SectorAccessBitMap[uiSectorNum / 16U]; uiBitofSectorePermission = (~ uiSectorNum & 15U) * 2U; permissionBits = (unsigned int )(3 << (int )uiBitofSectorePermission) & uiWordOfSectorPermission; permissionBits = (permissionBits >> (int )uiBitofSectorePermission) & 3U; if (permissionBits == 0U) { return (1U); } else { return (0U); } } } static int BcmDumpFlash2xSectionBitMap(struct bcm_flash2x_bitmap *psFlash2xBitMap ) { struct bcm_mini_adapter *Adapter ; void *tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; struct _ddebug descriptor___4 ; long tmp___5 ; struct _ddebug descriptor___6 ; long tmp___7 ; struct _ddebug descriptor___8 ; long tmp___9 ; struct _ddebug descriptor___10 ; long tmp___11 ; struct _ddebug descriptor___12 ; long tmp___13 ; struct _ddebug descriptor___14 ; long tmp___15 ; struct _ddebug descriptor___16 ; long tmp___17 ; struct _ddebug descriptor___18 ; long tmp___19 ; struct _ddebug descriptor___20 ; long tmp___21 ; { tmp = netdev_priv((struct net_device const *)gblpnetdev); Adapter = (struct bcm_mini_adapter *)tmp; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "BcmDumpFlash2xSectionBitMap"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___0.format = "%s:\n***************Flash 2.x Section Bitmap***************"; descriptor___0.lineno = 3047U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\n***************Flash 2.x Section Bitmap***************", "BcmDumpFlash2xSectionBitMap"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "BcmDumpFlash2xSectionBitMap"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___2.format = "%s:\nISO_IMAGE1 :0X%x"; descriptor___2.lineno = 3048U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nISO_IMAGE1 :0X%x", "BcmDumpFlash2xSectionBitMap", (int )psFlash2xBitMap->ISO_IMAGE1); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "BcmDumpFlash2xSectionBitMap"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___4.format = "%s:\nISO_IMAGE2 :0X%x"; descriptor___4.lineno = 3049U; descriptor___4.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nISO_IMAGE2 :0X%x", "BcmDumpFlash2xSectionBitMap", (int )psFlash2xBitMap->ISO_IMAGE2); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "BcmDumpFlash2xSectionBitMap"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___6.format = "%s:\nDSD0 :0X%x"; descriptor___6.lineno = 3050U; descriptor___6.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nDSD0 :0X%x", "BcmDumpFlash2xSectionBitMap", (int )psFlash2xBitMap->DSD0); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "BcmDumpFlash2xSectionBitMap"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___8.format = "%s:\nDSD1 :0X%x"; descriptor___8.lineno = 3051U; descriptor___8.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nDSD1 :0X%x", "BcmDumpFlash2xSectionBitMap", (int )psFlash2xBitMap->DSD1); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "BcmDumpFlash2xSectionBitMap"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___10.format = "%s:\nDSD2 :0X%x"; descriptor___10.lineno = 3052U; descriptor___10.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nDSD2 :0X%x", "BcmDumpFlash2xSectionBitMap", (int )psFlash2xBitMap->DSD2); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___12.modname = "bcm_wimax"; descriptor___12.function = "BcmDumpFlash2xSectionBitMap"; descriptor___12.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___12.format = "%s:\nVSA0 :0X%x"; descriptor___12.lineno = 3053U; descriptor___12.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___12.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___12, "%s:\nVSA0 :0X%x", "BcmDumpFlash2xSectionBitMap", (int )psFlash2xBitMap->VSA0); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "BcmDumpFlash2xSectionBitMap"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___14.format = "%s:\nVSA1 :0X%x"; descriptor___14.lineno = 3054U; descriptor___14.flags = 0U; tmp___15 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___15 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nVSA1 :0X%x", "BcmDumpFlash2xSectionBitMap", (int )psFlash2xBitMap->VSA1); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___16.modname = "bcm_wimax"; descriptor___16.function = "BcmDumpFlash2xSectionBitMap"; descriptor___16.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___16.format = "%s:\nVSA2 :0X%x"; descriptor___16.lineno = 3055U; descriptor___16.flags = 0U; tmp___17 = ldv__builtin_expect((long )descriptor___16.flags & 1L, 0L); if (tmp___17 != 0L) { __dynamic_pr_debug(& descriptor___16, "%s:\nVSA2 :0X%x", "BcmDumpFlash2xSectionBitMap", (int )psFlash2xBitMap->VSA2); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___18.modname = "bcm_wimax"; descriptor___18.function = "BcmDumpFlash2xSectionBitMap"; descriptor___18.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___18.format = "%s:\nSCSI :0X%x"; descriptor___18.lineno = 3056U; descriptor___18.flags = 0U; tmp___19 = ldv__builtin_expect((long )descriptor___18.flags & 1L, 0L); if (tmp___19 != 0L) { __dynamic_pr_debug(& descriptor___18, "%s:\nSCSI :0X%x", "BcmDumpFlash2xSectionBitMap", (int )psFlash2xBitMap->SCSI); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___20.modname = "bcm_wimax"; descriptor___20.function = "BcmDumpFlash2xSectionBitMap"; descriptor___20.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___20.format = "%s:\nCONTROL_SECTION :0X%x"; descriptor___20.lineno = 3057U; descriptor___20.flags = 0U; tmp___21 = ldv__builtin_expect((long )descriptor___20.flags & 1L, 0L); if (tmp___21 != 0L) { __dynamic_pr_debug(& descriptor___20, "%s:\nCONTROL_SECTION :0X%x", "BcmDumpFlash2xSectionBitMap", (int )psFlash2xBitMap->CONTROL_SECTION); } else { } } else { } return (0); } } INT BcmGetFlash2xSectionalBitMap(struct bcm_mini_adapter *Adapter , struct bcm_flash2x_bitmap *psFlash2xBitMap ) { struct bcm_flash2x_cs_info *psFlash2xCSInfo ; enum bcm_flash2x_section_val uiHighestPriDSD ; enum bcm_flash2x_section_val uiHighestPriISO ; bool SetActiveDSDDone ; bool SetActiveISODone ; INT tmp ; int tmp___0 ; int tmp___1 ; int tmp___2 ; int tmp___3 ; int tmp___4 ; int tmp___5 ; int tmp___6 ; int tmp___7 ; int tmp___8 ; int tmp___9 ; int tmp___10 ; int tmp___11 ; int tmp___12 ; int tmp___13 ; int tmp___14 ; { psFlash2xCSInfo = Adapter->psFlash2xCSInfo; uiHighestPriDSD = 0; uiHighestPriISO = 0; SetActiveDSDDone = 0; SetActiveISODone = 0; tmp = IsFlash2x(Adapter); if (tmp == 0) { psFlash2xBitMap->ISO_IMAGE2 = 0U; psFlash2xBitMap->ISO_IMAGE1 = 0U; psFlash2xBitMap->DSD0 = 11U; psFlash2xBitMap->DSD1 = 0U; psFlash2xBitMap->DSD2 = 0U; psFlash2xBitMap->VSA0 = 0U; psFlash2xBitMap->VSA1 = 0U; psFlash2xBitMap->VSA2 = 0U; psFlash2xBitMap->CONTROL_SECTION = 0U; psFlash2xBitMap->SCSI = 0U; psFlash2xBitMap->Reserved0 = 0U; psFlash2xBitMap->Reserved1 = 0U; psFlash2xBitMap->Reserved2 = 0U; return (0); } else { } uiHighestPriDSD = getHighestPriDSD(Adapter); uiHighestPriISO = getHighestPriISO(Adapter); if (psFlash2xCSInfo->OffsetISOImage2Part1Start != 3149651421U) { psFlash2xBitMap->ISO_IMAGE2 = (unsigned int )psFlash2xBitMap->ISO_IMAGE2 | 1U; tmp___0 = ReadISOSignature(Adapter, 2); if (tmp___0 == -1093795504) { psFlash2xBitMap->ISO_IMAGE2 = (unsigned int )psFlash2xBitMap->ISO_IMAGE2 | 2U; } else { } tmp___1 = IsSectionWritable(Adapter, 2); if (tmp___1 == 0) { psFlash2xBitMap->ISO_IMAGE2 = (unsigned int )psFlash2xBitMap->ISO_IMAGE2 | 4U; } else { } if (! SetActiveISODone && (unsigned int )uiHighestPriISO == 2U) { psFlash2xBitMap->ISO_IMAGE2 = (unsigned int )psFlash2xBitMap->ISO_IMAGE2 | 8U; SetActiveISODone = 1; } else { } } else { } if (psFlash2xCSInfo->OffsetISOImage1Part1Start != 3149651421U) { psFlash2xBitMap->ISO_IMAGE1 = (unsigned int )psFlash2xBitMap->ISO_IMAGE1 | 1U; tmp___2 = ReadISOSignature(Adapter, 1); if (tmp___2 == -1093795504) { psFlash2xBitMap->ISO_IMAGE1 = (unsigned int )psFlash2xBitMap->ISO_IMAGE1 | 2U; } else { } tmp___3 = IsSectionWritable(Adapter, 1); if (tmp___3 == 0) { psFlash2xBitMap->ISO_IMAGE1 = (unsigned int )psFlash2xBitMap->ISO_IMAGE1 | 4U; } else { } if (! SetActiveISODone && (unsigned int )uiHighestPriISO == 1U) { psFlash2xBitMap->ISO_IMAGE1 = (unsigned int )psFlash2xBitMap->ISO_IMAGE1 | 8U; SetActiveISODone = 1; } else { } } else { } if (psFlash2xCSInfo->OffsetFromZeroForDSD2Start != 3149651421U) { psFlash2xBitMap->DSD2 = (unsigned int )psFlash2xBitMap->DSD2 | 1U; tmp___4 = ReadDSDSignature(Adapter, 5); if (tmp___4 == -1093792419) { psFlash2xBitMap->DSD2 = (unsigned int )psFlash2xBitMap->DSD2 | 2U; } else { } tmp___5 = IsSectionWritable(Adapter, 5); if (tmp___5 == 0) { psFlash2xBitMap->DSD2 = (unsigned int )psFlash2xBitMap->DSD2 | 4U; } else if (! SetActiveDSDDone && (unsigned int )uiHighestPriDSD == 5U) { psFlash2xBitMap->DSD2 = (unsigned int )psFlash2xBitMap->DSD2 | 8U; SetActiveDSDDone = 1; } else { } } else { } if (psFlash2xCSInfo->OffsetFromZeroForDSD1Start != 3149651421U) { psFlash2xBitMap->DSD1 = (unsigned int )psFlash2xBitMap->DSD1 | 1U; tmp___6 = ReadDSDSignature(Adapter, 4); if (tmp___6 == -1093792419) { psFlash2xBitMap->DSD1 = (unsigned int )psFlash2xBitMap->DSD1 | 2U; } else { } tmp___7 = IsSectionWritable(Adapter, 4); if (tmp___7 == 0) { psFlash2xBitMap->DSD1 = (unsigned int )psFlash2xBitMap->DSD1 | 4U; } else if (! SetActiveDSDDone && (unsigned int )uiHighestPriDSD == 4U) { psFlash2xBitMap->DSD1 = (unsigned int )psFlash2xBitMap->DSD1 | 8U; SetActiveDSDDone = 1; } else { } } else { } if (psFlash2xCSInfo->OffsetFromZeroForDSDStart != 3149651421U) { psFlash2xBitMap->DSD0 = (unsigned int )psFlash2xBitMap->DSD0 | 1U; tmp___8 = ReadDSDSignature(Adapter, 3); if (tmp___8 == -1093792419) { psFlash2xBitMap->DSD0 = (unsigned int )psFlash2xBitMap->DSD0 | 2U; } else { } tmp___9 = IsSectionWritable(Adapter, 3); if (tmp___9 == 0) { psFlash2xBitMap->DSD0 = (unsigned int )psFlash2xBitMap->DSD0 | 4U; } else if (! SetActiveDSDDone && (unsigned int )uiHighestPriDSD == 3U) { psFlash2xBitMap->DSD0 = (unsigned int )psFlash2xBitMap->DSD0 | 8U; SetActiveDSDDone = 1; } else { } } else { } if (psFlash2xCSInfo->OffsetFromZeroForVSAStart != 3149651421U) { psFlash2xBitMap->VSA0 = (unsigned int )psFlash2xBitMap->VSA0 | 1U; psFlash2xBitMap->VSA0 = (unsigned int )psFlash2xBitMap->VSA0 | 2U; tmp___10 = IsSectionWritable(Adapter, 6); if (tmp___10 == 0) { psFlash2xBitMap->VSA0 = (unsigned int )psFlash2xBitMap->VSA0 | 4U; } else { } psFlash2xBitMap->VSA0 = (unsigned int )psFlash2xBitMap->VSA0 | 8U; } else { } if (psFlash2xCSInfo->OffsetFromZeroForVSA1Start != 3149651421U) { psFlash2xBitMap->VSA1 = (unsigned int )psFlash2xBitMap->VSA1 | 1U; psFlash2xBitMap->VSA1 = (unsigned int )psFlash2xBitMap->VSA1 | 2U; tmp___11 = IsSectionWritable(Adapter, 7); if (tmp___11 == 0) { psFlash2xBitMap->VSA1 = (unsigned int )psFlash2xBitMap->VSA1 | 4U; } else { } psFlash2xBitMap->VSA1 = (unsigned int )psFlash2xBitMap->VSA1 | 8U; } else { } if (psFlash2xCSInfo->OffsetFromZeroForVSA2Start != 3149651421U) { psFlash2xBitMap->VSA2 = (unsigned int )psFlash2xBitMap->VSA2 | 1U; psFlash2xBitMap->VSA2 = (unsigned int )psFlash2xBitMap->VSA2 | 2U; tmp___12 = IsSectionWritable(Adapter, 8); if (tmp___12 == 0) { psFlash2xBitMap->VSA2 = (unsigned int )psFlash2xBitMap->VSA2 | 4U; } else { } psFlash2xBitMap->VSA2 = (unsigned int )psFlash2xBitMap->VSA2 | 8U; } else { } if (psFlash2xCSInfo->OffsetFromZeroForScsiFirmware != 3149651421U) { psFlash2xBitMap->SCSI = (unsigned int )psFlash2xBitMap->SCSI | 1U; psFlash2xBitMap->SCSI = (unsigned int )psFlash2xBitMap->SCSI | 2U; tmp___13 = IsSectionWritable(Adapter, 9); if (tmp___13 == 0) { psFlash2xBitMap->SCSI = (unsigned int )psFlash2xBitMap->SCSI | 4U; } else { } psFlash2xBitMap->SCSI = (unsigned int )psFlash2xBitMap->SCSI | 8U; } else { } if (psFlash2xCSInfo->OffsetFromZeroForControlSectionStart != 3149651421U) { psFlash2xBitMap->CONTROL_SECTION = (unsigned int )psFlash2xBitMap->CONTROL_SECTION | 1U; psFlash2xBitMap->CONTROL_SECTION = (unsigned int )psFlash2xBitMap->CONTROL_SECTION | 2U; tmp___14 = IsSectionWritable(Adapter, 10); if (tmp___14 == 0) { psFlash2xBitMap->CONTROL_SECTION = (unsigned int )psFlash2xBitMap->CONTROL_SECTION | 4U; } else { } psFlash2xBitMap->CONTROL_SECTION = (unsigned int )psFlash2xBitMap->CONTROL_SECTION | 8U; } else { } psFlash2xBitMap->Reserved0 = 0U; psFlash2xBitMap->Reserved0 = 0U; psFlash2xBitMap->Reserved0 = 0U; BcmDumpFlash2xSectionBitMap(psFlash2xBitMap); return (0); } } INT BcmSetActiveSection(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val eFlash2xSectVal ) { unsigned int SectImagePriority ; int Status ; int HighestPriDSD ; int HighestPriISO ; enum bcm_flash2x_section_val tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; int tmp___4 ; struct _ddebug descriptor___4 ; long tmp___6 ; enum bcm_flash2x_section_val tmp___9 ; struct _ddebug descriptor___8 ; long tmp___11 ; int tmp___12 ; __u32 tmp___13 ; int tmp___18 ; enum bcm_flash2x_section_val tmp___19 ; struct _ddebug descriptor___14 ; long tmp___21 ; int tmp___22 ; enum bcm_flash2x_section_val tmp___27 ; struct _ddebug descriptor___20 ; long tmp___29 ; enum bcm_flash2x_section_val tmp___32 ; __u32 tmp___33 ; int tmp___38 ; { SectImagePriority = 0U; Status = 0; HighestPriDSD = 0; HighestPriISO = 0; Status = IsSectionWritable(Adapter, eFlash2xSectVal); if (Status != 1) { printk("\016%s:Provided Section <%d> is not writable", "BcmSetActiveSection", (unsigned int )eFlash2xSectVal); return (-1); } else { } Adapter->bHeaderChangeAllowed = 1; switch ((unsigned int )eFlash2xSectVal) { case 1U: ; case 2U: tmp___18 = ReadISOSignature(Adapter, eFlash2xSectVal); if (tmp___18 == -1093795504) { tmp___1 = getHighestPriISO(Adapter); HighestPriISO = (int )tmp___1; if ((unsigned int )HighestPriISO == (unsigned int )eFlash2xSectVal) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "BcmSetActiveSection"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___2.format = "%s:\nGiven ISO<%x> already has highest priority"; descriptor___2.lineno = 3353U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nGiven ISO<%x> already has highest priority", "BcmSetActiveSection", (unsigned int )eFlash2xSectVal); } else { } } else { } Status = 0; goto ldv_52672; } else { } tmp___4 = ReadISOPriority(Adapter, (enum bcm_flash2x_section_val )HighestPriISO); SectImagePriority = (unsigned int )(tmp___4 + 1); if (SectImagePriority == 0U) { tmp___12 = IsSectionWritable(Adapter, (enum bcm_flash2x_section_val )HighestPriISO); if (tmp___12 != 0) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "BcmSetActiveSection"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___4.format = "%s:\nSectImagePriority wraparound happened, eFlash2xSectVal: 0x%x\n"; descriptor___4.lineno = 3365U; descriptor___4.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nSectImagePriority wraparound happened, eFlash2xSectVal: 0x%x\n", "BcmSetActiveSection", (unsigned int )eFlash2xSectVal); } else { } } else { } SectImagePriority = 16777216U; Status = BcmFlash2xBulkWrite(Adapter, & SectImagePriority, (enum bcm_flash2x_section_val )HighestPriISO, 12U, 4U, 1U); if (Status != 0) { printk("\016%s:Priority has not been written properly", "BcmSetActiveSection"); Status = -1; goto ldv_52672; } else { } tmp___9 = getHighestPriISO(Adapter); HighestPriISO = (int )tmp___9; if ((unsigned int )HighestPriISO == (unsigned int )eFlash2xSectVal) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___8.modname = "bcm_wimax"; descriptor___8.function = "BcmSetActiveSection"; descriptor___8.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___8.format = "%s:\nGiven ISO<%x> already has highest priority"; descriptor___8.lineno = 3382U; descriptor___8.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___8.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___8, "%s:\nGiven ISO<%x> already has highest priority", "BcmSetActiveSection", (unsigned int )eFlash2xSectVal); } else { } } else { } Status = 0; goto ldv_52672; } else { } SectImagePriority = 2U; } else { } } else { } tmp___13 = __fswab32(SectImagePriority); SectImagePriority = tmp___13; Status = BcmFlash2xBulkWrite(Adapter, & SectImagePriority, eFlash2xSectVal, 12U, 4U, 1U); if (Status != 0) { printk("\016%s:Priority has not been written properly", "BcmSetActiveSection"); goto ldv_52672; } else { } } else { printk("\016%s:Signature is currupted. Hence can\'t increase the priority", "BcmSetActiveSection"); Status = -1; goto ldv_52672; } goto ldv_52672; case 3U: ; case 4U: ; case 5U: tmp___38 = ReadDSDSignature(Adapter, eFlash2xSectVal); if (tmp___38 == -1093792419) { tmp___19 = getHighestPriDSD(Adapter); HighestPriDSD = (int )tmp___19; if ((unsigned int )HighestPriDSD == (unsigned int )eFlash2xSectVal) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___14.modname = "bcm_wimax"; descriptor___14.function = "BcmSetActiveSection"; descriptor___14.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___14.format = "%s:\nGiven DSD<%x> already has highest priority"; descriptor___14.lineno = 3414U; descriptor___14.flags = 0U; tmp___21 = ldv__builtin_expect((long )descriptor___14.flags & 1L, 0L); if (tmp___21 != 0L) { __dynamic_pr_debug(& descriptor___14, "%s:\nGiven DSD<%x> already has highest priority", "BcmSetActiveSection", (unsigned int )eFlash2xSectVal); } else { } } else { } Status = 0; goto ldv_52672; } else { } tmp___22 = ReadDSDPriority(Adapter, (enum bcm_flash2x_section_val )HighestPriDSD); SectImagePriority = (unsigned int )(tmp___22 + 1); if (SectImagePriority == 0U) { printk("\016%s:SectImagePriority wraparound happened, eFlash2xSectVal: 0x%x\n", "BcmSetActiveSection", (unsigned int )eFlash2xSectVal); SectImagePriority = 16777216U; Status = BcmFlash2xBulkWrite(Adapter, & SectImagePriority, (enum bcm_flash2x_section_val )HighestPriDSD, (Adapter->psFlash2xCSInfo)->OffsetFromDSDStartForDSDHeader + 8U, 4U, 1U); if (Status != 0) { printk("\016%s:Priority has not been written properly", "BcmSetActiveSection"); goto ldv_52672; } else { } tmp___27 = getHighestPriDSD(Adapter); HighestPriDSD = (int )tmp___27; if ((unsigned int )HighestPriDSD == (unsigned int )eFlash2xSectVal) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___20.modname = "bcm_wimax"; descriptor___20.function = "BcmSetActiveSection"; descriptor___20.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___20.format = "%s:\nMade the DSD: %x highest by reducing priority of other\n"; descriptor___20.lineno = 3442U; descriptor___20.flags = 0U; tmp___29 = ldv__builtin_expect((long )descriptor___20.flags & 1L, 0L); if (tmp___29 != 0L) { __dynamic_pr_debug(& descriptor___20, "%s:\nMade the DSD: %x highest by reducing priority of other\n", "BcmSetActiveSection", (unsigned int )eFlash2xSectVal); } else { } } else { } Status = 0; goto ldv_52672; } else { } SectImagePriority = 33554432U; Status = BcmFlash2xBulkWrite(Adapter, & SectImagePriority, (enum bcm_flash2x_section_val )HighestPriDSD, (Adapter->psFlash2xCSInfo)->OffsetFromDSDStartForDSDHeader + 8U, 4U, 1U); if (Status != 0) { printk("\016%s:Priority has not been written properly", "BcmSetActiveSection"); goto ldv_52672; } else { } tmp___32 = getHighestPriDSD(Adapter); HighestPriDSD = (int )tmp___32; if ((unsigned int )HighestPriDSD == (unsigned int )eFlash2xSectVal) { Status = 0; goto ldv_52672; } else { } SectImagePriority = 3U; } else { } tmp___33 = __fswab32(SectImagePriority); SectImagePriority = tmp___33; Status = BcmFlash2xBulkWrite(Adapter, & SectImagePriority, eFlash2xSectVal, (Adapter->psFlash2xCSInfo)->OffsetFromDSDStartForDSDHeader + 8U, 4U, 1U); if (Status != 0) { printk("\016%s:Priority has not been written properly", "BcmSetActiveSection"); Status = -1; goto ldv_52672; } else { } } else { printk("\016%s:Signature is currupted. Hence can\'t increase the priority", "BcmSetActiveSection"); Status = -1; goto ldv_52672; } goto ldv_52672; case 6U: ; case 7U: ; case 8U: ; goto ldv_52672; default: Status = -1; goto ldv_52672; } ldv_52672: Adapter->bHeaderChangeAllowed = 0; return (Status); } } INT BcmCopyISO(struct bcm_mini_adapter *Adapter , struct bcm_flash2x_copy_section sCopySectStrut ) { PCHAR Buff ; enum bcm_flash2x_section_val eISOReadPart ; enum bcm_flash2x_section_val eISOWritePart ; unsigned int uiReadOffsetWithinPart ; unsigned int uiWriteOffsetWithinPart ; unsigned int uiTotalDataToCopy ; bool IsThisHeaderSector ; unsigned int sigOffset ; unsigned int ISOLength ; unsigned int Status ; unsigned int SigBuff[16U] ; unsigned int i ; int tmp___1 ; INT tmp___2 ; __u32 tmp___5 ; void *tmp___6 ; struct _ddebug descriptor___10 ; long tmp___14 ; INT tmp___15 ; size_t __len ; void *__ret ; INT tmp___18 ; struct _ddebug descriptor___20 ; long tmp___26 ; INT tmp___27 ; size_t __len___0 ; void *__ret___0 ; INT tmp___30 ; { Buff = (PCHAR )0; eISOReadPart = 0; eISOWritePart = 0; uiReadOffsetWithinPart = 0U; uiWriteOffsetWithinPart = 0U; uiTotalDataToCopy = 0U; IsThisHeaderSector = 0; sigOffset = 0U; ISOLength = 0U; Status = 0U; i = 0U; tmp___1 = ReadISOSignature(Adapter, sCopySectStrut.SrcSection); if (tmp___1 != -1093795504) { printk("\016%s:error as Source ISO Section does not have valid signature", "BcmCopyISO"); return (-1); } else { } tmp___2 = BcmFlash2xBulkRead(Adapter, & ISOLength, sCopySectStrut.SrcSection, 4U, 4U); Status = (unsigned int )tmp___2; if (Status != 0U) { printk("\016%s:Read failed while copying ISO\n", "BcmCopyISO"); return ((INT )Status); } else { } tmp___5 = __fswab32(ISOLength); ISOLength = tmp___5; if (ISOLength % Adapter->uiSectorSize != 0U) { ISOLength = Adapter->uiSectorSize * (ISOLength / Adapter->uiSectorSize + 1U); } else { } sigOffset = 0U; tmp___6 = kzalloc((size_t )Adapter->uiSectorSize, 208U); Buff = (PCHAR )tmp___6; if ((unsigned long )Buff == (unsigned long )((PCHAR )0)) { printk("\016%s:Memory allocation failed for section size", "BcmCopyISO"); return (-12); } else { } if ((unsigned int )sCopySectStrut.SrcSection == 1U && (unsigned int )sCopySectStrut.DstSection == 2U) { eISOReadPart = 1; eISOWritePart = 2; uiReadOffsetWithinPart = 0U; uiWriteOffsetWithinPart = 0U; uiTotalDataToCopy = (((((Adapter->psFlash2xCSInfo)->OffsetISOImage1Part1End - (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part1Start) + (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part2End) - (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part2Start) + (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part3End) - (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part3Start; if (uiTotalDataToCopy < ISOLength) { printk("\016%s:error as Source ISO Section does not have valid signature", "BcmCopyISO"); Status = 4294967295U; goto out; } else { } uiTotalDataToCopy = (((((Adapter->psFlash2xCSInfo)->OffsetISOImage2Part1End - (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part1Start) + (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part2End) - (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part2Start) + (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part3End) - (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part3Start; if (uiTotalDataToCopy < ISOLength) { printk("\016%s:error as Dest ISO Section does not have enough section size", "BcmCopyISO"); Status = 4294967295U; goto out; } else { } uiTotalDataToCopy = ISOLength; CorruptISOSig(Adapter, 2); goto ldv_52746; ldv_52745: ; if (Adapter->uiSectorSize == uiTotalDataToCopy) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "BcmCopyISO"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___10.format = "%s:\nWriting the signature sector"; descriptor___10.lineno = 3587U; descriptor___10.flags = 0U; tmp___14 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___14 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nWriting the signature sector", "BcmCopyISO"); } else { } } else { } eISOReadPart = 1; uiReadOffsetWithinPart = 0U; eISOWritePart = 2; uiWriteOffsetWithinPart = 0U; IsThisHeaderSector = 1; } else { uiReadOffsetWithinPart = Adapter->uiSectorSize + uiReadOffsetWithinPart; uiWriteOffsetWithinPart = Adapter->uiSectorSize + uiWriteOffsetWithinPart; if ((unsigned int )eISOReadPart == 1U && (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part1End - (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part1Start == uiReadOffsetWithinPart) { eISOReadPart = 11; uiReadOffsetWithinPart = 0U; } else { } if ((unsigned int )eISOReadPart == 11U && (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part2End - (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part2Start == uiReadOffsetWithinPart) { eISOReadPart = 12; uiReadOffsetWithinPart = 0U; } else { } if ((unsigned int )eISOWritePart == 2U && (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part1End - (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part1Start == uiWriteOffsetWithinPart) { eISOWritePart = 13; uiWriteOffsetWithinPart = 0U; } else { } if ((unsigned int )eISOWritePart == 13U && (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part2End - (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part2Start == uiWriteOffsetWithinPart) { eISOWritePart = 14; uiWriteOffsetWithinPart = 0U; } else { } } tmp___15 = BcmFlash2xBulkRead(Adapter, (unsigned int *)Buff, eISOReadPart, uiReadOffsetWithinPart, Adapter->uiSectorSize); Status = (unsigned int )tmp___15; if (Status != 0U) { printk("\016%s:Read failed while copying ISO: Part: %x, OffsetWithinPart: %x\n", "BcmCopyISO", (unsigned int )eISOReadPart, uiReadOffsetWithinPart); goto ldv_52736; } else { } if ((int )IsThisHeaderSector) { __len = 16UL; if (__len > 63UL) { __ret = memcpy((void *)(& SigBuff), (void const *)Buff + (unsigned long )sigOffset, __len); } else { __ret = memcpy((void *)(& SigBuff), (void const *)Buff + (unsigned long )sigOffset, __len); } i = 0U; goto ldv_52741; ldv_52740: *(Buff + ((unsigned long )sigOffset + (unsigned long )i)) = -1; i = i + 1U; ldv_52741: ; if (i <= 15U) { goto ldv_52740; } else { } } else { } Adapter->bHeaderChangeAllowed = 1; tmp___18 = BcmFlash2xBulkWrite(Adapter, (unsigned int *)Buff, eISOWritePart, uiWriteOffsetWithinPart, Adapter->uiSectorSize, 1U); Status = (unsigned int )tmp___18; if (Status != 0U) { printk("\016%s:Write failed while copying ISO: Part: %x, OffsetWithinPart: %x\n", "BcmCopyISO", (unsigned int )eISOWritePart, uiWriteOffsetWithinPart); goto ldv_52736; } else { } Adapter->bHeaderChangeAllowed = 0; if ((int )IsThisHeaderSector) { WriteToFlashWithoutSectorErase(Adapter, (unsigned int *)(& SigBuff), eISOWritePart, sigOffset, 16U); IsThisHeaderSector = 0; } else { } uiTotalDataToCopy = uiTotalDataToCopy - Adapter->uiSectorSize; ldv_52746: ; if (uiTotalDataToCopy != 0U) { goto ldv_52745; } else { } ldv_52736: ; } else { } if ((unsigned int )sCopySectStrut.SrcSection == 2U && (unsigned int )sCopySectStrut.DstSection == 1U) { eISOReadPart = 2; eISOWritePart = 1; uiReadOffsetWithinPart = 0U; uiWriteOffsetWithinPart = 0U; uiTotalDataToCopy = (((((Adapter->psFlash2xCSInfo)->OffsetISOImage2Part1End - (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part1Start) + (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part2End) - (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part2Start) + (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part3End) - (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part3Start; if (uiTotalDataToCopy < ISOLength) { printk("\016%s:error as Source ISO Section does not have valid signature", "BcmCopyISO"); Status = 4294967295U; goto out; } else { } uiTotalDataToCopy = (((((Adapter->psFlash2xCSInfo)->OffsetISOImage1Part1End - (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part1Start) + (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part2End) - (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part2Start) + (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part3End) - (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part3Start; if (uiTotalDataToCopy < ISOLength) { printk("\016%s:error as Dest ISO Section does not have enough section size", "BcmCopyISO"); Status = 4294967295U; goto out; } else { } uiTotalDataToCopy = ISOLength; CorruptISOSig(Adapter, 1); goto ldv_52765; ldv_52764: ; if (Adapter->uiSectorSize == uiTotalDataToCopy) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___20.modname = "bcm_wimax"; descriptor___20.function = "BcmCopyISO"; descriptor___20.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___20.format = "%s:\nWriting the signature sector"; descriptor___20.lineno = 3700U; descriptor___20.flags = 0U; tmp___26 = ldv__builtin_expect((long )descriptor___20.flags & 1L, 0L); if (tmp___26 != 0L) { __dynamic_pr_debug(& descriptor___20, "%s:\nWriting the signature sector", "BcmCopyISO"); } else { } } else { } eISOReadPart = 2; uiReadOffsetWithinPart = 0U; eISOWritePart = 1; uiWriteOffsetWithinPart = 0U; IsThisHeaderSector = 1; } else { uiReadOffsetWithinPart = Adapter->uiSectorSize + uiReadOffsetWithinPart; uiWriteOffsetWithinPart = Adapter->uiSectorSize + uiWriteOffsetWithinPart; if ((unsigned int )eISOReadPart == 2U && (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part1End - (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part1Start == uiReadOffsetWithinPart) { eISOReadPart = 13; uiReadOffsetWithinPart = 0U; } else { } if ((unsigned int )eISOReadPart == 13U && (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part2End - (Adapter->psFlash2xCSInfo)->OffsetISOImage2Part2Start == uiReadOffsetWithinPart) { eISOReadPart = 14; uiReadOffsetWithinPart = 0U; } else { } if ((unsigned int )eISOWritePart == 1U && (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part1End - (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part1Start == uiWriteOffsetWithinPart) { eISOWritePart = 11; uiWriteOffsetWithinPart = 0U; } else { } if ((unsigned int )eISOWritePart == 11U && (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part2End - (Adapter->psFlash2xCSInfo)->OffsetISOImage1Part2Start == uiWriteOffsetWithinPart) { eISOWritePart = 12; uiWriteOffsetWithinPart = 0U; } else { } } tmp___27 = BcmFlash2xBulkRead(Adapter, (unsigned int *)Buff, eISOReadPart, uiReadOffsetWithinPart, Adapter->uiSectorSize); Status = (unsigned int )tmp___27; if (Status != 0U) { printk("\016%s:Read failed while copying ISO: Part: %x, OffsetWithinPart: %x\n", "BcmCopyISO", (unsigned int )eISOReadPart, uiReadOffsetWithinPart); goto ldv_52755; } else { } if ((int )IsThisHeaderSector) { __len___0 = 16UL; if (__len___0 > 63UL) { __ret___0 = memcpy((void *)(& SigBuff), (void const *)Buff + (unsigned long )sigOffset, __len___0); } else { __ret___0 = memcpy((void *)(& SigBuff), (void const *)Buff + (unsigned long )sigOffset, __len___0); } i = 0U; goto ldv_52760; ldv_52759: *(Buff + ((unsigned long )sigOffset + (unsigned long )i)) = -1; i = i + 1U; ldv_52760: ; if (i <= 15U) { goto ldv_52759; } else { } } else { } Adapter->bHeaderChangeAllowed = 1; tmp___30 = BcmFlash2xBulkWrite(Adapter, (unsigned int *)Buff, eISOWritePart, uiWriteOffsetWithinPart, Adapter->uiSectorSize, 1U); Status = (unsigned int )tmp___30; if (Status != 0U) { printk("\016%s:Write failed while copying ISO: Part: %x, OffsetWithinPart: %x\n", "BcmCopyISO", (unsigned int )eISOWritePart, uiWriteOffsetWithinPart); goto ldv_52755; } else { } Adapter->bHeaderChangeAllowed = 0; if ((int )IsThisHeaderSector) { WriteToFlashWithoutSectorErase(Adapter, (unsigned int *)(& SigBuff), eISOWritePart, sigOffset, 16U); IsThisHeaderSector = 0; } else { } uiTotalDataToCopy = uiTotalDataToCopy - Adapter->uiSectorSize; ldv_52765: ; if (uiTotalDataToCopy != 0U) { goto ldv_52764; } else { } ldv_52755: ; } else { } out: kfree((void const *)Buff); return ((INT )Status); } } INT BcmFlash2xCorruptSig(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val eFlash2xSectionVal ) { int Status ; struct _ddebug descriptor___2 ; long tmp___2 ; { Status = 0; printk("\016%s:Section Value :%x\n", "BcmFlash2xCorruptSig", (unsigned int )eFlash2xSectionVal); if (((unsigned int )eFlash2xSectionVal == 3U || (unsigned int )eFlash2xSectionVal == 4U) || (unsigned int )eFlash2xSectionVal == 5U) { Status = CorruptDSDSig(Adapter, eFlash2xSectionVal); } else if ((unsigned int )eFlash2xSectionVal == 1U || (unsigned int )eFlash2xSectionVal == 2U) { Status = CorruptISOSig(Adapter, eFlash2xSectionVal); } else { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "BcmFlash2xCorruptSig"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___2.format = "%s:\nGiven Section <%d>does not have Header"; descriptor___2.lineno = 3803U; descriptor___2.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nGiven Section <%d>does not have Header", "BcmFlash2xCorruptSig", (unsigned int )eFlash2xSectionVal); } else { } } else { } return (0); } return (Status); } } INT BcmFlash2xWriteSig(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val eFlashSectionVal ) { unsigned int uiSignature ; unsigned int uiOffset ; struct _ddebug descriptor___0 ; long tmp___0 ; int tmp___3 ; int tmp___6 ; int tmp___9 ; struct _ddebug descriptor___10 ; long tmp___13 ; { uiSignature = 0U; uiOffset = 0U; if (! Adapter->bSigCorrupted) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "BcmFlash2xWriteSig"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___0.format = "%s:\nSignature is not corrupted by driver, hence not restoring\n"; descriptor___0.lineno = 3827U; descriptor___0.flags = 0U; tmp___0 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___0 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nSignature is not corrupted by driver, hence not restoring\n", "BcmFlash2xWriteSig"); } else { } } else { } return (0); } else { } if (! Adapter->bAllDSDWriteAllow) { tmp___3 = IsSectionWritable(Adapter, eFlashSectionVal); if (tmp___3 == 0) { printk("\016%s:Section is not Writable...Hence can\'t Write signature", "BcmFlash2xWriteSig"); return (-1); } else { } } else { } if (((unsigned int )eFlashSectionVal == 3U || (unsigned int )eFlashSectionVal == 4U) || (unsigned int )eFlashSectionVal == 5U) { uiSignature = 1561185982U; uiOffset = (Adapter->psFlash2xCSInfo)->OffsetFromDSDStartForDSDHeader; uiOffset = uiOffset + 1020U; tmp___6 = ReadDSDSignature(Adapter, eFlashSectionVal); if (((unsigned int )tmp___6 & 4278190080U) != 0U) { printk("\016%s:Corrupted Pattern is not there. Hence won\'t write sig", "BcmFlash2xWriteSig"); return (-1); } else { } } else if ((unsigned int )eFlashSectionVal == 1U || (unsigned int )eFlashSectionVal == 2U) { uiSignature = 1342295742U; uiOffset = 0U; tmp___9 = ReadISOSignature(Adapter, eFlashSectionVal); if (((unsigned int )tmp___9 & 4278190080U) != 0U) { printk("\016%s:Currupted Pattern is not there. Hence won\'t write sig", "BcmFlash2xWriteSig"); return (-1); } else { } } else { printk("\016%s:GIVEN SECTION< %d > IS NOT VALID FOR SIG WRITE...", "BcmFlash2xWriteSig", (unsigned int )eFlashSectionVal); return (-1); } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___10.modname = "bcm_wimax"; descriptor___10.function = "BcmFlash2xWriteSig"; descriptor___10.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___10.format = "%s:\nRestoring the signature"; descriptor___10.lineno = 3861U; descriptor___10.flags = 0U; tmp___13 = ldv__builtin_expect((long )descriptor___10.flags & 1L, 0L); if (tmp___13 != 0L) { __dynamic_pr_debug(& descriptor___10, "%s:\nRestoring the signature", "BcmFlash2xWriteSig"); } else { } } else { } Adapter->bHeaderChangeAllowed = 1; Adapter->bSigCorrupted = 0; BcmFlash2xBulkWrite(Adapter, & uiSignature, eFlashSectionVal, uiOffset, 4U, 1U); Adapter->bHeaderChangeAllowed = 0; return (0); } } INT validateFlash2xReadWrite(struct bcm_mini_adapter *Adapter , struct bcm_flash2x_readwrite *psFlash2xReadWrite ) { unsigned int uiNumOfBytes ; unsigned int uiSectStartOffset ; unsigned int uiSectEndOffset ; bool tmp___1 ; int tmp___2 ; INT tmp___3 ; struct _ddebug descriptor___2 ; long tmp___5 ; int tmp___6 ; INT tmp___7 ; int tmp___8 ; INT tmp___9 ; int tmp___10 ; INT tmp___11 ; int tmp___12 ; INT tmp___13 ; int tmp___14 ; INT tmp___15 ; int tmp___16 ; INT tmp___17 ; struct _ddebug descriptor___4 ; long tmp___19 ; int tmp___20 ; struct _ddebug descriptor___6 ; long tmp___22 ; { uiNumOfBytes = 0U; uiSectStartOffset = 0U; uiSectEndOffset = 0U; uiNumOfBytes = psFlash2xReadWrite->numOfBytes; tmp___1 = IsSectionExistInFlash(Adapter, psFlash2xReadWrite->Section); if (tmp___1) { tmp___2 = 0; } else { tmp___2 = 1; } if (tmp___2) { printk("\016%s:Section<%x> does not exist in Flash", "validateFlash2xReadWrite", (unsigned int )psFlash2xReadWrite->Section); return (0); } else { } tmp___3 = BcmGetSectionValStartOffset(Adapter, psFlash2xReadWrite->Section); uiSectStartOffset = (unsigned int )tmp___3; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "validateFlash2xReadWrite"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___2.format = "%s:\nStart offset :%x ,section :%d\n"; descriptor___2.lineno = 3893U; descriptor___2.flags = 0U; tmp___5 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___5 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nStart offset :%x ,section :%d\n", "validateFlash2xReadWrite", uiSectStartOffset, (unsigned int )psFlash2xReadWrite->Section); } else { } } else { } if ((unsigned int )psFlash2xReadWrite->Section == 1U || (unsigned int )psFlash2xReadWrite->Section == 2U) { if ((unsigned int )psFlash2xReadWrite->Section == 1U) { tmp___6 = BcmGetSectionValEndOffset(Adapter, 1); tmp___7 = BcmGetSectionValStartOffset(Adapter, 1); tmp___8 = BcmGetSectionValEndOffset(Adapter, 11); tmp___9 = BcmGetSectionValStartOffset(Adapter, 11); tmp___10 = BcmGetSectionValEndOffset(Adapter, 12); tmp___11 = BcmGetSectionValStartOffset(Adapter, 12); uiSectEndOffset = (unsigned int )(((((tmp___6 - tmp___7) + tmp___8) - tmp___9) + tmp___10) - tmp___11); } else if ((unsigned int )psFlash2xReadWrite->Section == 2U) { tmp___12 = BcmGetSectionValEndOffset(Adapter, 2); tmp___13 = BcmGetSectionValStartOffset(Adapter, 2); tmp___14 = BcmGetSectionValEndOffset(Adapter, 13); tmp___15 = BcmGetSectionValStartOffset(Adapter, 13); tmp___16 = BcmGetSectionValEndOffset(Adapter, 14); tmp___17 = BcmGetSectionValStartOffset(Adapter, 14); uiSectEndOffset = (unsigned int )(((((tmp___12 - tmp___13) + tmp___14) - tmp___15) + tmp___16) - tmp___17); } else { } uiSectEndOffset = uiSectStartOffset + uiSectEndOffset; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___4.modname = "bcm_wimax"; descriptor___4.function = "validateFlash2xReadWrite"; descriptor___4.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___4.format = "%s:\nTotal size of the ISO Image :%x"; descriptor___4.lineno = 3916U; descriptor___4.flags = 0U; tmp___19 = ldv__builtin_expect((long )descriptor___4.flags & 1L, 0L); if (tmp___19 != 0L) { __dynamic_pr_debug(& descriptor___4, "%s:\nTotal size of the ISO Image :%x", "validateFlash2xReadWrite", uiSectEndOffset); } else { } } else { } } else { tmp___20 = BcmGetSectionValEndOffset(Adapter, psFlash2xReadWrite->Section); uiSectEndOffset = (unsigned int )tmp___20; } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "validateFlash2xReadWrite"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___6.format = "%s:\nEnd offset :%x\n"; descriptor___6.lineno = 3920U; descriptor___6.flags = 0U; tmp___22 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___22 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nEnd offset :%x\n", "validateFlash2xReadWrite", uiSectEndOffset); } else { } } else { } if (psFlash2xReadWrite->offset > uiSectEndOffset) { printk("\016%s:Invalid Request....", "validateFlash2xReadWrite"); return (0); } else { } if (uiNumOfBytes > uiSectEndOffset) { printk("\016%s:Invalid Request....", "validateFlash2xReadWrite"); return (0); } else { } if ((psFlash2xReadWrite->offset + uiSectStartOffset) + uiNumOfBytes <= uiSectEndOffset) { return (1); } else { printk("\016%s:Invalid Request....", "validateFlash2xReadWrite"); return (0); } } } INT IsFlash2x(struct bcm_mini_adapter *Adapter ) { { if (Adapter->uiFlashLayoutMajorVersion > 1U) { return (1); } else { return (0); } } } static int GetFlashBaseAddr(struct bcm_mini_adapter *Adapter ) { unsigned int uiBaseAddr ; { uiBaseAddr = 0U; if ((int )Adapter->bDDRInitDone) { if ((Adapter->uiFlashLayoutMajorVersion != 0U && ! Adapter->bFlashRawRead) && (Adapter->uiFlashLayoutMajorVersion != 1U || Adapter->uiFlashLayoutMinorVersion != 1U)) { uiBaseAddr = Adapter->uiFlashBaseAdd; } else { uiBaseAddr = 469762048U; } } else if ((Adapter->uiFlashLayoutMajorVersion != 0U && ! Adapter->bFlashRawRead) && (Adapter->uiFlashLayoutMajorVersion != 1U || Adapter->uiFlashLayoutMinorVersion != 1U)) { uiBaseAddr = Adapter->uiFlashBaseAdd | 520093696U; } else { uiBaseAddr = 520093696U; } return ((int )uiBaseAddr); } } INT BcmCopySection(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val SrcSection , enum bcm_flash2x_section_val DstSection , unsigned int offset , unsigned int numOfBytes ) { unsigned int BuffSize ; unsigned int BytesToBeCopied ; PUCHAR pBuff ; int Status ; int tmp___5 ; INT tmp___6 ; struct _ddebug descriptor___6 ; long tmp___8 ; int tmp___11 ; INT tmp___12 ; int tmp___15 ; INT tmp___16 ; void *tmp___17 ; { BuffSize = 0U; BytesToBeCopied = 0U; pBuff = (PUCHAR )0U; Status = 0; if ((unsigned int )SrcSection == (unsigned int )DstSection) { printk("\016%s:Source and Destination should be different ...try again", "BcmCopySection"); return (-22); } else { } if (((unsigned int )SrcSection != 3U && (unsigned int )SrcSection != 4U) && (unsigned int )SrcSection != 5U) { printk("\016%s:Source should be DSD subsection", "BcmCopySection"); return (-22); } else { } if (((unsigned int )DstSection != 3U && (unsigned int )DstSection != 4U) && (unsigned int )DstSection != 5U) { printk("\016%s:Destination should be DSD subsection", "BcmCopySection"); return (-22); } else { } if (numOfBytes == 0U) { tmp___5 = BcmGetSectionValEndOffset(Adapter, SrcSection); tmp___6 = BcmGetSectionValStartOffset(Adapter, SrcSection); numOfBytes = (unsigned int )(tmp___5 - tmp___6); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "BcmCopySection"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___6.format = "%s:\nSection Size :0x%x"; descriptor___6.lineno = 4039U; descriptor___6.flags = 0U; tmp___8 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___8 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nSection Size :0x%x", "BcmCopySection", numOfBytes); } else { } } else { } } else { } tmp___11 = BcmGetSectionValEndOffset(Adapter, SrcSection); tmp___12 = BcmGetSectionValStartOffset(Adapter, SrcSection); if (offset + numOfBytes > (unsigned int )(tmp___11 - tmp___12)) { printk("\016%s: Input parameters going beyond the section offS: %x numB: %x of Source Section\n", "BcmCopySection", offset, numOfBytes); return (-22); } else { } tmp___15 = BcmGetSectionValEndOffset(Adapter, DstSection); tmp___16 = BcmGetSectionValStartOffset(Adapter, DstSection); if (offset + numOfBytes > (unsigned int )(tmp___15 - tmp___16)) { printk("\016%s:Input parameters going beyond the section offS: %x numB: %x of Destination Section\n", "BcmCopySection", offset, numOfBytes); return (-22); } else { } if (Adapter->uiSectorSize < numOfBytes) { BuffSize = Adapter->uiSectorSize; } else { BuffSize = numOfBytes; } tmp___17 = kzalloc((size_t )BuffSize, 208U); pBuff = (PUCHAR )tmp___17; if ((unsigned long )pBuff == (unsigned long )((PUCHAR )0U)) { printk("\016%s:Memory allocation failed.. ", "BcmCopySection"); return (-12); } else { } BytesToBeCopied = Adapter->uiSectorSize; if (offset % Adapter->uiSectorSize != 0U) { BytesToBeCopied = Adapter->uiSectorSize - offset % Adapter->uiSectorSize; } else { } if (BytesToBeCopied > numOfBytes) { BytesToBeCopied = numOfBytes; } else { } Adapter->bHeaderChangeAllowed = 1; ldv_52855: Status = BcmFlash2xBulkRead(Adapter, (unsigned int *)pBuff, SrcSection, offset, BytesToBeCopied); if (Status != 0) { printk("\016%s:Read failed at offset :%d for NOB :%d", "BcmCopySection", (unsigned int )SrcSection, BytesToBeCopied); goto ldv_52852; } else { } Status = BcmFlash2xBulkWrite(Adapter, (unsigned int *)pBuff, DstSection, offset, BytesToBeCopied, 0U); if (Status != 0) { printk("\016%s:Write failed at offset :%d for NOB :%d", "BcmCopySection", (unsigned int )DstSection, BytesToBeCopied); goto ldv_52852; } else { } offset = offset + BytesToBeCopied; numOfBytes = numOfBytes - BytesToBeCopied; if (numOfBytes != 0U) { if (Adapter->uiSectorSize < numOfBytes) { BytesToBeCopied = Adapter->uiSectorSize; } else { BytesToBeCopied = numOfBytes; } } else { } if (numOfBytes != 0U) { goto ldv_52855; } else { } ldv_52852: kfree((void const *)pBuff); Adapter->bHeaderChangeAllowed = 0; return (Status); } } static int SaveHeaderIfPresent(struct bcm_mini_adapter *Adapter , PUCHAR pBuff , unsigned int uiOffset ) { unsigned int offsetToProtect ; unsigned int HeaderSizeToProtect ; bool bHasHeader ; PUCHAR pTempBuff ; unsigned int uiSectAlignAddr ; unsigned int sig ; int tmp ; int tmp___0 ; int tmp___1 ; INT tmp___2 ; INT tmp___3 ; void *tmp___4 ; struct _ddebug descriptor___1 ; long tmp___7 ; size_t __len ; void *__ret ; __u32 tmp___8 ; struct _ddebug descriptor___3 ; long tmp___10 ; struct _ddebug descriptor___5 ; long tmp___12 ; struct _ddebug descriptor___7 ; long tmp___14 ; { offsetToProtect = 0U; HeaderSizeToProtect = 0U; bHasHeader = 0; pTempBuff = (PUCHAR )0U; uiSectAlignAddr = 0U; sig = 0U; uiSectAlignAddr = - Adapter->uiSectorSize & uiOffset; tmp = BcmGetSectionValEndOffset(Adapter, 5); if ((UINT )tmp - Adapter->uiSectorSize == uiSectAlignAddr) { offsetToProtect = (Adapter->psFlash2xCSInfo)->OffsetFromDSDStartForDSDHeader % Adapter->uiSectorSize; HeaderSizeToProtect = 1024U; bHasHeader = 1; } else { tmp___0 = BcmGetSectionValEndOffset(Adapter, 4); if ((UINT )tmp___0 - Adapter->uiSectorSize == uiSectAlignAddr) { offsetToProtect = (Adapter->psFlash2xCSInfo)->OffsetFromDSDStartForDSDHeader % Adapter->uiSectorSize; HeaderSizeToProtect = 1024U; bHasHeader = 1; } else { tmp___1 = BcmGetSectionValEndOffset(Adapter, 3); if ((UINT )tmp___1 - Adapter->uiSectorSize == uiSectAlignAddr) { offsetToProtect = (Adapter->psFlash2xCSInfo)->OffsetFromDSDStartForDSDHeader % Adapter->uiSectorSize; HeaderSizeToProtect = 1024U; bHasHeader = 1; } else { } } } tmp___2 = BcmGetSectionValStartOffset(Adapter, 1); if ((unsigned int )tmp___2 == uiSectAlignAddr) { offsetToProtect = 0U; HeaderSizeToProtect = 256U; bHasHeader = 1; } else { tmp___3 = BcmGetSectionValStartOffset(Adapter, 2); if ((unsigned int )tmp___3 == uiSectAlignAddr) { offsetToProtect = 0U; HeaderSizeToProtect = 256U; bHasHeader = 1; } else { } } if ((int )bHasHeader && ! Adapter->bHeaderChangeAllowed) { tmp___4 = kzalloc((size_t )HeaderSizeToProtect, 208U); pTempBuff = (PUCHAR )tmp___4; if ((unsigned long )pTempBuff == (unsigned long )((PUCHAR )0U)) { printk("\016%s:Memory allocation failed", "SaveHeaderIfPresent"); return (-12); } else { } BeceemFlashBulkRead(Adapter, (unsigned int *)pTempBuff, uiSectAlignAddr + offsetToProtect, HeaderSizeToProtect); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___1.modname = "bcm_wimax"; descriptor___1.function = "SaveHeaderIfPresent"; descriptor___1.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___1.format = "%s:\n"; descriptor___1.lineno = 4148U; descriptor___1.flags = 0U; tmp___7 = ldv__builtin_expect((long )descriptor___1.flags & 1L, 0L); if (tmp___7 != 0L) { __dynamic_pr_debug(& descriptor___1, "%s:\n", "SaveHeaderIfPresent"); } else { } print_hex_dump("\017", " ", 2, 16, 1, (void const *)pTempBuff, (size_t )HeaderSizeToProtect, 0); } else { } __len = (size_t )HeaderSizeToProtect; __ret = memcpy((void *)pBuff + (unsigned long )offsetToProtect, (void const *)pTempBuff, __len); kfree((void const *)pTempBuff); } else { } if ((int )bHasHeader && (int )Adapter->bSigCorrupted) { sig = *((unsigned int *)(pBuff + ((unsigned long )offsetToProtect + 1020UL))); tmp___8 = __fswab32(sig); sig = tmp___8; if ((sig & 4278190080U) != 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___3.modname = "bcm_wimax"; descriptor___3.function = "SaveHeaderIfPresent"; descriptor___3.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___3.format = "%s:\nDesired pattern is not at sig offset. Hence won\'t restore"; descriptor___3.lineno = 4158U; descriptor___3.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___3.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___3, "%s:\nDesired pattern is not at sig offset. Hence won\'t restore", "SaveHeaderIfPresent"); } else { } } else { } Adapter->bSigCorrupted = 0; return (0); } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___5.modname = "bcm_wimax"; descriptor___5.function = "SaveHeaderIfPresent"; descriptor___5.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___5.format = "%s:\n Corrupted sig is :%X"; descriptor___5.lineno = 4162U; descriptor___5.flags = 0U; tmp___12 = ldv__builtin_expect((long )descriptor___5.flags & 1L, 0L); if (tmp___12 != 0L) { __dynamic_pr_debug(& descriptor___5, "%s:\n Corrupted sig is :%X", "SaveHeaderIfPresent", sig); } else { } } else { } *((unsigned int *)(pBuff + ((unsigned long )offsetToProtect + 1020UL))) = 1561185982U; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___7.modname = "bcm_wimax"; descriptor___7.function = "SaveHeaderIfPresent"; descriptor___7.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___7.format = "%s:\nRestoring the signature in Header Write only"; descriptor___7.lineno = 4164U; descriptor___7.flags = 0U; tmp___14 = ldv__builtin_expect((long )descriptor___7.flags & 1L, 0L); if (tmp___14 != 0L) { __dynamic_pr_debug(& descriptor___7, "%s:\nRestoring the signature in Header Write only", "SaveHeaderIfPresent"); } else { } } else { } Adapter->bSigCorrupted = 0; } else { } return (0); } } static int BcmDoChipSelect(struct bcm_mini_adapter *Adapter , unsigned int offset ) { unsigned int FlashConfig ; int ChipNum ; unsigned int GPIOConfig ; unsigned int PartNum ; { FlashConfig = 0U; ChipNum = 0; GPIOConfig = 0U; PartNum = 0U; ChipNum = (int )(offset / 16777216U); if (Adapter->SelectedChip == ChipNum) { return (0); } else { } Adapter->SelectedChip = ChipNum; rdmalt(Adapter, 2936025168U, & FlashConfig, 4UL); rdmalt(Adapter, 2936012848U, & GPIOConfig, 4UL); switch (ChipNum) { case 0: PartNum = 0U; goto ldv_52889; case 1: PartNum = 3U; GPIOConfig = GPIOConfig | 16384U; goto ldv_52889; case 2: PartNum = 1U; GPIOConfig = GPIOConfig | 4096U; goto ldv_52889; case 3: PartNum = 2U; GPIOConfig = GPIOConfig | 8192U; goto ldv_52889; } ldv_52889: ; if (((FlashConfig >> 12) & 3U) == PartNum) { return (0); } else { } FlashConfig = FlashConfig & 4294955007U; FlashConfig = (PartNum << 12) | FlashConfig; wrmalt(Adapter, 2936012848U, & GPIOConfig, 4UL); __const_udelay(429500UL); wrmalt(Adapter, 2936025168U, & FlashConfig, 4UL); __const_udelay(429500UL); return (0); } } static int ReadDSDSignature(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val dsd ) { unsigned int uiDSDsig ; __u32 tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; { uiDSDsig = 0U; if (((unsigned int )dsd != 3U && (unsigned int )dsd != 4U) && (unsigned int )dsd != 5U) { printk("\016%s:passed section value is not for DSDs", "ReadDSDSignature"); return (-1); } else { } BcmFlash2xBulkRead(Adapter, & uiDSDsig, dsd, (Adapter->psFlash2xCSInfo)->OffsetFromDSDStartForDSDHeader + 1020U, 4U); tmp___1 = __fswab32(uiDSDsig); uiDSDsig = tmp___1; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "ReadDSDSignature"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___2.format = "%s:\nDSD SIG :%x"; descriptor___2.lineno = 4272U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nDSD SIG :%x", "ReadDSDSignature", uiDSDsig); } else { } } else { } return ((int )uiDSDsig); } } static int ReadDSDPriority(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val dsd ) { unsigned int uiDSDPri ; __u32 tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; int tmp___2 ; int tmp___3 ; { uiDSDPri = 4294967295U; tmp___3 = IsSectionWritable(Adapter, dsd); if (tmp___3 != 0) { tmp___2 = ReadDSDSignature(Adapter, dsd); if (tmp___2 == -1093792419) { BcmFlash2xBulkRead(Adapter, & uiDSDPri, dsd, (Adapter->psFlash2xCSInfo)->OffsetFromDSDStartForDSDHeader + 8U, 4U); tmp = __fswab32(uiDSDPri); uiDSDPri = tmp; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "ReadDSDPriority"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___0.format = "%s:\nDSD<%x> Priority :%x"; descriptor___0.lineno = 4293U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nDSD<%x> Priority :%x", "ReadDSDPriority", (unsigned int )dsd, uiDSDPri); } else { } } else { } } else { } } else { } return ((int )uiDSDPri); } } static enum bcm_flash2x_section_val getHighestPriDSD(struct bcm_mini_adapter *Adapter ) { int DSDHighestPri ; int DsdPri ; enum bcm_flash2x_section_val HighestPriDSD ; int tmp ; int tmp___0 ; int tmp___1 ; struct _ddebug descriptor___0 ; long tmp___3 ; { DSDHighestPri = -1; DsdPri = 0; HighestPriDSD = 0; tmp = IsSectionWritable(Adapter, 5); if (tmp != 0) { DSDHighestPri = ReadDSDPriority(Adapter, 5); HighestPriDSD = 5; } else { } tmp___0 = IsSectionWritable(Adapter, 4); if (tmp___0 != 0) { DsdPri = ReadDSDPriority(Adapter, 4); if (DSDHighestPri < DsdPri) { DSDHighestPri = DsdPri; HighestPriDSD = 4; } else { } } else { } tmp___1 = IsSectionWritable(Adapter, 3); if (tmp___1 != 0) { DsdPri = ReadDSDPriority(Adapter, 3); if (DSDHighestPri < DsdPri) { DSDHighestPri = DsdPri; HighestPriDSD = 3; } else { } } else { } if ((unsigned int )HighestPriDSD != 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "getHighestPriDSD"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___0.format = "%s:\nHighest DSD :%x , and its Pri :%x"; descriptor___0.lineno = 4327U; descriptor___0.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nHighest DSD :%x , and its Pri :%x", "getHighestPriDSD", (unsigned int )HighestPriDSD, DSDHighestPri); } else { } } else { } } else { } return (HighestPriDSD); } } static int ReadISOSignature(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val iso ) { unsigned int uiISOsig ; __u32 tmp___1 ; struct _ddebug descriptor___2 ; long tmp___3 ; { uiISOsig = 0U; if ((unsigned int )iso != 1U && (unsigned int )iso != 2U) { printk("\016%s:passed section value is not for ISOs", "ReadISOSignature"); return (-1); } else { } BcmFlash2xBulkRead(Adapter, & uiISOsig, iso, 0U, 4U); tmp___1 = __fswab32(uiISOsig); uiISOsig = tmp___1; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___2.modname = "bcm_wimax"; descriptor___2.function = "ReadISOSignature"; descriptor___2.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___2.format = "%s:\nISO SIG :%x"; descriptor___2.lineno = 4350U; descriptor___2.flags = 0U; tmp___3 = ldv__builtin_expect((long )descriptor___2.flags & 1L, 0L); if (tmp___3 != 0L) { __dynamic_pr_debug(& descriptor___2, "%s:\nISO SIG :%x", "ReadISOSignature", uiISOsig); } else { } } else { } return ((int )uiISOsig); } } static int ReadISOPriority(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val iso ) { unsigned int ISOPri ; __u32 tmp ; struct _ddebug descriptor___0 ; long tmp___1 ; int tmp___2 ; int tmp___3 ; { ISOPri = 4294967295U; tmp___3 = IsSectionWritable(Adapter, iso); if (tmp___3 != 0) { tmp___2 = ReadISOSignature(Adapter, iso); if (tmp___2 == -1093795504) { BcmFlash2xBulkRead(Adapter, & ISOPri, iso, 12U, 4U); tmp = __fswab32(ISOPri); ISOPri = tmp; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "ReadISOPriority"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___0.format = "%s:\nISO<%x> Priority :%x"; descriptor___0.lineno = 4367U; descriptor___0.flags = 0U; tmp___1 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___1 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nISO<%x> Priority :%x", "ReadISOPriority", (unsigned int )iso, ISOPri); } else { } } else { } } else { } } else { } return ((int )ISOPri); } } static enum bcm_flash2x_section_val getHighestPriISO(struct bcm_mini_adapter *Adapter ) { int ISOHighestPri ; int ISOPri ; enum bcm_flash2x_section_val HighestPriISO ; int tmp ; int tmp___0 ; struct _ddebug descriptor___0 ; long tmp___2 ; { ISOHighestPri = -1; ISOPri = 0; HighestPriISO = 0; tmp = IsSectionWritable(Adapter, 2); if (tmp != 0) { ISOHighestPri = ReadISOPriority(Adapter, 2); HighestPriISO = 2; } else { } tmp___0 = IsSectionWritable(Adapter, 1); if (tmp___0 != 0) { ISOPri = ReadISOPriority(Adapter, 1); if (ISOHighestPri < ISOPri) { ISOHighestPri = ISOPri; HighestPriISO = 1; } else { } } else { } if ((unsigned int )HighestPriISO != 0U) { if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___0.modname = "bcm_wimax"; descriptor___0.function = "getHighestPriISO"; descriptor___0.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___0.format = "%s:\nHighest ISO :%x and its Pri :%x"; descriptor___0.lineno = 4393U; descriptor___0.flags = 0U; tmp___2 = ldv__builtin_expect((long )descriptor___0.flags & 1L, 0L); if (tmp___2 != 0L) { __dynamic_pr_debug(& descriptor___0, "%s:\nHighest ISO :%x and its Pri :%x", "getHighestPriISO", (unsigned int )HighestPriISO, ISOHighestPri); } else { } } else { } } else { } return (HighestPriISO); } } static int WriteToFlashWithoutSectorErase(struct bcm_mini_adapter *Adapter , PUINT pBuff , enum bcm_flash2x_section_val eFlash2xSectionVal , unsigned int uiOffset , unsigned int uiNumBytes ) { unsigned int uiTemp ; unsigned int value ; unsigned int i ; unsigned int uiPartOffset ; unsigned int uiStartOffset ; int Status ; PUCHAR pcBuff ; INT tmp___1 ; INT tmp___2 ; int tmp___3 ; int tmp___4 ; { uiTemp = 0U; value = 0U; i = 0U; uiPartOffset = 0U; uiStartOffset = 0U; Status = 0; pcBuff = (unsigned char *)pBuff; if ((ULONG )uiNumBytes % Adapter->ulFlashWriteSize != 0UL) { printk("\016%s:Writing without Sector Erase for non-FlashWriteSize number of bytes 0x%x\n", "WriteToFlashWithoutSectorErase", uiNumBytes); return (-1); } else { } tmp___1 = BcmGetSectionValStartOffset(Adapter, eFlash2xSectionVal); uiStartOffset = (unsigned int )tmp___1; tmp___3 = IsSectionExistInVendorInfo(Adapter, eFlash2xSectionVal); if (tmp___3 != 0) { tmp___2 = vendorextnWriteSectionWithoutErase((PVOID )Adapter, pcBuff, eFlash2xSectionVal, uiOffset, uiNumBytes); return (tmp___2); } else { } uiOffset = uiOffset + uiStartOffset; rdmalt(Adapter, 251661440U, & uiTemp, 4UL); value = 0U; wrmalt(Adapter, 251661440U, & value, 4UL); Adapter->SelectedChip = -1; BcmDoChipSelect(Adapter, uiOffset); tmp___4 = GetFlashBaseAddr(Adapter); uiPartOffset = (uiOffset & 16777215U) + (unsigned int )tmp___4; i = 0U; goto ldv_52966; ldv_52965: ; if (Adapter->ulFlashWriteSize == 1UL) { Status = flashByteWrite(Adapter, uiPartOffset, (PVOID )pcBuff); } else { Status = flashWrite(Adapter, uiPartOffset, (PVOID )pcBuff); } if (Status != 0) { goto ldv_52964; } else { } pcBuff = pcBuff + Adapter->ulFlashWriteSize; uiPartOffset = (unsigned int )Adapter->ulFlashWriteSize + uiPartOffset; i = (unsigned int )Adapter->ulFlashWriteSize + i; ldv_52966: ; if (i < uiNumBytes) { goto ldv_52965; } else { } ldv_52964: wrmalt(Adapter, 251661440U, & uiTemp, 4UL); Adapter->SelectedChip = -1; return (Status); } } bool IsSectionExistInFlash(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val section ) { bool SectionPresent ; bool tmp ; int tmp___0 ; bool tmp___1 ; int tmp___2 ; { SectionPresent = 0; switch ((unsigned int )section) { case 1U: ; if ((Adapter->psFlash2xCSInfo)->OffsetISOImage1Part1Start != 3149651421U) { tmp = IsNonCDLessDevice(Adapter); if (tmp) { tmp___0 = 0; } else { tmp___0 = 1; } if (tmp___0) { SectionPresent = 1; } else { } } else { } goto ldv_52973; case 2U: ; if ((Adapter->psFlash2xCSInfo)->OffsetISOImage2Part1Start != 3149651421U) { tmp___1 = IsNonCDLessDevice(Adapter); if (tmp___1) { tmp___2 = 0; } else { tmp___2 = 1; } if (tmp___2) { SectionPresent = 1; } else { } } else { } goto ldv_52973; case 3U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSDStart != 3149651421U) { SectionPresent = 1; } else { } goto ldv_52973; case 4U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD1Start != 3149651421U) { SectionPresent = 1; } else { } goto ldv_52973; case 5U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForDSD2Start != 3149651421U) { SectionPresent = 1; } else { } goto ldv_52973; case 6U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSAStart != 3149651421U) { SectionPresent = 1; } else { } goto ldv_52973; case 7U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSA1Start != 3149651421U) { SectionPresent = 1; } else { } goto ldv_52973; case 8U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForVSA2Start != 3149651421U) { SectionPresent = 1; } else { } goto ldv_52973; case 9U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForScsiFirmware != 3149651421U) { SectionPresent = 1; } else { } goto ldv_52973; case 10U: ; if ((Adapter->psFlash2xCSInfo)->OffsetFromZeroForControlSectionStart != 3149651421U) { SectionPresent = 1; } else { } goto ldv_52973; default: printk("\016%s:Section Does not exist in Flash 2.x", "IsSectionExistInFlash"); SectionPresent = 0; } ldv_52973: ; return (SectionPresent); } } static int IsSectionWritable(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val Section ) { int offset ; int Status ; bool tmp___1 ; int tmp___2 ; int tmp___5 ; B_UINT8 tmp___6 ; { offset = -1; Status = 0; tmp___1 = IsSectionExistInFlash(Adapter, Section); if (tmp___1) { tmp___2 = 0; } else { tmp___2 = 1; } if (tmp___2) { printk("\016%s:Section <%d> does not exist", "IsSectionWritable", (unsigned int )Section); return (0); } else { } offset = BcmGetSectionValStartOffset(Adapter, Section); if (offset == -1) { printk("\016%s:Section<%d> does not exist", "IsSectionWritable", (unsigned int )Section); return (0); } else { } tmp___5 = IsSectionExistInVendorInfo(Adapter, Section); if (tmp___5 != 0) { return (((Adapter->psFlash2xVendorInfo)->VendorSection[(unsigned int )Section].AccessFlags & 4U) == 0U); } else { } tmp___6 = IsOffsetWritable(Adapter, (unsigned int )offset); Status = (int )tmp___6; return (Status); } } static int CorruptDSDSig(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val eFlash2xSectionVal ) { PUCHAR pBuff ; unsigned int sig ; unsigned int uiOffset ; unsigned int BlockStatus ; unsigned int uiSectAlignAddr ; int tmp___1 ; void *tmp___2 ; __u32 tmp___5 ; struct _ddebug descriptor___3 ; long tmp___6 ; ULONG tmp___7 ; struct _ddebug descriptor___7 ; long tmp___11 ; { pBuff = (PUCHAR )0U; sig = 0U; uiOffset = 0U; BlockStatus = 0U; uiSectAlignAddr = 0U; Adapter->bSigCorrupted = 0; if (! Adapter->bAllDSDWriteAllow) { tmp___1 = IsSectionWritable(Adapter, eFlash2xSectionVal); if (tmp___1 != 1) { printk("\016%s:Section is not Writable...Hence can\'t Corrupt signature", "CorruptDSDSig"); return (-1); } else { } } else { } tmp___2 = kzalloc(16UL, 208U); pBuff = (PUCHAR )tmp___2; if ((unsigned long )pBuff == (unsigned long )((PUCHAR )0U)) { printk("\016%s:Can\'t allocate memorey", "CorruptDSDSig"); return (-12); } else { } uiOffset = (Adapter->psFlash2xCSInfo)->OffsetFromDSDStartForDSDHeader + 1024U; uiOffset = uiOffset - 16U; BcmFlash2xBulkRead(Adapter, (unsigned int *)pBuff, eFlash2xSectionVal, uiOffset, 16U); sig = *((unsigned int *)pBuff + 12U); tmp___5 = __fswab32(sig); sig = tmp___5; if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___3.modname = "bcm_wimax"; descriptor___3.function = "CorruptDSDSig"; descriptor___3.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___3.format = "%s:\n"; descriptor___3.lineno = 4563U; descriptor___3.flags = 0U; tmp___6 = ldv__builtin_expect((long )descriptor___3.flags & 1L, 0L); if (tmp___6 != 0L) { __dynamic_pr_debug(& descriptor___3, "%s:\n", "CorruptDSDSig"); } else { } print_hex_dump("\017", " ", 2, 16, 1, (void const *)pBuff, 16UL, 0); } else { } *(pBuff + 12UL) = 0U; if (sig == 3201174877U) { Adapter->bSigCorrupted = 1; if (Adapter->ulFlashWriteSize == 1UL) { uiSectAlignAddr = - Adapter->uiSectorSize & uiOffset; tmp___7 = BcmFlashUnProtectBlock(Adapter, uiSectAlignAddr, Adapter->uiSectorSize); BlockStatus = (unsigned int )tmp___7; WriteToFlashWithoutSectorErase(Adapter, (unsigned int *)pBuff + 12U, eFlash2xSectionVal, uiOffset + 12U, 1U); if (BlockStatus != 0U) { BcmRestoreBlockProtectStatus(Adapter, (ULONG )BlockStatus); BlockStatus = 0U; } else { } } else { WriteToFlashWithoutSectorErase(Adapter, (unsigned int *)pBuff, eFlash2xSectionVal, uiOffset, 16U); } } else { printk("\016%s:BCM Signature is not present in header", "CorruptDSDSig"); kfree((void const *)pBuff); return (-1); } kfree((void const *)pBuff); if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___7.modname = "bcm_wimax"; descriptor___7.function = "CorruptDSDSig"; descriptor___7.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___7.format = "%s:\nCorrupted the signature"; descriptor___7.lineno = 4591U; descriptor___7.flags = 0U; tmp___11 = ldv__builtin_expect((long )descriptor___7.flags & 1L, 0L); if (tmp___11 != 0L) { __dynamic_pr_debug(& descriptor___7, "%s:\nCorrupted the signature", "CorruptDSDSig"); } else { } } else { } return (0); } } static int CorruptISOSig(struct bcm_mini_adapter *Adapter , enum bcm_flash2x_section_val eFlash2xSectionVal ) { PUCHAR pBuff ; unsigned int sig ; unsigned int uiOffset ; int tmp___1 ; void *tmp___2 ; __u32 tmp___5 ; struct _ddebug descriptor___6 ; long tmp___9 ; struct _ddebug descriptor___7 ; long tmp___10 ; { pBuff = (PUCHAR )0U; sig = 0U; uiOffset = 0U; Adapter->bSigCorrupted = 0; tmp___1 = IsSectionWritable(Adapter, eFlash2xSectionVal); if (tmp___1 != 1) { printk("\016%s:Section is not Writable...Hence can\'t Corrupt signature", "CorruptISOSig"); return (-1); } else { } tmp___2 = kzalloc(16UL, 208U); pBuff = (PUCHAR )tmp___2; if ((unsigned long )pBuff == (unsigned long )((PUCHAR )0U)) { printk("\016%s:Can\'t allocate memorey", "CorruptISOSig"); return (-12); } else { } uiOffset = 0U; BcmFlash2xBulkRead(Adapter, (unsigned int *)pBuff, eFlash2xSectionVal, uiOffset, 16U); sig = *((unsigned int *)pBuff); tmp___5 = __fswab32(sig); sig = tmp___5; *pBuff = 0U; if (sig == 3201171792U) { Adapter->bSigCorrupted = 1; WriteToFlashWithoutSectorErase(Adapter, (unsigned int *)pBuff, eFlash2xSectionVal, uiOffset, (unsigned int )Adapter->ulFlashWriteSize); } else { printk("\016%s:BCM Signature is not present in header", "CorruptISOSig"); kfree((void const *)pBuff); return (-1); } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___6.modname = "bcm_wimax"; descriptor___6.function = "CorruptISOSig"; descriptor___6.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___6.format = "%s:\nCorrupted the signature"; descriptor___6.lineno = 4636U; descriptor___6.flags = 0U; tmp___9 = ldv__builtin_expect((long )descriptor___6.flags & 1L, 0L); if (tmp___9 != 0L) { __dynamic_pr_debug(& descriptor___6, "%s:\nCorrupted the signature", "CorruptISOSig"); } else { } } else { } if ((((unsigned long )Adapter != (unsigned long )((struct bcm_mini_adapter *)0) && Adapter->stDebugState.debug_level > 6U) && (Adapter->stDebugState.type & 8U) != 0U) && (Adapter->stDebugState.subtype[8] & 134217728U) != 0U) { descriptor___7.modname = "bcm_wimax"; descriptor___7.function = "CorruptISOSig"; descriptor___7.filename = "/work/ldvuser/mutilin/launch/work/current--X--drivers--X--defaultlinux-3.16-rc1.tar.xz--X--43_2a--X--cpachecker/linux-3.16-rc1.tar.xz/csd_deg_dscv/6201/dscv_tempdir/dscv/ri/43_2a/drivers/staging/bcm/nvm.o.c.prepared"; descriptor___7.format = "%s:\n"; descriptor___7.lineno = 4637U; descriptor___7.flags = 0U; tmp___10 = ldv__builtin_expect((long )descriptor___7.flags & 1L, 0L); if (tmp___10 != 0L) { __dynamic_pr_debug(& descriptor___7, "%s:\n", "CorruptISOSig"); } else { } print_hex_dump("\017", " ", 2, 16, 1, (void const *)pBuff, 16UL, 0); } else { } kfree((void const *)pBuff); return (0); } } bool IsNonCDLessDevice(struct bcm_mini_adapter *Adapter ) { { if ((Adapter->psFlash2xCSInfo)->IsCDLessDeviceBootSig == 3201216519U) { return (1); } else { return (0); } } } int ldv_pskb_expand_head_980(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_982(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_984(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_985(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_986(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_987(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_988(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_989(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_990(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_1026(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_clone_1034(struct sk_buff *ldv_func_arg1 , gfp_t flags ) ; struct sk_buff *ldv_skb_copy_1028(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) ; int ldv_pskb_expand_head_1024(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_1032(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; int ldv_pskb_expand_head_1033(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_1029(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_1030(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; struct sk_buff *ldv___netdev_alloc_skb_1031(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) ; INT vendorextnGetSectionInfo(PVOID pContext , struct bcm_flash2x_vendor_info *pVendorInfo ) { { return (-1); } } INT vendorextnInit(struct bcm_mini_adapter *Adapter ) { { return (0); } } INT vendorextnExit(struct bcm_mini_adapter *Adapter ) { { return (0); } } INT vendorextnIoctl(struct bcm_mini_adapter *Adapter , UINT cmd , ULONG arg ) { { return (65535); } } INT vendorextnReadSection(PVOID pContext , PUCHAR pBuffer , enum bcm_flash2x_section_val SectionVal , UINT offset , UINT numOfBytes ) { { return (-1); } } INT vendorextnWriteSection(PVOID pContext , PUCHAR pBuffer , enum bcm_flash2x_section_val SectionVal , UINT offset , UINT numOfBytes , bool bVerify ) { { return (-1); } } INT vendorextnWriteSectionWithoutErase(PVOID pContext , PUCHAR pBuffer , enum bcm_flash2x_section_val SectionVal , UINT offset , UINT numOfBytes ) { { return (-1); } } int ldv_pskb_expand_head_1024(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_1026(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv_skb_copy_1028(struct sk_buff const *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_copy(ldv_func_arg1, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_1029(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_1030(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } struct sk_buff *ldv___netdev_alloc_skb_1031(struct net_device *ldv_func_arg1 , unsigned int ldv_func_arg2 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = __netdev_alloc_skb(ldv_func_arg1, ldv_func_arg2, flags); return (tmp); } } int ldv_pskb_expand_head_1032(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } int ldv_pskb_expand_head_1033(struct sk_buff *ldv_func_arg1 , int ldv_func_arg2 , int ldv_func_arg3 , gfp_t flags ) { int tmp ; { ldv_check_alloc_flags(flags); tmp = pskb_expand_head(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3, flags); return (tmp); } } struct sk_buff *ldv_skb_clone_1034(struct sk_buff *ldv_func_arg1 , gfp_t flags ) { struct sk_buff *tmp ; { ldv_check_alloc_flags(flags); tmp = skb_clone(ldv_func_arg1, flags); return (tmp); } } __inline static void ldv_error(void); int ldv_spin = 0; void ldv_check_alloc_flags(gfp_t flags ) { { if (ldv_spin == 0 || ! (flags & 16U)) { } else { ldv_error(); } return; } } extern struct page___0 *ldv_some_page(void) ; struct page___0 *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) { struct page___0 *tmp ; { if (ldv_spin == 0 || ! (flags & 16U)) { } else { ldv_error(); } tmp = ldv_some_page(); return (tmp); } } void ldv_check_alloc_nonatomic(void) { { if (ldv_spin == 0) { } else { ldv_error(); } return; } } void ldv_spin_lock(void) { { ldv_spin = 1; return; } } void ldv_spin_unlock(void) { { ldv_spin = 0; return; } } int ldv_spin_trylock(void) { int is_lock ; { is_lock = ldv_undef_int(); if (is_lock) { return (0); } else { ldv_spin = 1; return (1); } } } #include "model/43_2a_consumption_linux-3.16-rc1.tar.xz-43_2a-drivers--staging--bcm--bcm_wimax.ko-entry_point_true-unreach-call.cil.out.env.c" #include "model/common.env.c"