local 14 arch/m68k/fpsp040/fpsp.h | frame and any local variables needed by the FPSP package. local 79 arch/m68k/fpsp040/fpsp.h .set LOCAL_SIZE,192 | bytes needed for local variables local 69 arch/mips/pci/pci-ar71xx.c static inline u32 ar71xx_pci_get_ble(int where, int size, int local) local 75 arch/mips/pci/pci-ar71xx.c t <<= (local) ? 20 : 4; local 139 arch/powerpc/include/asm/book3s/64/mmu-hash.h int ssize, int local); local 158 arch/powerpc/include/asm/book3s/64/mmu-hash.h void (*flush_hash_range)(unsigned long number, int local); local 162 arch/powerpc/include/asm/book3s/64/mmu-hash.h int psize, int ssize, int local); local 58 arch/powerpc/include/asm/book3s/64/tlbflush-hash.h extern void flush_hash_range(unsigned long number, int local); local 190 arch/powerpc/include/asm/trace.h TP_PROTO(unsigned long lpid, unsigned long local, unsigned long rb, local 193 arch/powerpc/include/asm/trace.h TP_ARGS(lpid, local, rb, rs, ric, prs, r), local 196 arch/powerpc/include/asm/trace.h __field(unsigned long, local) local 206 arch/powerpc/include/asm/trace.h __entry->local = local; local 215 arch/powerpc/include/asm/trace.h "prs=0x%lx, r=0x%lx", __entry->lpid, __entry->local, local 536 arch/powerpc/kvm/book3s_hv_rm_xics.c bool local; local 541 arch/powerpc/kvm/book3s_hv_rm_xics.c local = this_icp->server_num == server; local 542 arch/powerpc/kvm/book3s_hv_rm_xics.c if (local) local 627 arch/powerpc/kvm/book3s_xics.c bool local; local 633 arch/powerpc/kvm/book3s_xics.c local = icp->server_num == server; local 634 arch/powerpc/kvm/book3s_xics.c if (!local) { local 691 arch/powerpc/kvm/book3s_xics.c } while (!icp_try_update(icp, old_state, new_state, local)); local 292 arch/powerpc/mm/book3s64/hash_native.c int ssize, int local) local 297 arch/powerpc/mm/book3s64/hash_native.c use_local = local && mmu_has_feature(MMU_FTR_TLBIEL) && !cxl_ctx_in_use(); local 438 arch/powerpc/mm/book3s64/hash_native.c int ret = 0, local = 0; local 475 arch/powerpc/mm/book3s64/hash_native.c local = 1; local 480 arch/powerpc/mm/book3s64/hash_native.c tlbie(vpn, bpsize, apsize, ssize, local); local 578 arch/powerpc/mm/book3s64/hash_native.c int bpsize, int apsize, int ssize, int local) local 610 arch/powerpc/mm/book3s64/hash_native.c tlbie(vpn, bpsize, apsize, ssize, local); local 619 arch/powerpc/mm/book3s64/hash_native.c int psize, int ssize, int local) local 673 arch/powerpc/mm/book3s64/hash_native.c tlbie(vpn, psize, actual_psize, ssize, local); local 681 arch/powerpc/mm/book3s64/hash_native.c int psize, int ssize, int local) local 802 arch/powerpc/mm/book3s64/hash_native.c static void native_flush_hash_range(unsigned long number, int local) local 817 arch/powerpc/mm/book3s64/hash_native.c use_local = local && mmu_has_feature(MMU_FTR_TLBIEL) && local 147 arch/powerpc/mm/book3s64/hash_tlb.c int i, local; local 150 arch/powerpc/mm/book3s64/hash_tlb.c local = mm_is_thread_local(batch->mm); local 153 arch/powerpc/mm/book3s64/hash_tlb.c batch->psize, batch->ssize, local); local 155 arch/powerpc/mm/book3s64/hash_tlb.c flush_hash_range(i, local); local 1678 arch/powerpc/mm/book3s64/hash_utils.c static inline void tm_flush_hash_page(int local) local 1688 arch/powerpc/mm/book3s64/hash_utils.c if (local && cpu_has_feature(CPU_FTR_TM) && current->thread.regs && local 1695 arch/powerpc/mm/book3s64/hash_utils.c static inline void tm_flush_hash_page(int local) local 1726 arch/powerpc/mm/book3s64/hash_utils.c int local = flags & HPTE_LOCAL_UPDATE; local 1737 arch/powerpc/mm/book3s64/hash_utils.c ssize, local); local 1740 arch/powerpc/mm/book3s64/hash_utils.c tm_flush_hash_page(local); local 1752 arch/powerpc/mm/book3s64/hash_utils.c int local = flags & HPTE_LOCAL_UPDATE; local 1766 arch/powerpc/mm/book3s64/hash_utils.c psize, ssize, local); local 1794 arch/powerpc/mm/book3s64/hash_utils.c MMU_PAGE_16M, ssize, local); local 1797 arch/powerpc/mm/book3s64/hash_utils.c tm_flush_hash_page(local); local 1801 arch/powerpc/mm/book3s64/hash_utils.c void flush_hash_range(unsigned long number, int local) local 1804 arch/powerpc/mm/book3s64/hash_utils.c mmu_hash_ops.flush_hash_range(number, local); local 1812 arch/powerpc/mm/book3s64/hash_utils.c batch->psize, batch->ssize, local); local 689 arch/powerpc/mm/book3s64/radix_tlb.c goto local; local 701 arch/powerpc/mm/book3s64/radix_tlb.c local: local 722 arch/powerpc/mm/book3s64/radix_tlb.c goto local; local 730 arch/powerpc/mm/book3s64/radix_tlb.c local: local 761 arch/powerpc/mm/book3s64/radix_tlb.c goto local; local 768 arch/powerpc/mm/book3s64/radix_tlb.c local: local 843 arch/powerpc/mm/book3s64/radix_tlb.c bool local, full; local 858 arch/powerpc/mm/book3s64/radix_tlb.c local = false; local 863 arch/powerpc/mm/book3s64/radix_tlb.c local = true; local 869 arch/powerpc/mm/book3s64/radix_tlb.c if (local) { local 904 arch/powerpc/mm/book3s64/radix_tlb.c if (local) { local 1081 arch/powerpc/mm/book3s64/radix_tlb.c bool local, full; local 1096 arch/powerpc/mm/book3s64/radix_tlb.c local = false; local 1101 arch/powerpc/mm/book3s64/radix_tlb.c local = true; local 1107 arch/powerpc/mm/book3s64/radix_tlb.c if (local) { local 1123 arch/powerpc/mm/book3s64/radix_tlb.c if (local) local 1169 arch/powerpc/mm/book3s64/radix_tlb.c goto local; local 1177 arch/powerpc/mm/book3s64/radix_tlb.c local: local 154 arch/powerpc/platforms/ps3/htab.c int psize, int apsize, int ssize, int local) local 974 arch/powerpc/platforms/pseries/lpar.c int ssize, int local) local 981 arch/powerpc/platforms/pseries/lpar.c slot, vpn, psize, local); local 1186 arch/powerpc/platforms/pseries/lpar.c int psize, int ssize, int local) local 1236 arch/powerpc/platforms/pseries/lpar.c int psize, int ssize, int local) local 1480 arch/powerpc/platforms/pseries/lpar.c static void pSeries_lpar_flush_hash_range(unsigned long number, int local) local 1513 arch/powerpc/platforms/pseries/lpar.c 0, ssize, local); local 93 arch/riscv/include/asm/cacheflush.h #define flush_icache_mm(mm, local) flush_icache_all() local 98 arch/riscv/include/asm/cacheflush.h void flush_icache_mm(struct mm_struct *mm, bool local); local 29 arch/riscv/mm/cacheflush.c void flush_icache_mm(struct mm_struct *mm, bool local) local 49 arch/riscv/mm/cacheflush.c local |= cpumask_empty(&others); local 50 arch/riscv/mm/cacheflush.c if (mm != current->active_mm || !local) { local 1008 arch/s390/include/asm/pgtable.h int local) local 1017 arch/s390/include/asm/pgtable.h [m4] "i" (local)); local 1026 arch/s390/include/asm/pgtable.h : [r1] "a" (pto), [m4] "i" (local) : "memory"); local 1030 arch/s390/include/asm/pgtable.h pte_t *ptep, int local) local 1039 arch/s390/include/asm/pgtable.h : [r1] "a" (pto), [m4] "i" (local) : "memory"); local 1447 arch/s390/include/asm/pgtable.h int local) local 1458 arch/s390/include/asm/pgtable.h [m4] "i" (local) local 1466 arch/s390/include/asm/pgtable.h [r3] "a" (asce), [m4] "i" (local) local 1473 arch/s390/include/asm/pgtable.h int local) local 1485 arch/s390/include/asm/pgtable.h [m4] "i" (local) local 1493 arch/s390/include/asm/pgtable.h [r3] "a" (asce), [m4] "i" (local) local 522 arch/x86/mm/tlb.c bool local, enum tlb_flush_reason reason) local 623 arch/x86/mm/tlb.c if (local) local 629 arch/x86/mm/tlb.c if (local) local 1084 drivers/acpi/processor_idle.c static bool combine_lpi_states(struct acpi_lpi_state *local, local 1091 drivers/acpi/processor_idle.c result->address = local->address + parent->address; local 1096 drivers/acpi/processor_idle.c result->min_residency = max(local->min_residency, parent->min_residency); local 1097 drivers/acpi/processor_idle.c result->wake_latency = local->wake_latency + parent->wake_latency; local 1099 drivers/acpi/processor_idle.c result->entry_method = local->entry_method; local 1105 drivers/acpi/processor_idle.c strlcpy(result->desc, local->desc, ACPI_CX_DESC_LEN); local 979 drivers/block/drbd/drbd_bitmap.c static void bm_page_io_async(struct drbd_bm_aio_ctx *ctx, int page_nr) __must_hold(local) local 1033 drivers/block/drbd/drbd_bitmap.c static int bm_rw(struct drbd_device *device, const unsigned int flags, unsigned lazy_writeout_upper_idx) __must_hold(local) local 1187 drivers/block/drbd/drbd_bitmap.c int drbd_bm_read(struct drbd_device *device) __must_hold(local) local 1198 drivers/block/drbd/drbd_bitmap.c int drbd_bm_write(struct drbd_device *device) __must_hold(local) local 1209 drivers/block/drbd/drbd_bitmap.c int drbd_bm_write_all(struct drbd_device *device) __must_hold(local) local 1219 drivers/block/drbd/drbd_bitmap.c int drbd_bm_write_lazy(struct drbd_device *device, unsigned upper_idx) __must_hold(local) local 1235 drivers/block/drbd/drbd_bitmap.c int drbd_bm_write_copy_pages(struct drbd_device *device) __must_hold(local) local 1244 drivers/block/drbd/drbd_bitmap.c int drbd_bm_write_hinted(struct drbd_device *device) __must_hold(local) local 840 drivers/block/drbd/drbd_int.h struct drbd_backing_dev *ldev __protected_by(local); local 1130 drivers/block/drbd/drbd_int.h extern void drbd_uuid_set(struct drbd_device *device, int idx, u64 val) __must_hold(local); local 1131 drivers/block/drbd/drbd_int.h extern void _drbd_uuid_set(struct drbd_device *device, int idx, u64 val) __must_hold(local); local 1132 drivers/block/drbd/drbd_int.h extern void drbd_uuid_new_current(struct drbd_device *device) __must_hold(local); local 1133 drivers/block/drbd/drbd_int.h extern void drbd_uuid_set_bm(struct drbd_device *device, u64 val) __must_hold(local); local 1134 drivers/block/drbd/drbd_int.h extern void drbd_uuid_move_history(struct drbd_device *device) __must_hold(local); local 1135 drivers/block/drbd/drbd_int.h extern void __drbd_uuid_set(struct drbd_device *device, int idx, u64 val) __must_hold(local); local 1136 drivers/block/drbd/drbd_int.h extern void drbd_md_set_flag(struct drbd_device *device, int flags) __must_hold(local); local 1137 drivers/block/drbd/drbd_int.h extern void drbd_md_clear_flag(struct drbd_device *device, int flags)__must_hold(local); local 1150 drivers/block/drbd/drbd_int.h extern int drbd_bmio_set_n_write(struct drbd_device *device) __must_hold(local); local 1151 drivers/block/drbd/drbd_int.h extern int drbd_bmio_clear_n_write(struct drbd_device *device) __must_hold(local); local 1360 drivers/block/drbd/drbd_int.h extern int drbd_bm_read(struct drbd_device *device) __must_hold(local); local 1362 drivers/block/drbd/drbd_int.h extern int drbd_bm_write(struct drbd_device *device) __must_hold(local); local 1363 drivers/block/drbd/drbd_int.h extern void drbd_bm_reset_al_hints(struct drbd_device *device) __must_hold(local); local 1364 drivers/block/drbd/drbd_int.h extern int drbd_bm_write_hinted(struct drbd_device *device) __must_hold(local); local 1365 drivers/block/drbd/drbd_int.h extern int drbd_bm_write_lazy(struct drbd_device *device, unsigned upper_idx) __must_hold(local); local 1366 drivers/block/drbd/drbd_int.h extern int drbd_bm_write_all(struct drbd_device *device) __must_hold(local); local 1367 drivers/block/drbd/drbd_int.h extern int drbd_bm_write_copy_pages(struct drbd_device *device) __must_hold(local); local 1477 drivers/block/drbd/drbd_int.h drbd_determine_dev_size(struct drbd_device *, enum dds_flags, struct resize_parms *) __must_hold(local); local 1563 drivers/block/drbd/drbd_int.h gfp_t) __must_hold(local); local 1610 drivers/block/drbd/drbd_int.h __release(local); local 2130 drivers/block/drbd/drbd_int.h __release(local); local 13 drivers/block/drbd/drbd_interval.h unsigned int local:1 /* local or remote request? */; local 3434 drivers/block/drbd/drbd_main.c void drbd_uuid_move_history(struct drbd_device *device) __must_hold(local) local 3442 drivers/block/drbd/drbd_main.c void __drbd_uuid_set(struct drbd_device *device, int idx, u64 val) __must_hold(local) local 3457 drivers/block/drbd/drbd_main.c void _drbd_uuid_set(struct drbd_device *device, int idx, u64 val) __must_hold(local) local 3465 drivers/block/drbd/drbd_main.c void drbd_uuid_set(struct drbd_device *device, int idx, u64 val) __must_hold(local) local 3484 drivers/block/drbd/drbd_main.c void drbd_uuid_new_current(struct drbd_device *device) __must_hold(local) local 3506 drivers/block/drbd/drbd_main.c void drbd_uuid_set_bm(struct drbd_device *device, u64 val) __must_hold(local) local 3535 drivers/block/drbd/drbd_main.c int drbd_bmio_set_n_write(struct drbd_device *device) __must_hold(local) local 3559 drivers/block/drbd/drbd_main.c int drbd_bmio_clear_n_write(struct drbd_device *device) __must_hold(local) local 3677 drivers/block/drbd/drbd_main.c void drbd_md_set_flag(struct drbd_device *device, int flag) __must_hold(local) local 3685 drivers/block/drbd/drbd_main.c void drbd_md_clear_flag(struct drbd_device *device, int flag) __must_hold(local) local 928 drivers/block/drbd/drbd_nl.c drbd_determine_dev_size(struct drbd_device *device, enum dds_flags flags, struct resize_parms *rs) __must_hold(local) local 1382 drivers/block/drbd/drbd_nl.c unsigned int now, new, local, peer; local 1385 drivers/block/drbd/drbd_nl.c local = device->local_max_bio_size; /* Eventually last known value, from volatile memory */ local 1389 drivers/block/drbd/drbd_nl.c local = queue_max_hw_sectors(bdev->backing_bdev->bd_disk->queue) << 9; local 1390 drivers/block/drbd/drbd_nl.c device->local_max_bio_size = local; local 1392 drivers/block/drbd/drbd_nl.c local = min(local, DRBD_MAX_BIO_SIZE); local 1415 drivers/block/drbd/drbd_nl.c new = min(local, peer); local 3080 drivers/block/drbd/drbd_nl.c static int drbd_bmio_set_susp_al(struct drbd_device *device) __must_hold(local) local 359 drivers/block/drbd/drbd_receiver.c unsigned int request_size, unsigned int payload_size, gfp_t gfp_mask) __must_hold(local) local 1859 drivers/block/drbd/drbd_receiver.c struct packet_info *pi) __must_hold(local) local 2086 drivers/block/drbd/drbd_receiver.c struct packet_info *pi) __releases(local) local 2133 drivers/block/drbd/drbd_receiver.c if (drbd_contains_interval(root, sector, &req->i) && req->i.local) local 2219 drivers/block/drbd/drbd_receiver.c if (!i->local) local 2461 drivers/block/drbd/drbd_receiver.c if (!i->local) local 2500 drivers/block/drbd/drbd_receiver.c if (!i->local) { local 3051 drivers/block/drbd/drbd_receiver.c static int drbd_asb_recover_0p(struct drbd_peer_device *peer_device) __must_hold(local) local 3134 drivers/block/drbd/drbd_receiver.c static int drbd_asb_recover_1p(struct drbd_peer_device *peer_device) __must_hold(local) local 3191 drivers/block/drbd/drbd_receiver.c static int drbd_asb_recover_2p(struct drbd_peer_device *peer_device) __must_hold(local) local 3268 drivers/block/drbd/drbd_receiver.c static int drbd_uuid_compare(struct drbd_device *const device, enum drbd_role const peer_role, int *rule_nr) __must_hold(local) local 3488 drivers/block/drbd/drbd_receiver.c enum drbd_disk_state peer_disk) __must_hold(local) local 63 drivers/block/drbd/drbd_req.c req->i.local = true; local 80 drivers/block/drbd/drbd_worker.c static void drbd_endio_read_sec_final(struct drbd_peer_request *peer_req) __releases(local) local 101 drivers/block/drbd/drbd_worker.c void drbd_endio_write_sec_final(struct drbd_peer_request *peer_req) __releases(local) local 1937 drivers/block/drbd/drbd_worker.c __acquire(local); local 1940 drivers/block/drbd/drbd_worker.c __release(local); local 340 drivers/char/agp/intel-gtt.c int local = 0; local 366 drivers/char/agp/intel-gtt.c local = 1; local 421 drivers/char/agp/intel-gtt.c (u64)stolen_size / KB(1), local ? "local" : "stolen"); local 542 drivers/clocksource/arm_arch_timer.c bool local) local 546 drivers/clocksource/arm_arch_timer.c if (local) { local 573 drivers/clocksource/arm_arch_timer.c bool local = false; local 581 drivers/clocksource/arm_arch_timer.c local = true; local 603 drivers/clocksource/arm_arch_timer.c arch_timer_enable_workaround(wa, local); local 605 drivers/clocksource/arm_arch_timer.c local ? "local" : "global", wa->desc); local 89 drivers/dma/dmaengine.c count += per_cpu_ptr(chan->local, i)->memcpy_count; local 111 drivers/dma/dmaengine.c count += per_cpu_ptr(chan->local, i)->bytes_transferred; local 1019 drivers/dma/dmaengine.c chan->local = alloc_percpu(typeof(*chan->local)); local 1020 drivers/dma/dmaengine.c if (chan->local == NULL) local 1024 drivers/dma/dmaengine.c free_percpu(chan->local); local 1025 drivers/dma/dmaengine.c chan->local = NULL; local 1041 drivers/dma/dmaengine.c free_percpu(chan->local); local 1042 drivers/dma/dmaengine.c chan->local = NULL; local 1092 drivers/dma/dmaengine.c if (chan->local == NULL) local 1098 drivers/dma/dmaengine.c free_percpu(chan->local); local 1128 drivers/dma/dmaengine.c free_percpu(chan->local); local 1839 drivers/gpu/drm/i915/gem/i915_gem_context.c struct drm_i915_gem_context_create_ext_setparam local; local 1842 drivers/gpu/drm/i915/gem/i915_gem_context.c if (copy_from_user(&local, ext, sizeof(local))) local 1845 drivers/gpu/drm/i915/gem/i915_gem_context.c if (local.param.ctx_id) local 1848 drivers/gpu/drm/i915/gem/i915_gem_context.c return ctx_setparam(arg->fpriv, arg->ctx, &local.param); local 2028 drivers/gpu/drm/i915/gem/i915_gem_context.c struct drm_i915_gem_context_create_ext_clone local; local 2034 drivers/gpu/drm/i915/gem/i915_gem_context.c if (copy_from_user(&local, ext, sizeof(local))) local 2037 drivers/gpu/drm/i915/gem/i915_gem_context.c BUILD_BUG_ON(GENMASK(BITS_PER_TYPE(local.flags) - 1, ARRAY_SIZE(fn)) != local 2040 drivers/gpu/drm/i915/gem/i915_gem_context.c if (local.flags & I915_CONTEXT_CLONE_UNKNOWN) local 2043 drivers/gpu/drm/i915/gem/i915_gem_context.c if (local.rsvd) local 2047 drivers/gpu/drm/i915/gem/i915_gem_context.c src = __i915_gem_context_lookup_rcu(arg->fpriv, local.clone_id); local 2055 drivers/gpu/drm/i915/gem/i915_gem_context.c if (!(local.flags & BIT(bit))) local 361 drivers/gpu/drm/i915/gt/selftest_context.c struct intel_context *local, *remote; local 377 drivers/gpu/drm/i915/gt/selftest_context.c local = intel_context_create(fixme, engine); local 378 drivers/gpu/drm/i915/gt/selftest_context.c if (IS_ERR(local)) { local 379 drivers/gpu/drm/i915/gt/selftest_context.c err = PTR_ERR(local); local 384 drivers/gpu/drm/i915/gt/selftest_context.c err = __remote_sync(local, remote); local 400 drivers/gpu/drm/i915/gt/selftest_context.c intel_context_put(local); local 167 drivers/gpu/drm/msm/adreno/a6xx_gmu.c int local = gmu->idle_level; local 171 drivers/gpu/drm/msm/adreno/a6xx_gmu.c local = GMU_IDLE_STATE_IFPC; local 175 drivers/gpu/drm/msm/adreno/a6xx_gmu.c if (val == local) { local 451 drivers/gpu/drm/msm/msm_gem.c u64 local; local 456 drivers/gpu/drm/msm/msm_gem.c ret = msm_gem_get_iova_locked(obj, aspace, &local); local 462 drivers/gpu/drm/msm/msm_gem.c *iova = local; local 124 drivers/gpu/drm/rcar-du/rcar_du_of.c struct device_node *local, local 161 drivers/gpu/drm/rcar-du/rcar_du_of.c value[0] = cpu_to_be32(local->phandle); local 191 drivers/gpu/drm/rcar-du/rcar_du_of.c struct device_node *local; local 262 drivers/gpu/drm/rcar-du/rcar_du_of.c lvds->local = of_graph_get_endpoint_by_regs(du_node, port, 0); local 263 drivers/gpu/drm/rcar-du/rcar_du_of.c if (!lvds->local) local 266 drivers/gpu/drm/rcar-du/rcar_du_of.c lvds->remote = of_graph_get_remote_endpoint(lvds->local); local 305 drivers/gpu/drm/rcar-du/rcar_du_of.c lvds_data[i].local, local 312 drivers/gpu/drm/rcar-du/rcar_du_of.c of_node_put(lvds_data[i].local); local 694 drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c struct device_node *node = NULL, *local; local 698 drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c local = of_graph_get_remote_node(dsi->dev->of_node, 1, 0); local 699 drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c if (!local) local 715 drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c if (remote == local) { local 728 drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c of_node_put(local); local 745 drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c of_node_put(local); local 555 drivers/greybus/svc.c struct gb_svc_l2_timer_cfg *local, local 577 drivers/greybus/svc.c if (local) local 578 drivers/greybus/svc.c request.local_l2timerdata = *local; local 127 drivers/hid/hid-core.c usage = parser->local.usage[0]; local 221 drivers/hid/hid-core.c parser->local.usage[index] &= 0xFFFF; local 222 drivers/hid/hid-core.c parser->local.usage[index] |= local 232 drivers/hid/hid-core.c if (parser->local.usage_index >= HID_MAX_USAGES) { local 236 drivers/hid/hid-core.c parser->local.usage[parser->local.usage_index] = usage; local 243 drivers/hid/hid-core.c complete_usage(parser, parser->local.usage_index); local 245 drivers/hid/hid-core.c parser->local.usage_size[parser->local.usage_index] = size; local 246 drivers/hid/hid-core.c parser->local.collection_index[parser->local.usage_index] = local 249 drivers/hid/hid-core.c parser->local.usage_index++; local 297 drivers/hid/hid-core.c if (!parser->local.usage_index) /* Ignore padding fields */ local 300 drivers/hid/hid-core.c usages = max_t(unsigned, parser->local.usage_index, local 314 drivers/hid/hid-core.c if (i >= parser->local.usage_index) local 315 drivers/hid/hid-core.c j = parser->local.usage_index - 1; local 316 drivers/hid/hid-core.c field->usage[i].hid = parser->local.usage[j]; local 318 drivers/hid/hid-core.c parser->local.collection_index[j]; local 491 drivers/hid/hid-core.c if (parser->local.delimiter_depth != 0) { local 495 drivers/hid/hid-core.c parser->local.delimiter_depth++; local 496 drivers/hid/hid-core.c parser->local.delimiter_branch++; local 498 drivers/hid/hid-core.c if (parser->local.delimiter_depth < 1) { local 502 drivers/hid/hid-core.c parser->local.delimiter_depth--; local 508 drivers/hid/hid-core.c if (parser->local.delimiter_branch > 1) { local 517 drivers/hid/hid-core.c if (parser->local.delimiter_branch > 1) { local 522 drivers/hid/hid-core.c parser->local.usage_minimum = data; local 527 drivers/hid/hid-core.c if (parser->local.delimiter_branch > 1) { local 532 drivers/hid/hid-core.c count = data - parser->local.usage_minimum; local 533 drivers/hid/hid-core.c if (count + parser->local.usage_index >= HID_MAX_USAGES) { local 541 drivers/hid/hid-core.c data = HID_MAX_USAGES - parser->local.usage_index + local 542 drivers/hid/hid-core.c parser->local.usage_minimum - 1; local 550 drivers/hid/hid-core.c for (n = parser->local.usage_minimum; n <= data; n++) local 578 drivers/hid/hid-core.c if (!parser->local.usage_index) local 587 drivers/hid/hid-core.c for (i = parser->local.usage_index - 1; i >= 0; i--) { local 588 drivers/hid/hid-core.c if (parser->local.usage_size[i] > 2) local 592 drivers/hid/hid-core.c current_page = parser->local.usage[i] >> 16; local 634 drivers/hid/hid-core.c memset(&parser->local, 0, sizeof(parser->local)); /* Reset the local parser environment */ local 811 drivers/hid/hid-core.c for (i = 0; i < parser->local.usage_index; i++) local 812 drivers/hid/hid-core.c if (parser->local.usage[i] == HID_GD_POINTER) local 838 drivers/hid/hid-core.c for (i = 0; i < parser->local.usage_index; i++) local 839 drivers/hid/hid-core.c hid_scan_input_usage(parser, parser->local.usage[i]); local 844 drivers/hid/hid-core.c for (i = 0; i < parser->local.usage_index; i++) local 845 drivers/hid/hid-core.c hid_scan_feature_usage(parser, parser->local.usage[i]); local 850 drivers/hid/hid-core.c memset(&parser->local, 0, sizeof(parser->local)); local 1265 drivers/hid/hid-core.c if (parser->local.delimiter_depth) { local 118 drivers/i2c/busses/i2c-opal.c u8 local[2]; local 143 drivers/i2c/busses/i2c-opal.c local[0] = data->word & 0xff; local 144 drivers/i2c/busses/i2c-opal.c local[1] = (data->word >> 8) & 0xff; local 146 drivers/i2c/busses/i2c-opal.c req.buffer_ra = cpu_to_be64(__pa(local)); local 167 drivers/i2c/busses/i2c-opal.c data->word = ((u16)local[1]) << 8; local 168 drivers/i2c/busses/i2c-opal.c data->word |= local[0]; local 43 drivers/i2c/busses/i2c-powermac.c u8 local[2]; local 67 drivers/i2c/busses/i2c-powermac.c local[0] = data->word & 0xff; local 68 drivers/i2c/busses/i2c-powermac.c local[1] = (data->word >> 8) & 0xff; local 70 drivers/i2c/busses/i2c-powermac.c buf = local; local 125 drivers/i2c/busses/i2c-powermac.c data->word = ((u16)local[1]) << 8; local 126 drivers/i2c/busses/i2c-powermac.c data->word |= local[0]; local 815 drivers/infiniband/core/mad.c struct ib_mad_local_private *local; local 889 drivers/infiniband/core/mad.c local = kmalloc(sizeof *local, GFP_ATOMIC); local 890 drivers/infiniband/core/mad.c if (!local) { local 894 drivers/infiniband/core/mad.c local->mad_priv = NULL; local 895 drivers/infiniband/core/mad.c local->recv_mad_agent = NULL; local 899 drivers/infiniband/core/mad.c kfree(local); local 924 drivers/infiniband/core/mad.c local->mad_priv = mad_priv; local 925 drivers/infiniband/core/mad.c local->recv_mad_agent = mad_agent_priv; local 954 drivers/infiniband/core/mad.c local->mad_priv = mad_priv; local 955 drivers/infiniband/core/mad.c local->recv_mad_agent = recv_mad_agent; local 959 drivers/infiniband/core/mad.c kfree(local); local 964 drivers/infiniband/core/mad.c local->mad_send_wr = mad_send_wr; local 966 drivers/infiniband/core/mad.c local->mad_send_wr->send_wr.pkey_index = out_mad_pkey_index; local 967 drivers/infiniband/core/mad.c local->return_wc_byte_len = mad_size; local 973 drivers/infiniband/core/mad.c list_add_tail(&local->completion_list, &mad_agent_priv->local_list); local 2745 drivers/infiniband/core/mad.c struct ib_mad_local_private *local; local 2761 drivers/infiniband/core/mad.c local = list_entry(mad_agent_priv->local_list.next, local 2764 drivers/infiniband/core/mad.c list_del(&local->completion_list); local 2767 drivers/infiniband/core/mad.c if (local->mad_priv) { local 2769 drivers/infiniband/core/mad.c recv_mad_agent = local->recv_mad_agent; local 2782 drivers/infiniband/core/mad.c local->mad_send_wr->send_wr.wr.wr_cqe, local 2784 drivers/infiniband/core/mad.c local->mad_send_wr->send_wr.pkey_index, local 2787 drivers/infiniband/core/mad.c local->mad_priv->header.recv_wc.wc = &wc; local 2789 drivers/infiniband/core/mad.c base_version = ((struct ib_mad_hdr *)(local->mad_priv->mad))->base_version; local 2791 drivers/infiniband/core/mad.c local->mad_priv->header.recv_wc.mad_len = local->return_wc_byte_len; local 2792 drivers/infiniband/core/mad.c local->mad_priv->header.recv_wc.mad_seg_size = sizeof(struct opa_mad); local 2794 drivers/infiniband/core/mad.c local->mad_priv->header.recv_wc.mad_len = sizeof(struct ib_mad); local 2795 drivers/infiniband/core/mad.c local->mad_priv->header.recv_wc.mad_seg_size = sizeof(struct ib_mad); local 2798 drivers/infiniband/core/mad.c INIT_LIST_HEAD(&local->mad_priv->header.recv_wc.rmpp_list); local 2799 drivers/infiniband/core/mad.c list_add(&local->mad_priv->header.recv_wc.recv_buf.list, local 2800 drivers/infiniband/core/mad.c &local->mad_priv->header.recv_wc.rmpp_list); local 2801 drivers/infiniband/core/mad.c local->mad_priv->header.recv_wc.recv_buf.grh = NULL; local 2802 drivers/infiniband/core/mad.c local->mad_priv->header.recv_wc.recv_buf.mad = local 2803 drivers/infiniband/core/mad.c (struct ib_mad *)local->mad_priv->mad; local 2806 drivers/infiniband/core/mad.c &local->mad_priv->header.recv_wc, local 2810 drivers/infiniband/core/mad.c &local->mad_send_wr->send_buf, local 2811 drivers/infiniband/core/mad.c &local->mad_priv->header.recv_wc); local 2821 drivers/infiniband/core/mad.c mad_send_wc.send_buf = &local->mad_send_wr->send_buf; local 2824 drivers/infiniband/core/mad.c &local->mad_send_wr->send_buf, local 2832 drivers/infiniband/core/mad.c kfree(local->mad_priv); local 2833 drivers/infiniband/core/mad.c kfree(local); local 253 drivers/infiniband/hw/hfi1/opfn.c struct tid_rdma_params *local = &priv->tid_rdma.local; local 259 drivers/infiniband/hw/hfi1/opfn.c tid_rdma_opfn_init(qp, local); local 287 drivers/infiniband/hw/hfi1/opfn.c memset(local, 0, sizeof(*local)); local 210 drivers/infiniband/hw/hfi1/tid_rdma.c *data = tid_rdma_opfn_encode(&priv->tid_rdma.local); local 246 drivers/infiniband/hw/hfi1/tid_rdma.c trace_hfi1_opfn_param(qp, 0, &priv->tid_rdma.local); local 1751 drivers/infiniband/hw/hfi1/tid_rdma.c cpu_to_be32(qpriv->tid_rdma.local.qp | local 1962 drivers/infiniband/hw/hfi1/tid_rdma.c req->n_flows = qpriv->tid_rdma.local.max_read; local 1968 drivers/infiniband/hw/hfi1/tid_rdma.c req->seg_len = qpriv->tid_rdma.local.max_len; local 2256 drivers/infiniband/hw/hfi1/tid_rdma.c if (!len || len & ~PAGE_MASK || len > qpriv->tid_rdma.local.max_len) local 3456 drivers/infiniband/hw/hfi1/tid_rdma.c struct tid_rdma_params *local = &qpriv->tid_rdma.local; local 3504 drivers/infiniband/hw/hfi1/tid_rdma.c if (qpriv->alloc_w_segs >= local->max_write) local 3679 drivers/infiniband/hw/hfi1/tid_rdma.c num_segs = DIV_ROUND_UP(len, qpriv->tid_rdma.local.max_len); local 3744 drivers/infiniband/hw/hfi1/tid_rdma.c req->n_flows = min_t(u16, num_segs, qpriv->tid_rdma.local.max_write); local 3751 drivers/infiniband/hw/hfi1/tid_rdma.c req->seg_len = qpriv->tid_rdma.local.max_len; local 3912 drivers/infiniband/hw/hfi1/tid_rdma.c cpu_to_be32(qpriv->tid_rdma.local.qp | local 4446 drivers/infiniband/hw/hfi1/tid_rdma.c cpu_to_be32(qpriv->tid_rdma.local.qp | local 72 drivers/infiniband/hw/hfi1/tid_rdma.h struct tid_rdma_params local; local 332 drivers/media/i2c/adv748x/adv748x-core.c const struct media_pad *local, local 1178 drivers/media/i2c/tvp5150.c const struct media_pad *local, local 189 drivers/media/pci/cobalt/cobalt-omnitek.c d->local = 0; local 198 drivers/media/pci/cobalt/cobalt-omnitek.c d->local = 0x11111111; local 223 drivers/media/pci/cobalt/cobalt-omnitek.c d->local = 0; local 260 drivers/media/pci/cobalt/cobalt-omnitek.c d->local = 0x22222222; local 19 drivers/media/pci/cobalt/cobalt-omnitek.h u32 local; local 1383 drivers/media/platform/exynos4-is/fimc-capture.c const struct media_pad *local, local 1398 drivers/media/platform/exynos4-is/fimc-capture.c local->entity->name, remote->entity->name, flags, local 98 drivers/media/platform/exynos4-is/fimc-isp.c const struct media_pad *local, local 961 drivers/media/platform/exynos4-is/fimc-lite.c const struct media_pad *local, local 972 drivers/media/platform/exynos4-is/fimc-lite.c __func__, remote->entity->name, local->entity->name, local 975 drivers/media/platform/exynos4-is/fimc-lite.c switch (local->index) { local 2504 drivers/media/platform/omap3isp/ispccdc.c const struct media_pad *local, local 2510 drivers/media/platform/omap3isp/ispccdc.c unsigned int index = local->index; local 955 drivers/media/platform/omap3isp/ispccp2.c const struct media_pad *local, local 960 drivers/media/platform/omap3isp/ispccp2.c unsigned int index = local->index; local 1133 drivers/media/platform/omap3isp/ispcsi2.c const struct media_pad *local, local 1139 drivers/media/platform/omap3isp/ispcsi2.c unsigned int index = local->index; local 2139 drivers/media/platform/omap3isp/isppreview.c const struct media_pad *local, local 2144 drivers/media/platform/omap3isp/isppreview.c unsigned int index = local->index; local 1618 drivers/media/platform/omap3isp/ispresizer.c const struct media_pad *local, local 1623 drivers/media/platform/omap3isp/ispresizer.c unsigned int index = local->index; local 1230 drivers/media/platform/qcom/camss/camss-csid.c const struct media_pad *local, local 1234 drivers/media/platform/qcom/camss/camss-csid.c if (media_entity_remote_pad(local)) local 1237 drivers/media/platform/qcom/camss/camss-csid.c if ((local->flags & MEDIA_PAD_FL_SINK) && local 655 drivers/media/platform/qcom/camss/camss-csiphy.c const struct media_pad *local, local 658 drivers/media/platform/qcom/camss/camss-csiphy.c if ((local->flags & MEDIA_PAD_FL_SOURCE) && local 664 drivers/media/platform/qcom/camss/camss-csiphy.c if (media_entity_remote_pad(local)) local 1230 drivers/media/platform/qcom/camss/camss-ispif.c const struct media_pad *local, local 1234 drivers/media/platform/qcom/camss/camss-ispif.c if (media_entity_remote_pad(local)) local 1237 drivers/media/platform/qcom/camss/camss-ispif.c if (local->flags & MEDIA_PAD_FL_SINK) { local 2163 drivers/media/platform/qcom/camss/camss-vfe.c const struct media_pad *local, local 2167 drivers/media/platform/qcom/camss/camss-vfe.c if (media_entity_remote_pad(local)) local 44 drivers/media/platform/video-mux.c const struct media_pad *local, local 56 drivers/media/platform/video-mux.c if (local->flags & MEDIA_PAD_FL_SOURCE) local 60 drivers/media/platform/video-mux.c remote->entity->name, remote->index, local->entity->name, local 61 drivers/media/platform/video-mux.c local->index, flags & MEDIA_LNK_FL_ENABLED); local 66 drivers/media/platform/video-mux.c if (vmux->active == local->index) local 74 drivers/media/platform/video-mux.c dev_dbg(sd->dev, "setting %d active\n", local->index); local 75 drivers/media/platform/video-mux.c ret = mux_control_try_select(vmux->mux, local->index); local 78 drivers/media/platform/video-mux.c vmux->active = local->index; local 83 drivers/media/platform/video-mux.c if (vmux->active != local->index) local 496 drivers/media/platform/vsp1/vsp1_entity.c const struct media_pad *local, local 499 drivers/media/platform/vsp1/vsp1_entity.c if (local->flags & MEDIA_PAD_FL_SOURCE) local 500 drivers/media/platform/vsp1/vsp1_entity.c return vsp1_entity_link_setup_source(local, remote, flags); local 502 drivers/media/platform/vsp1/vsp1_entity.c return vsp1_entity_link_setup_sink(remote, local, flags); local 136 drivers/media/platform/vsp1/vsp1_entity.h const struct media_pad *local, local 49 drivers/media/platform/vsp1/vsp1_video.c vsp1_video_remote_subdev(struct media_pad *local, u32 *pad) local 53 drivers/media/platform/vsp1/vsp1_video.c remote = media_entity_remote_pad(local); local 44 drivers/media/platform/xilinx/xilinx-dma.c xvip_dma_remote_subdev(struct media_pad *local, u32 *pad) local 48 drivers/media/platform/xilinx/xilinx-dma.c remote = media_entity_remote_pad(local); local 72 drivers/media/platform/xilinx/xilinx-vipp.c struct media_entity *local = entity->entity; local 81 drivers/media/platform/xilinx/xilinx-vipp.c dev_dbg(xdev->dev, "creating links for entity %s\n", local->name); local 102 drivers/media/platform/xilinx/xilinx-vipp.c if (link.local_port >= local->num_pads) { local 110 drivers/media/platform/xilinx/xilinx-vipp.c local_pad = &local->pads[link.local_port]; local 153 drivers/media/platform/xilinx/xilinx-vipp.c local->name, local_pad->index, local 156 drivers/media/platform/xilinx/xilinx-vipp.c ret = media_create_pad_link(local, local_pad->index, local 162 drivers/media/platform/xilinx/xilinx-vipp.c local->name, local_pad->index, local 256 drivers/media/v4l2-core/v4l2-dev.c int v4l2_prio_change(struct v4l2_prio_state *global, enum v4l2_priority *local, local 261 drivers/media/v4l2-core/v4l2-dev.c if (*local == new) local 265 drivers/media/v4l2-core/v4l2-dev.c if (prio_is_valid(*local)) local 266 drivers/media/v4l2-core/v4l2-dev.c atomic_dec(&global->prios[*local]); local 267 drivers/media/v4l2-core/v4l2-dev.c *local = new; local 272 drivers/media/v4l2-core/v4l2-dev.c void v4l2_prio_open(struct v4l2_prio_state *global, enum v4l2_priority *local) local 274 drivers/media/v4l2-core/v4l2-dev.c v4l2_prio_change(global, local, V4L2_PRIORITY_DEFAULT); local 278 drivers/media/v4l2-core/v4l2-dev.c void v4l2_prio_close(struct v4l2_prio_state *global, enum v4l2_priority local) local 280 drivers/media/v4l2-core/v4l2-dev.c if (prio_is_valid(local)) local 281 drivers/media/v4l2-core/v4l2-dev.c atomic_dec(&global->prios[local]); local 297 drivers/media/v4l2-core/v4l2-dev.c int v4l2_prio_check(struct v4l2_prio_state *global, enum v4l2_priority local) local 299 drivers/media/v4l2-core/v4l2-dev.c return (local < v4l2_prio_max(global)) ? -EBUSY : 0; local 3032 drivers/message/fusion/mptsas.c struct mptsas_phyinfo *phy_info, int index, int local) local 35 drivers/misc/mic/scif/scif_map.h scif_free_coherent(void *va, dma_addr_t local, local 41 drivers/misc/mic/scif/scif_map.h if (scifdev_is_p2p(scifdev) && local > scifdev->base_addr) local 42 drivers/misc/mic/scif/scif_map.h local = local - scifdev->base_addr; local 44 drivers/misc/mic/scif/scif_map.h size, va, local); local 50 drivers/misc/mic/scif/scif_map.h void *local, struct scif_dev *scifdev, size_t size) local 55 drivers/misc/mic/scif/scif_map.h *dma_handle = virt_to_phys((local)); local 58 drivers/misc/mic/scif/scif_map.h local, size, DMA_BIDIRECTIONAL); local 70 drivers/misc/mic/scif/scif_map.h scif_unmap_single(dma_addr_t local, struct scif_dev *scifdev, local 75 drivers/misc/mic/scif/scif_map.h local = local - scifdev->base_addr; local 76 drivers/misc/mic/scif/scif_map.h dma_unmap_single(&scifdev->sdev->dev, local, local 2951 drivers/net/ethernet/alteon/acenic.c u32 local; local 2955 drivers/net/ethernet/alteon/acenic.c local = readl(®s->LocalCtrl); local 2956 drivers/net/ethernet/alteon/acenic.c local |= EEPROM_DATA_OUT | EEPROM_WRITE_ENABLE; local 2957 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 2961 drivers/net/ethernet/alteon/acenic.c local |= EEPROM_CLK_OUT; local 2962 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 2966 drivers/net/ethernet/alteon/acenic.c local &= ~EEPROM_DATA_OUT; local 2967 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 2971 drivers/net/ethernet/alteon/acenic.c local &= ~EEPROM_CLK_OUT; local 2972 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 2981 drivers/net/ethernet/alteon/acenic.c u32 local; local 2984 drivers/net/ethernet/alteon/acenic.c local = readl(®s->LocalCtrl); local 2985 drivers/net/ethernet/alteon/acenic.c local &= ~EEPROM_DATA_OUT; local 2986 drivers/net/ethernet/alteon/acenic.c local |= EEPROM_WRITE_ENABLE; local 2987 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 2994 drivers/net/ethernet/alteon/acenic.c local |= EEPROM_DATA_OUT; local 2996 drivers/net/ethernet/alteon/acenic.c local &= ~EEPROM_DATA_OUT; local 2997 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 3002 drivers/net/ethernet/alteon/acenic.c local |= EEPROM_CLK_OUT; local 3003 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 3007 drivers/net/ethernet/alteon/acenic.c local &= ~(EEPROM_CLK_OUT | EEPROM_DATA_OUT); local 3008 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 3018 drivers/net/ethernet/alteon/acenic.c u32 local; local 3020 drivers/net/ethernet/alteon/acenic.c local = readl(®s->LocalCtrl); local 3021 drivers/net/ethernet/alteon/acenic.c local &= ~EEPROM_WRITE_ENABLE; local 3022 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 3026 drivers/net/ethernet/alteon/acenic.c local |= EEPROM_CLK_OUT; local 3027 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 3045 drivers/net/ethernet/alteon/acenic.c u32 local; local 3048 drivers/net/ethernet/alteon/acenic.c local = readl(®s->LocalCtrl); local 3049 drivers/net/ethernet/alteon/acenic.c local |= EEPROM_WRITE_ENABLE; local 3050 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 3054 drivers/net/ethernet/alteon/acenic.c local &= ~EEPROM_DATA_OUT; local 3055 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 3059 drivers/net/ethernet/alteon/acenic.c local |= EEPROM_CLK_OUT; local 3060 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 3064 drivers/net/ethernet/alteon/acenic.c local |= EEPROM_DATA_OUT; local 3065 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 3069 drivers/net/ethernet/alteon/acenic.c local &= ~EEPROM_CLK_OUT; local 3070 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 3083 drivers/net/ethernet/alteon/acenic.c u32 local; local 3132 drivers/net/ethernet/alteon/acenic.c local = readl(®s->LocalCtrl); local 3133 drivers/net/ethernet/alteon/acenic.c local &= ~EEPROM_WRITE_ENABLE; local 3134 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 3138 drivers/net/ethernet/alteon/acenic.c local |= EEPROM_CLK_OUT; local 3139 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 3148 drivers/net/ethernet/alteon/acenic.c local = readl(®s->LocalCtrl); local 3149 drivers/net/ethernet/alteon/acenic.c local &= ~EEPROM_CLK_OUT; local 3150 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 3155 drivers/net/ethernet/alteon/acenic.c local |= EEPROM_WRITE_ENABLE; local 3156 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 3163 drivers/net/ethernet/alteon/acenic.c local |= EEPROM_DATA_OUT; local 3164 drivers/net/ethernet/alteon/acenic.c writel(local, ®s->LocalCtrl); local 383 drivers/net/ethernet/broadcom/b44.c static void b44_set_flow_ctrl(struct b44 *bp, u32 local, u32 remote) local 392 drivers/net/ethernet/broadcom/b44.c if ((local & ADVERTISE_PAUSE_CAP) && local 393 drivers/net/ethernet/broadcom/b44.c (local & ADVERTISE_PAUSE_ASYM)){ local 3767 drivers/net/ethernet/broadcom/cnic.c if (saddr->local.v6.sin6_family == AF_INET6 && local 3770 drivers/net/ethernet/broadcom/cnic.c else if (saddr->local.v4.sin_family == AF_INET && local 3785 drivers/net/ethernet/broadcom/cnic.c local_port = saddr->local.v6.sin6_port; local 3792 drivers/net/ethernet/broadcom/cnic.c local_port = saddr->local.v4.sin_port; local 253 drivers/net/ethernet/broadcom/cnic_if.h } local; local 440 drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c u8 *up_tc_map, int local) local 449 drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c if (local) local 462 drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c if (local) local 565 drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c int local) local 572 drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c if (local) local 941 drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c int local) local 955 drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c if (local) { local 971 drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c if (local) local 625 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->local = fm10k_fifo_crc(&mbx->tx, head, len, mbx->local); local 864 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tail_len, mbx->local); local 882 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u16 crc = fm10k_crc_16b(&hdr, mbx->local, 1); local 903 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u16 crc = fm10k_crc_16b(&hdr, mbx->local, 1); local 1127 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->local = FM10K_MBX_CRC_SEED; local 1304 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->local = FM10K_MBX_CRC_SEED; local 1599 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->local = FM10K_MBX_CRC_SEED; local 1649 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->local) local 1670 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->local = FM10K_SM_MBX_VERSION; local 1829 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c while (mbx->local > 1) local 1830 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->local--; local 2010 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->local = 0; local 2019 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->remote = mbx->local; local 268 drivers/net/ethernet/intel/fm10k/fm10k_mbx.h u16 local, remote; local 3228 drivers/net/ethernet/micrel/ksz884x.c u16 local, u16 remote) local 3240 drivers/net/ethernet/micrel/ksz884x.c if (local & PHY_AUTO_NEG_SYM_PAUSE) { local 3243 drivers/net/ethernet/micrel/ksz884x.c (local & PHY_AUTO_NEG_PAUSE) == local 3248 drivers/net/ethernet/micrel/ksz884x.c if ((local & PHY_AUTO_NEG_PAUSE) == PHY_AUTO_NEG_PAUSE) local 3285 drivers/net/ethernet/micrel/ksz884x.c u8 local; local 3304 drivers/net/ethernet/micrel/ksz884x.c local = (u8) data; local 3307 drivers/net/ethernet/micrel/ksz884x.c if (local == info->advertised && remote == info->partner) local 3310 drivers/net/ethernet/micrel/ksz884x.c info->advertised = local; local 987 drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c __le32 local; local 991 drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c local = cpu_to_le32(v); local 992 drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c memcpy(ptr32, &local, (char *)buf + size - (char *)ptr32); local 638 drivers/net/ethernet/qlogic/qed/qed_dcbx.c p_feat->pfc, ¶ms->local.params, false); local 639 drivers/net/ethernet/qlogic/qed/qed_dcbx.c params->local.valid = true; local 692 drivers/net/ethernet/qlogic/qed/qed_dcbx.c p_operational->local = val; local 697 drivers/net/ethernet/qlogic/qed/qed_dcbx.c p_operational->local); local 1292 drivers/net/ethernet/qlogic/qed/qed_dcbx.c if (dcbx_info->operational.local) local 1580 drivers/net/ethernet/qlogic/qed/qed_dcbx.c if (dcbx_info->operational.local) local 412 drivers/net/ethernet/sfc/siena_sriov.c status->local = vf->addr; local 245 drivers/net/ethernet/sfc/vfdi.h struct vfdi_endpoint local; local 477 drivers/net/ethernet/xircom/xirc2ps_cs.c struct local_info *local; local 485 drivers/net/ethernet/xircom/xirc2ps_cs.c local = netdev_priv(dev); local 486 drivers/net/ethernet/xircom/xirc2ps_cs.c local->dev = dev; local 487 drivers/net/ethernet/xircom/xirc2ps_cs.c local->p_dev = link; local 497 drivers/net/ethernet/xircom/xirc2ps_cs.c INIT_WORK(&local->tx_timeout_task, xirc2ps_tx_timeout_task); local 538 drivers/net/ethernet/xircom/xirc2ps_cs.c struct local_info *local = netdev_priv(dev); local 556 drivers/net/ethernet/xircom/xirc2ps_cs.c local->mohawk = 0; local 557 drivers/net/ethernet/xircom/xirc2ps_cs.c local->dingo = 0; local 558 drivers/net/ethernet/xircom/xirc2ps_cs.c local->modem = 0; local 559 drivers/net/ethernet/xircom/xirc2ps_cs.c local->card_type = XIR_UNKNOWN; local 569 drivers/net/ethernet/xircom/xirc2ps_cs.c local->modem = 1; local 571 drivers/net/ethernet/xircom/xirc2ps_cs.c case 1: local->card_type = XIR_CEM ; break; local 572 drivers/net/ethernet/xircom/xirc2ps_cs.c case 2: local->card_type = XIR_CEM2 ; break; local 573 drivers/net/ethernet/xircom/xirc2ps_cs.c case 3: local->card_type = XIR_CEM3 ; break; local 574 drivers/net/ethernet/xircom/xirc2ps_cs.c case 4: local->card_type = XIR_CEM33 ; break; local 575 drivers/net/ethernet/xircom/xirc2ps_cs.c case 5: local->card_type = XIR_CEM56M; local 576 drivers/net/ethernet/xircom/xirc2ps_cs.c local->mohawk = 1; local 580 drivers/net/ethernet/xircom/xirc2ps_cs.c local->card_type = XIR_CEM56 ; local 581 drivers/net/ethernet/xircom/xirc2ps_cs.c local->mohawk = 1; local 582 drivers/net/ethernet/xircom/xirc2ps_cs.c local->dingo = 1; local 587 drivers/net/ethernet/xircom/xirc2ps_cs.c case 1: local->card_type = has_ce2_string(link)? XIR_CE2 : XIR_CE ; local 589 drivers/net/ethernet/xircom/xirc2ps_cs.c case 2: local->card_type = XIR_CE2; break; local 590 drivers/net/ethernet/xircom/xirc2ps_cs.c case 3: local->card_type = XIR_CE3; local 591 drivers/net/ethernet/xircom/xirc2ps_cs.c local->mohawk = 1; local 595 drivers/net/ethernet/xircom/xirc2ps_cs.c if (local->card_type == XIR_CE || local->card_type == XIR_CEM) { local 599 drivers/net/ethernet/xircom/xirc2ps_cs.c if (local->card_type == XIR_UNKNOWN) local 692 drivers/net/ethernet/xircom/xirc2ps_cs.c struct local_info *local = netdev_priv(dev); local 698 drivers/net/ethernet/xircom/xirc2ps_cs.c local->dingo_ccr = NULL; local 710 drivers/net/ethernet/xircom/xirc2ps_cs.c local->manf_str = "Xircom"; local 713 drivers/net/ethernet/xircom/xirc2ps_cs.c local->manf_str = "Accton"; local 717 drivers/net/ethernet/xircom/xirc2ps_cs.c local->manf_str = "Compaq"; local 720 drivers/net/ethernet/xircom/xirc2ps_cs.c local->manf_str = "Intel"; local 723 drivers/net/ethernet/xircom/xirc2ps_cs.c local->manf_str = "Toshiba"; local 730 drivers/net/ethernet/xircom/xirc2ps_cs.c dev_dbg(&link->dev, "found %s card\n", local->manf_str); local 763 drivers/net/ethernet/xircom/xirc2ps_cs.c if (local->modem) { local 767 drivers/net/ethernet/xircom/xirc2ps_cs.c if (local->dingo) { local 818 drivers/net/ethernet/xircom/xirc2ps_cs.c if (local->dingo) { local 844 drivers/net/ethernet/xircom/xirc2ps_cs.c local->dingo_ccr = ioremap(link->resource[2]->start, 0x1000) + 0x0800; local 851 drivers/net/ethernet/xircom/xirc2ps_cs.c writeb(0x47, local->dingo_ccr + CISREG_COR); local 853 drivers/net/ethernet/xircom/xirc2ps_cs.c writeb(ioaddr & 0xff , local->dingo_ccr + CISREG_IOBASE_0); local 854 drivers/net/ethernet/xircom/xirc2ps_cs.c writeb((ioaddr >> 8)&0xff , local->dingo_ccr + CISREG_IOBASE_1); local 861 drivers/net/ethernet/xircom/xirc2ps_cs.c tmp = readb(local->dingo_ccr + i*2); local 867 drivers/net/ethernet/xircom/xirc2ps_cs.c tmp = readb(local->dingo_ccr + 0x20 + i*2); local 873 drivers/net/ethernet/xircom/xirc2ps_cs.c tmp = readb(local->dingo_ccr + 0x40 + i*2); local 880 drivers/net/ethernet/xircom/xirc2ps_cs.c writeb(0x01, local->dingo_ccr + 0x20); local 881 drivers/net/ethernet/xircom/xirc2ps_cs.c writeb(0x0c, local->dingo_ccr + 0x22); local 882 drivers/net/ethernet/xircom/xirc2ps_cs.c writeb(0x00, local->dingo_ccr + 0x24); local 883 drivers/net/ethernet/xircom/xirc2ps_cs.c writeb(0x00, local->dingo_ccr + 0x26); local 884 drivers/net/ethernet/xircom/xirc2ps_cs.c writeb(0x00, local->dingo_ccr + 0x28); local 888 drivers/net/ethernet/xircom/xirc2ps_cs.c local->probe_port=0; local 890 drivers/net/ethernet/xircom/xirc2ps_cs.c local->probe_port = dev->if_port = 1; local 892 drivers/net/ethernet/xircom/xirc2ps_cs.c (local->mohawk && if_port==4)) local 901 drivers/net/ethernet/xircom/xirc2ps_cs.c if (local->dingo) local 913 drivers/net/ethernet/xircom/xirc2ps_cs.c local->manf_str, (u_long)dev->base_addr, (int)dev->irq, local 933 drivers/net/ethernet/xircom/xirc2ps_cs.c struct local_info *local = netdev_priv(dev); local 934 drivers/net/ethernet/xircom/xirc2ps_cs.c if (local->dingo) local 935 drivers/net/ethernet/xircom/xirc2ps_cs.c iounmap(local->dingo_ccr - 0x0800); local 1196 drivers/net/ethernet/xircom/xirc2ps_cs.c struct local_info *local = local 1198 drivers/net/ethernet/xircom/xirc2ps_cs.c struct net_device *dev = local->dev; local 1364 drivers/net/ethernet/xircom/xirc2ps_cs.c struct local_info *local = netdev_priv(dev); local 1371 drivers/net/ethernet/xircom/xirc2ps_cs.c local->probe_port = 1; local 1374 drivers/net/ethernet/xircom/xirc2ps_cs.c local->probe_port = 0; local 1423 drivers/net/ethernet/xircom/xirc2ps_cs.c struct local_info *local = netdev_priv(dev); local 1431 drivers/net/ethernet/xircom/xirc2ps_cs.c if (!local->mohawk) local 1455 drivers/net/ethernet/xircom/xirc2ps_cs.c struct local_info *local = netdev_priv(dev); local 1462 drivers/net/ethernet/xircom/xirc2ps_cs.c if (local->mohawk) local 1472 drivers/net/ethernet/xircom/xirc2ps_cs.c struct local_info *local = netdev_priv(dev); local 1483 drivers/net/ethernet/xircom/xirc2ps_cs.c if (local->mohawk) { local 1495 drivers/net/ethernet/xircom/xirc2ps_cs.c local->last_ptr_value = 0; local 1496 drivers/net/ethernet/xircom/xirc2ps_cs.c local->silicon = local->mohawk ? (GetByte(XIRCREG4_BOV) & 0x70) >> 4 local 1499 drivers/net/ethernet/xircom/xirc2ps_cs.c if (local->probe_port) { local 1500 drivers/net/ethernet/xircom/xirc2ps_cs.c if (!local->mohawk) { local 1503 drivers/net/ethernet/xircom/xirc2ps_cs.c local->probe_port = 0; local 1528 drivers/net/ethernet/xircom/xirc2ps_cs.c if (local->mohawk) local 1537 drivers/net/ethernet/xircom/xirc2ps_cs.c if (local->silicon != 1) { local 1566 drivers/net/ethernet/xircom/xirc2ps_cs.c if (full && local->mohawk && init_mii(dev)) { local 1567 drivers/net/ethernet/xircom/xirc2ps_cs.c if (dev->if_port == 4 || local->dingo || local->new_mii) { local 1596 drivers/net/ethernet/xircom/xirc2ps_cs.c if (local->dingo) local 1612 drivers/net/ethernet/xircom/xirc2ps_cs.c if (local->modem && !local->dingo) { /* do some magic */ local 1619 drivers/net/ethernet/xircom/xirc2ps_cs.c if_names[dev->if_port], local->silicon); local 1633 drivers/net/ethernet/xircom/xirc2ps_cs.c struct local_info *local = netdev_priv(dev); local 1640 drivers/net/ethernet/xircom/xirc2ps_cs.c local->probe_port = 0; local 1648 drivers/net/ethernet/xircom/xirc2ps_cs.c local->new_mii = (mii_rd(ioaddr, 0, 2) != 0xffff); local 1650 drivers/net/ethernet/xircom/xirc2ps_cs.c if (local->probe_port) local 1662 drivers/net/ethernet/xircom/xirc2ps_cs.c local->probe_port = 0; local 1666 drivers/net/ethernet/xircom/xirc2ps_cs.c if (local->probe_port) { local 1680 drivers/net/ethernet/xircom/xirc2ps_cs.c if (!local->new_mii) { local 121 drivers/net/fddi/skfp/ess.c int local ; local 127 drivers/net/fddi/skfp/ess.c local = ((fs & L_INDICATOR) != 0) ; local 173 drivers/net/fddi/skfp/ess.c if (!local || smc->mib.fddiESSPayload) local 519 drivers/net/fddi/skfp/h/cmtdef.h int index, int local); local 574 drivers/net/fddi/skfp/h/cmtdef.h void smt_pmf_received_pack(struct s_smc *smc, SMbuf *mb, int local); local 575 drivers/net/fddi/skfp/h/cmtdef.h void smt_send_frame(struct s_smc *smc, SMbuf *mb, int fc, int local); local 36 drivers/net/fddi/skfp/pmf.c int local, int set); local 38 drivers/net/fddi/skfp/pmf.c int index, int local); local 40 drivers/net/fddi/skfp/pmf.c int set, int local); local 277 drivers/net/fddi/skfp/pmf.c void smt_pmf_received_pack(struct s_smc *smc, SMbuf *mb, int local) local 296 drivers/net/fddi/skfp/pmf.c sm->smt_class == SMT_PMF_SET,local) ; local 302 drivers/net/fddi/skfp/pmf.c smt_send_frame(smc,reply,FC_SMT_INFO,local) ; local 308 drivers/net/fddi/skfp/pmf.c int set, int local) local 351 drivers/net/fddi/skfp/pmf.c if (!local && smt_authorize(smc,req)) local 433 drivers/net/fddi/skfp/pmf.c index,local); local 447 drivers/net/fddi/skfp/pmf.c index,local) ; local 450 drivers/net/fddi/skfp/pmf.c st = smt_set_para(smc,pa,index,local,1); local 455 drivers/net/fddi/skfp/pmf.c index,local) ; local 464 drivers/net/fddi/skfp/pmf.c index,local) ; local 547 drivers/net/fddi/skfp/pmf.c int index, int local) local 654 drivers/net/fddi/skfp/pmf.c if (!local) { local 1072 drivers/net/fddi/skfp/pmf.c int local, int set) local 1150 drivers/net/fddi/skfp/pmf.c if (!local) local 63 drivers/net/fddi/skfp/smt.c int local); local 65 drivers/net/fddi/skfp/smt.c int fc, u_long tid, int type, int local); local 70 drivers/net/fddi/skfp/smt.c u_long tid, int local); local 72 drivers/net/fddi/skfp/smt.c u_long tid, int local); local 468 drivers/net/fddi/skfp/smt.c int local ; local 485 drivers/net/fddi/skfp/smt.c local = ((fs & L_INDICATOR) != 0) ; local 495 drivers/net/fddi/skfp/smt.c if (is_my_addr(smc,&sm->smt_source) && !local) { local 557 drivers/net/fddi/skfp/smt.c smt_send_rdf(smc,mb,m_fc(mb),SMT_RDF_VERSION,local) ; local 564 drivers/net/fddi/skfp/smt.c smt_send_rdf(smc,mb,m_fc(mb),SMT_RDF_LENGTH,local) ; local 620 drivers/net/fddi/skfp/smt.c SMT_REPLY,local) ; local 687 drivers/net/fddi/skfp/smt.c smt_send_sif_config(smc,&sm->smt_source,sm->smt_tid,local) ; local 694 drivers/net/fddi/skfp/smt.c smt_send_sif_operation(smc,&sm->smt_source,sm->smt_tid,local) ; local 727 drivers/net/fddi/skfp/smt.c local) ; local 738 drivers/net/fddi/skfp/smt.c smt_send_frame(smc,mb,FC_SMT_INFO,local) ; local 764 drivers/net/fddi/skfp/smt.c smt_send_rdf(smc,mb,m_fc(mb),SMT_RDF_CLASS,local) ; local 784 drivers/net/fddi/skfp/smt.c smt_pmf_received_pack(smc,mb, local) ; local 800 drivers/net/fddi/skfp/smt.c smt_send_rdf(smc,mb,m_fc(mb),SMT_RDF_CLASS,local) ; local 828 drivers/net/fddi/skfp/smt.c void smt_send_frame(struct s_smc *smc, SMbuf *mb, int fc, int local) local 834 drivers/net/fddi/skfp/smt.c if (!smc->r.sm_ma_avail && !local) { local 845 drivers/net/fddi/skfp/smt.c smt_send_mbuf(smc,mb,local ? FC_SMT_LOC : fc) ; local 852 drivers/net/fddi/skfp/smt.c int local) local 922 drivers/net/fddi/skfp/smt.c smt_send_frame(smc,mb,FC_SMT_INFO,local) ; local 929 drivers/net/fddi/skfp/smt.c int fc, u_long tid, int type, int local) local 950 drivers/net/fddi/skfp/smt.c smt_send_frame(smc,mb,fc,local) ; local 1021 drivers/net/fddi/skfp/smt.c u_long tid, int local) local 1046 drivers/net/fddi/skfp/smt.c smt_send_frame(smc,mb,FC_SMT_INFO,local) ; local 1054 drivers/net/fddi/skfp/smt.c u_long tid, int local) local 1095 drivers/net/fddi/skfp/smt.c smt_send_frame(smc,mb,FC_SMT_INFO,local) ; local 313 drivers/net/ipvlan/ipvlan_core.c bool local) local 326 drivers/net/ipvlan/ipvlan_core.c if (local) { local 339 drivers/net/ipvlan/ipvlan_core.c if (local) { local 226 drivers/net/macvlan.c const struct ethhdr *eth, bool local) local 230 drivers/net/macvlan.c if (local) local 75 drivers/net/wireless/atmel/atmel_cs.c struct local_info *local; local 80 drivers/net/wireless/atmel/atmel_cs.c local = kzalloc(sizeof(*local), GFP_KERNEL); local 81 drivers/net/wireless/atmel/atmel_cs.c if (!local) local 84 drivers/net/wireless/atmel/atmel_cs.c p_dev->priv = local; local 177 drivers/net/wireless/atmel/atmel_cs.c struct local_info *local = link->priv; local 179 drivers/net/wireless/atmel/atmel_cs.c netif_device_detach(local->eth_dev); local 186 drivers/net/wireless/atmel/atmel_cs.c struct local_info *local = link->priv; local 188 drivers/net/wireless/atmel/atmel_cs.c atmel_open(local->eth_dev); local 189 drivers/net/wireless/atmel/atmel_cs.c netif_device_attach(local->eth_dev); local 1144 drivers/net/wireless/cisco/airo.c static void airo_read_wireless_stats (struct airo_info *local); local 2281 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 2283 drivers/net/wireless/cisco/airo.c if (!test_bit(JOB_STATS, &local->jobs)) { local 2285 drivers/net/wireless/cisco/airo.c if (down_trylock(&local->sem) != 0) { local 2286 drivers/net/wireless/cisco/airo.c set_bit(JOB_STATS, &local->jobs); local 2287 drivers/net/wireless/cisco/airo.c wake_up_interruptible(&local->thr_wait); local 3795 drivers/net/wireless/cisco/airo.c static inline void set_auth_type(struct airo_info *local, int auth_type) local 3797 drivers/net/wireless/cisco/airo.c local->config.authType = auth_type; local 3802 drivers/net/wireless/cisco/airo.c local->last_auth = auth_type; local 5791 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 5814 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 5816 drivers/net/wireless/cisco/airo.c local->config.channelSet = cpu_to_le16(channel); local 5817 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 5832 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 5836 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 5837 drivers/net/wireless/cisco/airo.c if ((local->config.opmode & MODE_CFG_MASK) == MODE_STA_ESS) local 5838 drivers/net/wireless/cisco/airo.c status_rid.channel = local->config.channelSet; local 5840 drivers/net/wireless/cisco/airo.c readStatusRid(local, &status_rid, 1); local 5864 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 5868 drivers/net/wireless/cisco/airo.c readSsidRid(local, &SSID_rid); local 5893 drivers/net/wireless/cisco/airo.c disable_MAC(local, 1); local 5894 drivers/net/wireless/cisco/airo.c writeSsidRid(local, &SSID_rid, 1); local 5895 drivers/net/wireless/cisco/airo.c enable_MAC(local, 1); local 5909 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 5912 drivers/net/wireless/cisco/airo.c readStatusRid(local, &status_rid, 1); local 5937 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 5940 drivers/net/wireless/cisco/airo.c APListRid *APList_rid = &local->APList; local 5948 drivers/net/wireless/cisco/airo.c if (down_interruptible(&local->sem)) local 5950 drivers/net/wireless/cisco/airo.c issuecommand(local, &cmd, &rsp); local 5951 drivers/net/wireless/cisco/airo.c up(&local->sem); local 5956 drivers/net/wireless/cisco/airo.c disable_MAC(local, 1); local 5957 drivers/net/wireless/cisco/airo.c writeAPListRid(local, APList_rid, 1); local 5958 drivers/net/wireless/cisco/airo.c enable_MAC(local, 1); local 5972 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 5975 drivers/net/wireless/cisco/airo.c readStatusRid(local, &status_rid, 1); local 5993 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 5999 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 6000 drivers/net/wireless/cisco/airo.c memset(local->config.nodeName, 0, sizeof(local->config.nodeName)); local 6001 drivers/net/wireless/cisco/airo.c memcpy(local->config.nodeName, extra, dwrq->length); local 6002 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 6016 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6018 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 6019 drivers/net/wireless/cisco/airo.c strncpy(extra, local->config.nodeName, 16); local 6035 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6041 drivers/net/wireless/cisco/airo.c readCapabilityRid(local, &cap_rid, 1); local 6075 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 6079 drivers/net/wireless/cisco/airo.c memset(local->config.rates, 0, 8); local 6081 drivers/net/wireless/cisco/airo.c local->config.rates[i] = cap_rid.supportedRates[i]; local 6082 drivers/net/wireless/cisco/airo.c if(local->config.rates[i] == brate) local 6088 drivers/net/wireless/cisco/airo.c memset(local->config.rates, 0, 8); local 6089 drivers/net/wireless/cisco/airo.c local->config.rates[0] = brate; local 6091 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 6105 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6108 drivers/net/wireless/cisco/airo.c readStatusRid(local, &status_rid, 1); local 6112 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 6113 drivers/net/wireless/cisco/airo.c vwrq->fixed = (local->config.rates[1] == 0); local 6127 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6135 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 6136 drivers/net/wireless/cisco/airo.c local->config.rtsThres = cpu_to_le16(rthr); local 6137 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 6151 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6153 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 6154 drivers/net/wireless/cisco/airo.c vwrq->value = le16_to_cpu(local->config.rtsThres); local 6170 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6179 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 6180 drivers/net/wireless/cisco/airo.c local->config.fragThresh = cpu_to_le16(fthr); local 6181 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 6195 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6197 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 6198 drivers/net/wireless/cisco/airo.c vwrq->value = le16_to_cpu(local->config.fragThresh); local 6214 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6217 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 6218 drivers/net/wireless/cisco/airo.c if (sniffing_mode(local)) local 6223 drivers/net/wireless/cisco/airo.c local->config.opmode &= ~MODE_CFG_MASK; local 6224 drivers/net/wireless/cisco/airo.c local->config.opmode |= MODE_STA_IBSS; local 6225 drivers/net/wireless/cisco/airo.c local->config.rmode &= ~RXMODE_FULL_MASK; local 6226 drivers/net/wireless/cisco/airo.c local->config.scanMode = SCANMODE_ACTIVE; local 6227 drivers/net/wireless/cisco/airo.c clear_bit (FLAG_802_11, &local->flags); local 6230 drivers/net/wireless/cisco/airo.c local->config.opmode &= ~MODE_CFG_MASK; local 6231 drivers/net/wireless/cisco/airo.c local->config.opmode |= MODE_STA_ESS; local 6232 drivers/net/wireless/cisco/airo.c local->config.rmode &= ~RXMODE_FULL_MASK; local 6233 drivers/net/wireless/cisco/airo.c local->config.scanMode = SCANMODE_ACTIVE; local 6234 drivers/net/wireless/cisco/airo.c clear_bit (FLAG_802_11, &local->flags); local 6237 drivers/net/wireless/cisco/airo.c local->config.opmode &= ~MODE_CFG_MASK; local 6238 drivers/net/wireless/cisco/airo.c local->config.opmode |= MODE_AP; local 6239 drivers/net/wireless/cisco/airo.c local->config.rmode &= ~RXMODE_FULL_MASK; local 6240 drivers/net/wireless/cisco/airo.c local->config.scanMode = SCANMODE_ACTIVE; local 6241 drivers/net/wireless/cisco/airo.c clear_bit (FLAG_802_11, &local->flags); local 6244 drivers/net/wireless/cisco/airo.c local->config.opmode &= ~MODE_CFG_MASK; local 6245 drivers/net/wireless/cisco/airo.c local->config.opmode |= MODE_AP_RPTR; local 6246 drivers/net/wireless/cisco/airo.c local->config.rmode &= ~RXMODE_FULL_MASK; local 6247 drivers/net/wireless/cisco/airo.c local->config.scanMode = SCANMODE_ACTIVE; local 6248 drivers/net/wireless/cisco/airo.c clear_bit (FLAG_802_11, &local->flags); local 6251 drivers/net/wireless/cisco/airo.c local->config.opmode &= ~MODE_CFG_MASK; local 6252 drivers/net/wireless/cisco/airo.c local->config.opmode |= MODE_STA_ESS; local 6253 drivers/net/wireless/cisco/airo.c local->config.rmode &= ~RXMODE_FULL_MASK; local 6254 drivers/net/wireless/cisco/airo.c local->config.rmode |= RXMODE_RFMON | RXMODE_DISABLE_802_3_HEADER; local 6255 drivers/net/wireless/cisco/airo.c local->config.scanMode = SCANMODE_PASSIVE; local 6256 drivers/net/wireless/cisco/airo.c set_bit (FLAG_802_11, &local->flags); local 6262 drivers/net/wireless/cisco/airo.c set_bit (FLAG_RESET, &local->flags); local 6263 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 6277 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6279 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 6281 drivers/net/wireless/cisco/airo.c switch (local->config.opmode & MODE_CFG_MASK) { local 6312 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6314 drivers/net/wireless/cisco/airo.c __le16 currentAuthType = local->config.authType; local 6317 drivers/net/wireless/cisco/airo.c if (!local->wep_capable) local 6320 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 6338 drivers/net/wireless/cisco/airo.c current_index = get_wep_tx_idx(local); local 6343 drivers/net/wireless/cisco/airo.c if (!valid_index(local, index)) local 6358 drivers/net/wireless/cisco/airo.c rc = set_wep_key(local, index, key.key, key.len, perm, 1); local 6360 drivers/net/wireless/cisco/airo.c airo_print_err(local->dev->name, "failed to set" local 6370 drivers/net/wireless/cisco/airo.c (local->config.authType == AUTH_OPEN)) local 6371 drivers/net/wireless/cisco/airo.c set_auth_type(local, AUTH_ENCRYPT); local 6375 drivers/net/wireless/cisco/airo.c if (valid_index(local, index)) { local 6376 drivers/net/wireless/cisco/airo.c rc = set_wep_tx_idx(local, index, perm, 1); local 6378 drivers/net/wireless/cisco/airo.c airo_print_err(local->dev->name, "failed to set" local 6391 drivers/net/wireless/cisco/airo.c set_auth_type(local, AUTH_OPEN); /* disable encryption */ local 6393 drivers/net/wireless/cisco/airo.c set_auth_type(local, AUTH_SHAREDKEY); /* Only Both */ local 6395 drivers/net/wireless/cisco/airo.c set_auth_type(local, AUTH_ENCRYPT); /* Only Wep */ local 6397 drivers/net/wireless/cisco/airo.c if (local->config.authType != currentAuthType) local 6398 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 6411 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6416 drivers/net/wireless/cisco/airo.c if (!local->wep_capable) local 6419 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 6422 drivers/net/wireless/cisco/airo.c switch(local->config.authType) { local 6439 drivers/net/wireless/cisco/airo.c if (!valid_index(local, index)) { local 6440 drivers/net/wireless/cisco/airo.c index = get_wep_tx_idx(local); local 6447 drivers/net/wireless/cisco/airo.c wep_key_len = get_wep_key(local, index, &buf[0], sizeof(buf)); local 6467 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6471 drivers/net/wireless/cisco/airo.c __le16 currentAuthType = local->config.authType; local 6475 drivers/net/wireless/cisco/airo.c if (!local->wep_capable) local 6478 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 6483 drivers/net/wireless/cisco/airo.c if (!valid_index(local, idx - 1)) local 6487 drivers/net/wireless/cisco/airo.c idx = get_wep_tx_idx(local); local 6499 drivers/net/wireless/cisco/airo.c rc = set_wep_tx_idx(local, idx, perm, 1); local 6501 drivers/net/wireless/cisco/airo.c airo_print_err(local->dev->name, "failed to set " local 6531 drivers/net/wireless/cisco/airo.c rc = set_wep_tx_idx(local, idx, perm, 1); local 6533 drivers/net/wireless/cisco/airo.c airo_print_err(local->dev->name, local 6539 drivers/net/wireless/cisco/airo.c rc = set_wep_key(local, idx, key.key, key.len, perm, 1); local 6541 drivers/net/wireless/cisco/airo.c airo_print_err(local->dev->name, local 6551 drivers/net/wireless/cisco/airo.c set_auth_type(local, AUTH_OPEN); /* disable encryption */ local 6553 drivers/net/wireless/cisco/airo.c set_auth_type(local, AUTH_SHAREDKEY); /* Only Both */ local 6555 drivers/net/wireless/cisco/airo.c set_auth_type(local, AUTH_ENCRYPT); local 6557 drivers/net/wireless/cisco/airo.c if (local->config.authType != currentAuthType) local 6558 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 6573 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6579 drivers/net/wireless/cisco/airo.c if (!local->wep_capable) local 6582 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 6590 drivers/net/wireless/cisco/airo.c if (!valid_index(local, idx - 1)) local 6594 drivers/net/wireless/cisco/airo.c idx = get_wep_tx_idx(local); local 6603 drivers/net/wireless/cisco/airo.c switch(local->config.authType) { local 6620 drivers/net/wireless/cisco/airo.c wep_key_len = get_wep_key(local, idx, &buf[0], sizeof(buf)); local 6640 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6642 drivers/net/wireless/cisco/airo.c __le16 currentAuthType = local->config.authType; local 6660 drivers/net/wireless/cisco/airo.c set_auth_type(local, AUTH_ENCRYPT); local 6662 drivers/net/wireless/cisco/airo.c set_auth_type(local, AUTH_OPEN); local 6666 drivers/net/wireless/cisco/airo.c if (local->config.authType != currentAuthType) local 6667 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 6672 drivers/net/wireless/cisco/airo.c set_auth_type(local, AUTH_SHAREDKEY); local 6678 drivers/net/wireless/cisco/airo.c set_auth_type(local, local->last_auth); local 6683 drivers/net/wireless/cisco/airo.c if (local->config.authType != currentAuthType) local 6684 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 6709 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6711 drivers/net/wireless/cisco/airo.c __le16 currentAuthType = local->config.authType; local 6758 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6764 drivers/net/wireless/cisco/airo.c readCapabilityRid(local, &cap_rid, 1); local 6767 drivers/net/wireless/cisco/airo.c set_bit (FLAG_RADIO_OFF, &local->flags); local 6768 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 6774 drivers/net/wireless/cisco/airo.c clear_bit (FLAG_RADIO_OFF, &local->flags); local 6777 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 6778 drivers/net/wireless/cisco/airo.c local->config.txPower = v; local 6779 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 6795 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6797 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 6798 drivers/net/wireless/cisco/airo.c vwrq->value = le16_to_cpu(local->config.txPower); local 6800 drivers/net/wireless/cisco/airo.c vwrq->disabled = test_bit(FLAG_RADIO_OFF, &local->flags); local 6815 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6821 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 6825 drivers/net/wireless/cisco/airo.c local->config.longRetryLimit = v; local 6827 drivers/net/wireless/cisco/airo.c local->config.shortRetryLimit = v; local 6830 drivers/net/wireless/cisco/airo.c local->config.longRetryLimit = v; local 6831 drivers/net/wireless/cisco/airo.c local->config.shortRetryLimit = v; local 6833 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 6837 drivers/net/wireless/cisco/airo.c local->config.txLifetime = cpu_to_le16(vwrq->value / 1024); local 6838 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 6853 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6857 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 6861 drivers/net/wireless/cisco/airo.c vwrq->value = le16_to_cpu(local->config.txLifetime) * 1024; local 6864 drivers/net/wireless/cisco/airo.c vwrq->value = le16_to_cpu(local->config.longRetryLimit); local 6867 drivers/net/wireless/cisco/airo.c vwrq->value = le16_to_cpu(local->config.shortRetryLimit); local 6868 drivers/net/wireless/cisco/airo.c if(local->config.shortRetryLimit != local->config.longRetryLimit) local 6884 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 6890 drivers/net/wireless/cisco/airo.c readCapabilityRid(local, &cap_rid, 1); local 6911 drivers/net/wireless/cisco/airo.c if (local->rssi) local 6921 drivers/net/wireless/cisco/airo.c if (local->rssi) { local 7010 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 7012 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 7014 drivers/net/wireless/cisco/airo.c if (sniffing_mode(local)) local 7016 drivers/net/wireless/cisco/airo.c local->config.powerSaveMode = POWERSAVE_CAM; local 7017 drivers/net/wireless/cisco/airo.c local->config.rmode &= ~RXMODE_MASK; local 7018 drivers/net/wireless/cisco/airo.c local->config.rmode |= RXMODE_BC_MC_ADDR; local 7019 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 7023 drivers/net/wireless/cisco/airo.c local->config.fastListenDelay = cpu_to_le16((vwrq->value + 500) / 1024); local 7024 drivers/net/wireless/cisco/airo.c local->config.powerSaveMode = POWERSAVE_PSPCAM; local 7025 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 7027 drivers/net/wireless/cisco/airo.c local->config.fastListenInterval = local 7028 drivers/net/wireless/cisco/airo.c local->config.listenInterval = local 7030 drivers/net/wireless/cisco/airo.c local->config.powerSaveMode = POWERSAVE_PSPCAM; local 7031 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 7035 drivers/net/wireless/cisco/airo.c if (sniffing_mode(local)) local 7037 drivers/net/wireless/cisco/airo.c local->config.rmode &= ~RXMODE_MASK; local 7038 drivers/net/wireless/cisco/airo.c local->config.rmode |= RXMODE_ADDR; local 7039 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 7042 drivers/net/wireless/cisco/airo.c if (sniffing_mode(local)) local 7044 drivers/net/wireless/cisco/airo.c local->config.rmode &= ~RXMODE_MASK; local 7045 drivers/net/wireless/cisco/airo.c local->config.rmode |= RXMODE_BC_MC_ADDR; local 7046 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 7067 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 7070 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 7071 drivers/net/wireless/cisco/airo.c mode = local->config.powerSaveMode; local 7075 drivers/net/wireless/cisco/airo.c vwrq->value = le16_to_cpu(local->config.fastListenDelay) * 1024; local 7078 drivers/net/wireless/cisco/airo.c vwrq->value = le16_to_cpu(local->config.fastListenInterval) * 1024; local 7081 drivers/net/wireless/cisco/airo.c if ((local->config.rmode & RXMODE_MASK) == RXMODE_ADDR) local 7098 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 7100 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 7101 drivers/net/wireless/cisco/airo.c local->config.rssiThreshold = local 7103 drivers/net/wireless/cisco/airo.c set_bit (FLAG_COMMIT, &local->flags); local 7117 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 7119 drivers/net/wireless/cisco/airo.c readConfigRid(local, 1); local 7120 drivers/net/wireless/cisco/airo.c vwrq->value = le16_to_cpu(local->config.rssiThreshold); local 7137 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 7150 drivers/net/wireless/cisco/airo.c if (readBSSListRid(local, loseSync, &BSSList)) local 7156 drivers/net/wireless/cisco/airo.c if (local->rssi) { local 7158 drivers/net/wireless/cisco/airo.c qual[i].qual = airo_dbm_to_pct(local->rssi, dBm); local 7169 drivers/net/wireless/cisco/airo.c qual[i].noise = local->wstats.qual.noise; local 7175 drivers/net/wireless/cisco/airo.c readStatusRid(local, &status_rid, 1); local 7490 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 7492 drivers/net/wireless/cisco/airo.c if (!test_bit (FLAG_COMMIT, &local->flags)) local 7497 drivers/net/wireless/cisco/airo.c disable_MAC(local, 1); local 7498 drivers/net/wireless/cisco/airo.c if (test_bit (FLAG_RESET, &local->flags)) { local 7501 drivers/net/wireless/cisco/airo.c readSsidRid(local, &SSID_rid); local 7502 drivers/net/wireless/cisco/airo.c if (test_bit(FLAG_MPI,&local->flags)) local 7503 drivers/net/wireless/cisco/airo.c setup_card(local, dev->dev_addr, 1 ); local 7506 drivers/net/wireless/cisco/airo.c disable_MAC(local, 1); local 7507 drivers/net/wireless/cisco/airo.c writeSsidRid(local, &SSID_rid, 1); local 7508 drivers/net/wireless/cisco/airo.c writeAPListRid(local, &local->APList, 1); local 7510 drivers/net/wireless/cisco/airo.c if (down_interruptible(&local->sem)) local 7512 drivers/net/wireless/cisco/airo.c writeConfigRid(local, 0); local 7513 drivers/net/wireless/cisco/airo.c enable_MAC(local, 0); local 7514 drivers/net/wireless/cisco/airo.c if (test_bit (FLAG_RESET, &local->flags)) local 7515 drivers/net/wireless/cisco/airo.c airo_set_promisc(local); local 7517 drivers/net/wireless/cisco/airo.c up(&local->sem); local 7704 drivers/net/wireless/cisco/airo.c static void airo_read_wireless_stats(struct airo_info *local) local 7712 drivers/net/wireless/cisco/airo.c clear_bit(JOB_WSTATS, &local->jobs); local 7713 drivers/net/wireless/cisco/airo.c if (local->power.event) { local 7714 drivers/net/wireless/cisco/airo.c up(&local->sem); local 7717 drivers/net/wireless/cisco/airo.c readCapabilityRid(local, &cap_rid, 0); local 7718 drivers/net/wireless/cisco/airo.c readStatusRid(local, &status_rid, 0); local 7719 drivers/net/wireless/cisco/airo.c readStatsRid(local, &stats_rid, RID_STATS, 0); local 7720 drivers/net/wireless/cisco/airo.c up(&local->sem); local 7723 drivers/net/wireless/cisco/airo.c local->wstats.status = le16_to_cpu(status_rid.mode); local 7726 drivers/net/wireless/cisco/airo.c if (local->rssi) { local 7727 drivers/net/wireless/cisco/airo.c local->wstats.qual.level = local 7728 drivers/net/wireless/cisco/airo.c airo_rssi_to_dbm(local->rssi, local 7731 drivers/net/wireless/cisco/airo.c local->wstats.qual.qual = local 7734 drivers/net/wireless/cisco/airo.c local->wstats.qual.level = local 7736 drivers/net/wireless/cisco/airo.c local->wstats.qual.qual = airo_get_quality(&status_rid, &cap_rid); local 7739 drivers/net/wireless/cisco/airo.c local->wstats.qual.noise = 0x100 - status_rid.noisedBm; local 7740 drivers/net/wireless/cisco/airo.c local->wstats.qual.updated = IW_QUAL_ALL_UPDATED | IW_QUAL_DBM; local 7742 drivers/net/wireless/cisco/airo.c local->wstats.qual.noise = 0; local 7743 drivers/net/wireless/cisco/airo.c local->wstats.qual.updated = IW_QUAL_QUAL_UPDATED | IW_QUAL_LEVEL_UPDATED | IW_QUAL_NOISE_INVALID | IW_QUAL_DBM; local 7748 drivers/net/wireless/cisco/airo.c local->wstats.discard.nwid = le32_to_cpu(vals[56]) + local 7751 drivers/net/wireless/cisco/airo.c local->wstats.discard.code = le32_to_cpu(vals[6]);/* RxWepErr */ local 7752 drivers/net/wireless/cisco/airo.c local->wstats.discard.fragment = le32_to_cpu(vals[30]); local 7753 drivers/net/wireless/cisco/airo.c local->wstats.discard.retries = le32_to_cpu(vals[10]); local 7754 drivers/net/wireless/cisco/airo.c local->wstats.discard.misc = le32_to_cpu(vals[1]) + local 7756 drivers/net/wireless/cisco/airo.c local->wstats.miss.beacon = le32_to_cpu(vals[34]); local 7761 drivers/net/wireless/cisco/airo.c struct airo_info *local = dev->ml_priv; local 7763 drivers/net/wireless/cisco/airo.c if (!test_bit(JOB_WSTATS, &local->jobs)) { local 7765 drivers/net/wireless/cisco/airo.c if (down_trylock(&local->sem) != 0) { local 7766 drivers/net/wireless/cisco/airo.c set_bit(JOB_WSTATS, &local->jobs); local 7767 drivers/net/wireless/cisco/airo.c wake_up_interruptible(&local->thr_wait); local 7769 drivers/net/wireless/cisco/airo.c airo_read_wireless_stats(local); local 7772 drivers/net/wireless/cisco/airo.c return &local->wstats; local 65 drivers/net/wireless/cisco/airo_cs.c struct local_info *local; local 70 drivers/net/wireless/cisco/airo_cs.c local = kzalloc(sizeof(*local), GFP_KERNEL); local 71 drivers/net/wireless/cisco/airo_cs.c if (!local) local 74 drivers/net/wireless/cisco/airo_cs.c p_dev->priv = local; local 143 drivers/net/wireless/cisco/airo_cs.c struct local_info *local = link->priv; local 145 drivers/net/wireless/cisco/airo_cs.c netif_device_detach(local->eth_dev); local 152 drivers/net/wireless/cisco/airo_cs.c struct local_info *local = link->priv; local 155 drivers/net/wireless/cisco/airo_cs.c reset_airo_card(local->eth_dev); local 156 drivers/net/wireless/cisco/airo_cs.c netif_device_attach(local->eth_dev); local 405 drivers/net/wireless/intel/ipw2x00/libipw_rx.c hostap_update_rx_stats(local->ap, hdr, rx_stats); local 441 drivers/net/wireless/intel/ipw2x00/libipw_rx.c if (is_unicast_ether_addr(hdr->addr1) || local->bcrx_sta_key) local 442 drivers/net/wireless/intel/ipw2x00/libipw_rx.c (void)hostap_handle_sta_crypto(local, hdr, &crypt, local 19 drivers/net/wireless/intersil/hostap/hostap.h u16 hostap_tx_callback_register(local_info_t *local, local 22 drivers/net/wireless/intersil/hostap/hostap.h int hostap_tx_callback_unregister(local_info_t *local, u16 idx); local 25 drivers/net/wireless/intersil/hostap/hostap.h u16 hostap_get_porttype(local_info_t *local); local 26 drivers/net/wireless/intersil/hostap/hostap.h int hostap_set_encryption(local_info_t *local); local 27 drivers/net/wireless/intersil/hostap/hostap.h int hostap_set_antsel(local_info_t *local); local 28 drivers/net/wireless/intersil/hostap/hostap.h int hostap_set_roaming(local_info_t *local); local 29 drivers/net/wireless/intersil/hostap/hostap.h int hostap_set_auth_algs(local_info_t *local); local 37 drivers/net/wireless/intersil/hostap/hostap.h void hostap_setup_dev(struct net_device *dev, local_info_t *local, local 40 drivers/net/wireless/intersil/hostap/hostap.h int hostap_set_hostapd(local_info_t *local, int val, int rtnl_locked); local 41 drivers/net/wireless/intersil/hostap/hostap.h int hostap_set_hostapd_sta(local_info_t *local, int val, int rtnl_locked); local 42 drivers/net/wireless/intersil/hostap/hostap.h void hostap_cleanup(local_info_t *local); local 44 drivers/net/wireless/intersil/hostap/hostap.h struct net_device * hostap_add_interface(struct local_info *local, local 50 drivers/net/wireless/intersil/hostap/hostap.h int prism2_sta_send_mgmt(local_info_t *local, u8 *dst, u16 stype, local 52 drivers/net/wireless/intersil/hostap/hostap.h int prism2_sta_deauth(local_info_t *local, u16 reason); local 53 drivers/net/wireless/intersil/hostap/hostap.h int prism2_wds_add(local_info_t *local, u8 *remote_addr, local 55 drivers/net/wireless/intersil/hostap/hostap.h int prism2_wds_del(local_info_t *local, u8 *remote_addr, local 68 drivers/net/wireless/intersil/hostap/hostap.h int prism2_ap_get_sta_qual(local_info_t *local, struct sockaddr addr[], local 78 drivers/net/wireless/intersil/hostap/hostap.h void hostap_init_proc(local_info_t *local); local 79 drivers/net/wireless/intersil/hostap/hostap.h void hostap_remove_proc(local_info_t *local); local 84 drivers/net/wireless/intersil/hostap/hostap.h void hostap_info_init(local_info_t *local); local 85 drivers/net/wireless/intersil/hostap/hostap.h void hostap_info_process(local_info_t *local, struct sk_buff *skb); local 67 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local_info_t *local; local 74 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local = iface->local; local 77 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->monitor_type == PRISM2_MONITOR_PRISM) { local 163 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c hdr->channel = htonl(local->channel); local 184 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c hdr->chan_freq = cpu_to_le16(freq_list[local->channel - 1]); local 221 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c prism2_frag_cache_find(local_info_t *local, unsigned int seq, local 228 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c entry = &local->frag_cache[i]; local 233 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->dev->name, entry->seq, entry->last_frag); local 251 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c prism2_frag_cache_get(local_info_t *local, struct ieee80211_hdr *hdr) local 264 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c skb = dev_alloc_skb(local->dev->mtu + local 272 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c entry = &local->frag_cache[local->frag_next_idx]; local 273 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->frag_next_idx++; local 274 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->frag_next_idx >= PRISM2_FRAG_CACHE_LEN) local 275 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->frag_next_idx = 0; local 289 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c entry = prism2_frag_cache_find(local, seq, frag, hdr->addr2, local 302 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c static int prism2_frag_cache_invalidate(local_info_t *local, local 312 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c entry = prism2_frag_cache_find(local, seq, -1, hdr->addr2, hdr->addr1); local 317 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->dev->name, seq); local 326 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c static struct hostap_bss_info *__hostap_get_bss(local_info_t *local, u8 *bssid, local 332 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c list_for_each(ptr, &local->bss_list) { local 338 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c list_move(&bss->list, &local->bss_list); local 347 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c static struct hostap_bss_info *__hostap_add_bss(local_info_t *local, u8 *bssid, local 352 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->num_bss_info >= HOSTAP_MAX_BSS_COUNT) { local 353 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c bss = list_entry(local->bss_list.prev, local 356 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->num_bss_info--; local 367 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->num_bss_info++; local 368 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c list_add(&bss->list, &local->bss_list); local 373 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c static void __hostap_expire_bss(local_info_t *local) local 377 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c while (local->num_bss_info > 0) { local 378 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c bss = list_entry(local->bss_list.prev, local 384 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->num_bss_info--; local 392 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c static void hostap_rx_sta_beacon(local_info_t *local, struct sk_buff *skb, local 445 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c spin_lock(&local->lock); local 446 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c bss = __hostap_get_bss(local, mgmt->bssid, ssid, ssid_len); local 448 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c bss = __hostap_add_bss(local, mgmt->bssid, ssid, ssid_len); local 465 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c __hostap_expire_bss(local); local 466 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c spin_unlock(&local->lock); local 471 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c hostap_rx_frame_mgmt(local_info_t *local, struct sk_buff *skb, local 475 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->iw_mode == IW_MODE_MASTER) local 476 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c hostap_update_sta_ps(local, (struct ieee80211_hdr *) skb->data); local 478 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->hostapd && type == IEEE80211_FTYPE_MGMT) { local 480 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->iw_mode == IW_MODE_MASTER) { local 491 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->apdevstats.rx_packets++; local 492 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->apdevstats.rx_bytes += skb->len; local 493 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->apdev == NULL) local 495 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c prism2_rx_80211(local->apdev, skb, rx_stats, PRISM2_RX_MGMT); local 499 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->iw_mode == IW_MODE_MASTER) { local 513 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c hostap_rx_sta_beacon(local, skb, stype); local 532 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c static struct net_device *prism2_rx_get_wds(local_info_t *local, local 538 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c read_lock_bh(&local->iface_lock); local 539 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c list_for_each(ptr, &local->hostap_interfaces) { local 546 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c read_unlock_bh(&local->iface_lock); local 553 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c hostap_rx_frame_wds(local_info_t *local, struct ieee80211_hdr *hdr, u16 fc, local 560 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c (local->iw_mode != IW_MODE_MASTER || !(fc & IEEE80211_FCTL_TODS))) local 565 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (!ether_addr_equal(hdr->addr1, local->dev->dev_addr) && local 572 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->dev->name, local 579 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c *wds = prism2_rx_get_wds(local, hdr->addr2); local 581 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c (local->iw_mode != IW_MODE_INFRA || local 582 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c !(local->wds_type & HOSTAP_WDS_AP_CLIENT) || local 583 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c memcmp(hdr->addr2, local->bssid, ETH_ALEN) != 0)) { local 588 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->dev->name, hdr->addr2); local 589 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->ap && local->ap->autom_ap_wds) local 590 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c hostap_wds_link_oper(local, hdr->addr2, WDS_ADD); local 594 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (*wds && !(fc & IEEE80211_FCTL_FROMDS) && local->ap && local 595 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c hostap_is_sta_assoc(local->ap, hdr->addr2)) { local 608 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c static int hostap_is_eapol_frame(local_info_t *local, struct sk_buff *skb) local 610 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c struct net_device *dev = local->dev; local 649 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c hostap_rx_frame_decrypt(local_info_t *local, struct sk_buff *skb, local 661 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->tkip_countermeasures && local 666 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->dev->name, hdr->addr2); local 676 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->dev->name, hdr->addr2, res); local 677 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->comm_tallies.rx_discards_wep_undecryptable++; local 687 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c hostap_rx_frame_decrypt_msdu(local_info_t *local, struct sk_buff *skb, local 705 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->dev->name, hdr->addr2, keyidx); local 720 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local_info_t *local; local 738 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local = iface->local; local 744 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c dev = local->ddev; local 773 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c hostap_update_rx_stats(local->ap, hdr, rx_stats); local 775 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->iw_mode == IW_MODE_MONITOR) { local 780 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->host_decrypt) { local 784 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c crypt = local->crypt_info.crypt[idx]; local 794 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (!(hdr->addr1[0] & 0x01) || local->bcrx_sta_key) local 795 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c (void) hostap_handle_sta_crypto(local, hdr, &crypt, local 812 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->dev->name, hdr->addr2); local 814 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->comm_tallies.rx_discards_wep_undecryptable++; local 822 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c fc & IEEE80211_FCTL_PROTECTED && local->host_decrypt && local 823 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c (keyidx = hostap_rx_frame_decrypt(local, skb, crypt)) < 0) local 832 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (hostap_rx_frame_mgmt(local, skb, rx_stats, type, stype)) local 863 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (hostap_rx_frame_wds(local, hdr, fc, &wds)) local 868 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->iw_mode == IW_MODE_MASTER && !wds && local 871 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->stadev && local 872 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c memcmp(hdr->addr2, local->assoc_ap_addr, ETH_ALEN) == 0) { local 874 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c skb->dev = dev = local->stadev; local 878 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if ((local->iw_mode == IW_MODE_MASTER || local 879 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->iw_mode == IW_MODE_REPEAT) && local 881 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c switch (hostap_handle_sta_rx(local, dev, skb, rx_stats, local 911 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->host_decrypt && (fc & IEEE80211_FCTL_PROTECTED) && local 912 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c (keyidx = hostap_rx_frame_decrypt(local, skb, crypt)) < 0) local 918 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->host_decrypt && (fc & IEEE80211_FCTL_PROTECTED) && local 922 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c prism2_frag_cache_get(local, hdr); local 939 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c prism2_frag_cache_invalidate(local, hdr); local 969 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c prism2_frag_cache_invalidate(local, hdr); local 975 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->host_decrypt && (fc & IEEE80211_FCTL_PROTECTED) && local 976 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c hostap_rx_frame_decrypt_msdu(local, skb, keyidx, crypt)) local 980 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (crypt && !(fc & IEEE80211_FCTL_PROTECTED) && !local->open_wep) { local 981 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->ieee_802_1x && local 982 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c hostap_is_eapol_frame(local, skb)) { local 986 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c "unencrypted EAPOL frame\n", local->dev->name); local 990 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->dev->name, hdr->addr2); local 995 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->drop_unencrypted && !(fc & IEEE80211_FCTL_PROTECTED) && local 996 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c !hostap_is_eapol_frame(local, skb)) { local 1012 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->ieee_802_1x && local->iw_mode == IW_MODE_MASTER) { local 1016 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->hostapd && local->apdev) { local 1019 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c prism2_rx_80211(local->apdev, skb, rx_stats, local 1021 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->apdevstats.rx_packets++; local 1022 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->apdevstats.rx_bytes += skb->len; local 1068 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c if (local->iw_mode == IW_MODE_MASTER && !wds && local 1069 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->ap->bridge_packets) { local 1073 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->ap->bridged_multicast++; local 1078 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c } else if (hostap_is_sta_authorized(local->ap, dst)) { local 1081 drivers/net/wireless/intersil/hostap/hostap_80211_rx.c local->ap->bridged_unicast++; local 65 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c local_info_t *local; local 78 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c local = iface->local; local 87 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c if (local->ddev != dev) { local 88 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c use_wds = (local->iw_mode == IW_MODE_MASTER && local 89 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c !(local->wds_type & HOSTAP_WDS_STANDARD_FRAME)) ? local 91 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c if (dev == local->stadev) { local 94 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c } else if (dev == local->apdev) { local 101 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c if (local->iw_mode == IW_MODE_REPEAT) { local 106 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c } else if (local->iw_mode == IW_MODE_INFRA && local 107 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c (local->wds_type & HOSTAP_WDS_AP_CLIENT) && local 177 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c if ((local->wds_type & HOSTAP_WDS_BROADCAST_RA) && local 184 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c memcpy(&hdr.addr1, local->bssid, ETH_ALEN); local 187 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c } else if (local->iw_mode == IW_MODE_MASTER && !to_assoc_ap) { local 194 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c } else if (local->iw_mode == IW_MODE_INFRA || to_assoc_ap) { local 198 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c local->assoc_ap_addr : local->bssid, ETH_ALEN); local 202 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c } else if (local->iw_mode == IW_MODE_ADHOC) { local 207 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c memcpy(&hdr.addr3, local->bssid, ETH_ALEN); local 213 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c need_headroom = local->func->need_tx_headroom + hdr_len + encaps_len; local 262 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c skb->dev = local->dev; local 273 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c local_info_t *local; local 279 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c local = iface->local; local 308 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c skb->dev = local->dev; local 319 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c local_info_t *local; local 324 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c local = iface->local; local 331 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c if (local->tkip_countermeasures && local 337 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c local->dev->name, hdr->addr1); local 386 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c local_info_t *local; local 396 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c local = iface->local; local 411 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c if (local->host_encrypt) { local 414 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c tx.crypt = local->crypt_info.crypt[local->crypt_info.tx_keyidx]; local 433 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c tx_ret = hostap_handle_sta_tx(local, &tx); local 442 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c if (local->ieee_802_1x && local 473 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c local->ap && local->ap->tx_callback_idx && meta->tx_cb_idx == 0) { local 474 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c meta->tx_cb_idx = local->ap->tx_callback_idx; local 486 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c if (local->ieee_802_1x && meta->ethertype == ETH_P_PAE && tx.crypt && local 497 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c local->crypt_info.crypt[local->crypt_info.tx_keyidx]) && local 503 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c } else if (local->drop_unencrypted && local 535 drivers/net/wireless/intersil/hostap/hostap_80211_tx.c if (local->func->tx == NULL || local->func->tx(skb, dev)) { local 80 drivers/net/wireless/intersil/hostap/hostap_ap.c seq_printf(m, "auth_algs=%u\n", ap->local->auth_algs); local 114 drivers/net/wireless/intersil/hostap/hostap_ap.c if (sta->ap && sta->local) local 115 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_event_expired_sta(sta->local->dev, sta); local 145 drivers/net/wireless/intersil/hostap/hostap_ap.c static void hostap_set_tim(local_info_t *local, int aid, int set) local 147 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->func->set_tim) local 148 drivers/net/wireless/intersil/hostap/hostap_ap.c local->func->set_tim(local->dev, aid, set); local 178 drivers/net/wireless/intersil/hostap/hostap_ap.c local_info_t *local; local 183 drivers/net/wireless/intersil/hostap/hostap_ap.c if (sta == NULL || sta->local == NULL || sta->local->ap == NULL) { local 188 drivers/net/wireless/intersil/hostap/hostap_ap.c local = sta->local; local 189 drivers/net/wireless/intersil/hostap/hostap_ap.c ap = local->ap; local 227 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_event_expired_sta(local->dev, sta); local 231 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_set_tim(local, sta->aid, 0); local 239 drivers/net/wireless/intersil/hostap/hostap_ap.c local->dev->name, sta->addr); local 240 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_wds_link_oper(local, sta->addr, WDS_DEL); local 249 drivers/net/wireless/intersil/hostap/hostap_ap.c prism2_send_mgmt(local->dev, IEEE80211_FTYPE_DATA | local 257 drivers/net/wireless/intersil/hostap/hostap_ap.c local->dev->name, local 263 drivers/net/wireless/intersil/hostap/hostap_ap.c prism2_send_mgmt(local->dev, IEEE80211_FTYPE_MGMT | local 274 drivers/net/wireless/intersil/hostap/hostap_ap.c local->dev->name, sta->addr); local 509 drivers/net/wireless/intersil/hostap/hostap_ap.c if ((sta->flags & WLAN_STA_ASSOC) && !sta->ap && sta->local) local 510 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_event_expired_sta(sta->local->dev, sta); local 598 drivers/net/wireless/intersil/hostap/hostap_ap.c ap->local->dev->name); local 609 drivers/net/wireless/intersil/hostap/hostap_ap.c if (!ap->local->hostapd || !ap->local->apdev) { local 621 drivers/net/wireless/intersil/hostap/hostap_ap.c skb->dev = ap->local->apdev; local 635 drivers/net/wireless/intersil/hostap/hostap_ap.c struct net_device *dev = ap->local->dev; local 642 drivers/net/wireless/intersil/hostap/hostap_ap.c if (ap->local->hostapd) { local 703 drivers/net/wireless/intersil/hostap/hostap_ap.c struct net_device *dev = ap->local->dev; local 710 drivers/net/wireless/intersil/hostap/hostap_ap.c if (ap->local->hostapd) { local 783 drivers/net/wireless/intersil/hostap/hostap_ap.c ap->local->dev->name, hdr->addr1); local 792 drivers/net/wireless/intersil/hostap/hostap_ap.c void hostap_init_data(local_info_t *local) local 794 drivers/net/wireless/intersil/hostap/hostap_ap.c struct ap_data *ap = local->ap; local 801 drivers/net/wireless/intersil/hostap/hostap_ap.c ap->local = local; local 803 drivers/net/wireless/intersil/hostap/hostap_ap.c ap->ap_policy = GET_INT_PARM(other_ap_policy, local->card_idx); local 804 drivers/net/wireless/intersil/hostap/hostap_ap.c ap->bridge_packets = GET_INT_PARM(ap_bridge_packets, local->card_idx); local 806 drivers/net/wireless/intersil/hostap/hostap_ap.c GET_INT_PARM(ap_max_inactivity, local->card_idx) * HZ; local 807 drivers/net/wireless/intersil/hostap/hostap_ap.c ap->autom_ap_wds = GET_INT_PARM(autom_ap_wds, local->card_idx); local 813 drivers/net/wireless/intersil/hostap/hostap_ap.c INIT_WORK(&local->ap->add_sta_proc_queue, handle_add_proc_queue); local 816 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_tx_callback_register(local, hostap_ap_tx_cb, ap); local 819 drivers/net/wireless/intersil/hostap/hostap_ap.c "AP\n", local->dev->name); local 821 drivers/net/wireless/intersil/hostap/hostap_ap.c INIT_WORK(&local->ap->wds_oper_queue, handle_wds_oper_queue); local 824 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_tx_callback_register(local, hostap_ap_tx_cb_auth, ap); local 826 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_tx_callback_register(local, hostap_ap_tx_cb_assoc, ap); local 828 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_tx_callback_register(local, hostap_ap_tx_cb_poll, ap); local 832 drivers/net/wireless/intersil/hostap/hostap_ap.c "AP\n", local->dev->name); local 842 drivers/net/wireless/intersil/hostap/hostap_ap.c void hostap_init_ap_proc(local_info_t *local) local 844 drivers/net/wireless/intersil/hostap/hostap_ap.c struct ap_data *ap = local->ap; local 846 drivers/net/wireless/intersil/hostap/hostap_ap.c ap->proc = local->proc; local 885 drivers/net/wireless/intersil/hostap/hostap_ap.c if ((sta->flags & WLAN_STA_ASSOC) && !sta->ap && sta->local) local 886 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_event_expired_sta(sta->local->dev, sta); local 928 drivers/net/wireless/intersil/hostap/hostap_ap.c local_info_t *local; local 936 drivers/net/wireless/intersil/hostap/hostap_ap.c local = iface->local; local 937 drivers/net/wireless/intersil/hostap/hostap_ap.c dev = local->dev; /* always use master radio device */ local 1108 drivers/net/wireless/intersil/hostap/hostap_ap.c sta->local = ap->local; local 1136 drivers/net/wireless/intersil/hostap/hostap_ap.c if (!ap->local->hostapd) local 1145 drivers/net/wireless/intersil/hostap/hostap_ap.c local_info_t *local) local 1151 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->tx_rate_control != 0 && local 1152 drivers/net/wireless/intersil/hostap/hostap_ap.c !(local->tx_rate_control & (1 << rateidx))) local 1177 drivers/net/wireless/intersil/hostap/hostap_ap.c if (ap_tx_rate_ok(0, sta, sta->local)) { local 1184 drivers/net/wireless/intersil/hostap/hostap_ap.c if (ap_tx_rate_ok(1, sta, sta->local)) { local 1191 drivers/net/wireless/intersil/hostap/hostap_ap.c if (ap_tx_rate_ok(2, sta, sta->local)) { local 1198 drivers/net/wireless/intersil/hostap/hostap_ap.c if (ap_tx_rate_ok(3, sta, sta->local)) { local 1283 drivers/net/wireless/intersil/hostap/hostap_ap.c static void handle_authen(local_info_t *local, struct sk_buff *skb, local 1286 drivers/net/wireless/intersil/hostap/hostap_ap.c struct net_device *dev = local->dev; local 1289 drivers/net/wireless/intersil/hostap/hostap_ap.c struct ap_data *ap = local->ap; local 1309 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_lock_bh(&local->ap->sta_table_lock); local 1310 drivers/net/wireless/intersil/hostap/hostap_ap.c sta = ap_get_sta(local->ap, hdr->addr2); local 1313 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_unlock_bh(&local->ap->sta_table_lock); local 1321 drivers/net/wireless/intersil/hostap/hostap_ap.c crypt = local->crypt_info.crypt[idx]; local 1339 drivers/net/wireless/intersil/hostap/hostap_ap.c if (((local->auth_algs & PRISM2_AUTH_OPEN) && local 1341 drivers/net/wireless/intersil/hostap/hostap_ap.c ((local->auth_algs & PRISM2_AUTH_SHARED_KEY) && local 1396 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->ap->num_sta >= MAX_STA_COUNT) { local 1403 drivers/net/wireless/intersil/hostap/hostap_ap.c sta = ap_add_sta(local->ap, hdr->addr2); local 1426 drivers/net/wireless/intersil/hostap/hostap_ap.c ap_auth_make_challenge(local->ap); local 1496 drivers/net/wireless/intersil/hostap/hostap_ap.c static void handle_assoc(local_info_t *local, struct sk_buff *skb, local 1499 drivers/net/wireless/intersil/hostap/hostap_ap.c struct net_device *dev = local->dev; local 1519 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_lock_bh(&local->ap->sta_table_lock); local 1520 drivers/net/wireless/intersil/hostap/hostap_ap.c sta = ap_get_sta(local->ap, hdr->addr2); local 1522 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_unlock_bh(&local->ap->sta_table_lock); local 1530 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_unlock_bh(&local->ap->sta_table_lock); local 1559 drivers/net/wireless/intersil/hostap/hostap_ap.c if (ileft != strlen(local->essid) || local 1560 drivers/net/wireless/intersil/hostap/hostap_ap.c memcmp(local->essid, u, ileft) != 0) { local 1611 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_lock_bh(&local->ap->sta_table_lock); local 1613 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->ap->sta_aid[sta->aid - 1] == NULL) local 1617 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_unlock_bh(&local->ap->sta_table_lock); local 1621 drivers/net/wireless/intersil/hostap/hostap_ap.c local->ap->sta_aid[sta->aid - 1] = sta; local 1622 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_unlock_bh(&local->ap->sta_table_lock); local 1654 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->tx_rate_control & WLAN_RATE_1M) { local 1655 drivers/net/wireless/intersil/hostap/hostap_ap.c *p++ = local->basic_rates & WLAN_RATE_1M ? 0x82 : 0x02; local 1658 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->tx_rate_control & WLAN_RATE_2M) { local 1659 drivers/net/wireless/intersil/hostap/hostap_ap.c *p++ = local->basic_rates & WLAN_RATE_2M ? 0x84 : 0x04; local 1662 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->tx_rate_control & WLAN_RATE_5M5) { local 1663 drivers/net/wireless/intersil/hostap/hostap_ap.c *p++ = local->basic_rates & WLAN_RATE_5M5 ? local 1667 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->tx_rate_control & WLAN_RATE_11M) { local 1668 drivers/net/wireless/intersil/hostap/hostap_ap.c *p++ = local->basic_rates & WLAN_RATE_11M ? local 1681 drivers/net/wireless/intersil/hostap/hostap_ap.c send_deauth ? 0 : local->ap->tx_callback_assoc); local 1705 drivers/net/wireless/intersil/hostap/hostap_ap.c static void handle_deauth(local_info_t *local, struct sk_buff *skb, local 1708 drivers/net/wireless/intersil/hostap/hostap_ap.c struct net_device *dev = local->dev; local 1730 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_lock_bh(&local->ap->sta_table_lock); local 1731 drivers/net/wireless/intersil/hostap/hostap_ap.c sta = ap_get_sta(local->ap, hdr->addr2); local 1734 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_event_expired_sta(local->dev, sta); local 1737 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_unlock_bh(&local->ap->sta_table_lock); local 1747 drivers/net/wireless/intersil/hostap/hostap_ap.c static void handle_disassoc(local_info_t *local, struct sk_buff *skb, local 1750 drivers/net/wireless/intersil/hostap/hostap_ap.c struct net_device *dev = local->dev; local 1772 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_lock_bh(&local->ap->sta_table_lock); local 1773 drivers/net/wireless/intersil/hostap/hostap_ap.c sta = ap_get_sta(local->ap, hdr->addr2); local 1776 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_event_expired_sta(local->dev, sta); local 1779 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_unlock_bh(&local->ap->sta_table_lock); local 1789 drivers/net/wireless/intersil/hostap/hostap_ap.c static void ap_handle_data_nullfunc(local_info_t *local, local 1792 drivers/net/wireless/intersil/hostap/hostap_ap.c struct net_device *dev = local->dev; local 1806 drivers/net/wireless/intersil/hostap/hostap_ap.c static void ap_handle_dropped_data(local_info_t *local, local 1809 drivers/net/wireless/intersil/hostap/hostap_ap.c struct net_device *dev = local->dev; local 1813 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_lock_bh(&local->ap->sta_table_lock); local 1814 drivers/net/wireless/intersil/hostap/hostap_ap.c sta = ap_get_sta(local->ap, hdr->addr2); local 1817 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_unlock_bh(&local->ap->sta_table_lock); local 1839 drivers/net/wireless/intersil/hostap/hostap_ap.c static void pspoll_send_buffered(local_info_t *local, struct sta_info *sta, local 1864 drivers/net/wireless/intersil/hostap/hostap_ap.c static void handle_pspoll(local_info_t *local, local 1868 drivers/net/wireless/intersil/hostap/hostap_ap.c struct net_device *dev = local->dev; local 1895 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_lock_bh(&local->ap->sta_table_lock); local 1896 drivers/net/wireless/intersil/hostap/hostap_ap.c sta = ap_get_sta(local->ap, hdr->addr2); local 1899 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_unlock_bh(&local->ap->sta_table_lock); local 1925 drivers/net/wireless/intersil/hostap/hostap_ap.c pspoll_send_buffered(local, sta, skb); local 1941 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_set_tim(local, aid, 0); local 1955 drivers/net/wireless/intersil/hostap/hostap_ap.c local_info_t *local = ap->local; local 1958 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_lock_bh(&local->lock); local 1959 drivers/net/wireless/intersil/hostap/hostap_ap.c entry = local->ap->wds_oper_entries; local 1960 drivers/net/wireless/intersil/hostap/hostap_ap.c local->ap->wds_oper_entries = NULL; local 1961 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_unlock_bh(&local->lock); local 1966 drivers/net/wireless/intersil/hostap/hostap_ap.c local->dev->name, local 1970 drivers/net/wireless/intersil/hostap/hostap_ap.c prism2_wds_add(local, entry->addr, 0); local 1972 drivers/net/wireless/intersil/hostap/hostap_ap.c prism2_wds_del(local, entry->addr, 0, 1); local 1982 drivers/net/wireless/intersil/hostap/hostap_ap.c static void handle_beacon(local_info_t *local, struct sk_buff *skb, local 2016 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->ap->ap_policy != AP_OTHER_AP_EVEN_IBSS && local 2034 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->ap->ap_policy == AP_OTHER_AP_SAME_SSID && local 2035 drivers/net/wireless/intersil/hostap/hostap_ap.c (ileft != strlen(local->essid) || local 2036 drivers/net/wireless/intersil/hostap/hostap_ap.c memcmp(local->essid, u, ileft) != 0)) { local 2082 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_lock_bh(&local->ap->sta_table_lock); local 2083 drivers/net/wireless/intersil/hostap/hostap_ap.c sta = ap_get_sta(local->ap, hdr->addr2); local 2086 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_unlock_bh(&local->ap->sta_table_lock); local 2091 drivers/net/wireless/intersil/hostap/hostap_ap.c sta = ap_add_sta(local->ap, hdr->addr2); local 2097 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_event_new_sta(local->dev, sta); local 2103 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->ap->autom_ap_wds) { local 2104 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_wds_link_oper(local, sta->addr, WDS_ADD); local 2137 drivers/net/wireless/intersil/hostap/hostap_ap.c static void handle_ap_item(local_info_t *local, struct sk_buff *skb, local 2141 drivers/net/wireless/intersil/hostap/hostap_ap.c struct net_device *dev = local->dev; local 2154 drivers/net/wireless/intersil/hostap/hostap_ap.c if (!local->hostapd && type == IEEE80211_FTYPE_DATA) { local 2163 drivers/net/wireless/intersil/hostap/hostap_ap.c ap_handle_dropped_data(local, hdr); local 2177 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->ap->nullfunc_ack && local 2179 drivers/net/wireless/intersil/hostap/hostap_ap.c ap_handle_data_nullfunc(local, hdr); local 2181 drivers/net/wireless/intersil/hostap/hostap_ap.c ap_handle_dropped_data(local, hdr); local 2186 drivers/net/wireless/intersil/hostap/hostap_ap.c handle_beacon(local, skb, rx_stats); local 2192 drivers/net/wireless/intersil/hostap/hostap_ap.c handle_pspoll(local, hdr, rx_stats); local 2196 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->hostapd) { local 2222 drivers/net/wireless/intersil/hostap/hostap_ap.c handle_assoc(local, skb, rx_stats, 0); local 2228 drivers/net/wireless/intersil/hostap/hostap_ap.c handle_assoc(local, skb, rx_stats, 1); local 2237 drivers/net/wireless/intersil/hostap/hostap_ap.c handle_disassoc(local, skb, rx_stats); local 2240 drivers/net/wireless/intersil/hostap/hostap_ap.c handle_authen(local, skb, rx_stats); local 2243 drivers/net/wireless/intersil/hostap/hostap_ap.c handle_deauth(local, skb, rx_stats); local 2262 drivers/net/wireless/intersil/hostap/hostap_ap.c local_info_t *local; local 2266 drivers/net/wireless/intersil/hostap/hostap_ap.c local = iface->local; local 2275 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->ap->ap_policy == AP_OTHER_AP_SKIP_ALL && local 2280 drivers/net/wireless/intersil/hostap/hostap_ap.c handle_ap_item(local, skb, rx_stats); local 2289 drivers/net/wireless/intersil/hostap/hostap_ap.c static void schedule_packet_send(local_info_t *local, struct sta_info *sta) local 2301 drivers/net/wireless/intersil/hostap/hostap_ap.c "failed\n", local->dev->name); local 2310 drivers/net/wireless/intersil/hostap/hostap_ap.c memcpy(hdr->addr1, local->dev->dev_addr, ETH_ALEN); local 2316 drivers/net/wireless/intersil/hostap/hostap_ap.c local->dev->name, sta->addr); local 2318 drivers/net/wireless/intersil/hostap/hostap_ap.c skb->dev = local->dev; local 2321 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_rx(local->dev, skb, &rx_stats); local 2325 drivers/net/wireless/intersil/hostap/hostap_ap.c int prism2_ap_get_sta_qual(local_info_t *local, struct sockaddr addr[], local 2329 drivers/net/wireless/intersil/hostap/hostap_ap.c struct ap_data *ap = local->ap; local 2371 drivers/net/wireless/intersil/hostap/hostap_ap.c local_info_t *local; local 2382 drivers/net/wireless/intersil/hostap/hostap_ap.c local = iface->local; local 2383 drivers/net/wireless/intersil/hostap/hostap_ap.c ap = local->ap; local 2499 drivers/net/wireless/intersil/hostap/hostap_ap.c if (!(sta->flags & WLAN_STA_ASSOC) && !sta->ap && sta->local) local 2500 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_event_new_sta(sta->local->dev, sta); local 2537 drivers/net/wireless/intersil/hostap/hostap_ap.c if ((sta->flags & WLAN_STA_ASSOC) && !sta->ap && sta->local) local 2538 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_event_expired_sta(sta->local->dev, sta); local 2642 drivers/net/wireless/intersil/hostap/hostap_ap.c local_info_t *local; local 2645 drivers/net/wireless/intersil/hostap/hostap_ap.c local = iface->local; local 2657 drivers/net/wireless/intersil/hostap/hostap_ap.c if (ap_tx_rate_ok(new_rate, sta, local)) { local 2682 drivers/net/wireless/intersil/hostap/hostap_ap.c ap_tx_ret hostap_handle_sta_tx(local_info_t *local, struct hostap_tx_data *tx) local 2692 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->ap == NULL || skb->len < 10 || local 2700 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->ap->num_sta <= 0) local 2706 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_lock(&local->ap->sta_table_lock); local 2707 drivers/net/wireless/intersil/hostap/hostap_ap.c sta = ap_get_sta(local->ap, hdr->addr1); local 2710 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_unlock(&local->ap->sta_table_lock); local 2712 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->iw_mode == IW_MODE_MASTER && sta == NULL && local 2727 drivers/net/wireless/intersil/hostap/hostap_ap.c local->ap->tx_drop_nonassoc++; local 2739 drivers/net/wireless/intersil/hostap/hostap_ap.c if (!local->fw_tx_rate_control) local 2740 drivers/net/wireless/intersil/hostap/hostap_ap.c local->ap->last_tx_rate = meta->rate = local 2741 drivers/net/wireless/intersil/hostap/hostap_ap.c ap_update_sta_tx_rate(sta, local->dev); local 2743 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->iw_mode != IW_MODE_MASTER) local 2764 drivers/net/wireless/intersil/hostap/hostap_ap.c local->dev->name, sta->addr); local 2769 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_set_tim(local, sta->aid, 1); local 2785 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_set_tim(local, sta->aid, 1); local 2823 drivers/net/wireless/intersil/hostap/hostap_ap.c void hostap_handle_sta_tx_exc(local_info_t *local, struct sk_buff *skb) local 2832 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_lock(&local->ap->sta_table_lock); local 2833 drivers/net/wireless/intersil/hostap/hostap_ap.c sta = ap_get_sta(local->ap, hdr->addr1); local 2835 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_unlock(&local->ap->sta_table_lock); local 2838 drivers/net/wireless/intersil/hostap/hostap_ap.c local->dev->name, hdr->addr1, jiffies); local 2852 drivers/net/wireless/intersil/hostap/hostap_ap.c if (ap_tx_rate_ok(rate, sta, local)) { local 2867 drivers/net/wireless/intersil/hostap/hostap_ap.c local->dev->name, sta->addr, sta->tx_rate); local 2871 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_unlock(&local->ap->sta_table_lock); local 2875 drivers/net/wireless/intersil/hostap/hostap_ap.c static void hostap_update_sta_ps2(local_info_t *local, struct sta_info *sta, local 2890 drivers/net/wireless/intersil/hostap/hostap_ap.c schedule_packet_send(local, sta); local 2897 drivers/net/wireless/intersil/hostap/hostap_ap.c int hostap_update_sta_ps(local_info_t *local, struct ieee80211_hdr *hdr) local 2902 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_lock(&local->ap->sta_table_lock); local 2903 drivers/net/wireless/intersil/hostap/hostap_ap.c sta = ap_get_sta(local->ap, hdr->addr2); local 2906 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_unlock(&local->ap->sta_table_lock); local 2912 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_update_sta_ps2(local, sta, fc & IEEE80211_FCTL_PM, local 2923 drivers/net/wireless/intersil/hostap/hostap_ap.c ap_rx_ret hostap_handle_sta_rx(local_info_t *local, struct net_device *dev, local 2933 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->ap == NULL) local 2942 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_lock(&local->ap->sta_table_lock); local 2943 drivers/net/wireless/intersil/hostap/hostap_ap.c sta = ap_get_sta(local->ap, hdr->addr2); local 2946 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_unlock(&local->ap->sta_table_lock); local 2956 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->hostapd) { local 2957 drivers/net/wireless/intersil/hostap/hostap_ap.c prism2_rx_80211(local->apdev, skb, rx_stats, local 2987 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->hostapd) { local 2988 drivers/net/wireless/intersil/hostap/hostap_ap.c prism2_rx_80211(local->apdev, skb, rx_stats, local 3026 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_update_sta_ps2(local, sta, fc & IEEE80211_FCTL_PM, local 3034 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->ap->nullfunc_ack && stype == IEEE80211_STYPE_NULLFUNC && local 3036 drivers/net/wireless/intersil/hostap/hostap_ap.c if (local->hostapd) { local 3037 drivers/net/wireless/intersil/hostap/hostap_ap.c prism2_rx_80211(local->apdev, skb, rx_stats, local 3062 drivers/net/wireless/intersil/hostap/hostap_ap.c int hostap_handle_sta_crypto(local_info_t *local, local 3069 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_lock(&local->ap->sta_table_lock); local 3070 drivers/net/wireless/intersil/hostap/hostap_ap.c sta = ap_get_sta(local->ap, hdr->addr2); local 3073 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_unlock(&local->ap->sta_table_lock); local 3116 drivers/net/wireless/intersil/hostap/hostap_ap.c ap->local->ieee_802_1x == 0)) local 3195 drivers/net/wireless/intersil/hostap/hostap_ap.c void hostap_update_rates(local_info_t *local) local 3198 drivers/net/wireless/intersil/hostap/hostap_ap.c struct ap_data *ap = local->ap; local 3237 drivers/net/wireless/intersil/hostap/hostap_ap.c void hostap_add_wds_links(local_info_t *local) local 3239 drivers/net/wireless/intersil/hostap/hostap_ap.c struct ap_data *ap = local->ap; local 3245 drivers/net/wireless/intersil/hostap/hostap_ap.c hostap_wds_link_oper(local, sta->addr, WDS_ADD); local 3249 drivers/net/wireless/intersil/hostap/hostap_ap.c schedule_work(&local->ap->wds_oper_queue); local 3253 drivers/net/wireless/intersil/hostap/hostap_ap.c void hostap_wds_link_oper(local_info_t *local, u8 *addr, wds_oper_type type) local 3262 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_lock_bh(&local->lock); local 3263 drivers/net/wireless/intersil/hostap/hostap_ap.c entry->next = local->ap->wds_oper_entries; local 3264 drivers/net/wireless/intersil/hostap/hostap_ap.c local->ap->wds_oper_entries = entry; local 3265 drivers/net/wireless/intersil/hostap/hostap_ap.c spin_unlock_bh(&local->lock); local 3267 drivers/net/wireless/intersil/hostap/hostap_ap.c schedule_work(&local->ap->wds_oper_queue); local 82 drivers/net/wireless/intersil/hostap/hostap_ap.h local_info_t *local; local 167 drivers/net/wireless/intersil/hostap/hostap_ap.h local_info_t *local; local 221 drivers/net/wireless/intersil/hostap/hostap_ap.h void hostap_init_data(local_info_t *local); local 222 drivers/net/wireless/intersil/hostap/hostap_ap.h void hostap_init_ap_proc(local_info_t *local); local 236 drivers/net/wireless/intersil/hostap/hostap_ap.h ap_tx_ret hostap_handle_sta_tx(local_info_t *local, struct hostap_tx_data *tx); local 238 drivers/net/wireless/intersil/hostap/hostap_ap.h void hostap_handle_sta_tx_exc(local_info_t *local, struct sk_buff *skb); local 239 drivers/net/wireless/intersil/hostap/hostap_ap.h int hostap_update_sta_ps(local_info_t *local, struct ieee80211_hdr *hdr); local 243 drivers/net/wireless/intersil/hostap/hostap_ap.h ap_rx_ret hostap_handle_sta_rx(local_info_t *local, struct net_device *dev, local 247 drivers/net/wireless/intersil/hostap/hostap_ap.h int hostap_handle_sta_crypto(local_info_t *local, struct ieee80211_hdr *hdr, local 255 drivers/net/wireless/intersil/hostap/hostap_ap.h void hostap_update_rates(local_info_t *local); local 256 drivers/net/wireless/intersil/hostap/hostap_ap.h void hostap_add_wds_links(local_info_t *local); local 257 drivers/net/wireless/intersil/hostap/hostap_ap.h void hostap_wds_link_oper(local_info_t *local, u8 *addr, wds_oper_type type); local 50 drivers/net/wireless/intersil/hostap/hostap_cs.c local_info_t *local; local 54 drivers/net/wireless/intersil/hostap/hostap_cs.c local = iface->local; local 55 drivers/net/wireless/intersil/hostap/hostap_cs.c spin_lock_irqsave(&local->lock, flags); local 58 drivers/net/wireless/intersil/hostap/hostap_cs.c spin_unlock_irqrestore(&local->lock, flags); local 64 drivers/net/wireless/intersil/hostap/hostap_cs.c local_info_t *local; local 69 drivers/net/wireless/intersil/hostap/hostap_cs.c local = iface->local; local 70 drivers/net/wireless/intersil/hostap/hostap_cs.c spin_lock_irqsave(&local->lock, flags); local 73 drivers/net/wireless/intersil/hostap/hostap_cs.c spin_unlock_irqrestore(&local->lock, flags); local 80 drivers/net/wireless/intersil/hostap/hostap_cs.c local_info_t *local; local 84 drivers/net/wireless/intersil/hostap/hostap_cs.c local = iface->local; local 85 drivers/net/wireless/intersil/hostap/hostap_cs.c spin_lock_irqsave(&local->lock, flags); local 88 drivers/net/wireless/intersil/hostap/hostap_cs.c spin_unlock_irqrestore(&local->lock, flags); local 94 drivers/net/wireless/intersil/hostap/hostap_cs.c local_info_t *local; local 99 drivers/net/wireless/intersil/hostap/hostap_cs.c local = iface->local; local 100 drivers/net/wireless/intersil/hostap/hostap_cs.c spin_lock_irqsave(&local->lock, flags); local 103 drivers/net/wireless/intersil/hostap/hostap_cs.c spin_unlock_irqrestore(&local->lock, flags); local 111 drivers/net/wireless/intersil/hostap/hostap_cs.c local_info_t *local; local 115 drivers/net/wireless/intersil/hostap/hostap_cs.c local = iface->local; local 116 drivers/net/wireless/intersil/hostap/hostap_cs.c spin_lock_irqsave(&local->lock, flags); local 119 drivers/net/wireless/intersil/hostap/hostap_cs.c spin_unlock_irqrestore(&local->lock, flags); local 126 drivers/net/wireless/intersil/hostap/hostap_cs.c local_info_t *local; local 130 drivers/net/wireless/intersil/hostap/hostap_cs.c local = iface->local; local 131 drivers/net/wireless/intersil/hostap/hostap_cs.c spin_lock_irqsave(&local->lock, flags); local 134 drivers/net/wireless/intersil/hostap/hostap_cs.c spin_unlock_irqrestore(&local->lock, flags); local 205 drivers/net/wireless/intersil/hostap/hostap_cs.c static int prism2_pccard_card_present(local_info_t *local) local 207 drivers/net/wireless/intersil/hostap/hostap_cs.c struct hostap_cs_priv *hw_priv = local->hw_priv; local 223 drivers/net/wireless/intersil/hostap/hostap_cs.c static void sandisk_set_iobase(local_info_t *local) local 226 drivers/net/wireless/intersil/hostap/hostap_cs.c struct hostap_cs_priv *hw_priv = local->hw_priv; local 245 drivers/net/wireless/intersil/hostap/hostap_cs.c static void sandisk_write_hcr(local_info_t *local, int hcr) local 247 drivers/net/wireless/intersil/hostap/hostap_cs.c struct net_device *dev = local->dev; local 264 drivers/net/wireless/intersil/hostap/hostap_cs.c local_info_t *local = iface->local; local 265 drivers/net/wireless/intersil/hostap/hostap_cs.c struct hostap_cs_priv *hw_priv = local->hw_priv; local 312 drivers/net/wireless/intersil/hostap/hostap_cs.c sandisk_set_iobase(local); local 324 drivers/net/wireless/intersil/hostap/hostap_cs.c static void prism2_pccard_cor_sreset(local_info_t *local) local 328 drivers/net/wireless/intersil/hostap/hostap_cs.c struct hostap_cs_priv *hw_priv = local->hw_priv; local 330 drivers/net/wireless/intersil/hostap/hostap_cs.c if (!prism2_pccard_card_present(local)) local 365 drivers/net/wireless/intersil/hostap/hostap_cs.c sandisk_set_iobase(local); local 369 drivers/net/wireless/intersil/hostap/hostap_cs.c static void prism2_pccard_genesis_reset(local_info_t *local, int hcr) local 373 drivers/net/wireless/intersil/hostap/hostap_cs.c struct hostap_cs_priv *hw_priv = local->hw_priv; local 375 drivers/net/wireless/intersil/hostap/hostap_cs.c if (!prism2_pccard_card_present(local)) local 379 drivers/net/wireless/intersil/hostap/hostap_cs.c sandisk_write_hcr(local, hcr); local 457 drivers/net/wireless/intersil/hostap/hostap_cs.c hw_priv = iface->local->hw_priv; local 476 drivers/net/wireless/intersil/hostap/hostap_cs.c local_info_t *local; local 513 drivers/net/wireless/intersil/hostap/hostap_cs.c local = iface->local; local 514 drivers/net/wireless/intersil/hostap/hostap_cs.c local->hw_priv = hw_priv; local 530 drivers/net/wireless/intersil/hostap/hostap_cs.c spin_lock_irqsave(&local->irq_init_lock, flags); local 533 drivers/net/wireless/intersil/hostap/hostap_cs.c spin_unlock_irqrestore(&local->irq_init_lock, flags); local 535 drivers/net/wireless/intersil/hostap/hostap_cs.c local->shutdown = 0; local 564 drivers/net/wireless/intersil/hostap/hostap_cs.c iface->local->shutdown = 1; local 583 drivers/net/wireless/intersil/hostap/hostap_cs.c if (iface && iface->local) local 584 drivers/net/wireless/intersil/hostap/hostap_cs.c dev_open = iface->local->num_dev_open > 0; local 607 drivers/net/wireless/intersil/hostap/hostap_cs.c if (iface && iface->local) local 608 drivers/net/wireless/intersil/hostap/hostap_cs.c dev_open = iface->local->num_dev_open > 0; local 8 drivers/net/wireless/intersil/hostap/hostap_download.c local_info_t *local; local 11 drivers/net/wireless/intersil/hostap/hostap_download.c local = iface->local; local 13 drivers/net/wireless/intersil/hostap/hostap_download.c if (local->no_pri) { local 21 drivers/net/wireless/intersil/hostap/hostap_download.c spin_lock_irqsave(&local->cmdlock, flags); local 31 drivers/net/wireless/intersil/hostap/hostap_download.c spin_unlock_irqrestore(&local->cmdlock, flags); local 75 drivers/net/wireless/intersil/hostap/hostap_download.c spin_unlock_irqrestore(&local->cmdlock, flags); local 181 drivers/net/wireless/intersil/hostap/hostap_download.c local_info_t *local; local 189 drivers/net/wireless/intersil/hostap/hostap_download.c hfa384x_from_aux(ctx->local->dev, (unsigned long)v - 1, 0x80, ctx->page); local 197 drivers/net/wireless/intersil/hostap/hostap_download.c prism2_enable_aux_port(ctx->local->dev, 1); local 214 drivers/net/wireless/intersil/hostap/hostap_download.c prism2_enable_aux_port(ctx->local->dev, 0); local 291 drivers/net/wireless/intersil/hostap/hostap_download.c static int prism2_download_volatile(local_info_t *local, local 294 drivers/net/wireless/intersil/hostap/hostap_download.c struct net_device *dev = local->dev; local 298 drivers/net/wireless/intersil/hostap/hostap_download.c if (local->hw_downloading) { local 304 drivers/net/wireless/intersil/hostap/hostap_download.c local->hw_downloading = 1; local 305 drivers/net/wireless/intersil/hostap/hostap_download.c if (local->pri_only) { local 374 drivers/net/wireless/intersil/hostap/hostap_download.c local->hw_downloading = 0; local 383 drivers/net/wireless/intersil/hostap/hostap_download.c local->hw_downloading = 0; local 388 drivers/net/wireless/intersil/hostap/hostap_download.c static int prism2_enable_genesis(local_info_t *local, int hcr) local 390 drivers/net/wireless/intersil/hostap/hostap_download.c struct net_device *dev = local->dev; local 396 drivers/net/wireless/intersil/hostap/hostap_download.c local->func->cor_sreset(local); local 398 drivers/net/wireless/intersil/hostap/hostap_download.c local->func->genesis_reset(local, hcr); local 417 drivers/net/wireless/intersil/hostap/hostap_download.c static int prism2_get_ram_size(local_info_t *local) local 422 drivers/net/wireless/intersil/hostap/hostap_download.c if (prism2_enable_genesis(local, 0x1f) == 0) local 424 drivers/net/wireless/intersil/hostap/hostap_download.c else if (prism2_enable_genesis(local, 0x0f) == 0) local 430 drivers/net/wireless/intersil/hostap/hostap_download.c local->func->genesis_reset(local, ret == 16 ? 0x07 : 0x17); local 436 drivers/net/wireless/intersil/hostap/hostap_download.c static int prism2_download_genesis(local_info_t *local, local 439 drivers/net/wireless/intersil/hostap/hostap_download.c struct net_device *dev = local->dev; local 443 drivers/net/wireless/intersil/hostap/hostap_download.c if (local->hw_downloading) { local 449 drivers/net/wireless/intersil/hostap/hostap_download.c if (!local->func->genesis_reset || !local->func->cor_sreset) { local 455 drivers/net/wireless/intersil/hostap/hostap_download.c local->hw_downloading = 1; local 464 drivers/net/wireless/intersil/hostap/hostap_download.c if (local->sram_type == -1) { local 466 drivers/net/wireless/intersil/hostap/hostap_download.c if (prism2_enable_genesis(local, 0x1f) == 0) { local 470 drivers/net/wireless/intersil/hostap/hostap_download.c } else if (prism2_enable_genesis(local, 0x0f) == 0) { local 481 drivers/net/wireless/intersil/hostap/hostap_download.c if (prism2_enable_genesis(local, local->sram_type == 8 ? local 485 drivers/net/wireless/intersil/hostap/hostap_download.c local->sram_type); local 489 drivers/net/wireless/intersil/hostap/hostap_download.c ram16 = local->sram_type != 8; local 506 drivers/net/wireless/intersil/hostap/hostap_download.c local->func->genesis_reset(local, ram16 ? 0x07 : 0x17); local 513 drivers/net/wireless/intersil/hostap/hostap_download.c local->hw_downloading = 0; local 537 drivers/net/wireless/intersil/hostap/hostap_download.c local->hw_downloading = 0; local 590 drivers/net/wireless/intersil/hostap/hostap_download.c static int prism2_download_nonvolatile(local_info_t *local, local 593 drivers/net/wireless/intersil/hostap/hostap_download.c struct net_device *dev = local->dev; local 602 drivers/net/wireless/intersil/hostap/hostap_download.c if (local->hw_downloading) { local 608 drivers/net/wireless/intersil/hostap/hostap_download.c ret = local->func->get_rid(dev, HFA384X_RID_DOWNLOADBUFFER, local 624 drivers/net/wireless/intersil/hostap/hostap_download.c local->hw_downloading = 1; local 626 drivers/net/wireless/intersil/hostap/hostap_download.c if (!local->pri_only) { local 687 drivers/net/wireless/intersil/hostap/hostap_download.c local->func->hw_reset(dev); local 688 drivers/net/wireless/intersil/hostap/hostap_download.c local->hw_downloading = 0; local 699 drivers/net/wireless/intersil/hostap/hostap_download.c local->hw_downloading = 0; local 718 drivers/net/wireless/intersil/hostap/hostap_download.c static int prism2_download(local_info_t *local, local 776 drivers/net/wireless/intersil/hostap/hostap_download.c ret = prism2_download_volatile(local, dl); local 780 drivers/net/wireless/intersil/hostap/hostap_download.c ret = prism2_download_genesis(local, dl); local 784 drivers/net/wireless/intersil/hostap/hostap_download.c ret = prism2_download_nonvolatile(local, dl); local 787 drivers/net/wireless/intersil/hostap/hostap_download.c local->dev->name); local 793 drivers/net/wireless/intersil/hostap/hostap_download.c local->dev->name, param->dl_cmd); local 801 drivers/net/wireless/intersil/hostap/hostap_download.c prism2_download_free_data(local->dl_pri); local 802 drivers/net/wireless/intersil/hostap/hostap_download.c local->dl_pri = dl; local 805 drivers/net/wireless/intersil/hostap/hostap_download.c prism2_download_free_data(local->dl_sec); local 806 drivers/net/wireless/intersil/hostap/hostap_download.c local->dl_sec = dl; local 125 drivers/net/wireless/intersil/hostap/hostap_hw.c static void prism2_check_sta_fw_version(local_info_t *local); local 131 drivers/net/wireless/intersil/hostap/hostap_hw.c static int prism2_download(local_info_t *local, local 134 drivers/net/wireless/intersil/hostap/hostap_hw.c static int prism2_download_volatile(local_info_t *local, local 136 drivers/net/wireless/intersil/hostap/hostap_hw.c static int prism2_download_genesis(local_info_t *local, local 138 drivers/net/wireless/intersil/hostap/hostap_hw.c static int prism2_get_ram_size(local_info_t *local); local 170 drivers/net/wireless/intersil/hostap/hostap_hw.c static inline void __hostap_cmd_queue_free(local_info_t *local, local 178 drivers/net/wireless/intersil/hostap/hostap_hw.c local->cmd_queue_len--; local 195 drivers/net/wireless/intersil/hostap/hostap_hw.c static inline void hostap_cmd_queue_free(local_info_t *local, local 201 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock_irqsave(&local->cmdlock, flags); local 202 drivers/net/wireless/intersil/hostap/hostap_hw.c __hostap_cmd_queue_free(local, entry, del_req); local 203 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock_irqrestore(&local->cmdlock, flags); local 211 drivers/net/wireless/intersil/hostap/hostap_hw.c static void prism2_clear_cmd_queue(local_info_t *local) local 217 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock_irqsave(&local->cmdlock, flags); local 218 drivers/net/wireless/intersil/hostap/hostap_hw.c list_for_each_safe(ptr, n, &local->cmd_queue) { local 223 drivers/net/wireless/intersil/hostap/hostap_hw.c local->dev->name, entry->type, entry->cmd, local 225 drivers/net/wireless/intersil/hostap/hostap_hw.c __hostap_cmd_queue_free(local, entry, 1); local 227 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->cmd_queue_len) { local 231 drivers/net/wireless/intersil/hostap/hostap_hw.c "flush\n", local->dev->name, local->cmd_queue_len); local 232 drivers/net/wireless/intersil/hostap/hostap_hw.c local->cmd_queue_len = 0; local 234 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock_irqrestore(&local->cmdlock, flags); local 247 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 253 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 255 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->func->card_present && !local->func->card_present(local)) local 287 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock_irqsave(&local->cmdlock, flags); local 292 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock_irqrestore(&local->cmdlock, flags); local 314 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 321 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 329 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->cmd_queue_len >= HOSTAP_CMD_QUEUE_MAX_LEN) { local 355 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock_irqsave(&local->cmdlock, flags); local 356 drivers/net/wireless/intersil/hostap/hostap_hw.c issue = list_empty(&local->cmd_queue); local 359 drivers/net/wireless/intersil/hostap/hostap_hw.c list_add_tail(&entry->list, &local->cmd_queue); local 360 drivers/net/wireless/intersil/hostap/hostap_hw.c local->cmd_queue_len++; local 361 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock_irqrestore(&local->cmdlock, flags); local 416 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock_irqsave(&local->cmdlock, flags); local 422 drivers/net/wireless/intersil/hostap/hostap_hw.c local->cmd_queue_len--; local 424 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock_irqrestore(&local->cmdlock, flags); local 464 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_cmd_queue_free(local, entry, 1); local 490 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 496 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 498 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->cmd_queue_len >= HOSTAP_CMD_QUEUE_MAX_LEN + 2) { local 515 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock_irqsave(&local->cmdlock, flags); local 516 drivers/net/wireless/intersil/hostap/hostap_hw.c issue = list_empty(&local->cmd_queue); local 519 drivers/net/wireless/intersil/hostap/hostap_hw.c list_add_tail(&entry->list, &local->cmd_queue); local 520 drivers/net/wireless/intersil/hostap/hostap_hw.c local->cmd_queue_len++; local 521 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock_irqrestore(&local->cmdlock, flags); local 528 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_cmd_queue_free(local, entry, ret); local 648 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 652 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 654 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock(&local->cmdlock); local 655 drivers/net/wireless/intersil/hostap/hostap_hw.c if (!list_empty(&local->cmd_queue)) { local 656 drivers/net/wireless/intersil/hostap/hostap_hw.c entry = list_entry(local->cmd_queue.next, local 660 drivers/net/wireless/intersil/hostap/hostap_hw.c local->cmd_queue_len--; local 665 drivers/net/wireless/intersil/hostap/hostap_hw.c __hostap_cmd_queue_free(local, entry, 1); local 669 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->cmdlock); local 696 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_cmd_queue_free(local, entry, 1); local 700 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock(&local->cmdlock); local 701 drivers/net/wireless/intersil/hostap/hostap_hw.c if (!list_empty(&local->cmd_queue)) { local 702 drivers/net/wireless/intersil/hostap/hostap_hw.c entry = list_entry(local->cmd_queue.next, local 712 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->cmdlock); local 718 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock(&local->cmdlock); local 719 drivers/net/wireless/intersil/hostap/hostap_hw.c __hostap_cmd_queue_free(local, entry, res); local 720 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->cmdlock); local 794 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 799 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 801 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->no_pri) { local 808 drivers/net/wireless/intersil/hostap/hostap_hw.c if ((local->func->card_present && !local->func->card_present(local)) || local 809 drivers/net/wireless/intersil/hostap/hostap_hw.c local->hw_downloading) local 812 drivers/net/wireless/intersil/hostap/hostap_hw.c res = mutex_lock_interruptible(&local->rid_bap_mtx); local 821 drivers/net/wireless/intersil/hostap/hostap_hw.c mutex_unlock(&local->rid_bap_mtx); local 825 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock_bh(&local->baplock); local 852 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock_bh(&local->baplock); local 853 drivers/net/wireless/intersil/hostap/hostap_hw.c mutex_unlock(&local->rid_bap_mtx); local 872 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 877 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 879 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->no_pri) { local 886 drivers/net/wireless/intersil/hostap/hostap_hw.c if ((local->func->card_present && !local->func->card_present(local)) || local 887 drivers/net/wireless/intersil/hostap/hostap_hw.c local->hw_downloading) local 894 drivers/net/wireless/intersil/hostap/hostap_hw.c res = mutex_lock_interruptible(&local->rid_bap_mtx); local 898 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock_bh(&local->baplock); local 904 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock_bh(&local->baplock); local 909 drivers/net/wireless/intersil/hostap/hostap_hw.c mutex_unlock(&local->rid_bap_mtx); local 914 drivers/net/wireless/intersil/hostap/hostap_hw.c mutex_unlock(&local->rid_bap_mtx); local 997 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 1001 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 1003 drivers/net/wireless/intersil/hostap/hostap_hw.c if (!local->dev_enabled) local 1022 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->fragm_threshold != 2346 && local 1024 drivers/net/wireless/intersil/hostap/hostap_hw.c local->fragm_threshold)) { local 1027 drivers/net/wireless/intersil/hostap/hostap_hw.c dev->name, local->fragm_threshold); local 1031 drivers/net/wireless/intersil/hostap/hostap_hw.c (void) hostap_set_antsel(local); local 1042 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 1045 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 1047 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->no_pri) { local 1066 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 1071 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 1075 drivers/net/wireless/intersil/hostap/hostap_hw.c if (!local->fw_ap) { local 1076 drivers/net/wireless/intersil/hostap/hostap_hw.c u16 tmp1 = hostap_get_porttype(local); local 1087 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->iw_mode != IW_MODE_MASTER || local->essid[0] != '\0') { local 1089 drivers/net/wireless/intersil/hostap/hostap_hw.c local->essid); local 1109 drivers/net/wireless/intersil/hostap/hostap_hw.c local->channel_mask = le16_to_cpu(tmp); local 1111 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->channel < 1 || local->channel > 14 || local 1112 drivers/net/wireless/intersil/hostap/hostap_hw.c !(local->channel_mask & (1 << (local->channel - 1)))) { local 1114 drivers/net/wireless/intersil/hostap/hostap_hw.c "(%d)!\n", dev->name, local->channel); local 1119 drivers/net/wireless/intersil/hostap/hostap_hw.c ret = hostap_set_word(dev, HFA384X_RID_CNFOWNCHANNEL, local->channel); local 1122 drivers/net/wireless/intersil/hostap/hostap_hw.c dev->name, local->channel); local 1127 drivers/net/wireless/intersil/hostap/hostap_hw.c local->beacon_int); local 1130 drivers/net/wireless/intersil/hostap/hostap_hw.c dev->name, local->beacon_int); local 1137 drivers/net/wireless/intersil/hostap/hostap_hw.c local->dtim_period); local 1140 drivers/net/wireless/intersil/hostap/hostap_hw.c dev->name, local->dtim_period); local 1147 drivers/net/wireless/intersil/hostap/hostap_hw.c local->is_promisc); local 1150 drivers/net/wireless/intersil/hostap/hostap_hw.c dev->name, local->is_promisc); local 1152 drivers/net/wireless/intersil/hostap/hostap_hw.c if (!local->fw_ap) { local 1154 drivers/net/wireless/intersil/hostap/hostap_hw.c local->essid); local 1164 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->tx_rate_control == 0) { local 1165 drivers/net/wireless/intersil/hostap/hostap_hw.c local->tx_rate_control = local 1171 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->basic_rates == 0) local 1172 drivers/net/wireless/intersil/hostap/hostap_hw.c local->basic_rates = HFA384X_RATES_1MBPS | HFA384X_RATES_2MBPS; local 1174 drivers/net/wireless/intersil/hostap/hostap_hw.c if (!local->fw_ap) { local 1176 drivers/net/wireless/intersil/hostap/hostap_hw.c local->tx_rate_control); local 1179 drivers/net/wireless/intersil/hostap/hostap_hw.c dev->name, local->tx_rate_control); local 1184 drivers/net/wireless/intersil/hostap/hostap_hw.c local->tx_rate_control); local 1187 drivers/net/wireless/intersil/hostap/hostap_hw.c dev->name, local->tx_rate_control); local 1191 drivers/net/wireless/intersil/hostap/hostap_hw.c local->basic_rates); local 1194 drivers/net/wireless/intersil/hostap/hostap_hw.c dev->name, local->basic_rates); local 1204 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->name_set) local 1206 drivers/net/wireless/intersil/hostap/hostap_hw.c local->name); local 1208 drivers/net/wireless/intersil/hostap/hostap_hw.c if (hostap_set_encryption(local)) { local 1213 drivers/net/wireless/intersil/hostap/hostap_hw.c (void) hostap_set_antsel(local); local 1215 drivers/net/wireless/intersil/hostap/hostap_hw.c if (hostap_set_roaming(local)) { local 1220 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->sta_fw_ver >= PRISM2_FW_VER(1,6,3) && local 1221 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_set_word(dev, HFA384X_RID_CNFENHSECURITY, local->enh_sec)) local 1223 drivers/net/wireless/intersil/hostap/hostap_hw.c dev->name, local->enh_sec); local 1231 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->sta_fw_ver >= PRISM2_FW_VER(0,8,2)) { local 1235 drivers/net/wireless/intersil/hostap/hostap_hw.c local->tallies32 = 0; local 1237 drivers/net/wireless/intersil/hostap/hostap_hw.c local->tallies32 = 1; local 1239 drivers/net/wireless/intersil/hostap/hostap_hw.c local->tallies32 = 0; local 1241 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_set_auth_algs(local); local 1244 drivers/net/wireless/intersil/hostap/hostap_hw.c local->fragm_threshold)) { local 1246 drivers/net/wireless/intersil/hostap/hostap_hw.c "failed\n", dev->name, local->fragm_threshold); local 1250 drivers/net/wireless/intersil/hostap/hostap_hw.c local->rts_threshold)) { local 1252 drivers/net/wireless/intersil/hostap/hostap_hw.c dev->name, local->rts_threshold); local 1255 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->manual_retry_count >= 0 && local 1257 drivers/net/wireless/intersil/hostap/hostap_hw.c local->manual_retry_count)) { local 1259 drivers/net/wireless/intersil/hostap/hostap_hw.c dev->name, local->manual_retry_count); local 1262 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->sta_fw_ver >= PRISM2_FW_VER(1,3,1) && local 1264 drivers/net/wireless/intersil/hostap/hostap_hw.c local->rssi_to_dBm = le16_to_cpu(tmp); local 1267 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->sta_fw_ver >= PRISM2_FW_VER(1,7,0) && local->wpa && local 1273 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->sta_fw_ver >= PRISM2_FW_VER(1,7,0) && local->generic_elem && local 1275 drivers/net/wireless/intersil/hostap/hostap_hw.c local->generic_elem, local->generic_elem_len)) { local 1288 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 1295 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 1297 drivers/net/wireless/intersil/hostap/hostap_hw.c clear_bit(HOSTAP_BITS_TRANSMIT, &local->bits); local 1326 drivers/net/wireless/intersil/hostap/hostap_hw.c local->no_pri = 1; local 1328 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->sram_type == -1) local 1329 drivers/net/wireless/intersil/hostap/hostap_hw.c local->sram_type = prism2_get_ram_size(local); local 1333 drivers/net/wireless/intersil/hostap/hostap_hw.c local->no_pri = 0; local 1344 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 1348 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 1351 drivers/net/wireless/intersil/hostap/hostap_hw.c kfree(local->pda); local 1352 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->no_pri) local 1353 drivers/net/wireless/intersil/hostap/hostap_hw.c local->pda = NULL; local 1355 drivers/net/wireless/intersil/hostap/hostap_hw.c local->pda = prism2_read_pda(dev); local 1369 drivers/net/wireless/intersil/hostap/hostap_hw.c if (initial || local->pri_only) { local 1381 drivers/net/wireless/intersil/hostap/hostap_hw.c local->pri_only = 1; local 1384 drivers/net/wireless/intersil/hostap/hostap_hw.c local->pri_only = 0; local 1393 drivers/net/wireless/intersil/hostap/hostap_hw.c local->txfid_len = PRISM2_TXFID_LEN; local 1395 drivers/net/wireless/intersil/hostap/hostap_hw.c local->txfid[i] = hfa384x_allocate_fid(dev, local->txfid_len); local 1396 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->txfid[i] == 0xffff && local->txfid_len > 1600) { local 1397 drivers/net/wireless/intersil/hostap/hostap_hw.c local->txfid[i] = hfa384x_allocate_fid(dev, 1600); local 1398 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->txfid[i] != 0xffff) { local 1401 drivers/net/wireless/intersil/hostap/hostap_hw.c local->txfid_len = 1600; local 1404 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->txfid[i] == 0xffff) local 1406 drivers/net/wireless/intersil/hostap/hostap_hw.c local->intransmitfid[i] = PRISM2_TXFID_EMPTY; local 1413 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_check_sta_fw_version(local); local 1420 drivers/net/wireless/intersil/hostap/hostap_hw.c list_for_each(ptr, &local->hostap_interfaces) { local 1424 drivers/net/wireless/intersil/hostap/hostap_hw.c } else if (local->fw_ap) local 1425 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_check_sta_fw_version(local); local 1433 drivers/net/wireless/intersil/hostap/hostap_hw.c if (!local->no_pri) local 1442 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 1446 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 1447 drivers/net/wireless/intersil/hostap/hostap_hw.c was_resetting = local->hw_resetting; local 1454 drivers/net/wireless/intersil/hostap/hostap_hw.c local->hw_ready = 1; local 1455 drivers/net/wireless/intersil/hostap/hostap_hw.c local->hw_reset_tries = 0; local 1456 drivers/net/wireless/intersil/hostap/hostap_hw.c local->hw_resetting = 0; local 1481 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 1484 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 1486 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->hw_downloading) local 1490 drivers/net/wireless/intersil/hostap/hostap_hw.c return local->no_pri ? 0 : 1; local 1498 drivers/net/wireless/intersil/hostap/hostap_hw.c if (!local->pri_only && local 1499 drivers/net/wireless/intersil/hostap/hostap_hw.c (initial == 0 || (initial == 2 && local->num_dev_open > 0))) { local 1500 drivers/net/wireless/intersil/hostap/hostap_hw.c if (!local->dev_enabled) local 1501 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_callback(local, PRISM2_CALLBACK_ENABLE); local 1502 drivers/net/wireless/intersil/hostap/hostap_hw.c local->dev_enabled = 1; local 1513 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 1516 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 1521 drivers/net/wireless/intersil/hostap/hostap_hw.c local->hw_ready = 0; local 1522 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->dev_enabled) local 1523 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_callback(local, PRISM2_CALLBACK_DISABLE); local 1524 drivers/net/wireless/intersil/hostap/hostap_hw.c local->dev_enabled = 0; local 1526 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->func->card_present && !local->func->card_present(local)) { local 1541 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_clear_cmd_queue(local); local 1548 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 1561 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 1569 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->hw_downloading) local 1572 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->hw_resetting) { local 1578 drivers/net/wireless/intersil/hostap/hostap_hw.c local->hw_reset_tries++; local 1579 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->hw_reset_tries > 10) { local 1587 drivers/net/wireless/intersil/hostap/hostap_hw.c local->hw_resetting = 1; local 1588 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->func->cor_sreset) { local 1596 drivers/net/wireless/intersil/hostap/hostap_hw.c local->func->cor_sreset(local); local 1601 drivers/net/wireless/intersil/hostap/hostap_hw.c local->hw_resetting = 0; local 1604 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->dl_pri) { local 1607 drivers/net/wireless/intersil/hostap/hostap_hw.c if (prism2_download_genesis(local, local->dl_pri) < 0) local 1612 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->dl_sec) { local 1615 drivers/net/wireless/intersil/hostap/hostap_hw.c if (prism2_download_volatile(local, local->dl_sec) < 0) local 1625 drivers/net/wireless/intersil/hostap/hostap_hw.c static void prism2_schedule_reset(local_info_t *local) local 1627 drivers/net/wireless/intersil/hostap/hostap_hw.c schedule_work(&local->reset_queue); local 1635 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local = container_of(work, local_info_t, reset_queue); local 1637 drivers/net/wireless/intersil/hostap/hostap_hw.c printk(KERN_DEBUG "%s: scheduled card reset\n", local->dev->name); local 1638 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_hw_reset(local->dev); local 1640 drivers/net/wireless/intersil/hostap/hostap_hw.c if (netif_queue_stopped(local->dev)) { local 1644 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->intransmitfid[i] == PRISM2_TXFID_EMPTY) { local 1647 drivers/net/wireless/intersil/hostap/hostap_hw.c netif_wake_queue(local->dev); local 1654 drivers/net/wireless/intersil/hostap/hostap_hw.c static int prism2_get_txfid_idx(local_info_t *local) local 1659 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock_irqsave(&local->txfidlock, flags); local 1660 drivers/net/wireless/intersil/hostap/hostap_hw.c end = idx = local->next_txfid; local 1662 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->intransmitfid[idx] == PRISM2_TXFID_EMPTY) { local 1663 drivers/net/wireless/intersil/hostap/hostap_hw.c local->intransmitfid[idx] = PRISM2_TXFID_RESERVED; local 1664 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock_irqrestore(&local->txfidlock, flags); local 1671 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock_irqrestore(&local->txfidlock, flags); local 1675 drivers/net/wireless/intersil/hostap/hostap_hw.c local->dev->stats.tx_dropped++; local 1686 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 1690 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 1704 drivers/net/wireless/intersil/hostap/hostap_hw.c if (!test_and_clear_bit(HOSTAP_BITS_TRANSMIT, &local->bits)) { local 1715 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock(&local->txfidlock); local 1719 drivers/net/wireless/intersil/hostap/hostap_hw.c local->intransmitfid[idx] = resp0; local 1723 drivers/net/wireless/intersil/hostap/hostap_hw.c dev->name, idx, local->txfid[idx], local 1724 drivers/net/wireless/intersil/hostap/hostap_hw.c resp0, local->intransmitfid[local->next_txfid]); local 1729 drivers/net/wireless/intersil/hostap/hostap_hw.c local->next_txfid = idx; local 1733 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->intransmitfid[idx] == PRISM2_TXFID_EMPTY) { local 1734 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->txfidlock); local 1740 drivers/net/wireless/intersil/hostap/hostap_hw.c } while (idx != local->next_txfid); local 1741 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->txfidlock); local 1753 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 1757 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 1763 drivers/net/wireless/intersil/hostap/hostap_hw.c if (test_and_set_bit(HOSTAP_BITS_TRANSMIT, &local->bits)) { local 1776 drivers/net/wireless/intersil/hostap/hostap_hw.c local->txfid[idx], local 1802 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 1809 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 1813 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_callback(local, PRISM2_CALLBACK_TX_START); local 1815 drivers/net/wireless/intersil/hostap/hostap_hw.c if ((local->func->card_present && !local->func->card_present(local)) || local 1816 drivers/net/wireless/intersil/hostap/hostap_hw.c !local->hw_ready || local->hw_downloading || local->pri_only) { local 1839 drivers/net/wireless/intersil/hostap/hostap_hw.c tx_control = local->tx_control; local 1851 drivers/net/wireless/intersil/hostap/hostap_hw.c idx = prism2_get_txfid_idx(local); local 1855 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->frame_dump & PRISM2_DUMP_TX_HDR) local 1858 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock(&local->baplock); local 1859 drivers/net/wireless/intersil/hostap/hostap_hw.c res = hfa384x_setup_bap(dev, BAP0, local->txfid[idx], 0); local 1866 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->baplock); local 1873 drivers/net/wireless/intersil/hostap/hostap_hw.c local->intransmitfid[idx] = PRISM2_TXFID_EMPTY; local 1874 drivers/net/wireless/intersil/hostap/hostap_hw.c schedule_work(&local->reset_queue); local 1881 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_callback(local, PRISM2_CALLBACK_TX_END); local 1925 drivers/net/wireless/intersil/hostap/hostap_hw.c static void prism2_rx(local_info_t *local) local 1927 drivers/net/wireless/intersil/hostap/hostap_hw.c struct net_device *dev = local->dev; local 1933 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_callback(local, PRISM2_CALLBACK_RX_START); local 1942 drivers/net/wireless/intersil/hostap/hostap_hw.c schedule_work(&local->reset_queue); local 1949 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock(&local->baplock); local 1955 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->baplock); local 1959 drivers/net/wireless/intersil/hostap/hostap_hw.c schedule_work(&local->reset_queue); local 1974 drivers/net/wireless/intersil/hostap/hostap_hw.c if (macport == 7 && local->iw_mode == IW_MODE_MONITOR) { local 1981 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->baplock); local 1991 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->baplock); local 2001 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->baplock); local 2008 drivers/net/wireless/intersil/hostap/hostap_hw.c skb_queue_tail(&local->rx_list, skb); local 2009 drivers/net/wireless/intersil/hostap/hostap_hw.c tasklet_schedule(&local->rx_tasklet); local 2012 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_callback(local, PRISM2_CALLBACK_RX_END); local 2028 drivers/net/wireless/intersil/hostap/hostap_hw.c static void hostap_rx_skb(local_info_t *local, struct sk_buff *skb) local 2038 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->iw_mode == IW_MODE_MONITOR && local 2049 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->frame_dump & PRISM2_DUMP_RX_HDR && local 2054 drivers/net/wireless/intersil/hostap/hostap_hw.c (!local->monitor_allow_fcserr || local 2055 drivers/net/wireless/intersil/hostap/hostap_hw.c local->iw_mode != IW_MODE_MONITOR)) local 2065 drivers/net/wireless/intersil/hostap/hostap_hw.c stats.signal = rxdesc->signal - local->rssi_to_dBm; local 2066 drivers/net/wireless/intersil/hostap/hostap_hw.c stats.noise = rxdesc->silence - local->rssi_to_dBm; local 2088 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local = (local_info_t *) data; local 2091 drivers/net/wireless/intersil/hostap/hostap_hw.c while ((skb = skb_dequeue(&local->rx_list)) != NULL) local 2092 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_rx_skb(local, skb); local 2100 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 2105 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 2111 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock(&local->txfidlock); local 2112 drivers/net/wireless/intersil/hostap/hostap_hw.c idx = local->next_alloc; local 2115 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->txfid[idx] == fid) { local 2120 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->intransmitfid[idx] == PRISM2_TXFID_EMPTY) local 2123 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->intransmitfid[idx] == PRISM2_TXFID_RESERVED) local 2127 drivers/net/wireless/intersil/hostap/hostap_hw.c local->intransmitfid[idx] = PRISM2_TXFID_EMPTY; local 2129 drivers/net/wireless/intersil/hostap/hostap_hw.c local->next_alloc = idx >= PRISM2_TXFID_COUNT ? 0 : local 2132 drivers/net/wireless/intersil/hostap/hostap_hw.c if (!test_bit(HOSTAP_BITS_TRANSMIT, &local->bits) && local 2136 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->txfidlock); local 2143 drivers/net/wireless/intersil/hostap/hostap_hw.c } while (idx != local->next_alloc); local 2150 drivers/net/wireless/intersil/hostap/hostap_hw.c printk(" %04x[%04x]", local->txfid[idx], local 2151 drivers/net/wireless/intersil/hostap/hostap_hw.c local->intransmitfid[idx]); local 2153 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->txfidlock); local 2163 drivers/net/wireless/intersil/hostap/hostap_hw.c static void hostap_tx_callback(local_info_t *local, local 2172 drivers/net/wireless/intersil/hostap/hostap_hw.c if (!ether_addr_equal(txdesc->addr2, local->dev->dev_addr)) { local 2174 drivers/net/wireless/intersil/hostap/hostap_hw.c local->dev->name); local 2180 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock(&local->lock); local 2181 drivers/net/wireless/intersil/hostap/hostap_hw.c cb = local->tx_callback; local 2184 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->lock); local 2188 drivers/net/wireless/intersil/hostap/hostap_hw.c local->dev->name, sw_support); local 2197 drivers/net/wireless/intersil/hostap/hostap_hw.c "skb\n", local->dev->name); local 2205 drivers/net/wireless/intersil/hostap/hostap_hw.c skb->dev = local->dev; local 2213 drivers/net/wireless/intersil/hostap/hostap_hw.c static int hostap_tx_compl_read(local_info_t *local, int error, local 2219 drivers/net/wireless/intersil/hostap/hostap_hw.c struct net_device *dev = local->dev; local 2225 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock(&local->baplock); local 2233 drivers/net/wireless/intersil/hostap/hostap_hw.c schedule_work(&local->reset_queue); local 2255 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->baplock); local 2262 drivers/net/wireless/intersil/hostap/hostap_hw.c static void prism2_tx_ev(local_info_t *local) local 2264 drivers/net/wireless/intersil/hostap/hostap_hw.c struct net_device *dev = local->dev; local 2268 drivers/net/wireless/intersil/hostap/hostap_hw.c if (hostap_tx_compl_read(local, 0, &txdesc, &payload)) local 2271 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->frame_dump & PRISM2_DUMP_TX_HDR) { local 2282 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_tx_callback(local, &txdesc, 1, payload); local 2293 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local = (local_info_t *) data; local 2296 drivers/net/wireless/intersil/hostap/hostap_hw.c while ((skb = skb_dequeue(&local->sta_tx_exc_list)) != NULL) { local 2307 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_handle_sta_tx_exc(local, skb); local 2315 drivers/net/wireless/intersil/hostap/hostap_hw.c static void prism2_txexc(local_info_t *local) local 2317 drivers/net/wireless/intersil/hostap/hostap_hw.c struct net_device *dev = local->dev; local 2323 drivers/net/wireless/intersil/hostap/hostap_hw.c show_dump = local->frame_dump & PRISM2_DUMP_TXEXC_HDR; local 2326 drivers/net/wireless/intersil/hostap/hostap_hw.c res = hostap_tx_compl_read(local, 1, &txdesc, &payload); local 2348 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->iw_mode == IW_MODE_MASTER || local 2349 drivers/net/wireless/intersil/hostap/hostap_hw.c local->iw_mode == IW_MODE_REPEAT || local 2350 drivers/net/wireless/intersil/hostap/hostap_hw.c local->wds_type & HOSTAP_WDS_AP_CLIENT) { local 2355 drivers/net/wireless/intersil/hostap/hostap_hw.c skb_queue_tail(&local->sta_tx_exc_list, skb); local 2356 drivers/net/wireless/intersil/hostap/hostap_hw.c tasklet_schedule(&local->sta_tx_exc_tasklet); local 2361 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_tx_callback(local, &txdesc, 0, payload); local 2395 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local = (local_info_t *) data; local 2398 drivers/net/wireless/intersil/hostap/hostap_hw.c while ((skb = skb_dequeue(&local->info_list)) != NULL) { local 2399 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_info_process(local, skb); local 2406 drivers/net/wireless/intersil/hostap/hostap_hw.c static void prism2_info(local_info_t *local) local 2408 drivers/net/wireless/intersil/hostap/hostap_hw.c struct net_device *dev = local->dev; local 2416 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock(&local->baplock); local 2421 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->baplock); local 2425 drivers/net/wireless/intersil/hostap/hostap_hw.c schedule_work(&local->reset_queue); local 2436 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->baplock); local 2445 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->baplock); local 2454 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->baplock); local 2461 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->baplock); local 2463 drivers/net/wireless/intersil/hostap/hostap_hw.c skb_queue_tail(&local->info_list, skb); local 2464 drivers/net/wireless/intersil/hostap/hostap_hw.c tasklet_schedule(&local->info_tasklet); local 2474 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local = (local_info_t *) data; local 2475 drivers/net/wireless/intersil/hostap/hostap_hw.c struct net_device *dev = local->dev; local 2479 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->func->card_present && !local->func->card_present(local)) local 2482 drivers/net/wireless/intersil/hostap/hostap_hw.c set_bit(HOSTAP_BITS_BAP_TASKLET, &local->bits); local 2491 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_rx(local); local 2493 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_info(local); local 2495 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_tx_ev(local); local 2497 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_txexc(local); local 2500 drivers/net/wireless/intersil/hostap/hostap_hw.c set_bit(HOSTAP_BITS_BAP_TASKLET2, &local->bits); local 2501 drivers/net/wireless/intersil/hostap/hostap_hw.c clear_bit(HOSTAP_BITS_BAP_TASKLET, &local->bits); local 2505 drivers/net/wireless/intersil/hostap/hostap_hw.c clear_bit(HOSTAP_BITS_BAP_TASKLET2, &local->bits); local 2533 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 2538 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 2540 drivers/net/wireless/intersil/hostap/hostap_hw.c if (time_after(jiffies, local->last_tick_timer + 5 * HZ) && local 2541 drivers/net/wireless/intersil/hostap/hostap_hw.c local->last_tick_timer) { local 2547 drivers/net/wireless/intersil/hostap/hostap_hw.c dev->name, local->bits, evstat, inten); local 2549 drivers/net/wireless/intersil/hostap/hostap_hw.c local->sw_tick_stuck++; local 2563 drivers/net/wireless/intersil/hostap/hostap_hw.c static void prism2_check_magic(local_info_t *local) local 2574 drivers/net/wireless/intersil/hostap/hostap_hw.c struct net_device *dev = local->dev; local 2577 drivers/net/wireless/intersil/hostap/hostap_hw.c if (!local->hw_ready) local 2593 drivers/net/wireless/intersil/hostap/hostap_hw.c schedule_work(&local->reset_queue); local 2606 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 2611 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 2614 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock(&local->irq_init_lock); local 2620 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->irq_init_lock); local 2623 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock(&local->irq_init_lock); local 2627 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->func->card_present && !local->func->card_present(local)) { local 2635 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_check_magic(local); local 2640 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->shutdown) local 2660 drivers/net/wireless/intersil/hostap/hostap_hw.c if (!local->hw_ready || local->hw_resetting || local 2661 drivers/net/wireless/intersil/hostap/hostap_hw.c !local->dev_enabled) { local 2667 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->dev_enabled && (ev & ~HFA384X_EV_TICK) && local 2674 drivers/net/wireless/intersil/hostap/hostap_hw.c !local->hw_ready ? " (!hw_ready)" : "", local 2675 drivers/net/wireless/intersil/hostap/hostap_hw.c local->hw_resetting ? local 2677 drivers/net/wireless/intersil/hostap/hostap_hw.c !local->dev_enabled ? local 2699 drivers/net/wireless/intersil/hostap/hostap_hw.c tasklet_schedule(&local->bap_tasklet); local 2729 drivers/net/wireless/intersil/hostap/hostap_hw.c static void prism2_check_sta_fw_version(local_info_t *local) local 2734 drivers/net/wireless/intersil/hostap/hostap_hw.c if (hfa384x_get_rid(local->dev, HFA384X_RID_STAID, local 2738 drivers/net/wireless/intersil/hostap/hostap_hw.c local->fw_ap = 0; local 2742 drivers/net/wireless/intersil/hostap/hostap_hw.c local->fw_ap = 1; local 2749 drivers/net/wireless/intersil/hostap/hostap_hw.c local->sta_fw_ver = PRISM2_FW_VER(major, minor, variant); local 2757 drivers/net/wireless/intersil/hostap/hostap_hw.c local->fw_encrypt_ok = local->sta_fw_ver >= PRISM2_FW_VER(1,4,9); local 2759 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->iw_mode == IW_MODE_MASTER && !local->host_encrypt && local 2760 drivers/net/wireless/intersil/hostap/hostap_hw.c !local->fw_encrypt_ok) { local 2763 drivers/net/wireless/intersil/hostap/hostap_hw.c local->dev->name); local 2764 drivers/net/wireless/intersil/hostap/hostap_hw.c local->host_encrypt = 1; local 2774 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->sta_fw_ver >= PRISM2_FW_VER(1,5,0)) local 2775 drivers/net/wireless/intersil/hostap/hostap_hw.c local->wds_type |= HOSTAP_WDS_STANDARD_FRAME; local 2779 drivers/net/wireless/intersil/hostap/hostap_hw.c local->dev->name); local 2782 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_check_sta_fw_version(local->ap, local->sta_fw_ver); local 2788 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local = from_timer(local, t, passive_scan_timer); local 2789 drivers/net/wireless/intersil/hostap/hostap_hw.c struct net_device *dev = local->dev; local 2792 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->passive_scan_interval <= 0) local 2795 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->passive_scan_state == PASSIVE_SCAN_LISTEN) { local 2802 drivers/net/wireless/intersil/hostap/hostap_hw.c if (test_bit(HOSTAP_BITS_TRANSMIT, &local->bits)) { local 2805 drivers/net/wireless/intersil/hostap/hostap_hw.c local->passive_scan_timer.expires = jiffies + HZ / 10; local 2806 drivers/net/wireless/intersil/hostap/hostap_hw.c add_timer(&local->passive_scan_timer); local 2811 drivers/net/wireless/intersil/hostap/hostap_hw.c local->passive_scan_channel++; local 2812 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->passive_scan_channel > 14) local 2813 drivers/net/wireless/intersil/hostap/hostap_hw.c local->passive_scan_channel = 1; local 2815 drivers/net/wireless/intersil/hostap/hostap_hw.c } while (!(local->channel_mask & local 2816 drivers/net/wireless/intersil/hostap/hostap_hw.c (1 << (local->passive_scan_channel - 1))) && local 2826 drivers/net/wireless/intersil/hostap/hostap_hw.c dev->name, local->passive_scan_channel); local 2827 drivers/net/wireless/intersil/hostap/hostap_hw.c chan = local->passive_scan_channel; local 2828 drivers/net/wireless/intersil/hostap/hostap_hw.c local->passive_scan_state = PASSIVE_SCAN_WAIT; local 2829 drivers/net/wireless/intersil/hostap/hostap_hw.c local->passive_scan_timer.expires = jiffies + HZ / 10; local 2831 drivers/net/wireless/intersil/hostap/hostap_hw.c chan = local->channel; local 2832 drivers/net/wireless/intersil/hostap/hostap_hw.c local->passive_scan_state = PASSIVE_SCAN_LISTEN; local 2833 drivers/net/wireless/intersil/hostap/hostap_hw.c local->passive_scan_timer.expires = jiffies + local 2834 drivers/net/wireless/intersil/hostap/hostap_hw.c local->passive_scan_interval * HZ; local 2843 drivers/net/wireless/intersil/hostap/hostap_hw.c add_timer(&local->passive_scan_timer); local 2851 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local = local 2853 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_update_comms_qual(local->dev); local 2864 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local = from_timer(local, t, tick_timer); local 2865 drivers/net/wireless/intersil/hostap/hostap_hw.c local->last_tick_timer = jiffies; local 2870 drivers/net/wireless/intersil/hostap/hostap_hw.c !local->hw_downloading && local->hw_ready && local 2871 drivers/net/wireless/intersil/hostap/hostap_hw.c !local->hw_resetting && local->dev_enabled) { local 2872 drivers/net/wireless/intersil/hostap/hostap_hw.c hfa384x_cmd_callback(local->dev, HFA384X_CMDCODE_INQUIRE, local 2877 drivers/net/wireless/intersil/hostap/hostap_hw.c if ((local->last_comms_qual_update == 0 || local 2878 drivers/net/wireless/intersil/hostap/hostap_hw.c time_after(jiffies, local->last_comms_qual_update + 10 * HZ)) && local 2879 drivers/net/wireless/intersil/hostap/hostap_hw.c (local->iw_mode == IW_MODE_INFRA || local 2880 drivers/net/wireless/intersil/hostap/hostap_hw.c local->iw_mode == IW_MODE_ADHOC)) { local 2881 drivers/net/wireless/intersil/hostap/hostap_hw.c schedule_work(&local->comms_qual_update); local 2884 drivers/net/wireless/intersil/hostap/hostap_hw.c local->tick_timer.expires = jiffies + 2 * HZ; local 2885 drivers/net/wireless/intersil/hostap/hostap_hw.c add_timer(&local->tick_timer); local 2897 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local = m->private; local 2900 drivers/net/wireless/intersil/hostap/hostap_hw.c seq_printf(m, #n "=%04x\n", hfa384x_read_reg(local->dev, HFA384X_##n##_OFF)) local 2961 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local; local 2964 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 2973 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock_bh(&local->set_tim_lock); local 2974 drivers/net/wireless/intersil/hostap/hostap_hw.c list_for_each(ptr, &local->set_tim_list) { local 2980 drivers/net/wireless/intersil/hostap/hostap_hw.c local->dev->name, aid, entry->set, set); local 2988 drivers/net/wireless/intersil/hostap/hostap_hw.c list_add_tail(&new_entry->list, &local->set_tim_list); local 2989 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock_bh(&local->set_tim_lock); local 2991 drivers/net/wireless/intersil/hostap/hostap_hw.c schedule_work(&local->set_tim_queue); local 2999 drivers/net/wireless/intersil/hostap/hostap_hw.c local_info_t *local = container_of(work, local_info_t, set_tim_queue); local 3005 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock_bh(&local->set_tim_lock); local 3006 drivers/net/wireless/intersil/hostap/hostap_hw.c if (!list_empty(&local->set_tim_list)) { local 3007 drivers/net/wireless/intersil/hostap/hostap_hw.c entry = list_entry(local->set_tim_list.next, local 3011 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_unlock_bh(&local->set_tim_lock); local 3016 drivers/net/wireless/intersil/hostap/hostap_hw.c local->dev->name, entry->aid, entry->set); local 3021 drivers/net/wireless/intersil/hostap/hostap_hw.c if (hostap_set_word(local->dev, HFA384X_RID_CNFTIMCTRL, val)) { local 3024 drivers/net/wireless/intersil/hostap/hostap_hw.c local->dev->name, entry->aid, entry->set); local 3032 drivers/net/wireless/intersil/hostap/hostap_hw.c static void prism2_clear_set_tim_queue(local_info_t *local) local 3036 drivers/net/wireless/intersil/hostap/hostap_hw.c list_for_each_safe(ptr, n, &local->set_tim_list) { local 3050 drivers/net/wireless/intersil/hostap/hostap_hw.c struct local_info *local; local 3072 drivers/net/wireless/intersil/hostap/hostap_hw.c local = (struct local_info *) ((((long) (iface + 1)) + 3) & ~3); local 3073 drivers/net/wireless/intersil/hostap/hostap_hw.c local->ap = (struct ap_data *) ((((long) (local + 1)) + 3) & ~3); local 3074 drivers/net/wireless/intersil/hostap/hostap_hw.c local->dev = iface->dev = dev; local 3075 drivers/net/wireless/intersil/hostap/hostap_hw.c iface->local = local; local 3077 drivers/net/wireless/intersil/hostap/hostap_hw.c INIT_LIST_HEAD(&local->hostap_interfaces); local 3079 drivers/net/wireless/intersil/hostap/hostap_hw.c local->hw_module = THIS_MODULE; local 3082 drivers/net/wireless/intersil/hostap/hostap_hw.c local->io_debug_enabled = 1; local 3085 drivers/net/wireless/intersil/hostap/hostap_hw.c local->func = funcs; local 3086 drivers/net/wireless/intersil/hostap/hostap_hw.c local->func->cmd = hfa384x_cmd; local 3087 drivers/net/wireless/intersil/hostap/hostap_hw.c local->func->read_regs = hfa384x_read_regs; local 3088 drivers/net/wireless/intersil/hostap/hostap_hw.c local->func->get_rid = hfa384x_get_rid; local 3089 drivers/net/wireless/intersil/hostap/hostap_hw.c local->func->set_rid = hfa384x_set_rid; local 3090 drivers/net/wireless/intersil/hostap/hostap_hw.c local->func->hw_enable = prism2_hw_enable; local 3091 drivers/net/wireless/intersil/hostap/hostap_hw.c local->func->hw_config = prism2_hw_config; local 3092 drivers/net/wireless/intersil/hostap/hostap_hw.c local->func->hw_reset = prism2_hw_reset; local 3093 drivers/net/wireless/intersil/hostap/hostap_hw.c local->func->hw_shutdown = prism2_hw_shutdown; local 3094 drivers/net/wireless/intersil/hostap/hostap_hw.c local->func->reset_port = prism2_reset_port; local 3095 drivers/net/wireless/intersil/hostap/hostap_hw.c local->func->schedule_reset = prism2_schedule_reset; local 3097 drivers/net/wireless/intersil/hostap/hostap_hw.c local->func->read_aux_fops = &prism2_download_aux_dump_proc_fops; local 3098 drivers/net/wireless/intersil/hostap/hostap_hw.c local->func->download = prism2_download; local 3100 drivers/net/wireless/intersil/hostap/hostap_hw.c local->func->tx = prism2_tx_80211; local 3101 drivers/net/wireless/intersil/hostap/hostap_hw.c local->func->set_tim = prism2_set_tim; local 3102 drivers/net/wireless/intersil/hostap/hostap_hw.c local->func->need_tx_headroom = 0; /* no need to add txdesc in local 3106 drivers/net/wireless/intersil/hostap/hostap_hw.c local->mtu = mtu; local 3108 drivers/net/wireless/intersil/hostap/hostap_hw.c rwlock_init(&local->iface_lock); local 3109 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock_init(&local->txfidlock); local 3110 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock_init(&local->cmdlock); local 3111 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock_init(&local->baplock); local 3112 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock_init(&local->lock); local 3113 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock_init(&local->irq_init_lock); local 3114 drivers/net/wireless/intersil/hostap/hostap_hw.c mutex_init(&local->rid_bap_mtx); local 3118 drivers/net/wireless/intersil/hostap/hostap_hw.c local->card_idx = card_idx; local 3121 drivers/net/wireless/intersil/hostap/hostap_hw.c memcpy(local->essid, essid, local 3123 drivers/net/wireless/intersil/hostap/hostap_hw.c local->essid[MAX_SSID_LEN] = '\0'; local 3127 drivers/net/wireless/intersil/hostap/hostap_hw.c local->iw_mode = i; local 3131 drivers/net/wireless/intersil/hostap/hostap_hw.c local->iw_mode = IW_MODE_MASTER; local 3133 drivers/net/wireless/intersil/hostap/hostap_hw.c local->channel = GET_INT_PARM(channel, card_idx); local 3134 drivers/net/wireless/intersil/hostap/hostap_hw.c local->beacon_int = GET_INT_PARM(beacon_int, card_idx); local 3135 drivers/net/wireless/intersil/hostap/hostap_hw.c local->dtim_period = GET_INT_PARM(dtim_period, card_idx); local 3136 drivers/net/wireless/intersil/hostap/hostap_hw.c local->wds_max_connections = 16; local 3137 drivers/net/wireless/intersil/hostap/hostap_hw.c local->tx_control = HFA384X_TX_CTRL_FLAGS; local 3138 drivers/net/wireless/intersil/hostap/hostap_hw.c local->manual_retry_count = -1; local 3139 drivers/net/wireless/intersil/hostap/hostap_hw.c local->rts_threshold = 2347; local 3140 drivers/net/wireless/intersil/hostap/hostap_hw.c local->fragm_threshold = 2346; local 3141 drivers/net/wireless/intersil/hostap/hostap_hw.c local->rssi_to_dBm = 100; /* default; to be overriden by local 3143 drivers/net/wireless/intersil/hostap/hostap_hw.c local->auth_algs = PRISM2_AUTH_OPEN | PRISM2_AUTH_SHARED_KEY; local 3144 drivers/net/wireless/intersil/hostap/hostap_hw.c local->sram_type = -1; local 3145 drivers/net/wireless/intersil/hostap/hostap_hw.c local->scan_channel_mask = 0xffff; local 3146 drivers/net/wireless/intersil/hostap/hostap_hw.c local->monitor_type = PRISM2_MONITOR_RADIOTAP; local 3149 drivers/net/wireless/intersil/hostap/hostap_hw.c INIT_WORK(&local->reset_queue, handle_reset_queue); local 3150 drivers/net/wireless/intersil/hostap/hostap_hw.c INIT_WORK(&local->set_multicast_list_queue, local 3153 drivers/net/wireless/intersil/hostap/hostap_hw.c INIT_WORK(&local->set_tim_queue, handle_set_tim_queue); local 3154 drivers/net/wireless/intersil/hostap/hostap_hw.c INIT_LIST_HEAD(&local->set_tim_list); local 3155 drivers/net/wireless/intersil/hostap/hostap_hw.c spin_lock_init(&local->set_tim_lock); local 3157 drivers/net/wireless/intersil/hostap/hostap_hw.c INIT_WORK(&local->comms_qual_update, handle_comms_qual_update); local 3164 drivers/net/wireless/intersil/hostap/hostap_hw.c HOSTAP_TASKLET_INIT(&local->bap_tasklet, hostap_bap_tasklet, local 3165 drivers/net/wireless/intersil/hostap/hostap_hw.c (unsigned long) local); local 3167 drivers/net/wireless/intersil/hostap/hostap_hw.c HOSTAP_TASKLET_INIT(&local->info_tasklet, hostap_info_tasklet, local 3168 drivers/net/wireless/intersil/hostap/hostap_hw.c (unsigned long) local); local 3169 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_info_init(local); local 3171 drivers/net/wireless/intersil/hostap/hostap_hw.c HOSTAP_TASKLET_INIT(&local->rx_tasklet, local 3172 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_rx_tasklet, (unsigned long) local); local 3173 drivers/net/wireless/intersil/hostap/hostap_hw.c skb_queue_head_init(&local->rx_list); local 3175 drivers/net/wireless/intersil/hostap/hostap_hw.c HOSTAP_TASKLET_INIT(&local->sta_tx_exc_tasklet, local 3176 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_sta_tx_exc_tasklet, (unsigned long) local); local 3177 drivers/net/wireless/intersil/hostap/hostap_hw.c skb_queue_head_init(&local->sta_tx_exc_list); local 3179 drivers/net/wireless/intersil/hostap/hostap_hw.c INIT_LIST_HEAD(&local->cmd_queue); local 3180 drivers/net/wireless/intersil/hostap/hostap_hw.c init_waitqueue_head(&local->hostscan_wq); local 3182 drivers/net/wireless/intersil/hostap/hostap_hw.c lib80211_crypt_info_init(&local->crypt_info, dev->name, &local->lock); local 3184 drivers/net/wireless/intersil/hostap/hostap_hw.c timer_setup(&local->passive_scan_timer, hostap_passive_scan, 0); local 3185 drivers/net/wireless/intersil/hostap/hostap_hw.c timer_setup(&local->tick_timer, hostap_tick_timer, 0); local 3186 drivers/net/wireless/intersil/hostap/hostap_hw.c local->tick_timer.expires = jiffies + 2 * HZ; local 3187 drivers/net/wireless/intersil/hostap/hostap_hw.c add_timer(&local->tick_timer); local 3189 drivers/net/wireless/intersil/hostap/hostap_hw.c INIT_LIST_HEAD(&local->bss_list); local 3191 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_setup_dev(dev, local, HOSTAP_INTERFACE_MASTER); local 3210 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_init_data(local); local 3222 drivers/net/wireless/intersil/hostap/hostap_hw.c struct local_info *local; local 3225 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 3226 drivers/net/wireless/intersil/hostap/hostap_hw.c local->ddev = hostap_add_interface(local, HOSTAP_INTERFACE_MAIN, 0, local 3229 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->ddev) { local 3230 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->iw_mode == IW_MODE_INFRA || local 3231 drivers/net/wireless/intersil/hostap/hostap_hw.c local->iw_mode == IW_MODE_ADHOC) { local 3232 drivers/net/wireless/intersil/hostap/hostap_hw.c netif_carrier_off(local->dev); local 3233 drivers/net/wireless/intersil/hostap/hostap_hw.c netif_carrier_off(local->ddev); local 3235 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_init_proc(local); local 3237 drivers/net/wireless/intersil/hostap/hostap_hw.c proc_create_single_data("registers", 0, local->proc, local 3238 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_registers_proc_show, local); local 3240 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_init_ap_proc(local); local 3253 drivers/net/wireless/intersil/hostap/hostap_hw.c struct local_info *local; local 3260 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 3263 drivers/net/wireless/intersil/hostap/hostap_hw.c list_for_each_safe(ptr, n, &local->hostap_interfaces) { local 3272 drivers/net/wireless/intersil/hostap/hostap_hw.c unregister_netdev(local->dev); local 3274 drivers/net/wireless/intersil/hostap/hostap_hw.c flush_work(&local->reset_queue); local 3275 drivers/net/wireless/intersil/hostap/hostap_hw.c flush_work(&local->set_multicast_list_queue); local 3276 drivers/net/wireless/intersil/hostap/hostap_hw.c flush_work(&local->set_tim_queue); local 3278 drivers/net/wireless/intersil/hostap/hostap_hw.c flush_work(&local->info_queue); local 3280 drivers/net/wireless/intersil/hostap/hostap_hw.c flush_work(&local->comms_qual_update); local 3282 drivers/net/wireless/intersil/hostap/hostap_hw.c lib80211_crypt_info_free(&local->crypt_info); local 3284 drivers/net/wireless/intersil/hostap/hostap_hw.c if (timer_pending(&local->passive_scan_timer)) local 3285 drivers/net/wireless/intersil/hostap/hostap_hw.c del_timer(&local->passive_scan_timer); local 3287 drivers/net/wireless/intersil/hostap/hostap_hw.c if (timer_pending(&local->tick_timer)) local 3288 drivers/net/wireless/intersil/hostap/hostap_hw.c del_timer(&local->tick_timer); local 3290 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_clear_cmd_queue(local); local 3292 drivers/net/wireless/intersil/hostap/hostap_hw.c skb_queue_purge(&local->info_list); local 3293 drivers/net/wireless/intersil/hostap/hostap_hw.c skb_queue_purge(&local->rx_list); local 3294 drivers/net/wireless/intersil/hostap/hostap_hw.c skb_queue_purge(&local->sta_tx_exc_list); local 3296 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->dev_enabled) local 3297 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_callback(local, PRISM2_CALLBACK_DISABLE); local 3299 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->ap != NULL) local 3300 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_free_data(local->ap); local 3303 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->proc != NULL) local 3304 drivers/net/wireless/intersil/hostap/hostap_hw.c remove_proc_entry("registers", local->proc); local 3306 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_remove_proc(local); local 3308 drivers/net/wireless/intersil/hostap/hostap_hw.c tx_cb = local->tx_callback; local 3315 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_set_hostapd(local, 0, 0); local 3316 drivers/net/wireless/intersil/hostap/hostap_hw.c hostap_set_hostapd_sta(local, 0, 0); local 3319 drivers/net/wireless/intersil/hostap/hostap_hw.c if (local->frag_cache[i].skb != NULL) local 3320 drivers/net/wireless/intersil/hostap/hostap_hw.c dev_kfree_skb(local->frag_cache[i].skb); local 3324 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_download_free_data(local->dl_pri); local 3325 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_download_free_data(local->dl_sec); local 3328 drivers/net/wireless/intersil/hostap/hostap_hw.c prism2_clear_set_tim_queue(local); local 3330 drivers/net/wireless/intersil/hostap/hostap_hw.c list_for_each_safe(ptr, n, &local->bss_list) { local 3336 drivers/net/wireless/intersil/hostap/hostap_hw.c kfree(local->pda); local 3337 drivers/net/wireless/intersil/hostap/hostap_hw.c kfree(local->last_scan_results); local 3338 drivers/net/wireless/intersil/hostap/hostap_hw.c kfree(local->generic_elem); local 3340 drivers/net/wireless/intersil/hostap/hostap_hw.c free_netdev(local->dev); local 3348 drivers/net/wireless/intersil/hostap/hostap_hw.c struct local_info *local; local 3352 drivers/net/wireless/intersil/hostap/hostap_hw.c local = iface->local; local 3358 drivers/net/wireless/intersil/hostap/hostap_hw.c wireless_send_event(local->dev, SIOCGIWAP, &wrqu, NULL); local 14 drivers/net/wireless/intersil/hostap/hostap_info.c static void prism2_info_commtallies16(local_info_t *local, unsigned char *buf, local 21 drivers/net/wireless/intersil/hostap/hostap_info.c "info frame\n", local->dev->name, left); local 27 drivers/net/wireless/intersil/hostap/hostap_info.c local->comm_tallies.name += le16_to_cpu(tallies->name) local 54 drivers/net/wireless/intersil/hostap/hostap_info.c static void prism2_info_commtallies32(local_info_t *local, unsigned char *buf, local 61 drivers/net/wireless/intersil/hostap/hostap_info.c "info frame\n", local->dev->name, left); local 67 drivers/net/wireless/intersil/hostap/hostap_info.c local->comm_tallies.name += le32_to_cpu(tallies->name) local 94 drivers/net/wireless/intersil/hostap/hostap_info.c static void prism2_info_commtallies(local_info_t *local, unsigned char *buf, local 97 drivers/net/wireless/intersil/hostap/hostap_info.c if (local->tallies32) local 98 drivers/net/wireless/intersil/hostap/hostap_info.c prism2_info_commtallies32(local, buf, left); local 100 drivers/net/wireless/intersil/hostap/hostap_info.c prism2_info_commtallies16(local, buf, left); local 129 drivers/net/wireless/intersil/hostap/hostap_info.c static void prism2_info_linkstatus(local_info_t *local, unsigned char *buf, local 137 drivers/net/wireless/intersil/hostap/hostap_info.c local->last_join_time = 0; local 141 drivers/net/wireless/intersil/hostap/hostap_info.c "length %d\n", local->dev->name, left); local 145 drivers/net/wireless/intersil/hostap/hostap_info.c non_sta_mode = local->iw_mode == IW_MODE_MASTER || local 146 drivers/net/wireless/intersil/hostap/hostap_info.c local->iw_mode == IW_MODE_REPEAT || local 147 drivers/net/wireless/intersil/hostap/hostap_info.c local->iw_mode == IW_MODE_MONITOR; local 152 drivers/net/wireless/intersil/hostap/hostap_info.c local->dev->name, val, hfa384x_linkstatus_str(val)); local 156 drivers/net/wireless/intersil/hostap/hostap_info.c netif_carrier_on(local->dev); local 157 drivers/net/wireless/intersil/hostap/hostap_info.c netif_carrier_on(local->ddev); local 162 drivers/net/wireless/intersil/hostap/hostap_info.c set_bit(PRISM2_INFO_PENDING_LINKSTATUS, &local->pending_info); local 163 drivers/net/wireless/intersil/hostap/hostap_info.c local->prev_link_status = val; local 164 drivers/net/wireless/intersil/hostap/hostap_info.c schedule_work(&local->info_queue); local 168 drivers/net/wireless/intersil/hostap/hostap_info.c static void prism2_host_roaming(local_info_t *local) local 171 drivers/net/wireless/intersil/hostap/hostap_info.c struct net_device *dev = local->dev; local 176 drivers/net/wireless/intersil/hostap/hostap_info.c if (local->last_join_time && local 177 drivers/net/wireless/intersil/hostap/hostap_info.c time_before(jiffies, local->last_join_time + 10 * HZ)) { local 192 drivers/net/wireless/intersil/hostap/hostap_info.c spin_lock_irqsave(&local->lock, flags); local 193 drivers/net/wireless/intersil/hostap/hostap_info.c if (local->last_scan_results == NULL || local 194 drivers/net/wireless/intersil/hostap/hostap_info.c local->last_scan_results_count == 0) { local 195 drivers/net/wireless/intersil/hostap/hostap_info.c spin_unlock_irqrestore(&local->lock, flags); local 201 drivers/net/wireless/intersil/hostap/hostap_info.c selected = &local->last_scan_results[0]; local 203 drivers/net/wireless/intersil/hostap/hostap_info.c if (local->preferred_ap[0] || local->preferred_ap[1] || local 204 drivers/net/wireless/intersil/hostap/hostap_info.c local->preferred_ap[2] || local->preferred_ap[3] || local 205 drivers/net/wireless/intersil/hostap/hostap_info.c local->preferred_ap[4] || local->preferred_ap[5]) { local 208 drivers/net/wireless/intersil/hostap/hostap_info.c dev->name, local->preferred_ap); local 209 drivers/net/wireless/intersil/hostap/hostap_info.c for (i = 0; i < local->last_scan_results_count; i++) { local 210 drivers/net/wireless/intersil/hostap/hostap_info.c entry = &local->last_scan_results[i]; local 211 drivers/net/wireless/intersil/hostap/hostap_info.c if (memcmp(local->preferred_ap, entry->bssid, 6) == 0) local 223 drivers/net/wireless/intersil/hostap/hostap_info.c spin_unlock_irqrestore(&local->lock, flags); local 228 drivers/net/wireless/intersil/hostap/hostap_info.c if (local->func->set_rid(dev, HFA384X_RID_JOINREQUEST, &req, local 232 drivers/net/wireless/intersil/hostap/hostap_info.c local->last_join_time = jiffies; local 236 drivers/net/wireless/intersil/hostap/hostap_info.c static void hostap_report_scan_complete(local_info_t *local) local 244 drivers/net/wireless/intersil/hostap/hostap_info.c wireless_send_event(local->dev, SIOCGIWSCAN, &wrqu, NULL); local 248 drivers/net/wireless/intersil/hostap/hostap_info.c local->scan_timestamp = 0; local 253 drivers/net/wireless/intersil/hostap/hostap_info.c static void prism2_info_scanresults(local_info_t *local, unsigned char *buf, local 264 drivers/net/wireless/intersil/hostap/hostap_info.c "length %d\n", local->dev->name, left); local 288 drivers/net/wireless/intersil/hostap/hostap_info.c spin_lock_irqsave(&local->lock, flags); local 289 drivers/net/wireless/intersil/hostap/hostap_info.c local->last_scan_type = PRISM2_SCAN; local 290 drivers/net/wireless/intersil/hostap/hostap_info.c prev = local->last_scan_results; local 291 drivers/net/wireless/intersil/hostap/hostap_info.c local->last_scan_results = results; local 292 drivers/net/wireless/intersil/hostap/hostap_info.c local->last_scan_results_count = new_count; local 293 drivers/net/wireless/intersil/hostap/hostap_info.c spin_unlock_irqrestore(&local->lock, flags); local 296 drivers/net/wireless/intersil/hostap/hostap_info.c hostap_report_scan_complete(local); local 299 drivers/net/wireless/intersil/hostap/hostap_info.c set_bit(PRISM2_INFO_PENDING_SCANRESULTS, &local->pending_info); local 300 drivers/net/wireless/intersil/hostap/hostap_info.c schedule_work(&local->info_queue); local 305 drivers/net/wireless/intersil/hostap/hostap_info.c static void prism2_info_hostscanresults(local_info_t *local, local 314 drivers/net/wireless/intersil/hostap/hostap_info.c wake_up_interruptible(&local->hostscan_wq); local 318 drivers/net/wireless/intersil/hostap/hostap_info.c "length %d\n", local->dev->name, left); local 326 drivers/net/wireless/intersil/hostap/hostap_info.c "hostscanresults\n", local->dev->name); local 351 drivers/net/wireless/intersil/hostap/hostap_info.c local->dev->name, left, result_size); local 354 drivers/net/wireless/intersil/hostap/hostap_info.c spin_lock_irqsave(&local->lock, flags); local 355 drivers/net/wireless/intersil/hostap/hostap_info.c local->last_scan_type = PRISM2_HOSTSCAN; local 356 drivers/net/wireless/intersil/hostap/hostap_info.c prev = local->last_scan_results; local 357 drivers/net/wireless/intersil/hostap/hostap_info.c local->last_scan_results = results; local 358 drivers/net/wireless/intersil/hostap/hostap_info.c local->last_scan_results_count = new_count; local 359 drivers/net/wireless/intersil/hostap/hostap_info.c spin_unlock_irqrestore(&local->lock, flags); local 362 drivers/net/wireless/intersil/hostap/hostap_info.c hostap_report_scan_complete(local); local 368 drivers/net/wireless/intersil/hostap/hostap_info.c void hostap_info_process(local_info_t *local, struct sk_buff *skb) local 383 drivers/net/wireless/intersil/hostap/hostap_info.c prism2_info_commtallies(local, buf, left); local 388 drivers/net/wireless/intersil/hostap/hostap_info.c prism2_info_linkstatus(local, buf, left); local 392 drivers/net/wireless/intersil/hostap/hostap_info.c prism2_info_scanresults(local, buf, left); local 396 drivers/net/wireless/intersil/hostap/hostap_info.c prism2_info_hostscanresults(local, buf, left); local 403 drivers/net/wireless/intersil/hostap/hostap_info.c local->dev->name, le16_to_cpu(info->len), local 416 drivers/net/wireless/intersil/hostap/hostap_info.c static void handle_info_queue_linkstatus(local_info_t *local) local 418 drivers/net/wireless/intersil/hostap/hostap_info.c int val = local->prev_link_status; local 427 drivers/net/wireless/intersil/hostap/hostap_info.c if (local->func->get_rid(local->dev, HFA384X_RID_CURRENTBSSID, local 428 drivers/net/wireless/intersil/hostap/hostap_info.c local->bssid, ETH_ALEN, 1) < 0) { local 430 drivers/net/wireless/intersil/hostap/hostap_info.c "LinkStatus event\n", local->dev->name); local 433 drivers/net/wireless/intersil/hostap/hostap_info.c local->dev->name, local 434 drivers/net/wireless/intersil/hostap/hostap_info.c (unsigned char *) local->bssid); local 435 drivers/net/wireless/intersil/hostap/hostap_info.c if (local->wds_type & HOSTAP_WDS_AP_CLIENT) local 436 drivers/net/wireless/intersil/hostap/hostap_info.c hostap_add_sta(local->ap, local->bssid); local 441 drivers/net/wireless/intersil/hostap/hostap_info.c netif_carrier_on(local->dev); local 442 drivers/net/wireless/intersil/hostap/hostap_info.c netif_carrier_on(local->ddev); local 443 drivers/net/wireless/intersil/hostap/hostap_info.c memcpy(wrqu.ap_addr.sa_data, local->bssid, ETH_ALEN); local 445 drivers/net/wireless/intersil/hostap/hostap_info.c netif_carrier_off(local->dev); local 446 drivers/net/wireless/intersil/hostap/hostap_info.c netif_carrier_off(local->ddev); local 457 drivers/net/wireless/intersil/hostap/hostap_info.c if (connected || local->prev_linkstatus_connected) local 458 drivers/net/wireless/intersil/hostap/hostap_info.c wireless_send_event(local->dev, SIOCGIWAP, &wrqu, NULL); local 459 drivers/net/wireless/intersil/hostap/hostap_info.c local->prev_linkstatus_connected = connected; local 463 drivers/net/wireless/intersil/hostap/hostap_info.c static void handle_info_queue_scanresults(local_info_t *local) local 465 drivers/net/wireless/intersil/hostap/hostap_info.c if (local->host_roaming == 1 && local->iw_mode == IW_MODE_INFRA) local 466 drivers/net/wireless/intersil/hostap/hostap_info.c prism2_host_roaming(local); local 468 drivers/net/wireless/intersil/hostap/hostap_info.c if (local->host_roaming == 2 && local->iw_mode == IW_MODE_INFRA && local 469 drivers/net/wireless/intersil/hostap/hostap_info.c !is_zero_ether_addr(local->preferred_ap)) { local 477 drivers/net/wireless/intersil/hostap/hostap_info.c prism2_host_roaming(local); local 486 drivers/net/wireless/intersil/hostap/hostap_info.c local_info_t *local = container_of(work, local_info_t, info_queue); local 489 drivers/net/wireless/intersil/hostap/hostap_info.c &local->pending_info)) local 490 drivers/net/wireless/intersil/hostap/hostap_info.c handle_info_queue_linkstatus(local); local 493 drivers/net/wireless/intersil/hostap/hostap_info.c &local->pending_info)) local 494 drivers/net/wireless/intersil/hostap/hostap_info.c handle_info_queue_scanresults(local); local 499 drivers/net/wireless/intersil/hostap/hostap_info.c void hostap_info_init(local_info_t *local) local 501 drivers/net/wireless/intersil/hostap/hostap_info.c skb_queue_head_init(&local->info_list); local 503 drivers/net/wireless/intersil/hostap/hostap_info.c INIT_WORK(&local->info_queue, handle_info_queue); local 20 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 24 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 30 drivers/net/wireless/intersil/hostap/hostap_ioctl.c wstats = &local->wstats; local 34 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->comm_tallies.rx_discards_wep_undecryptable; local 36 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->comm_tallies.rx_fcs_errors + local 37 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->comm_tallies.rx_discards_no_buffer + local 38 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->comm_tallies.tx_discards_wrong_sa; local 41 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->comm_tallies.tx_retry_limit_exceeded; local 43 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->comm_tallies.rx_message_in_bad_msg_fragments; local 45 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->iw_mode != IW_MODE_MASTER && local 46 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->iw_mode != IW_MODE_REPEAT) { local 63 drivers/net/wireless/intersil/hostap/hostap_ioctl.c wstats->qual.qual = local->comms_qual; local 64 drivers/net/wireless/intersil/hostap/hostap_ioctl.c wstats->qual.level = local->avg_signal; local 65 drivers/net/wireless/intersil/hostap/hostap_ioctl.c wstats->qual.noise = local->avg_noise; local 80 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 86 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 88 drivers/net/wireless/intersil/hostap/hostap_ioctl.c len = local->func->get_rid(dev, HFA384X_RID_SUPPORTEDDATARATES, buf, local 130 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 135 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 139 drivers/net/wireless/intersil/hostap/hostap_ioctl.c i = local->crypt_info.tx_keyidx; local 145 drivers/net/wireless/intersil/hostap/hostap_ioctl.c crypt = &local->crypt_info.crypt[i]; local 149 drivers/net/wireless/intersil/hostap/hostap_ioctl.c lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); local 156 drivers/net/wireless/intersil/hostap/hostap_ioctl.c lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); local 193 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (j != i && local->crypt_info.crypt[j]) { local 199 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->crypt_info.tx_keyidx = i; local 202 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->crypt_info.tx_keyidx = i; local 206 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->open_wep = erq->flags & IW_ENCODE_OPEN; local 208 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (hostap_set_encryption(local)) { local 218 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->iw_mode != IW_MODE_INFRA && local->func->reset_port(dev)) { local 232 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 238 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 242 drivers/net/wireless/intersil/hostap/hostap_ioctl.c i = local->crypt_info.tx_keyidx; local 248 drivers/net/wireless/intersil/hostap/hostap_ioctl.c crypt = local->crypt_info.crypt[i]; local 270 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->get_rid(dev, HFA384X_RID_CNFWEPFLAGS, &val, 2, 1) < 0) local 292 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 296 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 298 drivers/net/wireless/intersil/hostap/hostap_ioctl.c basic_rates = local->basic_rates & local->tx_rate_control; local 299 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (!basic_rates || basic_rates != local->basic_rates) { local 304 drivers/net/wireless/intersil/hostap/hostap_ioctl.c basic_rates = local->tx_rate_control; local 306 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->basic_rates = basic_rates; local 314 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->tx_rate_control) || local 316 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->tx_rate_control) || local 317 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(dev)); local 322 drivers/net/wireless/intersil/hostap/hostap_ioctl.c dev->name, local->tx_rate_control); local 327 drivers/net/wireless/intersil/hostap/hostap_ioctl.c hostap_update_rates(local); local 338 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 341 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 346 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->tx_rate_control = HFA384X_RATES_11MBPS; local 349 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->tx_rate_control = HFA384X_RATES_5MBPS; local 352 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->tx_rate_control = HFA384X_RATES_2MBPS; local 355 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->tx_rate_control = HFA384X_RATES_1MBPS; local 358 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->tx_rate_control = HFA384X_RATES_1MBPS | local 366 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->tx_rate_control = HFA384X_RATES_1MBPS | local 371 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->tx_rate_control = HFA384X_RATES_1MBPS | local 375 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->tx_rate_control = HFA384X_RATES_1MBPS | local 379 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->tx_rate_control = HFA384X_RATES_1MBPS; local 382 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->tx_rate_control = HFA384X_RATES_1MBPS | local 399 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 403 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 405 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->get_rid(dev, HFA384X_RID_TXRATECONTROL, &val, 2, 1) < local 414 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->iw_mode == IW_MODE_MASTER && local->ap != NULL && local 415 drivers/net/wireless/intersil/hostap/hostap_ioctl.c !local->fw_tx_rate_control) { local 419 drivers/net/wireless/intersil/hostap/hostap_ioctl.c rrq->value = local->ap->last_tx_rate > 0 ? local 420 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->ap->last_tx_rate * 100000 : 11000000; local 424 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->get_rid(dev, HFA384X_RID_CURRENTTXRATE, &val, 2, 1) < local 457 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 460 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 467 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(dev)) local 478 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 482 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 485 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->get_rid(dev, HFA384X_RID_CNFSYSTEMSCALE, &val, 2, 1) < local 502 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 507 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 509 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->iw_mode != IW_MODE_MASTER) { local 525 drivers/net/wireless/intersil/hostap/hostap_ioctl.c data->length = prism2_ap_get_sta_qual(local, addr, qual, IW_MAX_AP, 1); local 543 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 547 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 556 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->set_rid(dev, HFA384X_RID_RTSTHRESHOLD, &val, 2) || local 557 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(dev)) local 560 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->rts_threshold = rts->value; local 570 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 574 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 576 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->get_rid(dev, HFA384X_RID_RTSTHRESHOLD, &val, 2, 1) < local 593 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 597 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 606 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->fragm_threshold = rts->value & ~0x1; local 607 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->set_rid(dev, HFA384X_RID_FRAGMENTATIONTHRESHOLD, &val, local 609 drivers/net/wireless/intersil/hostap/hostap_ioctl.c || local->func->reset_port(dev)) local 620 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 624 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 626 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->get_rid(dev, HFA384X_RID_FRAGMENTATIONTHRESHOLD, local 642 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 649 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 651 drivers/net/wireless/intersil/hostap/hostap_ioctl.c memcpy(req.bssid, local->preferred_ap, ETH_ALEN); local 654 drivers/net/wireless/intersil/hostap/hostap_ioctl.c spin_lock_irqsave(&local->lock, flags); local 655 drivers/net/wireless/intersil/hostap/hostap_ioctl.c for (i = 0; i < local->last_scan_results_count; i++) { local 656 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (!local->last_scan_results) local 658 drivers/net/wireless/intersil/hostap/hostap_ioctl.c entry = &local->last_scan_results[i]; local 659 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (ether_addr_equal(local->preferred_ap, entry->bssid)) { local 664 drivers/net/wireless/intersil/hostap/hostap_ioctl.c spin_unlock_irqrestore(&local->lock, flags); local 666 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->set_rid(dev, HFA384X_RID_JOINREQUEST, &req, local 669 drivers/net/wireless/intersil/hostap/hostap_ioctl.c dev->name, local->preferred_ap); local 674 drivers/net/wireless/intersil/hostap/hostap_ioctl.c dev->name, local->preferred_ap); local 689 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 692 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 694 drivers/net/wireless/intersil/hostap/hostap_ioctl.c memcpy(local->preferred_ap, &ap_addr->sa_data, ETH_ALEN); local 696 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->host_roaming == 1 && local->iw_mode == IW_MODE_INFRA) { local 701 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->set_rid(dev, HFA384X_RID_SCANREQUEST, local 707 drivers/net/wireless/intersil/hostap/hostap_ioctl.c } else if (local->host_roaming == 2 && local 708 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->iw_mode == IW_MODE_INFRA) { local 726 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 729 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 737 drivers/net/wireless/intersil/hostap/hostap_ioctl.c memcpy(&ap_addr->sa_data, local->assoc_ap_addr, ETH_ALEN); local 743 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->get_rid(dev, HFA384X_RID_CURRENTBSSID, local 749 drivers/net/wireless/intersil/hostap/hostap_ioctl.c memcpy(local->bssid, &ap_addr->sa_data, ETH_ALEN); local 762 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 765 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 767 drivers/net/wireless/intersil/hostap/hostap_ioctl.c memset(local->name, 0, sizeof(local->name)); local 768 drivers/net/wireless/intersil/hostap/hostap_ioctl.c memcpy(local->name, nickname, data->length); local 769 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->name_set = 1; local 771 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (hostap_set_string(dev, HFA384X_RID_CNFOWNNAME, local->name) || local 772 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(dev)) local 783 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 789 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 791 drivers/net/wireless/intersil/hostap/hostap_ioctl.c len = local->func->get_rid(dev, HFA384X_RID_CNFOWNNAME, local 810 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 813 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 831 drivers/net/wireless/intersil/hostap/hostap_ioctl.c !(local->channel_mask & (1 << (freq->m - 1)))) local 834 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->channel = freq->m; /* channel is used in prism2_setup_rids() */ local 835 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (hostap_set_word(dev, HFA384X_RID_CNFOWNCHANNEL, local->channel) || local 836 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(dev)) local 847 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 851 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 853 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->get_rid(dev, HFA384X_RID_CURRENTCHANNEL, &val, 2, 1) < local 868 drivers/net/wireless/intersil/hostap/hostap_ioctl.c static void hostap_monitor_set_type(local_info_t *local) local 870 drivers/net/wireless/intersil/hostap/hostap_ioctl.c struct net_device *dev = local->ddev; local 875 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->monitor_type == PRISM2_MONITOR_PRISM || local 876 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->monitor_type == PRISM2_MONITOR_CAPHDR) { local 878 drivers/net/wireless/intersil/hostap/hostap_ioctl.c } else if (local->monitor_type == PRISM2_MONITOR_RADIOTAP) { local 891 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 894 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 902 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->iw_mode == IW_MODE_MASTER && ssid[0] == '\0') { local 910 drivers/net/wireless/intersil/hostap/hostap_ioctl.c memcpy(local->essid, ssid, data->length); local 911 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->essid[data->length] = '\0'; local 913 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if ((!local->fw_ap && local 914 drivers/net/wireless/intersil/hostap/hostap_ioctl.c hostap_set_string(dev, HFA384X_RID_CNFDESIREDSSID, local->essid)) local 915 drivers/net/wireless/intersil/hostap/hostap_ioctl.c || hostap_set_string(dev, HFA384X_RID_CNFOWNSSID, local->essid) || local 916 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(dev)) local 927 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 931 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 937 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->iw_mode == IW_MODE_MASTER) { local 938 drivers/net/wireless/intersil/hostap/hostap_ioctl.c data->length = strlen(local->essid); local 939 drivers/net/wireless/intersil/hostap/hostap_ioctl.c memcpy(essid, local->essid, IW_ESSID_MAX_SIZE); local 944 drivers/net/wireless/intersil/hostap/hostap_ioctl.c len = local->func->get_rid(dev, HFA384X_RID_CURRENTSSID, local 963 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 970 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 980 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->iw_mode == IW_MODE_INFRA || local->iw_mode == IW_MODE_ADHOC) local 1004 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->channel_mask & (1 << i)) { local 1015 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->sta_fw_ver >= PRISM2_FW_VER(1,3,1)) { local 1072 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->sta_fw_ver >= PRISM2_FW_VER(1,3,1)) local 1079 drivers/net/wireless/intersil/hostap/hostap_ioctl.c static int hostap_monitor_mode_enable(local_info_t *local) local 1081 drivers/net/wireless/intersil/hostap/hostap_ioctl.c struct net_device *dev = local->dev; local 1084 drivers/net/wireless/intersil/hostap/hostap_ioctl.c hostap_monitor_set_type(local); local 1103 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->reset_port(dev) || local 1104 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->cmd(dev, HFA384X_CMDCODE_TEST | local 1115 drivers/net/wireless/intersil/hostap/hostap_ioctl.c static int hostap_monitor_mode_disable(local_info_t *local) local 1117 drivers/net/wireless/intersil/hostap/hostap_ioctl.c struct net_device *dev = local->ddev; local 1125 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->cmd(dev, HFA384X_CMDCODE_TEST | local 1129 drivers/net/wireless/intersil/hostap/hostap_ioctl.c return hostap_set_encryption(local); local 1138 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 1142 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 1154 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (*mode == local->iw_mode) local 1157 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (*mode == IW_MODE_MASTER && local->essid[0] == '\0') { local 1163 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->iw_mode == IW_MODE_MONITOR) local 1164 drivers/net/wireless/intersil/hostap/hostap_ioctl.c hostap_monitor_mode_disable(local); local 1166 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if ((local->iw_mode == IW_MODE_ADHOC || local 1167 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->iw_mode == IW_MODE_MONITOR) && *mode == IW_MODE_MASTER) { local 1176 drivers/net/wireless/intersil/hostap/hostap_ioctl.c "%d -> %d\n", dev->name, local->iw_mode, *mode); local 1177 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->iw_mode = *mode; local 1179 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->iw_mode == IW_MODE_MONITOR) local 1180 drivers/net/wireless/intersil/hostap/hostap_ioctl.c hostap_monitor_mode_enable(local); local 1181 drivers/net/wireless/intersil/hostap/hostap_ioctl.c else if (local->iw_mode == IW_MODE_MASTER && !local->host_encrypt && local 1182 drivers/net/wireless/intersil/hostap/hostap_ioctl.c !local->fw_encrypt_ok) { local 1186 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->host_encrypt = 1; local 1190 drivers/net/wireless/intersil/hostap/hostap_ioctl.c hostap_get_porttype(local))) local 1193 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->reset_port(dev)) local 1195 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (double_reset && local->func->reset_port(dev)) local 1198 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->iw_mode != IW_MODE_INFRA && local->iw_mode != IW_MODE_ADHOC) local 1202 drivers/net/wireless/intersil/hostap/hostap_ioctl.c netif_carrier_on(local->dev); local 1203 drivers/net/wireless/intersil/hostap/hostap_ioctl.c netif_carrier_on(local->ddev); local 1214 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 1217 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 1227 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *mode = local->iw_mode; local 1301 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 1305 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 1307 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->get_rid(dev, HFA384X_RID_CNFPMENABLED, &enable, 2, 1) local 1320 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->get_rid(dev, local 1329 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->get_rid(dev, HFA384X_RID_CNFMAXSLEEPDURATION, local 1337 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->get_rid(dev, HFA384X_RID_CNFMULTICASTRECEIVE, &mcast, local 1356 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 1359 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 1370 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->manual_retry_count = -1; local 1371 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->tx_control &= ~HFA384X_TX_CTRL_ALT_RTRY; local 1381 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->manual_retry_count = rrq->value; local 1382 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->tx_control |= HFA384X_TX_CTRL_ALT_RTRY; local 1417 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 1421 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 1423 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->get_rid(dev, HFA384X_RID_SHORTRETRYLIMIT, &shortretry, local 1425 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->get_rid(dev, HFA384X_RID_LONGRETRYLIMIT, &longretry, local 1427 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->get_rid(dev, HFA384X_RID_MAXTRANSMITLIFETIME, local 1437 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->manual_retry_count >= 0) { local 1439 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->get_rid(dev, local 1444 drivers/net/wireless/intersil/hostap/hostap_ioctl.c rrq->value = local->manual_retry_count; local 1511 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 1519 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 1522 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->txpower_type != PRISM2_TXPOWER_OFF) { local 1524 drivers/net/wireless/intersil/hostap/hostap_ioctl.c ret = local->func->cmd(dev, HFA384X_CMDCODE_WRITEMIF, local 1529 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->txpower_type = PRISM2_TXPOWER_OFF; local 1534 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->txpower_type == PRISM2_TXPOWER_OFF) { local 1536 drivers/net/wireless/intersil/hostap/hostap_ioctl.c ret = local->func->cmd(dev, HFA384X_CMDCODE_WRITEMIF, local 1540 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->txpower_type = PRISM2_TXPOWER_UNKNOWN; local 1544 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (!rrq->fixed && local->txpower_type != PRISM2_TXPOWER_AUTO) { local 1547 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->cmd(dev, HFA384X_CMDCODE_TEST | local 1549 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->txpower_type = PRISM2_TXPOWER_AUTO; local 1553 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->txpower_type != PRISM2_TXPOWER_FIXED) { local 1556 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->cmd(dev, HFA384X_CMDCODE_TEST | local 1558 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->txpower_type = PRISM2_TXPOWER_FIXED; local 1574 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->txpower = rrq->value; local 1575 drivers/net/wireless/intersil/hostap/hostap_ioctl.c val = prism2_txpower_dBm_to_hfa386x(local->txpower); local 1576 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->cmd(dev, HFA384X_CMDCODE_WRITEMIF, local 1593 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 1597 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 1603 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->txpower_type == PRISM2_TXPOWER_AUTO) { local 1604 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->cmd(dev, HFA384X_CMDCODE_READMIF, local 1612 drivers/net/wireless/intersil/hostap/hostap_ioctl.c } else if (local->txpower_type == PRISM2_TXPOWER_OFF) { local 1615 drivers/net/wireless/intersil/hostap/hostap_ioctl.c } else if (local->txpower_type == PRISM2_TXPOWER_FIXED) { local 1616 drivers/net/wireless/intersil/hostap/hostap_ioctl.c rrq->value = local->txpower; local 1620 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->txpower_type); local 1638 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 1642 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 1645 drivers/net/wireless/intersil/hostap/hostap_ioctl.c scan_req.channel_list = cpu_to_le16(local->channel_mask & local 1646 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->scan_channel_mask); local 1655 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->set_rid(dev, HFA384X_RID_HOSTSCAN, &scan_req, local 1667 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 1672 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 1675 drivers/net/wireless/intersil/hostap/hostap_ioctl.c scan_req.channel_list = cpu_to_le16(local->channel_mask & local 1676 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->scan_channel_mask); local 1688 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (!local->host_roaming) local 1692 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->set_rid(dev, HFA384X_RID_SCANREQUEST, &scan_req, local 1698 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (!local->host_roaming) local 1727 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 1733 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 1738 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->iw_mode == IW_MODE_MASTER) { local 1746 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (!local->dev_enabled) local 1754 drivers/net/wireless/intersil/hostap/hostap_ioctl.c ((local->iw_mode != IW_MODE_INFRA && local 1755 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->iw_mode != IW_MODE_ADHOC) || local 1756 drivers/net/wireless/intersil/hostap/hostap_ioctl.c (local->sta_fw_ver < PRISM2_FW_VER(1,3,1)))) local 1760 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->sta_fw_ver >= PRISM2_FW_VER(1,3,1)) local 1766 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->scan_timestamp = jiffies; local 1775 drivers/net/wireless/intersil/hostap/hostap_ioctl.c static char * __prism2_translate_scan(local_info_t *local, local 1856 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->last_scan_type == PRISM2_HOSTSCAN) { local 1919 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->last_scan_type == PRISM2_HOSTSCAN && local 1953 drivers/net/wireless/intersil/hostap/hostap_ioctl.c static inline int prism2_translate_scan(local_info_t *local, local 1963 drivers/net/wireless/intersil/hostap/hostap_ioctl.c spin_lock_bh(&local->lock); local 1965 drivers/net/wireless/intersil/hostap/hostap_ioctl.c list_for_each(ptr, &local->bss_list) { local 1971 drivers/net/wireless/intersil/hostap/hostap_ioctl.c hostscan = local->last_scan_type == PRISM2_HOSTSCAN; local 1972 drivers/net/wireless/intersil/hostap/hostap_ioctl.c for (entry = 0; entry < local->last_scan_results_count; entry++) { local 1974 drivers/net/wireless/intersil/hostap/hostap_ioctl.c scan = &local->last_scan_results[entry]; local 1979 drivers/net/wireless/intersil/hostap/hostap_ioctl.c list_for_each(ptr, &local->bss_list) { local 1985 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local, info, scan, bss, current_ev, local 1992 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local, info, scan, NULL, current_ev, end_buf); local 1997 drivers/net/wireless/intersil/hostap/hostap_ioctl.c spin_unlock_bh(&local->lock); local 2005 drivers/net/wireless/intersil/hostap/hostap_ioctl.c list_for_each(ptr, &local->bss_list) { local 2010 drivers/net/wireless/intersil/hostap/hostap_ioctl.c current_ev = __prism2_translate_scan(local, info, NULL, bss, local 2015 drivers/net/wireless/intersil/hostap/hostap_ioctl.c spin_unlock_bh(&local->lock); local 2020 drivers/net/wireless/intersil/hostap/hostap_ioctl.c spin_unlock_bh(&local->lock); local 2035 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 2039 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 2043 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->scan_timestamp && local 2044 drivers/net/wireless/intersil/hostap/hostap_ioctl.c time_before(jiffies, local->scan_timestamp + 3 * HZ)) { local 2055 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->scan_timestamp = 0; local 2057 drivers/net/wireless/intersil/hostap/hostap_ioctl.c res = prism2_translate_scan(local, info, extra, data->length); local 2075 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 2079 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 2081 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->iw_mode == IW_MODE_MASTER) { local 2304 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 2307 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 2309 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->cmd(dev, HFA384X_CMDCODE_INQUIRE, *i, NULL, NULL)) local 2321 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 2329 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 2333 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->fw_tx_rate_control = value; local 2338 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(dev)) local 2341 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->beacon_int = value; local 2346 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (value == local->pseudo_adhoc) local 2355 drivers/net/wireless/intersil/hostap/hostap_ioctl.c dev->name, local->pseudo_adhoc, value); local 2356 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->pseudo_adhoc = value; local 2357 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->iw_mode != IW_MODE_ADHOC) local 2361 drivers/net/wireless/intersil/hostap/hostap_ioctl.c hostap_get_porttype(local))) { local 2366 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->reset_port(dev)) local 2375 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->cmd(dev, HFA384X_CMDCODE_TEST | local 2381 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->frame_dump = value; local 2389 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->ap != NULL) local 2390 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->ap->ap_policy = value; local 2398 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->ap != NULL) local 2399 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->ap->max_inactivity = value * HZ; local 2403 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->ap != NULL) local 2404 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->ap->bridge_packets = value; local 2413 drivers/net/wireless/intersil/hostap/hostap_ioctl.c || local->func->reset_port(dev)) local 2416 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->dtim_period = value; local 2420 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->ap != NULL) local 2421 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->ap->nullfunc_ack = value; local 2425 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->wds_max_connections = value; local 2429 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->ap != NULL) { local 2430 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (!local->ap->autom_ap_wds && value) { local 2432 drivers/net/wireless/intersil/hostap/hostap_ioctl.c hostap_add_wds_links(local); local 2434 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->ap->autom_ap_wds = value; local 2439 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->auth_algs = value; local 2440 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (hostap_set_auth_algs(local)) local 2445 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->monitor_allow_fcserr = value; local 2449 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->host_encrypt = value; local 2450 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (hostap_set_encryption(local) || local 2451 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(dev)) local 2456 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->host_decrypt = value; local 2457 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (hostap_set_encryption(local) || local 2458 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(dev)) local 2468 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->host_roaming = value; local 2469 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (hostap_set_roaming(local) || local->func->reset_port(dev)) local 2475 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->bcrx_sta_key = value; local 2479 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->ieee_802_1x = value; local 2487 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->antsel_tx = value; local 2488 drivers/net/wireless/intersil/hostap/hostap_ioctl.c hostap_set_antsel(local); local 2496 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->antsel_rx = value; local 2497 drivers/net/wireless/intersil/hostap/hostap_ioctl.c hostap_set_antsel(local); local 2508 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->monitor_type = value; local 2509 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->iw_mode == IW_MODE_MONITOR) local 2510 drivers/net/wireless/intersil/hostap/hostap_ioctl.c hostap_monitor_set_type(local); local 2514 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->wds_type = value; local 2534 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->iw_mode == IW_MODE_MASTER) { local 2537 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(dev)) local 2542 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->set_rid(dev, HFA384X_RID_HOSTSCAN, &scan_req, local 2547 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->iw_mode == IW_MODE_MASTER) { local 2550 drivers/net/wireless/intersil/hostap/hostap_ioctl.c add_wait_queue(&local->hostscan_wq, &__wait); local 2556 drivers/net/wireless/intersil/hostap/hostap_ioctl.c remove_wait_queue(&local->hostscan_wq, &__wait); local 2560 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(dev)) local 2568 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->passive_scan_interval = value; local 2569 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (timer_pending(&local->passive_scan_timer)) local 2570 drivers/net/wireless/intersil/hostap/hostap_ioctl.c del_timer(&local->passive_scan_timer); local 2572 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->passive_scan_timer.expires = jiffies + local 2573 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->passive_scan_interval * HZ; local 2574 drivers/net/wireless/intersil/hostap/hostap_ioctl.c add_timer(&local->passive_scan_timer); local 2583 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->enh_sec = value; local 2585 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->enh_sec) || local 2586 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(dev)) { local 2595 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->io_debug_enabled = value; local 2600 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if ((value & local->tx_rate_control) != value || value == 0) { local 2607 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->basic_rates = value; local 2609 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->basic_rates) || local 2610 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(dev)) local 2615 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->tx_rate_control = value; local 2621 drivers/net/wireless/intersil/hostap/hostap_ioctl.c ret = hostap_set_hostapd(local, value, 1); local 2625 drivers/net/wireless/intersil/hostap/hostap_ioctl.c ret = hostap_set_hostapd_sta(local, value, 1); local 2629 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->wpa = value; local 2630 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->sta_fw_ver < PRISM2_FW_VER(1,7,0)) local 2638 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->privacy_invoked = value; local 2639 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (hostap_set_encryption(local) || local 2640 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(dev)) local 2645 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->tkip_countermeasures = value; local 2649 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->drop_unencrypted = value; local 2653 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->scan_channel_mask = value; local 2672 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 2677 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 2681 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->fw_tx_rate_control; local 2685 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->beacon_int; local 2689 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->pseudo_adhoc; local 2697 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->frame_dump; local 2701 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->ap != NULL) local 2702 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->ap->ap_policy; local 2708 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->ap != NULL) local 2709 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->ap->max_inactivity / HZ; local 2715 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->ap != NULL) local 2716 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->ap->bridge_packets; local 2722 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->dtim_period; local 2726 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->ap != NULL) local 2727 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->ap->nullfunc_ack; local 2733 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->wds_max_connections; local 2737 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->ap != NULL) local 2738 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->ap->autom_ap_wds; local 2744 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->auth_algs; local 2748 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->monitor_allow_fcserr; local 2752 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->host_encrypt; local 2756 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->host_decrypt; local 2760 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->host_roaming; local 2764 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->bcrx_sta_key; local 2768 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->ieee_802_1x; local 2772 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->antsel_tx; local 2776 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->antsel_rx; local 2780 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->monitor_type; local 2784 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->wds_type; local 2792 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->passive_scan_interval; local 2796 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->enh_sec; local 2801 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->io_debug_enabled; local 2806 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->basic_rates; local 2810 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->tx_rate_control; local 2814 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->hostapd; local 2818 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->hostapd_sta; local 2822 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->sta_fw_ver < PRISM2_FW_VER(1,7,0)) local 2824 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->wpa; local 2828 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->privacy_invoked; local 2832 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->tkip_countermeasures; local 2836 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->drop_unencrypted; local 2840 drivers/net/wireless/intersil/hostap/hostap_ioctl.c *param = local->scan_channel_mask; local 2859 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 2863 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 2865 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->cmd(dev, HFA384X_CMDCODE_READMIF, *extra, NULL, local 2880 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 2884 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 2888 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->cmd(dev, HFA384X_CMDCODE_WRITEMIF, cr, &val, NULL)) local 2898 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 2903 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 2925 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->monitor_type = PRISM2_MONITOR_80211; local 2928 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->monitor_type = PRISM2_MONITOR_PRISM; local 2933 drivers/net/wireless/intersil/hostap/hostap_ioctl.c hostap_monitor_mode_enable(local); local 2944 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 2947 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 2953 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->hw_shutdown(dev, 1); local 2954 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->hw_config(dev, 0); local 2959 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->hw_reset(dev); local 2964 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(dev); local 2968 drivers/net/wireless/intersil/hostap/hostap_ioctl.c prism2_sta_deauth(local, WLAN_REASON_DEAUTH_LEAVING); local 2969 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->cmd(dev, HFA384X_CMDCODE_DISABLE, 0, NULL, local 2975 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->func->cmd(dev, HFA384X_CMDCODE_ENABLE, 0, NULL, local 3004 drivers/net/wireless/intersil/hostap/hostap_ioctl.c static int ap_mac_cmd_ioctl(local_info_t *local, int *cmd) local 3010 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->ap->mac_restrictions.policy = MAC_POLICY_OPEN; local 3013 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->ap->mac_restrictions.policy = MAC_POLICY_ALLOW; local 3016 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->ap->mac_restrictions.policy = MAC_POLICY_DENY; local 3019 drivers/net/wireless/intersil/hostap/hostap_ioctl.c ap_control_flush_macs(&local->ap->mac_restrictions); local 3022 drivers/net/wireless/intersil/hostap/hostap_ioctl.c ap_control_kickall(local->ap); local 3023 drivers/net/wireless/intersil/hostap/hostap_ioctl.c hostap_deauth_all_stas(local->dev, local->ap, 0); local 3036 drivers/net/wireless/intersil/hostap/hostap_ioctl.c static int prism2_ioctl_priv_download(local_info_t *local, struct iw_point *p) local 3056 drivers/net/wireless/intersil/hostap/hostap_ioctl.c ret = local->func->download(local, param); local 3069 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local = iface->local; local 3083 drivers/net/wireless/intersil/hostap/hostap_ioctl.c kfree(local->generic_elem); local 3084 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->generic_elem = buf; local 3085 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->generic_elem_len = len + 2; local 3087 drivers/net/wireless/intersil/hostap/hostap_ioctl.c return local->func->set_rid(local->dev, HFA384X_RID_GENERICELEMENT, local 3097 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local = iface->local; local 3110 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->tkip_countermeasures = data->value; local 3113 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->drop_unencrypted = data->value; local 3116 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->auth_algs = data->value; local 3120 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->wpa = 0; local 3121 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->sta_fw_ver < PRISM2_FW_VER(1,7,0)) local 3124 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->host_roaming = 0; local 3125 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->privacy_invoked = 0; local 3128 drivers/net/wireless/intersil/hostap/hostap_ioctl.c hostap_set_roaming(local) || local 3129 drivers/net/wireless/intersil/hostap/hostap_ioctl.c hostap_set_encryption(local) || local 3130 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(dev)) local 3134 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->sta_fw_ver < PRISM2_FW_VER(1,7,0)) local 3136 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->host_roaming = 2; local 3137 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->privacy_invoked = 1; local 3138 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->wpa = 1; local 3140 drivers/net/wireless/intersil/hostap/hostap_ioctl.c hostap_set_roaming(local) || local 3141 drivers/net/wireless/intersil/hostap/hostap_ioctl.c hostap_set_encryption(local) || local 3142 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(dev)) local 3146 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->ieee_802_1x = data->value; local 3149 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->privacy_invoked = data->value; local 3163 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local = iface->local; local 3176 drivers/net/wireless/intersil/hostap/hostap_ioctl.c data->value = local->tkip_countermeasures; local 3179 drivers/net/wireless/intersil/hostap/hostap_ioctl.c data->value = local->drop_unencrypted; local 3182 drivers/net/wireless/intersil/hostap/hostap_ioctl.c data->value = local->auth_algs; local 3185 drivers/net/wireless/intersil/hostap/hostap_ioctl.c data->value = local->wpa; local 3188 drivers/net/wireless/intersil/hostap/hostap_ioctl.c data->value = local->ieee_802_1x; local 3202 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local = iface->local; local 3215 drivers/net/wireless/intersil/hostap/hostap_ioctl.c i = local->crypt_info.tx_keyidx; local 3224 drivers/net/wireless/intersil/hostap/hostap_ioctl.c crypt = &local->crypt_info.crypt[i]; local 3228 drivers/net/wireless/intersil/hostap/hostap_ioctl.c sta_ptr = ap_crypt_get_ptrs(local->ap, addr, 0, &crypt); local 3230 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (local->iw_mode == IW_MODE_INFRA) { local 3237 drivers/net/wireless/intersil/hostap/hostap_ioctl.c crypt = &local->crypt_info.crypt[i]; local 3246 drivers/net/wireless/intersil/hostap/hostap_ioctl.c lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); local 3265 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->dev->name, ext->alg); local 3277 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->dev->name, alg); local 3288 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->host_decrypt = local->host_encrypt = 1; local 3294 drivers/net/wireless/intersil/hostap/hostap_ioctl.c lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); local 3325 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->dev->name); local 3332 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->crypt_info.tx_keyidx = i; local 3339 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (j != i && local->crypt_info.crypt[j]) { local 3345 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->crypt_info.tx_keyidx = i; local 3352 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->open_wep = erq->flags & IW_ENCODE_OPEN; local 3362 drivers/net/wireless/intersil/hostap/hostap_ioctl.c (hostap_set_encryption(local) || local 3363 drivers/net/wireless/intersil/hostap/hostap_ioctl.c (local->iw_mode != IW_MODE_INFRA && local 3364 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(local->dev)))) local 3376 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local = iface->local; local 3389 drivers/net/wireless/intersil/hostap/hostap_ioctl.c i = local->crypt_info.tx_keyidx; local 3396 drivers/net/wireless/intersil/hostap/hostap_ioctl.c crypt = &local->crypt_info.crypt[i]; local 3399 drivers/net/wireless/intersil/hostap/hostap_ioctl.c sta_ptr = ap_crypt_get_ptrs(local->ap, addr, 0, &crypt); local 3440 drivers/net/wireless/intersil/hostap/hostap_ioctl.c static int prism2_ioctl_set_encryption(local_info_t *local, local 3461 drivers/net/wireless/intersil/hostap/hostap_ioctl.c crypt = &local->crypt_info.crypt[param->u.crypt.idx]; local 3466 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->ap, param->sta_addr, local 3478 drivers/net/wireless/intersil/hostap/hostap_ioctl.c lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); local 3495 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->dev->name, param->u.crypt.alg); local 3503 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->host_decrypt = local->host_encrypt = 1; local 3508 drivers/net/wireless/intersil/hostap/hostap_ioctl.c lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); local 3535 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->dev->name); local 3543 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->crypt_info.tx_keyidx = param->u.crypt.idx; local 3546 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->dev->name); local 3564 drivers/net/wireless/intersil/hostap/hostap_ioctl.c (hostap_set_encryption(local) || local 3565 drivers/net/wireless/intersil/hostap/hostap_ioctl.c (local->iw_mode != IW_MODE_INFRA && local 3566 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->func->reset_port(local->dev)))) { local 3575 drivers/net/wireless/intersil/hostap/hostap_ioctl.c static int prism2_ioctl_get_encryption(local_info_t *local, local 3593 drivers/net/wireless/intersil/hostap/hostap_ioctl.c param->u.crypt.idx = local->crypt_info.tx_keyidx; local 3594 drivers/net/wireless/intersil/hostap/hostap_ioctl.c crypt = &local->crypt_info.crypt[param->u.crypt.idx]; local 3597 drivers/net/wireless/intersil/hostap/hostap_ioctl.c sta_ptr = ap_crypt_get_ptrs(local->ap, param->sta_addr, 0, local 3632 drivers/net/wireless/intersil/hostap/hostap_ioctl.c static int prism2_ioctl_get_rid(local_info_t *local, local 3642 drivers/net/wireless/intersil/hostap/hostap_ioctl.c res = local->func->get_rid(local->dev, param->u.rid.rid, local 3653 drivers/net/wireless/intersil/hostap/hostap_ioctl.c static int prism2_ioctl_set_rid(local_info_t *local, local 3663 drivers/net/wireless/intersil/hostap/hostap_ioctl.c return local->func->set_rid(local->dev, param->u.rid.rid, local 3668 drivers/net/wireless/intersil/hostap/hostap_ioctl.c static int prism2_ioctl_set_assoc_ap_addr(local_info_t *local, local 3673 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->dev->name, param->sta_addr); local 3674 drivers/net/wireless/intersil/hostap/hostap_ioctl.c memcpy(local->assoc_ap_addr, param->sta_addr, ETH_ALEN); local 3692 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local = iface->local; local 3693 drivers/net/wireless/intersil/hostap/hostap_ioctl.c int len = local->generic_elem_len - 2; local 3695 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (len <= 0 || local->generic_elem == NULL) { local 3704 drivers/net/wireless/intersil/hostap/hostap_ioctl.c memcpy(extra, local->generic_elem + 2, len); local 3710 drivers/net/wireless/intersil/hostap/hostap_ioctl.c static int prism2_ioctl_set_generic_element(local_info_t *local, local 3721 drivers/net/wireless/intersil/hostap/hostap_ioctl.c return prism2_set_genericelement(local->dev, local 3731 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local = iface->local; local 3739 drivers/net/wireless/intersil/hostap/hostap_ioctl.c return prism2_sta_send_mgmt(local, mlme->addr.sa_data, local 3743 drivers/net/wireless/intersil/hostap/hostap_ioctl.c return prism2_sta_send_mgmt(local, mlme->addr.sa_data, local 3752 drivers/net/wireless/intersil/hostap/hostap_ioctl.c static int prism2_ioctl_mlme(local_info_t *local, local 3760 drivers/net/wireless/intersil/hostap/hostap_ioctl.c return prism2_sta_send_mgmt(local, param->sta_addr, local 3764 drivers/net/wireless/intersil/hostap/hostap_ioctl.c return prism2_sta_send_mgmt(local, param->sta_addr, local 3773 drivers/net/wireless/intersil/hostap/hostap_ioctl.c static int prism2_ioctl_scan_req(local_info_t *local, local 3777 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if ((local->iw_mode != IW_MODE_INFRA && local 3778 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->iw_mode != IW_MODE_ADHOC) || local 3779 drivers/net/wireless/intersil/hostap/hostap_ioctl.c (local->sta_fw_ver < PRISM2_FW_VER(1,3,1))) local 3782 drivers/net/wireless/intersil/hostap/hostap_ioctl.c if (!local->dev_enabled) local 3785 drivers/net/wireless/intersil/hostap/hostap_ioctl.c return prism2_request_hostscan(local->dev, param->u.scan_req.ssid, local 3793 drivers/net/wireless/intersil/hostap/hostap_ioctl.c static int prism2_ioctl_priv_hostapd(local_info_t *local, struct iw_point *p) local 3810 drivers/net/wireless/intersil/hostap/hostap_ioctl.c ret = prism2_ioctl_set_encryption(local, param, p->length); local 3813 drivers/net/wireless/intersil/hostap/hostap_ioctl.c ret = prism2_ioctl_get_encryption(local, param, p->length); local 3816 drivers/net/wireless/intersil/hostap/hostap_ioctl.c ret = prism2_ioctl_get_rid(local, param, p->length); local 3819 drivers/net/wireless/intersil/hostap/hostap_ioctl.c ret = prism2_ioctl_set_rid(local, param, p->length); local 3822 drivers/net/wireless/intersil/hostap/hostap_ioctl.c ret = prism2_ioctl_set_assoc_ap_addr(local, param, p->length); local 3825 drivers/net/wireless/intersil/hostap/hostap_ioctl.c ret = prism2_ioctl_set_generic_element(local, param, local 3829 drivers/net/wireless/intersil/hostap/hostap_ioctl.c ret = prism2_ioctl_mlme(local, param); local 3832 drivers/net/wireless/intersil/hostap/hostap_ioctl.c ret = prism2_ioctl_scan_req(local, param); local 3835 drivers/net/wireless/intersil/hostap/hostap_ioctl.c ret = prism2_hostapd(local->ap, param); local 3858 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 3861 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 3865 drivers/net/wireless/intersil/hostap/hostap_ioctl.c "%d.%d.%d", (local->sta_fw_ver >> 16) & 0xff, local 3866 drivers/net/wireless/intersil/hostap/hostap_ioctl.c (local->sta_fw_ver >> 8) & 0xff, local 3867 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local->sta_fw_ver & 0xff); local 3961 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local_info_t *local; local 3965 drivers/net/wireless/intersil/hostap/hostap_ioctl.c local = iface->local; local 3988 drivers/net/wireless/intersil/hostap/hostap_ioctl.c else ret = prism2_wds_add(local, wrq->u.ap_addr.sa_data, 1); local 3993 drivers/net/wireless/intersil/hostap/hostap_ioctl.c else ret = prism2_wds_del(local, wrq->u.ap_addr.sa_data, 1, 0); local 4005 drivers/net/wireless/intersil/hostap/hostap_ioctl.c else ret = ap_mac_cmd_ioctl(local, (int *) wrq->u.name); local 4010 drivers/net/wireless/intersil/hostap/hostap_ioctl.c else ret = ap_control_add_mac(&local->ap->mac_restrictions, local 4015 drivers/net/wireless/intersil/hostap/hostap_ioctl.c else ret = ap_control_del_mac(&local->ap->mac_restrictions, local 4020 drivers/net/wireless/intersil/hostap/hostap_ioctl.c else ret = ap_control_kick_mac(local->ap, local->dev, local 4032 drivers/net/wireless/intersil/hostap/hostap_ioctl.c else ret = prism2_ioctl_priv_download(local, &wrq->u.data); local 4038 drivers/net/wireless/intersil/hostap/hostap_ioctl.c else ret = prism2_ioctl_priv_hostapd(local, &wrq->u.data); local 45 drivers/net/wireless/intersil/hostap/hostap_main.c struct net_device * hostap_add_interface(struct local_info *local, local 60 drivers/net/wireless/intersil/hostap/hostap_main.c iface->local = local; local 62 drivers/net/wireless/intersil/hostap/hostap_main.c list_add(&iface->list, &local->hostap_interfaces); local 64 drivers/net/wireless/intersil/hostap/hostap_main.c mdev = local->dev; local 71 drivers/net/wireless/intersil/hostap/hostap_main.c hostap_setup_dev(dev, local, type); local 112 drivers/net/wireless/intersil/hostap/hostap_main.c if (dev == iface->local->ddev) local 113 drivers/net/wireless/intersil/hostap/hostap_main.c iface->local->ddev = NULL; local 114 drivers/net/wireless/intersil/hostap/hostap_main.c else if (dev == iface->local->apdev) local 115 drivers/net/wireless/intersil/hostap/hostap_main.c iface->local->apdev = NULL; local 116 drivers/net/wireless/intersil/hostap/hostap_main.c else if (dev == iface->local->stadev) local 117 drivers/net/wireless/intersil/hostap/hostap_main.c iface->local->stadev = NULL; local 138 drivers/net/wireless/intersil/hostap/hostap_main.c int prism2_wds_add(local_info_t *local, u8 *remote_addr, local 146 drivers/net/wireless/intersil/hostap/hostap_main.c read_lock_bh(&local->iface_lock); local 147 drivers/net/wireless/intersil/hostap/hostap_main.c list_for_each(ptr, &local->hostap_interfaces) { local 162 drivers/net/wireless/intersil/hostap/hostap_main.c read_unlock_bh(&local->iface_lock); local 164 drivers/net/wireless/intersil/hostap/hostap_main.c local->dev->name, empty->dev->name); local 167 drivers/net/wireless/intersil/hostap/hostap_main.c read_unlock_bh(&local->iface_lock); local 172 drivers/net/wireless/intersil/hostap/hostap_main.c hostap_add_sta(local->ap, remote_addr); local 175 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->wds_connections >= local->wds_max_connections) local 179 drivers/net/wireless/intersil/hostap/hostap_main.c if (strlen(local->dev->name) >= IFNAMSIZ - 5) { local 181 drivers/net/wireless/intersil/hostap/hostap_main.c local->dev->name); local 185 drivers/net/wireless/intersil/hostap/hostap_main.c dev = hostap_add_interface(local, HOSTAP_INTERFACE_WDS, rtnl_locked, local 186 drivers/net/wireless/intersil/hostap/hostap_main.c local->ddev->name, "wds%d"); local 193 drivers/net/wireless/intersil/hostap/hostap_main.c local->wds_connections++; local 199 drivers/net/wireless/intersil/hostap/hostap_main.c int prism2_wds_del(local_info_t *local, u8 *remote_addr, local 206 drivers/net/wireless/intersil/hostap/hostap_main.c write_lock_irqsave(&local->iface_lock, flags); local 207 drivers/net/wireless/intersil/hostap/hostap_main.c list_for_each(ptr, &local->hostap_interfaces) { local 219 drivers/net/wireless/intersil/hostap/hostap_main.c write_unlock_irqrestore(&local->iface_lock, flags); local 226 drivers/net/wireless/intersil/hostap/hostap_main.c local->wds_connections--; local 234 drivers/net/wireless/intersil/hostap/hostap_main.c u16 hostap_tx_callback_register(local_info_t *local, local 248 drivers/net/wireless/intersil/hostap/hostap_main.c spin_lock_irqsave(&local->lock, flags); local 249 drivers/net/wireless/intersil/hostap/hostap_main.c entry->idx = local->tx_callback ? local->tx_callback->idx + 1 : 1; local 250 drivers/net/wireless/intersil/hostap/hostap_main.c entry->next = local->tx_callback; local 251 drivers/net/wireless/intersil/hostap/hostap_main.c local->tx_callback = entry; local 252 drivers/net/wireless/intersil/hostap/hostap_main.c spin_unlock_irqrestore(&local->lock, flags); local 258 drivers/net/wireless/intersil/hostap/hostap_main.c int hostap_tx_callback_unregister(local_info_t *local, u16 idx) local 263 drivers/net/wireless/intersil/hostap/hostap_main.c spin_lock_irqsave(&local->lock, flags); local 264 drivers/net/wireless/intersil/hostap/hostap_main.c cb = local->tx_callback; local 271 drivers/net/wireless/intersil/hostap/hostap_main.c local->tx_callback = cb->next; local 276 drivers/net/wireless/intersil/hostap/hostap_main.c spin_unlock_irqrestore(&local->lock, flags); local 288 drivers/net/wireless/intersil/hostap/hostap_main.c return iface->local->func->set_rid(dev, rid, &tmp, 2); local 306 drivers/net/wireless/intersil/hostap/hostap_main.c return iface->local->func->set_rid(dev, rid, &buf, MAX_SSID_LEN + 2); local 310 drivers/net/wireless/intersil/hostap/hostap_main.c u16 hostap_get_porttype(local_info_t *local) local 312 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->iw_mode == IW_MODE_ADHOC && local->pseudo_adhoc) local 314 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->iw_mode == IW_MODE_ADHOC) local 316 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->iw_mode == IW_MODE_INFRA) local 318 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->iw_mode == IW_MODE_REPEAT) local 320 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->iw_mode == IW_MODE_MONITOR) local 326 drivers/net/wireless/intersil/hostap/hostap_main.c int hostap_set_encryption(local_info_t *local) local 333 drivers/net/wireless/intersil/hostap/hostap_main.c idx = local->crypt_info.tx_keyidx; local 334 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->crypt_info.crypt[idx] == NULL || local 335 drivers/net/wireless/intersil/hostap/hostap_main.c local->crypt_info.crypt[idx]->ops == NULL) local 337 drivers/net/wireless/intersil/hostap/hostap_main.c else if (strcmp(local->crypt_info.crypt[idx]->ops->name, "WEP") == 0) local 342 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->func->get_rid(local->dev, HFA384X_RID_CNFWEPFLAGS, &val, 2, local 350 drivers/net/wireless/intersil/hostap/hostap_main.c if (encrypt_type != NONE || local->privacy_invoked) local 355 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->open_wep || encrypt_type == NONE || local 356 drivers/net/wireless/intersil/hostap/hostap_main.c ((local->ieee_802_1x || local->wpa) && local->host_decrypt)) local 361 drivers/net/wireless/intersil/hostap/hostap_main.c if ((encrypt_type != NONE || local->privacy_invoked) && local 362 drivers/net/wireless/intersil/hostap/hostap_main.c (encrypt_type == OTHER || local->host_encrypt)) local 366 drivers/net/wireless/intersil/hostap/hostap_main.c if ((encrypt_type != NONE || local->privacy_invoked) && local 367 drivers/net/wireless/intersil/hostap/hostap_main.c (encrypt_type == OTHER || local->host_decrypt)) local 373 drivers/net/wireless/intersil/hostap/hostap_main.c hostap_set_word(local->dev, HFA384X_RID_CNFWEPFLAGS, val)) { local 385 drivers/net/wireless/intersil/hostap/hostap_main.c len = local->crypt_info.crypt[idx]->ops->get_key(keybuf, sizeof(keybuf), NULL, local 386 drivers/net/wireless/intersil/hostap/hostap_main.c local->crypt_info.crypt[idx]->priv); local 392 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->crypt_info.crypt[i]) { local 393 drivers/net/wireless/intersil/hostap/hostap_main.c (void) local->crypt_info.crypt[i]->ops->get_key( local 395 drivers/net/wireless/intersil/hostap/hostap_main.c NULL, local->crypt_info.crypt[i]->priv); local 397 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->func->set_rid(local->dev, local 405 drivers/net/wireless/intersil/hostap/hostap_main.c if (hostap_set_word(local->dev, HFA384X_RID_CNFWEPDEFAULTKEYID, idx)) { local 413 drivers/net/wireless/intersil/hostap/hostap_main.c printk(KERN_DEBUG "%s: encryption setup failed\n", local->dev->name); local 418 drivers/net/wireless/intersil/hostap/hostap_main.c int hostap_set_antsel(local_info_t *local) local 423 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->antsel_tx != HOSTAP_ANTSEL_DO_NOT_TOUCH && local 424 drivers/net/wireless/intersil/hostap/hostap_main.c local->func->cmd(local->dev, HFA384X_CMDCODE_READMIF, local 428 drivers/net/wireless/intersil/hostap/hostap_main.c switch (local->antsel_tx) { local 439 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->func->cmd(local->dev, HFA384X_CMDCODE_WRITEMIF, local 442 drivers/net/wireless/intersil/hostap/hostap_main.c local->dev->name); local 447 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->antsel_rx != HOSTAP_ANTSEL_DO_NOT_TOUCH && local 448 drivers/net/wireless/intersil/hostap/hostap_main.c local->func->cmd(local->dev, HFA384X_CMDCODE_READMIF, local 452 drivers/net/wireless/intersil/hostap/hostap_main.c switch (local->antsel_rx) { local 463 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->func->cmd(local->dev, HFA384X_CMDCODE_WRITEMIF, local 466 drivers/net/wireless/intersil/hostap/hostap_main.c local->dev->name); local 475 drivers/net/wireless/intersil/hostap/hostap_main.c int hostap_set_roaming(local_info_t *local) local 479 drivers/net/wireless/intersil/hostap/hostap_main.c switch (local->host_roaming) { local 492 drivers/net/wireless/intersil/hostap/hostap_main.c return hostap_set_word(local->dev, HFA384X_RID_CNFROAMINGMODE, val); local 496 drivers/net/wireless/intersil/hostap/hostap_main.c int hostap_set_auth_algs(local_info_t *local) local 498 drivers/net/wireless/intersil/hostap/hostap_main.c int val = local->auth_algs; local 504 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->sta_fw_ver < PRISM2_FW_VER(0,7,0) && local 508 drivers/net/wireless/intersil/hostap/hostap_main.c if (hostap_set_word(local->dev, HFA384X_RID_CNFAUTHENTICATION, val)) { local 510 drivers/net/wireless/intersil/hostap/hostap_main.c "failed\n", local->dev->name, local->auth_algs); local 601 drivers/net/wireless/intersil/hostap/hostap_main.c local_info_t *local; local 606 drivers/net/wireless/intersil/hostap/hostap_main.c local = iface->local; local 608 drivers/net/wireless/intersil/hostap/hostap_main.c if (dev == local->ddev) { local 609 drivers/net/wireless/intersil/hostap/hostap_main.c prism2_sta_deauth(local, WLAN_REASON_DEAUTH_LEAVING); local 612 drivers/net/wireless/intersil/hostap/hostap_main.c if (!local->hostapd && dev == local->dev && local 613 drivers/net/wireless/intersil/hostap/hostap_main.c (!local->func->card_present || local->func->card_present(local)) && local 614 drivers/net/wireless/intersil/hostap/hostap_main.c local->hw_ready && local->ap && local->iw_mode == IW_MODE_MASTER) local 615 drivers/net/wireless/intersil/hostap/hostap_main.c hostap_deauth_all_stas(dev, local->ap, 1); local 618 drivers/net/wireless/intersil/hostap/hostap_main.c if (dev == local->dev) { local 619 drivers/net/wireless/intersil/hostap/hostap_main.c local->func->hw_shutdown(dev, HOSTAP_HW_ENABLE_CMDCOMPL); local 627 drivers/net/wireless/intersil/hostap/hostap_main.c cancel_work_sync(&local->reset_queue); local 628 drivers/net/wireless/intersil/hostap/hostap_main.c cancel_work_sync(&local->set_multicast_list_queue); local 629 drivers/net/wireless/intersil/hostap/hostap_main.c cancel_work_sync(&local->set_tim_queue); local 631 drivers/net/wireless/intersil/hostap/hostap_main.c cancel_work_sync(&local->info_queue); local 633 drivers/net/wireless/intersil/hostap/hostap_main.c cancel_work_sync(&local->comms_qual_update); local 635 drivers/net/wireless/intersil/hostap/hostap_main.c module_put(local->hw_module); local 637 drivers/net/wireless/intersil/hostap/hostap_main.c local->num_dev_open--; local 639 drivers/net/wireless/intersil/hostap/hostap_main.c if (dev != local->dev && local->dev->flags & IFF_UP && local 640 drivers/net/wireless/intersil/hostap/hostap_main.c local->master_dev_auto_open && local->num_dev_open == 1) { local 644 drivers/net/wireless/intersil/hostap/hostap_main.c dev_close(local->dev); local 654 drivers/net/wireless/intersil/hostap/hostap_main.c local_info_t *local; local 659 drivers/net/wireless/intersil/hostap/hostap_main.c local = iface->local; local 661 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->no_pri) { local 667 drivers/net/wireless/intersil/hostap/hostap_main.c if ((local->func->card_present && !local->func->card_present(local)) || local 668 drivers/net/wireless/intersil/hostap/hostap_main.c local->hw_downloading) local 671 drivers/net/wireless/intersil/hostap/hostap_main.c if (!try_module_get(local->hw_module)) local 673 drivers/net/wireless/intersil/hostap/hostap_main.c local->num_dev_open++; local 675 drivers/net/wireless/intersil/hostap/hostap_main.c if (!local->dev_enabled && local->func->hw_enable(dev, 1)) { local 681 drivers/net/wireless/intersil/hostap/hostap_main.c if (!local->dev_enabled) local 682 drivers/net/wireless/intersil/hostap/hostap_main.c prism2_callback(local, PRISM2_CALLBACK_ENABLE); local 683 drivers/net/wireless/intersil/hostap/hostap_main.c local->dev_enabled = 1; local 685 drivers/net/wireless/intersil/hostap/hostap_main.c if (dev != local->dev && !(local->dev->flags & IFF_UP)) { local 688 drivers/net/wireless/intersil/hostap/hostap_main.c local->master_dev_auto_open = 1; local 689 drivers/net/wireless/intersil/hostap/hostap_main.c dev_open(local->dev, NULL); local 702 drivers/net/wireless/intersil/hostap/hostap_main.c local_info_t *local; local 707 drivers/net/wireless/intersil/hostap/hostap_main.c local = iface->local; local 709 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->func->set_rid(dev, HFA384X_RID_CNFOWNMACADDR, addr->sa_data, local 710 drivers/net/wireless/intersil/hostap/hostap_main.c ETH_ALEN) < 0 || local->func->reset_port(dev)) local 713 drivers/net/wireless/intersil/hostap/hostap_main.c read_lock_bh(&local->iface_lock); local 714 drivers/net/wireless/intersil/hostap/hostap_main.c list_for_each(ptr, &local->hostap_interfaces) { local 718 drivers/net/wireless/intersil/hostap/hostap_main.c memcpy(local->dev->dev_addr, addr->sa_data, ETH_ALEN); local 719 drivers/net/wireless/intersil/hostap/hostap_main.c read_unlock_bh(&local->iface_lock); local 729 drivers/net/wireless/intersil/hostap/hostap_main.c local_info_t *local = local 731 drivers/net/wireless/intersil/hostap/hostap_main.c struct net_device *dev = local->dev; local 734 drivers/net/wireless/intersil/hostap/hostap_main.c local->is_promisc)) { local 736 drivers/net/wireless/intersil/hostap/hostap_main.c dev->name, local->is_promisc ? "en" : "dis"); local 749 drivers/net/wireless/intersil/hostap/hostap_main.c local_info_t *local; local 752 drivers/net/wireless/intersil/hostap/hostap_main.c local = iface->local; local 754 drivers/net/wireless/intersil/hostap/hostap_main.c local->is_promisc = 1; local 756 drivers/net/wireless/intersil/hostap/hostap_main.c local->is_promisc = 0; local 759 drivers/net/wireless/intersil/hostap/hostap_main.c schedule_work(&local->set_multicast_list_queue); local 767 drivers/net/wireless/intersil/hostap/hostap_main.c local_info_t *local; local 771 drivers/net/wireless/intersil/hostap/hostap_main.c local = iface->local; local 774 drivers/net/wireless/intersil/hostap/hostap_main.c netif_stop_queue(local->dev); local 776 drivers/net/wireless/intersil/hostap/hostap_main.c local->func->read_regs(dev, ®s); local 782 drivers/net/wireless/intersil/hostap/hostap_main.c local->func->schedule_reset(local); local 830 drivers/net/wireless/intersil/hostap/hostap_main.c void hostap_setup_dev(struct net_device *dev, local_info_t *local, local 866 drivers/net/wireless/intersil/hostap/hostap_main.c dev->mtu = local->mtu; local 873 drivers/net/wireless/intersil/hostap/hostap_main.c static int hostap_enable_hostapd(local_info_t *local, int rtnl_locked) local 875 drivers/net/wireless/intersil/hostap/hostap_main.c struct net_device *dev = local->dev; local 877 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->apdev) local 882 drivers/net/wireless/intersil/hostap/hostap_main.c local->apdev = hostap_add_interface(local, HOSTAP_INTERFACE_AP, local 883 drivers/net/wireless/intersil/hostap/hostap_main.c rtnl_locked, local->ddev->name, local 885 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->apdev == NULL) local 892 drivers/net/wireless/intersil/hostap/hostap_main.c static int hostap_disable_hostapd(local_info_t *local, int rtnl_locked) local 894 drivers/net/wireless/intersil/hostap/hostap_main.c struct net_device *dev = local->dev; local 898 drivers/net/wireless/intersil/hostap/hostap_main.c hostap_remove_interface(local->apdev, rtnl_locked, 1); local 899 drivers/net/wireless/intersil/hostap/hostap_main.c local->apdev = NULL; local 905 drivers/net/wireless/intersil/hostap/hostap_main.c static int hostap_enable_hostapd_sta(local_info_t *local, int rtnl_locked) local 907 drivers/net/wireless/intersil/hostap/hostap_main.c struct net_device *dev = local->dev; local 909 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->stadev) local 914 drivers/net/wireless/intersil/hostap/hostap_main.c local->stadev = hostap_add_interface(local, HOSTAP_INTERFACE_STA, local 915 drivers/net/wireless/intersil/hostap/hostap_main.c rtnl_locked, local->ddev->name, local 917 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->stadev == NULL) local 924 drivers/net/wireless/intersil/hostap/hostap_main.c static int hostap_disable_hostapd_sta(local_info_t *local, int rtnl_locked) local 926 drivers/net/wireless/intersil/hostap/hostap_main.c struct net_device *dev = local->dev; local 930 drivers/net/wireless/intersil/hostap/hostap_main.c hostap_remove_interface(local->stadev, rtnl_locked, 1); local 931 drivers/net/wireless/intersil/hostap/hostap_main.c local->stadev = NULL; local 937 drivers/net/wireless/intersil/hostap/hostap_main.c int hostap_set_hostapd(local_info_t *local, int val, int rtnl_locked) local 944 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->hostapd == val) local 948 drivers/net/wireless/intersil/hostap/hostap_main.c ret = hostap_enable_hostapd(local, rtnl_locked); local 950 drivers/net/wireless/intersil/hostap/hostap_main.c local->hostapd = 1; local 952 drivers/net/wireless/intersil/hostap/hostap_main.c local->hostapd = 0; local 953 drivers/net/wireless/intersil/hostap/hostap_main.c ret = hostap_disable_hostapd(local, rtnl_locked); local 955 drivers/net/wireless/intersil/hostap/hostap_main.c local->hostapd = 1; local 962 drivers/net/wireless/intersil/hostap/hostap_main.c int hostap_set_hostapd_sta(local_info_t *local, int val, int rtnl_locked) local 969 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->hostapd_sta == val) local 973 drivers/net/wireless/intersil/hostap/hostap_main.c ret = hostap_enable_hostapd_sta(local, rtnl_locked); local 975 drivers/net/wireless/intersil/hostap/hostap_main.c local->hostapd_sta = 1; local 977 drivers/net/wireless/intersil/hostap/hostap_main.c local->hostapd_sta = 0; local 978 drivers/net/wireless/intersil/hostap/hostap_main.c ret = hostap_disable_hostapd_sta(local, rtnl_locked); local 980 drivers/net/wireless/intersil/hostap/hostap_main.c local->hostapd_sta = 1; local 991 drivers/net/wireless/intersil/hostap/hostap_main.c local_info_t *local; local 996 drivers/net/wireless/intersil/hostap/hostap_main.c local = iface->local; local 997 drivers/net/wireless/intersil/hostap/hostap_main.c if (!local->sta_fw_ver) local 999 drivers/net/wireless/intersil/hostap/hostap_main.c else if (local->sta_fw_ver >= PRISM2_FW_VER(1,3,1)) { local 1000 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->func->get_rid(local->dev, local 1003 drivers/net/wireless/intersil/hostap/hostap_main.c local->comms_qual = (s16) le16_to_cpu(sq.comm_qual); local 1004 drivers/net/wireless/intersil/hostap/hostap_main.c local->avg_signal = (s16) le16_to_cpu(sq.signal_level); local 1005 drivers/net/wireless/intersil/hostap/hostap_main.c local->avg_noise = (s16) le16_to_cpu(sq.noise_level); local 1006 drivers/net/wireless/intersil/hostap/hostap_main.c local->last_comms_qual_update = jiffies; local 1010 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->func->get_rid(local->dev, HFA384X_RID_COMMSQUALITY, local 1012 drivers/net/wireless/intersil/hostap/hostap_main.c local->comms_qual = le16_to_cpu(sq.comm_qual); local 1013 drivers/net/wireless/intersil/hostap/hostap_main.c local->avg_signal = HFA384X_LEVEL_TO_dBm( local 1015 drivers/net/wireless/intersil/hostap/hostap_main.c local->avg_noise = HFA384X_LEVEL_TO_dBm( local 1017 drivers/net/wireless/intersil/hostap/hostap_main.c local->last_comms_qual_update = jiffies; local 1026 drivers/net/wireless/intersil/hostap/hostap_main.c int prism2_sta_send_mgmt(local_info_t *local, u8 *dst, u16 stype, local 1032 drivers/net/wireless/intersil/hostap/hostap_main.c struct net_device *dev = local->dev; local 1060 drivers/net/wireless/intersil/hostap/hostap_main.c int prism2_sta_deauth(local_info_t *local, u16 reason) local 1066 drivers/net/wireless/intersil/hostap/hostap_main.c if (local->iw_mode != IW_MODE_INFRA || local 1067 drivers/net/wireless/intersil/hostap/hostap_main.c is_zero_ether_addr(local->bssid) || local 1068 drivers/net/wireless/intersil/hostap/hostap_main.c ether_addr_equal(local->bssid, "\x44\x44\x44\x44\x44\x44")) local 1071 drivers/net/wireless/intersil/hostap/hostap_main.c ret = prism2_sta_send_mgmt(local, local->bssid, IEEE80211_STYPE_DEAUTH, local 1074 drivers/net/wireless/intersil/hostap/hostap_main.c wireless_send_event(local->dev, SIOCGIWAP, &wrqu, NULL); local 60 drivers/net/wireless/intersil/hostap/hostap_pci.c local_info_t *local; local 64 drivers/net/wireless/intersil/hostap/hostap_pci.c local = iface->local; local 65 drivers/net/wireless/intersil/hostap/hostap_pci.c hw_priv = local->hw_priv; local 67 drivers/net/wireless/intersil/hostap/hostap_pci.c spin_lock_irqsave(&local->lock, flags); local 70 drivers/net/wireless/intersil/hostap/hostap_pci.c spin_unlock_irqrestore(&local->lock, flags); local 77 drivers/net/wireless/intersil/hostap/hostap_pci.c local_info_t *local; local 82 drivers/net/wireless/intersil/hostap/hostap_pci.c local = iface->local; local 83 drivers/net/wireless/intersil/hostap/hostap_pci.c hw_priv = local->hw_priv; local 85 drivers/net/wireless/intersil/hostap/hostap_pci.c spin_lock_irqsave(&local->lock, flags); local 88 drivers/net/wireless/intersil/hostap/hostap_pci.c spin_unlock_irqrestore(&local->lock, flags); local 96 drivers/net/wireless/intersil/hostap/hostap_pci.c local_info_t *local; local 100 drivers/net/wireless/intersil/hostap/hostap_pci.c local = iface->local; local 101 drivers/net/wireless/intersil/hostap/hostap_pci.c hw_priv = local->hw_priv; local 103 drivers/net/wireless/intersil/hostap/hostap_pci.c spin_lock_irqsave(&local->lock, flags); local 106 drivers/net/wireless/intersil/hostap/hostap_pci.c spin_unlock_irqrestore(&local->lock, flags); local 113 drivers/net/wireless/intersil/hostap/hostap_pci.c local_info_t *local; local 118 drivers/net/wireless/intersil/hostap/hostap_pci.c local = iface->local; local 119 drivers/net/wireless/intersil/hostap/hostap_pci.c hw_priv = local->hw_priv; local 121 drivers/net/wireless/intersil/hostap/hostap_pci.c spin_lock_irqsave(&local->lock, flags); local 124 drivers/net/wireless/intersil/hostap/hostap_pci.c spin_unlock_irqrestore(&local->lock, flags); local 142 drivers/net/wireless/intersil/hostap/hostap_pci.c hw_priv = iface->local->hw_priv; local 151 drivers/net/wireless/intersil/hostap/hostap_pci.c hw_priv = iface->local->hw_priv; local 160 drivers/net/wireless/intersil/hostap/hostap_pci.c hw_priv = iface->local->hw_priv; local 169 drivers/net/wireless/intersil/hostap/hostap_pci.c hw_priv = iface->local->hw_priv; local 223 drivers/net/wireless/intersil/hostap/hostap_pci.c static void prism2_pci_cor_sreset(local_info_t *local) local 225 drivers/net/wireless/intersil/hostap/hostap_pci.c struct net_device *dev = local->dev; local 268 drivers/net/wireless/intersil/hostap/hostap_pci.c static void prism2_pci_genesis_reset(local_info_t *local, int hcr) local 270 drivers/net/wireless/intersil/hostap/hostap_pci.c struct net_device *dev = local->dev; local 295 drivers/net/wireless/intersil/hostap/hostap_pci.c local_info_t *local = NULL; local 327 drivers/net/wireless/intersil/hostap/hostap_pci.c local = iface->local; local 328 drivers/net/wireless/intersil/hostap/hostap_pci.c local->hw_priv = hw_priv; local 335 drivers/net/wireless/intersil/hostap/hostap_pci.c prism2_pci_cor_sreset(local); local 346 drivers/net/wireless/intersil/hostap/hostap_pci.c if (!local->pri_only && prism2_hw_config(dev, 1)) { local 386 drivers/net/wireless/intersil/hostap/hostap_pci.c hw_priv = iface->local->hw_priv; local 389 drivers/net/wireless/intersil/hostap/hostap_pci.c prism2_pci_cor_sreset(iface->local); local 112 drivers/net/wireless/intersil/hostap/hostap_plx.c local_info_t *local; local 116 drivers/net/wireless/intersil/hostap/hostap_plx.c local = iface->local; local 118 drivers/net/wireless/intersil/hostap/hostap_plx.c spin_lock_irqsave(&local->lock, flags); local 121 drivers/net/wireless/intersil/hostap/hostap_plx.c spin_unlock_irqrestore(&local->lock, flags); local 127 drivers/net/wireless/intersil/hostap/hostap_plx.c local_info_t *local; local 132 drivers/net/wireless/intersil/hostap/hostap_plx.c local = iface->local; local 134 drivers/net/wireless/intersil/hostap/hostap_plx.c spin_lock_irqsave(&local->lock, flags); local 137 drivers/net/wireless/intersil/hostap/hostap_plx.c spin_unlock_irqrestore(&local->lock, flags); local 144 drivers/net/wireless/intersil/hostap/hostap_plx.c local_info_t *local; local 148 drivers/net/wireless/intersil/hostap/hostap_plx.c local = iface->local; local 150 drivers/net/wireless/intersil/hostap/hostap_plx.c spin_lock_irqsave(&local->lock, flags); local 153 drivers/net/wireless/intersil/hostap/hostap_plx.c spin_unlock_irqrestore(&local->lock, flags); local 159 drivers/net/wireless/intersil/hostap/hostap_plx.c local_info_t *local; local 164 drivers/net/wireless/intersil/hostap/hostap_plx.c local = iface->local; local 166 drivers/net/wireless/intersil/hostap/hostap_plx.c spin_lock_irqsave(&local->lock, flags); local 169 drivers/net/wireless/intersil/hostap/hostap_plx.c spin_unlock_irqrestore(&local->lock, flags); local 177 drivers/net/wireless/intersil/hostap/hostap_plx.c local_info_t *local; local 181 drivers/net/wireless/intersil/hostap/hostap_plx.c local = iface->local; local 183 drivers/net/wireless/intersil/hostap/hostap_plx.c spin_lock_irqsave(&local->lock, flags); local 186 drivers/net/wireless/intersil/hostap/hostap_plx.c spin_unlock_irqrestore(&local->lock, flags); local 193 drivers/net/wireless/intersil/hostap/hostap_plx.c local_info_t *local; local 197 drivers/net/wireless/intersil/hostap/hostap_plx.c local = iface->local; local 199 drivers/net/wireless/intersil/hostap/hostap_plx.c spin_lock_irqsave(&local->lock, flags); local 202 drivers/net/wireless/intersil/hostap/hostap_plx.c spin_unlock_irqrestore(&local->lock, flags); local 267 drivers/net/wireless/intersil/hostap/hostap_plx.c static void prism2_plx_cor_sreset(local_info_t *local) local 270 drivers/net/wireless/intersil/hostap/hostap_plx.c struct hostap_plx_priv *hw_priv = local->hw_priv; local 297 drivers/net/wireless/intersil/hostap/hostap_plx.c static void prism2_plx_genesis_reset(local_info_t *local, int hcr) local 300 drivers/net/wireless/intersil/hostap/hostap_plx.c struct hostap_plx_priv *hw_priv = local->hw_priv; local 440 drivers/net/wireless/intersil/hostap/hostap_plx.c local_info_t *local = NULL; local 541 drivers/net/wireless/intersil/hostap/hostap_plx.c local = iface->local; local 542 drivers/net/wireless/intersil/hostap/hostap_plx.c local->hw_priv = hw_priv; local 592 drivers/net/wireless/intersil/hostap/hostap_plx.c hw_priv = iface->local->hw_priv; local 595 drivers/net/wireless/intersil/hostap/hostap_plx.c prism2_plx_cor_sreset(iface->local); local 17 drivers/net/wireless/intersil/hostap/hostap_proc.c local_info_t *local = m->private; local 21 drivers/net/wireless/intersil/hostap/hostap_proc.c local->next_txfid, local->next_alloc); local 24 drivers/net/wireless/intersil/hostap/hostap_proc.c local->txfid[i], local->intransmitfid[i]); local 25 drivers/net/wireless/intersil/hostap/hostap_proc.c seq_printf(m, "FW TX rate control: %d\n", local->fw_tx_rate_control); local 26 drivers/net/wireless/intersil/hostap/hostap_proc.c seq_printf(m, "beacon_int=%d\n", local->beacon_int); local 27 drivers/net/wireless/intersil/hostap/hostap_proc.c seq_printf(m, "dtim_period=%d\n", local->dtim_period); local 28 drivers/net/wireless/intersil/hostap/hostap_proc.c seq_printf(m, "wds_max_connections=%d\n", local->wds_max_connections); local 29 drivers/net/wireless/intersil/hostap/hostap_proc.c seq_printf(m, "dev_enabled=%d\n", local->dev_enabled); local 30 drivers/net/wireless/intersil/hostap/hostap_proc.c seq_printf(m, "sw_tick_stuck=%d\n", local->sw_tick_stuck); local 32 drivers/net/wireless/intersil/hostap/hostap_proc.c if (local->crypt_info.crypt[i] && local 33 drivers/net/wireless/intersil/hostap/hostap_proc.c local->crypt_info.crypt[i]->ops) { local 35 drivers/net/wireless/intersil/hostap/hostap_proc.c local->crypt_info.crypt[i]->ops->name); local 38 drivers/net/wireless/intersil/hostap/hostap_proc.c seq_printf(m, "pri_only=%d\n", local->pri_only); local 39 drivers/net/wireless/intersil/hostap/hostap_proc.c seq_printf(m, "pci=%d\n", local->func->hw_type == HOSTAP_HW_PCI); local 40 drivers/net/wireless/intersil/hostap/hostap_proc.c seq_printf(m, "sram_type=%d\n", local->sram_type); local 41 drivers/net/wireless/intersil/hostap/hostap_proc.c seq_printf(m, "no_pri=%d\n", local->no_pri); local 50 drivers/net/wireless/intersil/hostap/hostap_proc.c local_info_t *local = m->private; local 51 drivers/net/wireless/intersil/hostap/hostap_proc.c struct comm_tallies_sums *sums = &local->comm_tallies; local 100 drivers/net/wireless/intersil/hostap/hostap_proc.c local_info_t *local = PDE_DATA(file_inode(m->file)); local 101 drivers/net/wireless/intersil/hostap/hostap_proc.c read_lock_bh(&local->iface_lock); local 102 drivers/net/wireless/intersil/hostap/hostap_proc.c return seq_list_start(&local->hostap_interfaces, *_pos); local 107 drivers/net/wireless/intersil/hostap/hostap_proc.c local_info_t *local = PDE_DATA(file_inode(m->file)); local 108 drivers/net/wireless/intersil/hostap/hostap_proc.c return seq_list_next(v, &local->hostap_interfaces, _pos); local 113 drivers/net/wireless/intersil/hostap/hostap_proc.c local_info_t *local = PDE_DATA(file_inode(m->file)); local 114 drivers/net/wireless/intersil/hostap/hostap_proc.c read_unlock_bh(&local->iface_lock); local 126 drivers/net/wireless/intersil/hostap/hostap_proc.c local_info_t *local = PDE_DATA(file_inode(m->file)); local 130 drivers/net/wireless/intersil/hostap/hostap_proc.c if (ptr == &local->bss_list) { local 153 drivers/net/wireless/intersil/hostap/hostap_proc.c local_info_t *local = PDE_DATA(file_inode(m->file)); local 154 drivers/net/wireless/intersil/hostap/hostap_proc.c spin_lock_bh(&local->lock); local 155 drivers/net/wireless/intersil/hostap/hostap_proc.c return seq_list_start_head(&local->bss_list, *_pos); local 160 drivers/net/wireless/intersil/hostap/hostap_proc.c local_info_t *local = PDE_DATA(file_inode(m->file)); local 161 drivers/net/wireless/intersil/hostap/hostap_proc.c return seq_list_next(v, &local->bss_list, _pos); local 166 drivers/net/wireless/intersil/hostap/hostap_proc.c local_info_t *local = PDE_DATA(file_inode(m->file)); local 167 drivers/net/wireless/intersil/hostap/hostap_proc.c spin_unlock_bh(&local->lock); local 180 drivers/net/wireless/intersil/hostap/hostap_proc.c local_info_t *local = m->private; local 183 drivers/net/wireless/intersil/hostap/hostap_proc.c seq_printf(m, "tx_keyidx=%d\n", local->crypt_info.tx_keyidx); local 185 drivers/net/wireless/intersil/hostap/hostap_proc.c if (local->crypt_info.crypt[i] && local 186 drivers/net/wireless/intersil/hostap/hostap_proc.c local->crypt_info.crypt[i]->ops && local 187 drivers/net/wireless/intersil/hostap/hostap_proc.c local->crypt_info.crypt[i]->ops->print_stats) { local 188 drivers/net/wireless/intersil/hostap/hostap_proc.c local->crypt_info.crypt[i]->ops->print_stats( local 189 drivers/net/wireless/intersil/hostap/hostap_proc.c m, local->crypt_info.crypt[i]->priv); local 199 drivers/net/wireless/intersil/hostap/hostap_proc.c local_info_t *local = PDE_DATA(file_inode(file)); local 202 drivers/net/wireless/intersil/hostap/hostap_proc.c if (local->pda == NULL || *_pos >= PRISM2_PDA_SIZE) local 208 drivers/net/wireless/intersil/hostap/hostap_proc.c if (copy_to_user(buf, local->pda + off, count) != 0) local 235 drivers/net/wireless/intersil/hostap/hostap_proc.c local_info_t *local = (local_info_t *) data; local 236 drivers/net/wireless/intersil/hostap/hostap_proc.c int head = local->io_debug_head; local 253 drivers/net/wireless/intersil/hostap/hostap_proc.c memcpy(page, ((u8 *) &local->io_debug[head]) + off, copy); local 256 drivers/net/wireless/intersil/hostap/hostap_proc.c memcpy(&page[copy], local->io_debug, left); local 258 drivers/net/wireless/intersil/hostap/hostap_proc.c memcpy(page, ((u8 *) local->io_debug) + (off - start_bytes), local 272 drivers/net/wireless/intersil/hostap/hostap_proc.c local_info_t *local = PDE_DATA(file_inode(m->file)); local 285 drivers/net/wireless/intersil/hostap/hostap_proc.c scanres = &local->last_scan_results[entry]; local 322 drivers/net/wireless/intersil/hostap/hostap_proc.c local_info_t *local = PDE_DATA(file_inode(m->file)); local 323 drivers/net/wireless/intersil/hostap/hostap_proc.c spin_lock_bh(&local->lock); local 326 drivers/net/wireless/intersil/hostap/hostap_proc.c if (*_pos > local->last_scan_results_count) local 333 drivers/net/wireless/intersil/hostap/hostap_proc.c local_info_t *local = PDE_DATA(file_inode(m->file)); local 336 drivers/net/wireless/intersil/hostap/hostap_proc.c if (*_pos > local->last_scan_results_count) local 343 drivers/net/wireless/intersil/hostap/hostap_proc.c local_info_t *local = PDE_DATA(file_inode(m->file)); local 344 drivers/net/wireless/intersil/hostap/hostap_proc.c spin_unlock_bh(&local->lock); local 356 drivers/net/wireless/intersil/hostap/hostap_proc.c void hostap_init_proc(local_info_t *local) local 358 drivers/net/wireless/intersil/hostap/hostap_proc.c local->proc = NULL; local 362 drivers/net/wireless/intersil/hostap/hostap_proc.c local->dev->name); local 366 drivers/net/wireless/intersil/hostap/hostap_proc.c local->proc = proc_mkdir(local->ddev->name, hostap_proc); local 367 drivers/net/wireless/intersil/hostap/hostap_proc.c if (local->proc == NULL) { local 369 drivers/net/wireless/intersil/hostap/hostap_proc.c local->ddev->name); local 374 drivers/net/wireless/intersil/hostap/hostap_proc.c proc_create_single_data("debug", 0, local->proc, local 375 drivers/net/wireless/intersil/hostap/hostap_proc.c prism2_debug_proc_show, local); local 377 drivers/net/wireless/intersil/hostap/hostap_proc.c proc_create_single_data("stats", 0, local->proc, prism2_stats_proc_show, local 378 drivers/net/wireless/intersil/hostap/hostap_proc.c local); local 379 drivers/net/wireless/intersil/hostap/hostap_proc.c proc_create_seq_data("wds", 0, local->proc, local 380 drivers/net/wireless/intersil/hostap/hostap_proc.c &prism2_wds_proc_seqops, local); local 381 drivers/net/wireless/intersil/hostap/hostap_proc.c proc_create_data("pda", 0, local->proc, local 382 drivers/net/wireless/intersil/hostap/hostap_proc.c &prism2_pda_proc_fops, local); local 383 drivers/net/wireless/intersil/hostap/hostap_proc.c proc_create_data("aux_dump", 0, local->proc, local 384 drivers/net/wireless/intersil/hostap/hostap_proc.c local->func->read_aux_fops ?: &prism2_aux_dump_proc_fops, local 385 drivers/net/wireless/intersil/hostap/hostap_proc.c local); local 386 drivers/net/wireless/intersil/hostap/hostap_proc.c proc_create_seq_data("bss_list", 0, local->proc, local 387 drivers/net/wireless/intersil/hostap/hostap_proc.c &prism2_bss_list_proc_seqops, local); local 388 drivers/net/wireless/intersil/hostap/hostap_proc.c proc_create_single_data("crypt", 0, local->proc, prism2_crypt_proc_show, local 389 drivers/net/wireless/intersil/hostap/hostap_proc.c local); local 391 drivers/net/wireless/intersil/hostap/hostap_proc.c proc_create_single_data("io_debug", 0, local->proc, local 392 drivers/net/wireless/intersil/hostap/hostap_proc.c prism2_debug_proc_show, local); local 395 drivers/net/wireless/intersil/hostap/hostap_proc.c proc_create_seq_data("scan_results", 0, local->proc, local 396 drivers/net/wireless/intersil/hostap/hostap_proc.c &prism2_scan_results_proc_seqops, local); local 401 drivers/net/wireless/intersil/hostap/hostap_proc.c void hostap_remove_proc(local_info_t *local) local 403 drivers/net/wireless/intersil/hostap/hostap_proc.c proc_remove(local->proc); local 575 drivers/net/wireless/intersil/hostap/hostap_wlan.h int (*card_present)(local_info_t *local); local 576 drivers/net/wireless/intersil/hostap/hostap_wlan.h void (*cor_sreset)(local_info_t *local); local 577 drivers/net/wireless/intersil/hostap/hostap_wlan.h void (*genesis_reset)(local_info_t *local, int hcr); local 597 drivers/net/wireless/intersil/hostap/hostap_wlan.h void (*schedule_reset)(local_info_t *local); local 598 drivers/net/wireless/intersil/hostap/hostap_wlan.h int (*download)(local_info_t *local, local 896 drivers/net/wireless/intersil/hostap/hostap_wlan.h struct local_info *local; /* pointer to shared private data */ local 983 drivers/net/wireless/intersil/hostap/hostap_wlan.h local_info_t *local = iface->local; local 985 drivers/net/wireless/intersil/hostap/hostap_wlan.h if (!local->io_debug_enabled) local 988 drivers/net/wireless/intersil/hostap/hostap_wlan.h local->io_debug[local->io_debug_head] = jiffies & 0xffffffff; local 989 drivers/net/wireless/intersil/hostap/hostap_wlan.h if (++local->io_debug_head >= PRISM2_IO_DEBUG_SIZE) local 990 drivers/net/wireless/intersil/hostap/hostap_wlan.h local->io_debug_head = 0; local 991 drivers/net/wireless/intersil/hostap/hostap_wlan.h local->io_debug[local->io_debug_head] = local 993 drivers/net/wireless/intersil/hostap/hostap_wlan.h if (++local->io_debug_head >= PRISM2_IO_DEBUG_SIZE) local 994 drivers/net/wireless/intersil/hostap/hostap_wlan.h local->io_debug_head = 0; local 1001 drivers/net/wireless/intersil/hostap/hostap_wlan.h local_info_t *local = iface->local; local 1004 drivers/net/wireless/intersil/hostap/hostap_wlan.h if (!local->io_debug_enabled) local 1007 drivers/net/wireless/intersil/hostap/hostap_wlan.h spin_lock_irqsave(&local->lock, flags); local 1009 drivers/net/wireless/intersil/hostap/hostap_wlan.h if (local->io_debug_enabled == 1) { local 1010 drivers/net/wireless/intersil/hostap/hostap_wlan.h local->io_debug_enabled = 0; local 1013 drivers/net/wireless/intersil/hostap/hostap_wlan.h spin_unlock_irqrestore(&local->lock, flags); local 1042 drivers/net/wireless/intersil/hostap/hostap_wlan.h void prism2_callback(local_info_t *local, int event); local 137 drivers/net/wireless/ralink/rt2x00/rt2x00lib.h struct ieee80211_sta *sta, bool local); local 602 drivers/net/wireless/ralink/rt2x00/rt2x00queue.c struct ieee80211_sta *sta, bool local) local 631 drivers/net/wireless/ralink/rt2x00/rt2x00queue.c if (local) local 72 drivers/net/wireless/ray_cs.c static int translate_frame(ray_dev_t *local, struct tx_msg __iomem *ptx, local 74 drivers/net/wireless/ray_cs.c static void ray_build_header(ray_dev_t *local, struct tx_msg __iomem *ptx, local 76 drivers/net/wireless/ray_cs.c static void untranslate(ray_dev_t *local, struct sk_buff *skb, int len); local 81 drivers/net/wireless/ray_cs.c static void authenticate(ray_dev_t *local); local 82 drivers/net/wireless/ray_cs.c static int build_auth_frame(ray_dev_t *local, UCHAR *dest, int auth_type); local 84 drivers/net/wireless/ray_cs.c static int get_free_ccs(ray_dev_t *local); local 85 drivers/net/wireless/ray_cs.c static int get_free_tx_ccs(ray_dev_t *local); local 86 drivers/net/wireless/ray_cs.c static void init_startup_params(ray_dev_t *local); local 90 drivers/net/wireless/ray_cs.c static int interrupt_ecf(ray_dev_t *local, int ccs); local 97 drivers/net/wireless/ray_cs.c static void clear_interrupt(ray_dev_t *local); local 98 drivers/net/wireless/ray_cs.c static void rx_deauthenticate(ray_dev_t *local, struct rcs __iomem *prcs, local 100 drivers/net/wireless/ray_cs.c static int copy_from_rx_buff(ray_dev_t *local, UCHAR *dest, int pkt_addr, int len); local 101 drivers/net/wireless/ray_cs.c static void ray_rx(struct net_device *dev, ray_dev_t *local, struct rcs __iomem *prcs); local 102 drivers/net/wireless/ray_cs.c static void release_frag_chain(ray_dev_t *local, struct rcs __iomem *prcs); local 103 drivers/net/wireless/ray_cs.c static void rx_authenticate(ray_dev_t *local, struct rcs __iomem *prcs, local 107 drivers/net/wireless/ray_cs.c static void associate(ray_dev_t *local); local 271 drivers/net/wireless/ray_cs.c ray_dev_t *local; local 281 drivers/net/wireless/ray_cs.c local = netdev_priv(dev); local 282 drivers/net/wireless/ray_cs.c local->finder = p_dev; local 294 drivers/net/wireless/ray_cs.c local->finder = p_dev; local 295 drivers/net/wireless/ray_cs.c local->card_status = CARD_INSERTED; local 296 drivers/net/wireless/ray_cs.c local->authentication_state = UNAUTHENTICATED; local 297 drivers/net/wireless/ray_cs.c local->num_multi = 0; local 299 drivers/net/wireless/ray_cs.c p_dev, dev, local, &ray_interrupt); local 305 drivers/net/wireless/ray_cs.c local->wireless_data.spy_data = &local->spy_data; local 306 drivers/net/wireless/ray_cs.c dev->wireless_data = &local->wireless_data; local 313 drivers/net/wireless/ray_cs.c timer_setup(&local->timer, NULL, 0); local 325 drivers/net/wireless/ray_cs.c ray_dev_t *local; local 334 drivers/net/wireless/ray_cs.c local = netdev_priv(dev); local 335 drivers/net/wireless/ray_cs.c del_timer_sync(&local->timer); local 350 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 383 drivers/net/wireless/ray_cs.c local->sram = ioremap(link->resource[2]->start, local 397 drivers/net/wireless/ray_cs.c local->rmem = ioremap(link->resource[3]->start, local 411 drivers/net/wireless/ray_cs.c local->amem = ioremap(link->resource[4]->start, local 414 drivers/net/wireless/ray_cs.c dev_dbg(&link->dev, "ray_config sram=%p\n", local->sram); local 415 drivers/net/wireless/ray_cs.c dev_dbg(&link->dev, "ray_config rmem=%p\n", local->rmem); local 416 drivers/net/wireless/ray_cs.c dev_dbg(&link->dev, "ray_config amem=%p\n", local->amem); local 462 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 463 drivers/net/wireless/ray_cs.c struct pcmcia_device *link = local->finder; local 470 drivers/net/wireless/ray_cs.c local->net_type = net_type; local 471 drivers/net/wireless/ray_cs.c local->sta_type = TYPE_STA; local 474 drivers/net/wireless/ray_cs.c memcpy_fromio(&local->startup_res, local->sram + ECF_TO_HOST_BASE, local 478 drivers/net/wireless/ray_cs.c if (local->startup_res.startup_word != 0x80) { local 480 drivers/net/wireless/ray_cs.c local->startup_res.startup_word); local 481 drivers/net/wireless/ray_cs.c local->card_status = CARD_INIT_ERROR; local 485 drivers/net/wireless/ray_cs.c local->fw_ver = local->startup_res.firmware_version[0]; local 486 drivers/net/wireless/ray_cs.c local->fw_bld = local->startup_res.firmware_version[1]; local 487 drivers/net/wireless/ray_cs.c local->fw_var = local->startup_res.firmware_version[2]; local 488 drivers/net/wireless/ray_cs.c dev_dbg(&link->dev, "ray_init firmware version %d.%d\n", local->fw_ver, local 489 drivers/net/wireless/ray_cs.c local->fw_bld); local 491 drivers/net/wireless/ray_cs.c local->tib_length = 0x20; local 492 drivers/net/wireless/ray_cs.c if ((local->fw_ver == 5) && (local->fw_bld >= 30)) local 493 drivers/net/wireless/ray_cs.c local->tib_length = local->startup_res.tib_length; local 494 drivers/net/wireless/ray_cs.c dev_dbg(&link->dev, "ray_init tib_length = 0x%02x\n", local->tib_length); local 496 drivers/net/wireless/ray_cs.c pccs = ccs_base(local); local 500 drivers/net/wireless/ray_cs.c init_startup_params(local); local 503 drivers/net/wireless/ray_cs.c if (!parse_addr(phy_addr, local->sparm.b4.a_mac_addr)) { local 504 drivers/net/wireless/ray_cs.c memcpy(&local->sparm.b4.a_mac_addr, local 505 drivers/net/wireless/ray_cs.c &local->startup_res.station_addr, ADDRLEN); local 508 drivers/net/wireless/ray_cs.c clear_interrupt(local); /* Clear any interrupt from the card */ local 509 drivers/net/wireless/ray_cs.c local->card_status = CARD_AWAITING_PARAM; local 519 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 521 drivers/net/wireless/ray_cs.c struct pcmcia_device *link = local->finder; local 530 drivers/net/wireless/ray_cs.c if (local->fw_ver == 0x55) local 531 drivers/net/wireless/ray_cs.c memcpy_toio(local->sram + HOST_TO_ECF_BASE, &local->sparm.b4, local 534 drivers/net/wireless/ray_cs.c memcpy_toio(local->sram + HOST_TO_ECF_BASE, &local->sparm.b5, local 538 drivers/net/wireless/ray_cs.c if ((ccsindex = get_free_ccs(local)) < 0) local 540 drivers/net/wireless/ray_cs.c local->dl_param_ccs = ccsindex; local 541 drivers/net/wireless/ray_cs.c pccs = ccs_base(local) + ccsindex; local 544 drivers/net/wireless/ray_cs.c local->dl_param_ccs); local 546 drivers/net/wireless/ray_cs.c if (interrupt_ecf(local, ccsindex)) { local 549 drivers/net/wireless/ray_cs.c local->card_status = CARD_DL_PARAM_ERROR; local 553 drivers/net/wireless/ray_cs.c local->card_status = CARD_DL_PARAM; local 555 drivers/net/wireless/ray_cs.c local->timer.expires = jiffies + HZ / 2; local 556 drivers/net/wireless/ray_cs.c local->timer.function = verify_dl_startup; local 557 drivers/net/wireless/ray_cs.c add_timer(&local->timer); local 564 drivers/net/wireless/ray_cs.c static void init_startup_params(ray_dev_t *local) local 584 drivers/net/wireless/ray_cs.c if (local->fw_ver == 0x55) { local 585 drivers/net/wireless/ray_cs.c memcpy(&local->sparm.b4, b4_default_startup_parms, local 590 drivers/net/wireless/ray_cs.c local->sparm.b4.a_hop_time[0] = (i >> 16) & 0xff; local 591 drivers/net/wireless/ray_cs.c local->sparm.b4.a_hop_time[1] = (i >> 8) & 0xff; local 592 drivers/net/wireless/ray_cs.c local->sparm.b4.a_beacon_period[0] = 0; local 593 drivers/net/wireless/ray_cs.c local->sparm.b4.a_beacon_period[1] = local 595 drivers/net/wireless/ray_cs.c local->sparm.b4.a_curr_country_code = country; local 596 drivers/net/wireless/ray_cs.c local->sparm.b4.a_hop_pattern_length = local 599 drivers/net/wireless/ray_cs.c local->sparm.b4.a_ack_timeout = 0x50; local 600 drivers/net/wireless/ray_cs.c local->sparm.b4.a_sifs = 0x3f; local 603 drivers/net/wireless/ray_cs.c memcpy((UCHAR *) &local->sparm.b5, b5_default_startup_parms, local 606 drivers/net/wireless/ray_cs.c local->sparm.b5.a_hop_time[0] = (hop_dwell >> 8) & 0xff; local 607 drivers/net/wireless/ray_cs.c local->sparm.b5.a_hop_time[1] = hop_dwell & 0xff; local 608 drivers/net/wireless/ray_cs.c local->sparm.b5.a_beacon_period[0] = local 610 drivers/net/wireless/ray_cs.c local->sparm.b5.a_beacon_period[1] = beacon_period & 0xff; local 612 drivers/net/wireless/ray_cs.c local->sparm.b5.a_power_mgt_state = 1; local 613 drivers/net/wireless/ray_cs.c local->sparm.b5.a_curr_country_code = country; local 614 drivers/net/wireless/ray_cs.c local->sparm.b5.a_hop_pattern_length = local 618 drivers/net/wireless/ray_cs.c local->sparm.b4.a_network_type = net_type & 0x01; local 619 drivers/net/wireless/ray_cs.c local->sparm.b4.a_acting_as_ap_status = TYPE_STA; local 622 drivers/net/wireless/ray_cs.c strncpy(local->sparm.b4.a_current_ess_id, essid, ESSID_SIZE); local 628 drivers/net/wireless/ray_cs.c ray_dev_t *local = from_timer(local, t, timer); local 629 drivers/net/wireless/ray_cs.c struct ccs __iomem *pccs = ccs_base(local) + local->dl_param_ccs; local 631 drivers/net/wireless/ray_cs.c struct pcmcia_device *link = local->finder; local 642 drivers/net/wireless/ray_cs.c local->dl_param_ccs); local 645 drivers/net/wireless/ray_cs.c (unsigned int)readb(local->sram + local 657 drivers/net/wireless/ray_cs.c local->card_status = CARD_DL_PARAM_ERROR; local 660 drivers/net/wireless/ray_cs.c if (local->sparm.b4.a_network_type == ADHOC) local 661 drivers/net/wireless/ray_cs.c start_net(&local->timer); local 663 drivers/net/wireless/ray_cs.c join_net(&local->timer); local 670 drivers/net/wireless/ray_cs.c ray_dev_t *local = from_timer(local, t, timer); local 673 drivers/net/wireless/ray_cs.c struct pcmcia_device *link = local->finder; local 679 drivers/net/wireless/ray_cs.c if ((ccsindex = get_free_ccs(local)) < 0) local 681 drivers/net/wireless/ray_cs.c pccs = ccs_base(local) + ccsindex; local 685 drivers/net/wireless/ray_cs.c if (interrupt_ecf(local, ccsindex)) { local 690 drivers/net/wireless/ray_cs.c local->card_status = CARD_DOING_ACQ; local 697 drivers/net/wireless/ray_cs.c ray_dev_t *local = from_timer(local, t, timer); local 701 drivers/net/wireless/ray_cs.c struct pcmcia_device *link = local->finder; local 708 drivers/net/wireless/ray_cs.c if ((ccsindex = get_free_ccs(local)) < 0) local 710 drivers/net/wireless/ray_cs.c pccs = ccs_base(local) + ccsindex; local 715 drivers/net/wireless/ray_cs.c if (interrupt_ecf(local, ccsindex)) { local 720 drivers/net/wireless/ray_cs.c local->card_status = CARD_DOING_ACQ; local 727 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 731 drivers/net/wireless/ray_cs.c del_timer(&local->timer); local 733 drivers/net/wireless/ray_cs.c iounmap(local->sram); local 734 drivers/net/wireless/ray_cs.c iounmap(local->rmem); local 735 drivers/net/wireless/ray_cs.c iounmap(local->amem); local 769 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 770 drivers/net/wireless/ray_cs.c struct pcmcia_device *link = local->finder; local 790 drivers/net/wireless/ray_cs.c local->card_status); local 794 drivers/net/wireless/ray_cs.c memcpy(dev->dev_addr, &local->sparm.b4.a_mac_addr, ADDRLEN); local 804 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 805 drivers/net/wireless/ray_cs.c struct pcmcia_device *link = local->finder; local 820 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 821 drivers/net/wireless/ray_cs.c struct pcmcia_device *link = local->finder; local 831 drivers/net/wireless/ray_cs.c if (local->authentication_state == NEED_TO_AUTH) { local 833 drivers/net/wireless/ray_cs.c if (!build_auth_frame(local, local->auth_id, OPEN_AUTH_REQUEST)) { local 834 drivers/net/wireless/ray_cs.c local->authentication_state = AUTHENTICATED; local 864 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 877 drivers/net/wireless/ray_cs.c switch (ccsindex = get_free_tx_ccs(local)) { local 893 drivers/net/wireless/ray_cs.c local->stats.tx_bytes += len; local 894 drivers/net/wireless/ray_cs.c local->stats.tx_packets++; local 897 drivers/net/wireless/ray_cs.c ptx = local->sram + addr; local 899 drivers/net/wireless/ray_cs.c ray_build_header(local, ptx, msg_type, data); local 901 drivers/net/wireless/ray_cs.c offset = translate_frame(local, ptx, data, len); local 909 drivers/net/wireless/ray_cs.c pccs = ccs_base(local) + ccsindex; local 913 drivers/net/wireless/ray_cs.c writeb(local->tib_length, &pccs->var.tx_request.tx_data_ptr[1]); local 918 drivers/net/wireless/ray_cs.c writeb(local->net_default_tx_rate, &pccs->var.tx_request.tx_rate); local 921 drivers/net/wireless/ray_cs.c local->net_default_tx_rate); local 924 drivers/net/wireless/ray_cs.c if (interrupt_ecf(local, ccsindex)) { local 937 drivers/net/wireless/ray_cs.c static int translate_frame(ray_dev_t *local, struct tx_msg __iomem *ptx, local 971 drivers/net/wireless/ray_cs.c static void ray_build_header(ray_dev_t *local, struct tx_msg __iomem *ptx, local 982 drivers/net/wireless/ray_cs.c if (local->net_type == ADHOC) { local 986 drivers/net/wireless/ray_cs.c memcpy_toio(ptx->mac.addr_3, local->bss_id, ADDRLEN); local 989 drivers/net/wireless/ray_cs.c if (local->sparm.b4.a_acting_as_ap_status) { local 993 drivers/net/wireless/ray_cs.c memcpy_toio(ptx->mac.addr_2, local->bss_id, 6); local 999 drivers/net/wireless/ray_cs.c memcpy_toio(ptx->mac.addr_1, local->bss_id, ADDRLEN); local 1028 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1032 drivers/net/wireless/ray_cs.c if (local->card_status != CARD_AWAITING_PARAM) local 1039 drivers/net/wireless/ray_cs.c local->sparm.b5.a_hop_pattern = wrqu->freq.m; local 1051 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1053 drivers/net/wireless/ray_cs.c wrqu->freq.m = local->sparm.b5.a_hop_pattern; local 1065 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1068 drivers/net/wireless/ray_cs.c if (local->card_status != CARD_AWAITING_PARAM) local 1081 drivers/net/wireless/ray_cs.c memset(local->sparm.b5.a_current_ess_id, 0, IW_ESSID_MAX_SIZE); local 1082 drivers/net/wireless/ray_cs.c memcpy(local->sparm.b5.a_current_ess_id, extra, wrqu->essid.length); local 1094 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1098 drivers/net/wireless/ray_cs.c memcpy(extra, local->sparm.b5.a_current_ess_id, IW_ESSID_MAX_SIZE); local 1099 drivers/net/wireless/ray_cs.c memcpy(tmp, local->sparm.b5.a_current_ess_id, IW_ESSID_MAX_SIZE); local 1116 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1118 drivers/net/wireless/ray_cs.c memcpy(wrqu->ap_addr.sa_data, local->bss_id, ETH_ALEN); local 1131 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1134 drivers/net/wireless/ray_cs.c if (local->card_status != CARD_AWAITING_PARAM) local 1142 drivers/net/wireless/ray_cs.c if ((local->fw_ver == 0x55) && /* Please check */ local 1144 drivers/net/wireless/ray_cs.c local->net_default_tx_rate = 3; local 1146 drivers/net/wireless/ray_cs.c local->net_default_tx_rate = wrqu->bitrate.value / 500000; local 1158 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1160 drivers/net/wireless/ray_cs.c if (local->net_default_tx_rate == 3) local 1163 drivers/net/wireless/ray_cs.c wrqu->bitrate.value = local->net_default_tx_rate * 500000; local 1176 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1180 drivers/net/wireless/ray_cs.c if (local->card_status != CARD_AWAITING_PARAM) local 1190 drivers/net/wireless/ray_cs.c local->sparm.b5.a_rts_threshold[0] = (rthr >> 8) & 0xFF; local 1191 drivers/net/wireless/ray_cs.c local->sparm.b5.a_rts_threshold[1] = rthr & 0xFF; local 1203 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1205 drivers/net/wireless/ray_cs.c wrqu->rts.value = (local->sparm.b5.a_rts_threshold[0] << 8) local 1206 drivers/net/wireless/ray_cs.c + local->sparm.b5.a_rts_threshold[1]; local 1220 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1224 drivers/net/wireless/ray_cs.c if (local->card_status != CARD_AWAITING_PARAM) local 1234 drivers/net/wireless/ray_cs.c local->sparm.b5.a_frag_threshold[0] = (fthr >> 8) & 0xFF; local 1235 drivers/net/wireless/ray_cs.c local->sparm.b5.a_frag_threshold[1] = fthr & 0xFF; local 1247 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1249 drivers/net/wireless/ray_cs.c wrqu->frag.value = (local->sparm.b5.a_frag_threshold[0] << 8) local 1250 drivers/net/wireless/ray_cs.c + local->sparm.b5.a_frag_threshold[1]; local 1264 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1269 drivers/net/wireless/ray_cs.c if (local->card_status != CARD_AWAITING_PARAM) local 1277 drivers/net/wireless/ray_cs.c local->sparm.b5.a_network_type = card_mode; local 1293 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1295 drivers/net/wireless/ray_cs.c if (local->sparm.b5.a_network_type) local 1386 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1387 drivers/net/wireless/ray_cs.c struct pcmcia_device *link = local->finder; local 1388 drivers/net/wireless/ray_cs.c struct status __iomem *p = local->sram + STATUS_BASE; local 1390 drivers/net/wireless/ray_cs.c local->wstats.status = local->card_status; local 1392 drivers/net/wireless/ray_cs.c if ((local->spy_data.spy_number > 0) local 1393 drivers/net/wireless/ray_cs.c && (local->sparm.b5.a_network_type == 0)) { local 1395 drivers/net/wireless/ray_cs.c local->wstats.qual.qual = local->spy_data.spy_stat[0].qual; local 1396 drivers/net/wireless/ray_cs.c local->wstats.qual.level = local->spy_data.spy_stat[0].level; local 1397 drivers/net/wireless/ray_cs.c local->wstats.qual.noise = local->spy_data.spy_stat[0].noise; local 1398 drivers/net/wireless/ray_cs.c local->wstats.qual.updated = local 1399 drivers/net/wireless/ray_cs.c local->spy_data.spy_stat[0].updated; local 1404 drivers/net/wireless/ray_cs.c local->wstats.qual.noise = readb(&p->rxnoise); local 1405 drivers/net/wireless/ray_cs.c local->wstats.qual.updated |= 4; local 1408 drivers/net/wireless/ray_cs.c return &local->wstats; local 1474 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1476 drivers/net/wireless/ray_cs.c link = local->finder; local 1481 drivers/net/wireless/ray_cs.c local->num_multi = 0; local 1485 drivers/net/wireless/ray_cs.c if (local->card_status == CARD_AWAITING_PARAM) { local 1511 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1513 drivers/net/wireless/ray_cs.c link = local->finder; local 1537 drivers/net/wireless/ray_cs.c static int interrupt_ecf(ray_dev_t *local, int ccs) local 1540 drivers/net/wireless/ray_cs.c struct pcmcia_device *link = local->finder; local 1546 drivers/net/wireless/ray_cs.c dev_dbg(&link->dev, "interrupt_ecf(local=%p, ccs = 0x%x\n", local, ccs); local 1549 drivers/net/wireless/ray_cs.c (readb(local->amem + CIS_OFFSET + ECF_INTR_OFFSET) & local 1557 drivers/net/wireless/ray_cs.c writeb(ccs, local->sram + SCB_BASE); local 1558 drivers/net/wireless/ray_cs.c writeb(ECF_INTR_SET, local->amem + CIS_OFFSET + ECF_INTR_OFFSET); local 1565 drivers/net/wireless/ray_cs.c static int get_free_tx_ccs(ray_dev_t *local) local 1568 drivers/net/wireless/ray_cs.c struct ccs __iomem *pccs = ccs_base(local); local 1569 drivers/net/wireless/ray_cs.c struct pcmcia_device *link = local->finder; local 1576 drivers/net/wireless/ray_cs.c if (test_and_set_bit(0, &local->tx_ccs_lock)) { local 1585 drivers/net/wireless/ray_cs.c local->tx_ccs_lock = 0; local 1589 drivers/net/wireless/ray_cs.c local->tx_ccs_lock = 0; local 1597 drivers/net/wireless/ray_cs.c static int get_free_ccs(ray_dev_t *local) local 1600 drivers/net/wireless/ray_cs.c struct ccs __iomem *pccs = ccs_base(local); local 1601 drivers/net/wireless/ray_cs.c struct pcmcia_device *link = local->finder; local 1607 drivers/net/wireless/ray_cs.c if (test_and_set_bit(0, &local->ccs_lock)) { local 1616 drivers/net/wireless/ray_cs.c local->ccs_lock = 0; local 1620 drivers/net/wireless/ray_cs.c local->ccs_lock = 0; local 1628 drivers/net/wireless/ray_cs.c ray_dev_t *local = from_timer(local, t, timer); local 1629 drivers/net/wireless/ray_cs.c del_timer(&local->timer); local 1632 drivers/net/wireless/ray_cs.c join_net(&local->timer); local 1675 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1676 drivers/net/wireless/ray_cs.c struct pcmcia_device *link = local->finder; local 1677 drivers/net/wireless/ray_cs.c struct status __iomem *p = local->sram + STATUS_BASE; local 1680 drivers/net/wireless/ray_cs.c return &local->stats; local 1683 drivers/net/wireless/ray_cs.c local->stats.rx_over_errors += swab16(readw(&p->mrx_overflow)); local 1688 drivers/net/wireless/ray_cs.c local->stats.rx_crc_errors += local 1694 drivers/net/wireless/ray_cs.c local->stats.rx_frame_errors += swab16(readw(&p->rx_hec_error)); local 1698 drivers/net/wireless/ray_cs.c return &local->stats; local 1705 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1706 drivers/net/wireless/ray_cs.c struct pcmcia_device *link = local->finder; local 1716 drivers/net/wireless/ray_cs.c if ((ccsindex = get_free_ccs(local)) < 0) { local 1720 drivers/net/wireless/ray_cs.c pccs = ccs_base(local) + ccsindex; local 1726 drivers/net/wireless/ray_cs.c writeb(value[i], local->sram + HOST_TO_ECF_BASE); local 1729 drivers/net/wireless/ray_cs.c if (interrupt_ecf(local, ccsindex)) { local 1740 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1741 drivers/net/wireless/ray_cs.c struct pcmcia_device *link = local->finder; local 1742 drivers/net/wireless/ray_cs.c void __iomem *p = local->sram + HOST_TO_ECF_BASE; local 1749 drivers/net/wireless/ray_cs.c if ((ccsindex = get_free_ccs(local)) < 0) { local 1753 drivers/net/wireless/ray_cs.c pccs = ccs_base(local) + ccsindex; local 1758 drivers/net/wireless/ray_cs.c local->num_multi = 0xff; local 1776 drivers/net/wireless/ray_cs.c local->num_multi = i; local 1778 drivers/net/wireless/ray_cs.c if (interrupt_ecf(local, ccsindex)) { local 1788 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 1794 drivers/net/wireless/ray_cs.c if (local->sparm.b5.a_promiscuous_mode == 0) { local 1796 drivers/net/wireless/ray_cs.c local->sparm.b5.a_promiscuous_mode = 1; local 1802 drivers/net/wireless/ray_cs.c if (local->sparm.b5.a_promiscuous_mode == 1) { local 1804 drivers/net/wireless/ray_cs.c local->sparm.b5.a_promiscuous_mode = 0; local 1814 drivers/net/wireless/ray_cs.c if (local->num_multi != netdev_mc_count(dev)) local 1826 drivers/net/wireless/ray_cs.c ray_dev_t *local; local 1841 drivers/net/wireless/ray_cs.c local = netdev_priv(dev); local 1842 drivers/net/wireless/ray_cs.c link = local->finder; local 1848 drivers/net/wireless/ray_cs.c rcsindex = readb(&((struct scb __iomem *)(local->sram))->rcs_index); local 1852 drivers/net/wireless/ray_cs.c clear_interrupt(local); local 1856 drivers/net/wireless/ray_cs.c pccs = ccs_base(local) + rcsindex; local 1861 drivers/net/wireless/ray_cs.c del_timer(&local->timer); local 1894 drivers/net/wireless/ray_cs.c memcpy(memtmp, local->sparm.b4.a_current_ess_id, local 1910 drivers/net/wireless/ray_cs.c memcpy_fromio(&local->bss_id, local 1914 drivers/net/wireless/ray_cs.c if (local->fw_ver == 0x55) local 1915 drivers/net/wireless/ray_cs.c local->net_default_tx_rate = 3; local 1917 drivers/net/wireless/ray_cs.c local->net_default_tx_rate = local 1920 drivers/net/wireless/ray_cs.c local->encryption = local 1922 drivers/net/wireless/ray_cs.c if (!sniffer && (local->net_type == INFRA) local 1923 drivers/net/wireless/ray_cs.c && !(local->sparm.b4.a_acting_as_ap_status)) { local 1924 drivers/net/wireless/ray_cs.c authenticate(local); local 1926 drivers/net/wireless/ray_cs.c local->card_status = CARD_ACQ_COMPLETE; local 1928 drivers/net/wireless/ray_cs.c local->card_status = CARD_ACQ_FAILED; local 1930 drivers/net/wireless/ray_cs.c del_timer(&local->timer); local 1931 drivers/net/wireless/ray_cs.c local->timer.expires = jiffies + HZ * 5; local 1936 drivers/net/wireless/ray_cs.c local->timer.function = start_net; local 1941 drivers/net/wireless/ray_cs.c local->timer.function = join_net; local 1943 drivers/net/wireless/ray_cs.c add_timer(&local->timer); local 1948 drivers/net/wireless/ray_cs.c local->card_status = CARD_ASSOC_COMPLETE; local 1952 drivers/net/wireless/ray_cs.c local->card_status = CARD_ASSOC_FAILED; local 1953 drivers/net/wireless/ray_cs.c join_net(&local->timer); local 1990 drivers/net/wireless/ray_cs.c prcs = rcs_base(local) + rcsindex; local 1994 drivers/net/wireless/ray_cs.c ray_rx(dev, local, prcs); local 1998 drivers/net/wireless/ray_cs.c local->card_status = CARD_ACQ_COMPLETE; local 2000 drivers/net/wireless/ray_cs.c if (local->sparm.b4.a_network_type == ADHOC) { local 2004 drivers/net/wireless/ray_cs.c memcpy_fromio(&local->bss_id, local 2008 drivers/net/wireless/ray_cs.c local->bss_id); local 2010 drivers/net/wireless/ray_cs.c authenticate(local); local 2016 drivers/net/wireless/ray_cs.c local->card_status = CARD_DOING_ACQ; local 2030 drivers/net/wireless/ray_cs.c clear_interrupt(local); local 2035 drivers/net/wireless/ray_cs.c static void ray_rx(struct net_device *dev, ray_dev_t *local, local 2050 drivers/net/wireless/ray_cs.c local->last_rsl = readb(&prcs->var.rx_packet.rx_sig_lev); local 2051 drivers/net/wireless/ray_cs.c pmsg = local->rmem + pkt_addr; local 2062 drivers/net/wireless/ray_cs.c rx_authenticate(local, prcs, pkt_addr, rx_len); local 2069 drivers/net/wireless/ray_cs.c rx_deauthenticate(local, prcs, pkt_addr, rx_len); local 2079 drivers/net/wireless/ray_cs.c copy_from_rx_buff(local, (UCHAR *) &local->last_bcn, pkt_addr, local 2083 drivers/net/wireless/ray_cs.c local->beacon_rxed = 1; local 2101 drivers/net/wireless/ray_cs.c ray_dev_t *local = netdev_priv(dev); local 2106 drivers/net/wireless/ray_cs.c int siglev = local->last_rsl; local 2151 drivers/net/wireless/ray_cs.c prcslink = rcs_base(local) local 2158 drivers/net/wireless/ray_cs.c local->stats.rx_dropped++; local 2159 drivers/net/wireless/ray_cs.c release_frag_chain(local, prcs); local 2169 drivers/net/wireless/ray_cs.c local->stats.rx_dropped++; local 2171 drivers/net/wireless/ray_cs.c release_frag_chain(local, prcs); local 2184 drivers/net/wireless/ray_cs.c copy_from_rx_buff(local, rx_ptr, pkt_addr & RX_BUFF_END, rx_len); local 2199 drivers/net/wireless/ray_cs.c untranslate(local, skb, total_len); local 2211 drivers/net/wireless/ray_cs.c prcslink = rcs_base(local) local 2227 drivers/net/wireless/ray_cs.c copy_from_rx_buff(local, rx_ptr, pkt_addr, rx_len); local 2232 drivers/net/wireless/ray_cs.c release_frag_chain(local, prcs); local 2237 drivers/net/wireless/ray_cs.c local->stats.rx_packets++; local 2238 drivers/net/wireless/ray_cs.c local->stats.rx_bytes += total_len; local 2245 drivers/net/wireless/ray_cs.c if (!memcmp(linksrcaddr, local->bss_id, ETH_ALEN)) { local 2248 drivers/net/wireless/ray_cs.c local->wstats.qual.level = siglev; local 2250 drivers/net/wireless/ray_cs.c local->wstats.qual.updated = 0x2; local 2266 drivers/net/wireless/ray_cs.c static void untranslate(ray_dev_t *local, struct sk_buff *skb, int len) local 2358 drivers/net/wireless/ray_cs.c static int copy_from_rx_buff(ray_dev_t *local, UCHAR *dest, int pkt_addr, local 2363 drivers/net/wireless/ray_cs.c memcpy_fromio(dest, local->rmem + pkt_addr, length); local 2366 drivers/net/wireless/ray_cs.c memcpy_fromio(dest, local->rmem + pkt_addr, local 2368 drivers/net/wireless/ray_cs.c memcpy_fromio(dest + length - wrap_bytes, local->rmem, local 2375 drivers/net/wireless/ray_cs.c static void release_frag_chain(ray_dev_t *local, struct rcs __iomem *prcs) local 2388 drivers/net/wireless/ray_cs.c prcslink = rcs_base(local) + rcsindex; local 2395 drivers/net/wireless/ray_cs.c static void authenticate(ray_dev_t *local) local 2397 drivers/net/wireless/ray_cs.c struct pcmcia_device *link = local->finder; local 2404 drivers/net/wireless/ray_cs.c del_timer(&local->timer); local 2405 drivers/net/wireless/ray_cs.c if (build_auth_frame(local, local->bss_id, OPEN_AUTH_REQUEST)) { local 2406 drivers/net/wireless/ray_cs.c local->timer.function = join_net; local 2408 drivers/net/wireless/ray_cs.c local->timer.function = authenticate_timeout; local 2410 drivers/net/wireless/ray_cs.c local->timer.expires = jiffies + HZ * 2; local 2411 drivers/net/wireless/ray_cs.c add_timer(&local->timer); local 2412 drivers/net/wireless/ray_cs.c local->authentication_state = AWAITING_RESPONSE; local 2416 drivers/net/wireless/ray_cs.c static void rx_authenticate(ray_dev_t *local, struct rcs __iomem *prcs, local 2422 drivers/net/wireless/ray_cs.c del_timer(&local->timer); local 2424 drivers/net/wireless/ray_cs.c copy_from_rx_buff(local, buff, pkt_addr, rx_len & 0xff); local 2426 drivers/net/wireless/ray_cs.c if (local->sparm.b4.a_network_type == ADHOC) { local 2433 drivers/net/wireless/ray_cs.c (local, msg->mac.addr_2, OPEN_AUTH_RESPONSE)) { local 2434 drivers/net/wireless/ray_cs.c local->authentication_state = NEED_TO_AUTH; local 2435 drivers/net/wireless/ray_cs.c memcpy(local->auth_id, msg->mac.addr_2, local 2441 drivers/net/wireless/ray_cs.c if (local->authentication_state == AWAITING_RESPONSE) { local 2446 drivers/net/wireless/ray_cs.c local->card_status = CARD_AUTH_COMPLETE; local 2447 drivers/net/wireless/ray_cs.c associate(local); local 2448 drivers/net/wireless/ray_cs.c local->authentication_state = local 2452 drivers/net/wireless/ray_cs.c local->card_status = CARD_AUTH_REFUSED; local 2453 drivers/net/wireless/ray_cs.c join_net(&local->timer); local 2454 drivers/net/wireless/ray_cs.c local->authentication_state = local 2464 drivers/net/wireless/ray_cs.c static void associate(ray_dev_t *local) local 2467 drivers/net/wireless/ray_cs.c struct pcmcia_device *link = local->finder; local 2475 drivers/net/wireless/ray_cs.c if ((ccsindex = get_free_ccs(local)) < 0) { local 2481 drivers/net/wireless/ray_cs.c pccs = ccs_base(local) + ccsindex; local 2485 drivers/net/wireless/ray_cs.c if (interrupt_ecf(local, ccsindex)) { local 2489 drivers/net/wireless/ray_cs.c del_timer(&local->timer); local 2490 drivers/net/wireless/ray_cs.c local->timer.expires = jiffies + HZ * 2; local 2491 drivers/net/wireless/ray_cs.c local->timer.function = join_net; local 2492 drivers/net/wireless/ray_cs.c add_timer(&local->timer); local 2493 drivers/net/wireless/ray_cs.c local->card_status = CARD_ASSOC_FAILED; local 2502 drivers/net/wireless/ray_cs.c static void rx_deauthenticate(ray_dev_t *local, struct rcs __iomem *prcs, local 2509 drivers/net/wireless/ray_cs.c local->authentication_state = UNAUTHENTICATED; local 2516 drivers/net/wireless/ray_cs.c static void clear_interrupt(ray_dev_t *local) local 2518 drivers/net/wireless/ray_cs.c writeb(0, local->amem + CIS_OFFSET + HCS_INTR_OFFSET); local 2555 drivers/net/wireless/ray_cs.c ray_dev_t *local; local 2566 drivers/net/wireless/ray_cs.c local = netdev_priv(dev); local 2567 drivers/net/wireless/ray_cs.c if (!local) local 2574 drivers/net/wireless/ray_cs.c if (local->fw_ver == 0x55) local 2578 drivers/net/wireless/ray_cs.c local->fw_ver, local->fw_bld, local->fw_var); local 2581 drivers/net/wireless/ray_cs.c c[i] = local->sparm.b5.a_current_ess_id[i]; local 2584 drivers/net/wireless/ray_cs.c nettype[local->sparm.b5.a_network_type], c); local 2586 drivers/net/wireless/ray_cs.c p = local->bss_id; local 2590 drivers/net/wireless/ray_cs.c local->sparm.b5.a_curr_country_code); local 2592 drivers/net/wireless/ray_cs.c i = local->card_status; local 2601 drivers/net/wireless/ray_cs.c seq_printf(m, "Last pkt signal lvl = %d\n", local->last_rsl); local 2603 drivers/net/wireless/ray_cs.c if (local->beacon_rxed) { local 2606 drivers/net/wireless/ray_cs.c local->last_bcn.beacon_intvl[0] local 2607 drivers/net/wireless/ray_cs.c + 256 * local->last_bcn.beacon_intvl[1]); local 2609 drivers/net/wireless/ray_cs.c p = local->last_bcn.elements; local 2654 drivers/net/wireless/ray_cs.c static int build_auth_frame(ray_dev_t *local, UCHAR *dest, int auth_type) local 2662 drivers/net/wireless/ray_cs.c if ((ccsindex = get_free_tx_ccs(local)) < 0) { local 2667 drivers/net/wireless/ray_cs.c pccs = ccs_base(local) + ccsindex; local 2680 drivers/net/wireless/ray_cs.c ptx = local->sram + addr; local 2686 drivers/net/wireless/ray_cs.c memcpy_toio(ptx->mac.addr_2, local->sparm.b4.a_mac_addr, ADDRLEN); local 2687 drivers/net/wireless/ray_cs.c memcpy_toio(ptx->mac.addr_3, local->bss_id, ADDRLEN); local 2694 drivers/net/wireless/ray_cs.c if (interrupt_ecf(local, ccsindex)) { local 5115 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c struct list_head local; local 5121 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c INIT_LIST_HEAD(&local); local 5125 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c list_splice_init(&priv->rx_urb_pending_list, &local); local 5130 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c list_for_each_entry_safe(rx_urb, tmp, &local, list) { local 516 drivers/perf/xgene_pmu.c XGENE_PMU_EVENT_ATTR(csw-local-ack-intf-blocked, 0x19), local 259 drivers/rapidio/devices/rio_mport_cdev.c int local) local 283 drivers/rapidio/devices/rio_mport_cdev.c if (local) local 304 drivers/rapidio/devices/rio_mport_cdev.c int local) local 336 drivers/rapidio/devices/rio_mport_cdev.c if (local) local 689 drivers/rapidio/rio.c int rio_map_inb_region(struct rio_mport *mport, dma_addr_t local, local 698 drivers/rapidio/rio.c rc = mport->ops->map_inb(mport, local, rbase, size, rflags); local 734 drivers/rapidio/rio.c u32 size, u32 rflags, dma_addr_t *local) local 744 drivers/rapidio/rio.c rflags, local); local 780 drivers/rapidio/rio.c rio_mport_get_physefb(struct rio_mport *port, int local, local 786 drivers/rapidio/rio.c ext_ftr_ptr = rio_mport_get_efb(port, local, destid, hopcount, 0); local 789 drivers/rapidio/rio.c if (local) local 820 drivers/rapidio/rio.c ext_ftr_ptr = rio_mport_get_efb(port, local, destid, local 899 drivers/rapidio/rio.c int local, u16 destid, local 911 drivers/rapidio/rio.c "%d, port_num = %d)\n", local, destid, hopcount, port_num); local 913 drivers/rapidio/rio.c ext_ftr_ptr = rio_mport_get_physefb(port, local, destid, local 916 drivers/rapidio/rio.c if (local) { local 929 drivers/rapidio/rio.c if (local) { local 1345 drivers/rapidio/rio.c rio_mport_get_efb(struct rio_mport *port, int local, u16 destid, local 1351 drivers/rapidio/rio.c if (local) local 1359 drivers/rapidio/rio.c if (local) local 1383 drivers/rapidio/rio.c rio_mport_get_feature(struct rio_mport * port, int local, u16 destid, local 1388 drivers/rapidio/rio.c if (local) local 1397 drivers/rapidio/rio.c if (local) local 18 drivers/rapidio/rio.h extern u32 rio_mport_get_feature(struct rio_mport *mport, int local, u16 destid, local 20 drivers/rapidio/rio.h extern u32 rio_mport_get_physefb(struct rio_mport *port, int local, local 22 drivers/rapidio/rio.h extern u32 rio_mport_get_efb(struct rio_mport *port, int local, u16 destid, local 41 drivers/rapidio/rio.h extern int rio_enable_rx_tx_port(struct rio_mport *port, int local, u16 destid, local 1888 drivers/scsi/bnx2i/bnx2i_iscsi.c saddr.local.v4.sin_family = desti->sin_family; local 1892 drivers/scsi/bnx2i/bnx2i_iscsi.c saddr.local.v6.sin6_family = desti6->sin6_family; local 136 drivers/scsi/isci/port.c sci_port_get_sas_address(iport, &prop->local.sas_address); local 137 drivers/scsi/isci/port.c sci_port_get_protocols(iport, &prop->local.protocols); local 141 drivers/scsi/isci/port.h struct sci_port_end_point_properties local; local 2393 drivers/scsi/qla2xxx/qla_def.h unsigned int local:1; local 5118 drivers/scsi/qla2xxx/qla_os.c fcport->local = 0; local 129 drivers/scsi/qla2xxx/qla_target.c fc_port_t *fcport, bool local); local 756 drivers/scsi/qla2xxx/qla_target.c sess->local ? "local " : "", sess->port_name, sess->loop_id); local 766 drivers/scsi/qla2xxx/qla_target.c if (sess && sess->local) { local 771 drivers/scsi/qla2xxx/qla_target.c sess->local = 0; local 1339 drivers/scsi/qla2xxx/qla_target.c bool local) local 1358 drivers/scsi/qla2xxx/qla_target.c sess->local = local; local 1405 drivers/scsi/qla2xxx/qla_target.c vha->vp_idx, local ? "local " : "", fcport->port_name, local 1451 drivers/scsi/qla2xxx/qla_target.c sess->local = 1; local 4783 drivers/scsi/qla2xxx/qla_target.c sess->local = 0; local 5002 drivers/scsi/qla2xxx/qla_target.c sess->local = 0; local 210 drivers/staging/media/imx/imx-ic-prp.c const struct media_pad *local, local 220 drivers/staging/media/imx/imx-ic-prp.c ic_priv->sd.name, remote->entity->name, local->entity->name); local 226 drivers/staging/media/imx/imx-ic-prp.c if (local->flags & MEDIA_PAD_FL_SINK) { local 247 drivers/staging/media/imx/imx-ic-prp.c switch (local->index) { local 271 drivers/staging/media/imx/imx-ic-prp.c switch (local->index) { local 1012 drivers/staging/media/imx/imx-ic-prpencvf.c const struct media_pad *local, local 1022 drivers/staging/media/imx/imx-ic-prpencvf.c ic_priv->sd.name, remote->entity->name, local->entity->name); local 1026 drivers/staging/media/imx/imx-ic-prpencvf.c if (local->flags & MEDIA_PAD_FL_SINK) { local 1007 drivers/staging/media/imx/imx-media-csi.c const struct media_pad *local, local 1016 drivers/staging/media/imx/imx-media-csi.c local->entity->name); local 1020 drivers/staging/media/imx/imx-media-csi.c if (local->flags & MEDIA_PAD_FL_SINK) { local 1058 drivers/staging/media/imx/imx-media-csi.c priv->active_output_pad = local->index; local 1061 drivers/staging/media/imx/imx-media-csi.c if (local->index == CSI_SRC_PAD_IDMAC) { local 671 drivers/staging/media/imx/imx-media-vdic.c const struct media_pad *local, local 680 drivers/staging/media/imx/imx-media-vdic.c sd->name, remote->entity->name, local->entity->name); local 684 drivers/staging/media/imx/imx-media-vdic.c if (local->flags & MEDIA_PAD_FL_SOURCE) { local 717 drivers/staging/media/imx/imx-media-vdic.c if (local->index == VDIC_SINK_PAD_IDMAC) { local 750 drivers/staging/media/imx/imx-media-vdic.c priv->active_input_pad = local->index; local 400 drivers/staging/media/imx/imx6-mipi-csi2.c const struct media_pad *local, local 409 drivers/staging/media/imx/imx6-mipi-csi2.c local->entity->name); local 415 drivers/staging/media/imx/imx6-mipi-csi2.c if (local->flags & MEDIA_PAD_FL_SOURCE) { local 417 drivers/staging/media/imx/imx6-mipi-csi2.c if (csi2->sink_linked[local->index - 1]) { local 421 drivers/staging/media/imx/imx6-mipi-csi2.c csi2->sink_linked[local->index - 1] = true; local 423 drivers/staging/media/imx/imx6-mipi-csi2.c csi2->sink_linked[local->index - 1] = false; local 487 drivers/staging/media/imx/imx7-media-csi.c const struct media_pad *local, local 496 drivers/staging/media/imx/imx7-media-csi.c local->entity->name); local 500 drivers/staging/media/imx/imx7-media-csi.c if (local->flags & MEDIA_PAD_FL_SINK) { local 267 drivers/staging/media/ipu3/ipu3-v4l2.c const struct media_pad *local, local 278 drivers/staging/media/ipu3/ipu3-v4l2.c u32 pad = local->index; local 1163 drivers/staging/media/omap4iss/iss_csi2.c const struct media_pad *local, local 1169 drivers/staging/media/omap4iss/iss_csi2.c unsigned int index = local->index; local 439 drivers/staging/media/omap4iss/iss_ipipe.c const struct media_pad *local, local 449 drivers/staging/media/omap4iss/iss_ipipe.c switch (local->index) { local 655 drivers/staging/media/omap4iss/iss_ipipeif.c const struct media_pad *local, local 661 drivers/staging/media/omap4iss/iss_ipipeif.c unsigned int index = local->index; local 709 drivers/staging/media/omap4iss/iss_resizer.c const struct media_pad *local, local 715 drivers/staging/media/omap4iss/iss_resizer.c unsigned int index = local->index; local 942 drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c hostap_update_rx_stats(local->ap, hdr, rx_stats); local 967 drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c if (!(hdr->addr1[0] & 0x01) || local->bcrx_sta_key) local 968 drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c (void)hostap_handle_sta_crypto(local, hdr, &crypt, local 40 drivers/staging/uwb/drp-avail.c bitmap_fill(rc->drp_avail.local, UWB_NUM_MAS); local 51 drivers/staging/uwb/drp-avail.c bitmap_and(avail->bm, rc->drp_avail.global, rc->drp_avail.local, UWB_NUM_MAS); local 82 drivers/staging/uwb/drp-avail.c bitmap_andnot(rc->drp_avail.local, rc->drp_avail.local, mas->bm, UWB_NUM_MAS); local 93 drivers/staging/uwb/drp-avail.c bitmap_or(rc->drp_avail.local, rc->drp_avail.local, mas->bm, UWB_NUM_MAS); local 109 drivers/staging/uwb/drp-avail.c bitmap_and(avail.bm, rc->drp_avail.global, rc->drp_avail.local, UWB_NUM_MAS); local 235 drivers/staging/uwb/uwb-debug.c seq_printf(s, "local: %*pb\n", UWB_NUM_MAS, rc->drp_avail.local); local 287 drivers/staging/uwb/uwb.h DECLARE_BITMAP(local, UWB_NUM_MAS); local 526 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c DEBUG_INITIALISE(g_state.local) local 599 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c DEBUG_INITIALISE(g_state.local) local 813 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c DEBUG_INITIALISE(g_state.local) local 442 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c remote_event_poll(&state->sync_trigger_event, &state->local->sync_trigger); local 443 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c remote_event_poll(&state->sync_release_event, &state->local->sync_release); local 444 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c remote_event_poll(&state->trigger_event, &state->local->trigger); local 445 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c remote_event_poll(&state->recycle_event, &state->local->recycle); local 530 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c remote_event_signal_local(&state->trigger_event, &state->local->trigger); local 538 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c struct vchiq_shared_state *local = state->local; local 567 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c local->tx_pos = tx_pos; local 582 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c slot_index = local->slot_queue[ local 600 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c struct vchiq_shared_state *local = state->local; local 614 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c while (slot_queue_available != local->slot_queue_recycle) { local 616 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c int slot_index = local->slot_queue[slot_queue_available++ & local 629 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c local->slot_queue_recycle, slot_queue_available); local 789 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c struct vchiq_shared_state *local; local 796 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c local = state->local; local 1015 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c local->tx_pos = state->local_tx_pos; local 1037 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c struct vchiq_shared_state *local; local 1041 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c local = state->local; local 1047 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c remote_event_wait(&state->sync_release_event, &local->sync_release); local 1052 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c local->slot_sync); local 1512 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c DEBUG_INITIALISE(state->local) local 1859 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c struct vchiq_shared_state *local = state->local; local 1861 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c DEBUG_INITIALISE(local) local 1866 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c remote_event_wait(&state->trigger_event, &local->trigger); local 1943 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c struct vchiq_shared_state *local = state->local; local 1955 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c remote_event_wait(&state->recycle_event, &local->recycle); local 1967 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c struct vchiq_shared_state *local = state->local; local 1978 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c remote_event_wait(&state->sync_trigger_event, &local->sync_trigger); local 2129 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c struct vchiq_shared_state *local; local 2143 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c local = &slot_zero->slave; local 2146 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c if (local->initialised) { local 2163 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c state->local = local; local 2190 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c for (i = local->slot_first; i <= local->slot_last; i++) { local 2191 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c local->slot_queue[state->slot_queue_available++] = i; local 2204 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c remote_event_create(&state->trigger_event, &local->trigger); local 2205 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c local->tx_pos = 0; local 2206 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c remote_event_create(&state->recycle_event, &local->recycle); local 2207 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c local->slot_queue_recycle = state->slot_queue_available; local 2208 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c remote_event_create(&state->sync_trigger_event, &local->sync_trigger); local 2209 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c remote_event_create(&state->sync_release_event, &local->sync_release); local 2213 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c SLOT_DATA_FROM_INDEX(state, local->slot_sync))->msgid = local 2215 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c remote_event_signal_local(&state->sync_release_event, &local->sync_release); local 2217 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c local->debug[DEBUG_ENTRIES] = DEBUG_MAX; local 2270 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c local->initialised = 1; local 3366 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c state->local->tx_pos, local 3392 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c state->local->slot_queue_recycle - state->slot_queue_available, local 3398 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c vchiq_dump_shared_state(dump_context, state, state->local, "Local"); local 155 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h #define DEBUG_INITIALISE(local) int *debug_ptr = (local)->debug; local 165 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h #define DEBUG_INITIALISE(local) local 373 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h struct vchiq_shared_state *local; local 179 drivers/usb/host/sl811_cs.c local_info_t *local; local 181 drivers/usb/host/sl811_cs.c local = kzalloc(sizeof(local_info_t), GFP_KERNEL); local 182 drivers/usb/host/sl811_cs.c if (!local) local 184 drivers/usb/host/sl811_cs.c local->p_dev = link; local 185 drivers/usb/host/sl811_cs.c link->priv = local; local 73 drivers/vlynq/vlynq.c dev->local, dev->remote); local 76 drivers/vlynq/vlynq.c i + 1, ((u32 *)dev->local)[i]); local 101 drivers/vlynq/vlynq.c if (readl(&dev->local->status) & VLYNQ_STATUS_LINK) local 111 drivers/vlynq/vlynq.c writel(readl(&dev->local->control) | VLYNQ_CTRL_RESET, local 112 drivers/vlynq/vlynq.c &dev->local->control); local 118 drivers/vlynq/vlynq.c writel(readl(&dev->local->control) & ~VLYNQ_CTRL_RESET, local 119 drivers/vlynq/vlynq.c &dev->local->control); local 185 drivers/vlynq/vlynq.c u32 status = readl(&dev->local->status); local 189 drivers/vlynq/vlynq.c writel(status, &dev->local->status); local 208 drivers/vlynq/vlynq.c status = readl(&dev->local->int_status); local 209 drivers/vlynq/vlynq.c writel(status, &dev->local->int_status); local 258 drivers/vlynq/vlynq.c writel(readl(&dev->local->status), &dev->local->status); local 265 drivers/vlynq/vlynq.c val |= readl(&dev->local->control); local 266 drivers/vlynq/vlynq.c writel(VLYNQ_INT_OFFSET, &dev->local->int_ptr); local 267 drivers/vlynq/vlynq.c writel(val, &dev->local->control); local 394 drivers/vlynq/vlynq.c writel((readl(&dev->local->control) local 398 drivers/vlynq/vlynq.c &dev->local->control); local 431 drivers/vlynq/vlynq.c writel((readl(&dev->local->control) & local 435 drivers/vlynq/vlynq.c &dev->local->control); local 467 drivers/vlynq/vlynq.c writel((readl(&dev->local->control) & local 469 drivers/vlynq/vlynq.c &dev->local->control); local 520 drivers/vlynq/vlynq.c vlynq_ldiv1), &dev->local->control); local 538 drivers/vlynq/vlynq.c writel(0, &dev->local->control); local 593 drivers/vlynq/vlynq.c writel(tx_offset, &dev->local->tx_offset); local 595 drivers/vlynq/vlynq.c writel(mapping[i].offset, &dev->local->rx_mapping[i].offset); local 596 drivers/vlynq/vlynq.c writel(mapping[i].size, &dev->local->rx_mapping[i].size); local 700 drivers/vlynq/vlynq.c dev->local = ioremap(regs_res->start, len); local 701 drivers/vlynq/vlynq.c if (!dev->local) { local 708 drivers/vlynq/vlynq.c dev->remote = (struct vlynq_regs *)((void *)dev->local + local 738 drivers/vlynq/vlynq.c iounmap(dev->local); local 751 drivers/vlynq/vlynq.c iounmap(dev->local); local 229 fs/dlm/config.c int local; local 466 fs/dlm/config.c cm->local = 0; local 573 fs/dlm/config.c return sprintf(buf, "%d\n", config_item_to_comm(item)->local); local 580 fs/dlm/config.c int rc = kstrtoint(buf, 0, &cm->local); local 584 fs/dlm/config.c if (cm->local && !local_comm) local 664 fs/dlm/config.c CONFIGFS_ATTR(comm_, local); local 69 fs/nfs/pnfs.c struct pnfs_layoutdriver_type *local; local 71 fs/nfs/pnfs.c list_for_each_entry(local, &pnfs_modules_tbl, pnfs_tblid) local 72 fs/nfs/pnfs.c if (local->id == id) local 74 fs/nfs/pnfs.c local = NULL; local 76 fs/nfs/pnfs.c dprintk("%s: Searching for id %u, found %p\n", __func__, id, local); local 77 fs/nfs/pnfs.c return local; local 83 fs/nfs/pnfs.c struct pnfs_layoutdriver_type *local; local 86 fs/nfs/pnfs.c local = find_pnfs_driver_locked(id); local 87 fs/nfs/pnfs.c if (local != NULL && !try_module_get(local->owner)) { local 89 fs/nfs/pnfs.c local = NULL; local 92 fs/nfs/pnfs.c return local; local 4104 fs/nfsd/nfs4state.c struct nfs4_ol_stateid *local, *ret = NULL; local 4109 fs/nfsd/nfs4state.c list_for_each_entry(local, &fp->fi_stateids, st_perfile) { local 4111 fs/nfsd/nfs4state.c if (local->st_stateowner->so_is_open_owner == 0) local 4113 fs/nfsd/nfs4state.c if (local->st_stateowner != &oo->oo_owner) local 4115 fs/nfsd/nfs4state.c if (local->st_stid.sc_type == NFS4_OPEN_STID) { local 4116 fs/nfsd/nfs4state.c ret = local; local 390 fs/ocfs2/cluster/nodemanager.c CONFIGFS_ATTR(o2nm_node_, local); local 960 fs/ocfs2/dlm/dlmdomain.c char *local, int locallen) local 992 fs/ocfs2/dlm/dlmdomain.c localnr = o2hb_get_all_regions(local, (u8)localnr); local 995 fs/ocfs2/dlm/dlmdomain.c l = local; local 1021 fs/ocfs2/dlm/dlmdomain.c l = local; local 1102 fs/ocfs2/dlm/dlmdomain.c char *local = NULL; local 1111 fs/ocfs2/dlm/dlmdomain.c local = kmalloc(sizeof(qr->qr_regions), GFP_KERNEL); local 1112 fs/ocfs2/dlm/dlmdomain.c if (!local) local 1143 fs/ocfs2/dlm/dlmdomain.c status = dlm_match_regions(dlm, qr, local, sizeof(qr->qr_regions)); local 1151 fs/ocfs2/dlm/dlmdomain.c kfree(local); local 1158 fs/ocfs2/dlm/dlmdomain.c struct o2nm_node *local; local 1169 fs/ocfs2/dlm/dlmdomain.c local = o2nm_get_node_by_num(i); local 1178 fs/ocfs2/dlm/dlmdomain.c if (!local && !remote) local 1181 fs/ocfs2/dlm/dlmdomain.c if ((local && !remote) || (!local && remote)) local 1185 fs/ocfs2/dlm/dlmdomain.c ((remote->ni_nodenum != local->nd_num) || local 1186 fs/ocfs2/dlm/dlmdomain.c (remote->ni_ipv4_port != local->nd_ipv4_port) || local 1187 fs/ocfs2/dlm/dlmdomain.c (remote->ni_ipv4_address != local->nd_ipv4_address))) local 1191 fs/ocfs2/dlm/dlmdomain.c if (remote && !local) local 1199 fs/ocfs2/dlm/dlmdomain.c if (local && !remote) local 1203 fs/ocfs2/dlm/dlmdomain.c local->nd_num, &(local->nd_ipv4_address), local 1204 fs/ocfs2/dlm/dlmdomain.c ntohs(local->nd_ipv4_port), local 1206 fs/ocfs2/dlm/dlmdomain.c BUG_ON((!local && !remote)); local 1209 fs/ocfs2/dlm/dlmdomain.c if (local) local 1210 fs/ocfs2/dlm/dlmdomain.c o2nm_node_put(local); local 2207 fs/ocfs2/dlm/dlmrecovery.c static inline int dlm_lvb_needs_invalidation(struct dlm_lock *lock, int local) local 2209 fs/ocfs2/dlm/dlmrecovery.c if (local) { local 2223 fs/ocfs2/dlm/dlmrecovery.c int blank_lvb = 0, local = 0; local 2238 fs/ocfs2/dlm/dlmrecovery.c local = 1; /* check local state for valid lvb */ local 2245 fs/ocfs2/dlm/dlmrecovery.c if (dlm_lvb_needs_invalidation(lock, local)) { local 1697 fs/ocfs2/dlmglue.c int local) local 1701 fs/ocfs2/dlmglue.c u32 lkm_flags = local ? DLM_LKF_LOCAL : 0; local 3303 fs/ocfs2/dlmglue.c goto local; local 3340 fs/ocfs2/dlmglue.c local: local 1052 fs/ocfs2/journal.c int ocfs2_journal_load(struct ocfs2_journal *journal, int local, int replayed) local 1084 fs/ocfs2/journal.c if (!local) { local 177 fs/ocfs2/journal.h int ocfs2_journal_load(struct ocfs2_journal *journal, int local, local 1095 fs/ocfs2/ocfs2_fs.h int local) local 1097 fs/ocfs2/ocfs2_fs.h if (local) local 2377 fs/ocfs2/super.c int local; local 2409 fs/ocfs2/super.c local = ocfs2_mount_local(osb); local 2412 fs/ocfs2/super.c status = ocfs2_journal_load(osb->journal, local, dirty); local 192 fs/xfs/libxfs/xfs_attr.c int *local) local 202 fs/xfs/libxfs/xfs_attr.c size = xfs_attr_leaf_newentsize(args, local); local 204 fs/xfs/libxfs/xfs_attr.c if (*local) { local 349 fs/xfs/libxfs/xfs_attr.c int error, local; local 363 fs/xfs/libxfs/xfs_attr.c args.total = xfs_attr_calc_size(&args, &local); local 2621 fs/xfs/libxfs/xfs_attr_leaf.c int *local) local 2627 fs/xfs/libxfs/xfs_attr_leaf.c if (local) local 2628 fs/xfs/libxfs/xfs_attr_leaf.c *local = 1; local 2631 fs/xfs/libxfs/xfs_attr_leaf.c if (local) local 2632 fs/xfs/libxfs/xfs_attr_leaf.c *local = 0; local 86 fs/xfs/libxfs/xfs_attr_leaf.h int xfs_attr_leaf_newentsize(struct xfs_da_args *args, int *local); local 279 include/asm-generic/tlb.h struct mmu_gather_batch local; local 115 include/linux/atmdev.h struct sockaddr_atmsvc local; local 156 include/linux/atmdev.h struct list_head local; /* local ATM addresses */ local 263 include/linux/dmaengine.h struct dma_chan_percpu __percpu *local; local 93 include/linux/greybus/svc.h struct gb_svc_l2_timer_cfg *local, local 647 include/linux/hid.h struct hid_local local; local 127 include/linux/igmp.h extern int ip_mc_sf_allow(struct sock *sk, __be32 local, __be32 rmt, local 185 include/linux/inetdevice.h __be32 local, int scope); local 38 include/linux/mroute_base.h __be32 local, remote; local 147 include/linux/qed/qed_if.h bool local; local 156 include/linux/qed/qed_if.h struct qed_dcbx_admin_params local; local 365 include/linux/rio_drv.h extern int rio_map_inb_region(struct rio_mport *mport, dma_addr_t local, local 369 include/linux/rio_drv.h u32 size, u32 rflags, dma_addr_t *local); local 59 include/linux/vlynq.h struct vlynq_regs *local; local 217 include/media/media-entity.h const struct media_pad *local, local 125 include/media/v4l2-dev.h int v4l2_prio_change(struct v4l2_prio_state *global, enum v4l2_priority *local, local 137 include/media/v4l2-dev.h void v4l2_prio_open(struct v4l2_prio_state *global, enum v4l2_priority *local); local 148 include/media/v4l2-dev.h void v4l2_prio_close(struct v4l2_prio_state *global, enum v4l2_priority local); local 169 include/media/v4l2-dev.h int v4l2_prio_check(struct v4l2_prio_state *global, enum v4l2_priority local); local 588 include/net/bonding.h static inline __be32 bond_confirm_addr(struct net_device *dev, __be32 dst, __be32 local) local 597 include/net/bonding.h addr = inet_confirm_addr(dev_net(dev), in_dev, dst, local, local 87 include/net/cipso_ipv4.h u32 *local; local 93 include/net/cipso_ipv4.h u32 *local; local 438 include/net/ip_fib.h int fib_sync_down_addr(struct net_device *dev, __be32 local); local 280 include/net/ip_tunnels.h __be32 remote, __be32 local, local 538 include/net/xfrm.h xfrm_address_t local; local 501 include/trace/events/rxrpc.h __field(unsigned int, local ) local 508 include/trace/events/rxrpc.h __entry->local = local_debug_id; local 515 include/trace/events/rxrpc.h __entry->local, local 34 include/uapi/linux/atmsvc.h struct sockaddr_atmsvc local; /* local SVC address */ local 57 include/uapi/linux/pkt_cls.h #define __TC_ACT_EXT(local) ((local) << __TC_ACT_EXT_SHIFT) local 467 include/uapi/linux/xfrm.h xfrm_address_t local; local 1940 kernel/sched/fair.c unsigned long local = p->numa_faults_locality[1]; local 1949 kernel/sched/fair.c if (local + shared == 0 || p->numa_faults_locality[2]) { local 1966 kernel/sched/fair.c lr_ratio = (local * NUMA_PERIOD_SLOTS) / (local + remote); local 2399 kernel/sched/fair.c int local = !!(flags & TNF_FAULT_LOCAL); local 2442 kernel/sched/fair.c if (!priv && !local && ng && ng->active_nodes > 1 && local 2445 kernel/sched/fair.c local = 1; local 2463 kernel/sched/fair.c p->numa_faults_locality[local] += pages; local 7739 kernel/sched/fair.c struct sched_group *local; /* Local group in this sd */ local 7759 kernel/sched/fair.c .local = NULL, local 8135 kernel/sched/fair.c (!group_smaller_max_cpu_capacity(sg, sds->local) || local 8158 kernel/sched/fair.c group_smaller_min_cpu_capacity(sds->local, sg)) local 8234 kernel/sched/fair.c struct sg_lb_stats *local = &sds->local_stat; local 8250 kernel/sched/fair.c sds->local = sg; local 8251 kernel/sched/fair.c sgs = local; local 8273 kernel/sched/fair.c if (prefer_sibling && sds->local && local 8274 kernel/sched/fair.c group_has_capacity(env, local) && local 8275 kernel/sched/fair.c (sgs->sum_nr_running > local->sum_nr_running + 1)) { local 8381 kernel/sched/fair.c struct sg_lb_stats *local, *busiest; local 8383 kernel/sched/fair.c local = &sds->local_stat; local 8386 kernel/sched/fair.c if (!local->sum_nr_running) local 8387 kernel/sched/fair.c local->load_per_task = cpu_avg_load_per_task(env->dst_cpu); local 8388 kernel/sched/fair.c else if (busiest->load_per_task > local->load_per_task) local 8396 kernel/sched/fair.c local->avg_load + (scaled_busy_load_per_task * imbn)) { local 8409 kernel/sched/fair.c capa_now += local->group_capacity * local 8410 kernel/sched/fair.c min(local->load_per_task, local->avg_load); local 8424 kernel/sched/fair.c local->group_capacity; local 8427 kernel/sched/fair.c local->group_capacity; local 8429 kernel/sched/fair.c capa_move += local->group_capacity * local 8430 kernel/sched/fair.c min(local->load_per_task, local->avg_load + tmp); local 8447 kernel/sched/fair.c struct sg_lb_stats *local, *busiest; local 8449 kernel/sched/fair.c local = &sds->local_stat; local 8469 kernel/sched/fair.c local->avg_load >= sds->avg_load)) { local 8478 kernel/sched/fair.c local->group_type == group_overloaded) { local 8500 kernel/sched/fair.c (sds->avg_load - local->avg_load) * local->group_capacity local 8534 kernel/sched/fair.c struct sg_lb_stats *local, *busiest; local 8552 kernel/sched/fair.c local = &sds.local_stat; local 8579 kernel/sched/fair.c if (env->idle != CPU_NOT_IDLE && group_has_capacity(env, local) && local 8591 kernel/sched/fair.c if (local->avg_load >= busiest->avg_load) local 8598 kernel/sched/fair.c if (local->avg_load >= sds.avg_load) local 8610 kernel/sched/fair.c (local->idle_cpus <= (busiest->idle_cpus + 1))) local 8618 kernel/sched/fair.c env->sd->imbalance_pct * local->avg_load) local 268 kernel/time/tick-broadcast.c bool local = false; local 289 kernel/time/tick-broadcast.c local = !(bc->features & CLOCK_EVT_FEAT_HRTIMER); local 302 kernel/time/tick-broadcast.c return local; local 48 mm/mmu_gather.c for (batch = &tlb->local; batch && batch->nr; batch = batch->next) { local 52 mm/mmu_gather.c tlb->active = &tlb->local; local 59 mm/mmu_gather.c for (batch = tlb->local.next; batch; batch = next) { local 63 mm/mmu_gather.c tlb->local.next = NULL; local 216 mm/mmu_gather.c tlb->local.next = NULL; local 217 mm/mmu_gather.c tlb->local.nr = 0; local 218 mm/mmu_gather.c tlb->local.max = ARRAY_SIZE(tlb->__pages); local 219 mm/mmu_gather.c tlb->active = &tlb->local; local 58 net/atm/addr.c head = &dev->local; local 64 net/atm/addr.c if (head == &dev->local) local 83 net/atm/addr.c head = &dev->local; local 98 net/atm/addr.c if (head == &dev->local) local 118 net/atm/addr.c head = &dev->local; local 124 net/atm/addr.c if (head == &dev->local) local 146 net/atm/addr.c head = &dev->local; local 40 net/atm/atm_sysfs.c list_for_each_entry(aaddr, &adev->local, entry) { local 157 net/atm/common.c memset(&vcc->local, 0, sizeof(struct sockaddr_atmsvc)); local 46 net/atm/resources.c INIT_LIST_HEAD(&dev->local); local 80 net/atm/signaling.c if (!*vcc->local.sas_addr.prv && !*vcc->local.sas_addr.pub) { local 81 net/atm/signaling.c vcc->local.sas_family = AF_ATMSVC; local 82 net/atm/signaling.c memcpy(vcc->local.sas_addr.prv, local 83 net/atm/signaling.c msg->local.sas_addr.prv, ATM_ESA_LEN); local 84 net/atm/signaling.c memcpy(vcc->local.sas_addr.pub, local 85 net/atm/signaling.c msg->local.sas_addr.pub, ATM_E164_LEN + 1); local 166 net/atm/signaling.c msg->local = vcc->local; local 128 net/atm/svc.c vcc->local = *addr; local 130 net/atm/svc.c sigd_enq(vcc, as_bind, NULL, NULL, &vcc->local); local 301 net/atm/svc.c sigd_enq(vcc, as_listen, NULL, NULL, &vcc->local); local 378 net/atm/svc.c new_vcc->local = msg->local; local 427 net/atm/svc.c memcpy(addr, peer ? &ATM_SD(sock)->remote : &ATM_SD(sock)->local, local 438 net/atm/svc.c sigd_enq2(vcc, as_modify, NULL, NULL, &vcc->local, qos, 0); local 668 net/atm/svc.c ATM_SD(sock)->local.sas_family = AF_ATMSVC; local 1161 net/batman-adv/translation-table.c struct batadv_tt_local_entry *local; local 1165 net/batman-adv/translation-table.c local = container_of(common, struct batadv_tt_local_entry, common); local 1166 net/batman-adv/translation-table.c last_seen_msecs = jiffies_to_msecs(jiffies - local->last_seen); local 2631 net/bluetooth/smp.c struct smp_cmd_pairing *local, *remote; local 2644 net/bluetooth/smp.c local = (void *) &smp->preq[1]; local 2647 net/bluetooth/smp.c local = (void *) &smp->prsp[1]; local 2651 net/bluetooth/smp.c local_io = local->io_capability; local 2654 net/bluetooth/smp.c local_mitm = (local->auth_req & SMP_AUTH_MITM); local 351 net/dccp/feat.c static int dccp_feat_activate(struct sock *sk, u8 feat_num, bool local, local 354 net/dccp/feat.c return __dccp_feat_activate(sk, dccp_feat_index(feat_num), local, fval); local 449 net/dccp/feat.c dccp_feat_entry_new(struct list_head *head, u8 feat, bool local) local 454 net/dccp/feat.c if (entry->feat_num == feat && entry->is_local == local) { local 465 net/dccp/feat.c entry->is_local = local; local 479 net/dccp/feat.c static int dccp_feat_push_change(struct list_head *fn_list, u8 feat, u8 local, local 482 net/dccp/feat.c struct dccp_feat_entry *new = dccp_feat_entry_new(fn_list, feat, local); local 488 net/dccp/feat.c new->is_local = local; local 507 net/dccp/feat.c static int dccp_feat_push_confirm(struct list_head *fn_list, u8 feat, u8 local, local 510 net/dccp/feat.c struct dccp_feat_entry *new = dccp_feat_entry_new(fn_list, feat, local); local 516 net/dccp/feat.c new->is_local = local; local 528 net/dccp/feat.c static int dccp_push_empty_confirm(struct list_head *fn_list, u8 feat, u8 local) local 530 net/dccp/feat.c return dccp_feat_push_confirm(fn_list, feat, local, NULL); local 1101 net/dccp/feat.c const bool local = (opt == DCCPO_CHANGE_R); local 1115 net/dccp/feat.c if (local || len > sizeof(fval.nn)) local 1123 net/dccp/feat.c return dccp_feat_push_confirm(fn, feat, local, &fval); local 1129 net/dccp/feat.c entry = dccp_feat_list_lookup(fn, feat, local); local 1159 net/dccp/feat.c return dccp_feat_push_confirm(fn, feat, local, &fval); local 1191 net/dccp/feat.c return dccp_push_empty_confirm(fn, feat, local); local 1212 net/dccp/feat.c const bool local = (opt == DCCPO_CONFIRM_R); local 1213 net/dccp/feat.c struct dccp_feat_entry *entry = dccp_feat_list_lookup(fn, feat, local); local 1221 net/dccp/feat.c if (!local && type == FEAT_NN) /* 6.3.2 */ local 1309 net/dccp/feat.c const bool local = (opt == DCCPO_CONFIRM_R); local 1318 net/dccp/feat.c if (local && !mandatory) local 1339 net/dccp/feat.c if (dccp_feat_push_confirm(fn, feat, local, &fval) || local 1340 net/dccp/feat.c dccp_feat_activate(sk, feat, local, &fval)) local 1347 net/dccp/feat.c entry = dccp_feat_list_lookup(fn, feat, local); local 1362 net/dccp/feat.c dccp_feat_activate(sk, feat, local, &fval); local 1375 net/dccp/feat.c return dccp_push_empty_confirm(fn, feat, local); local 84 net/decnet/dn_fib.c static int dn_fib_sync_down(__le16 local, struct net_device *dev, int force); local 697 net/decnet/dn_fib.c static int dn_fib_sync_down(__le16 local, struct net_device *dev, int force) local 712 net/decnet/dn_fib.c if (local && fi->fib_prefsrc == local) { local 472 net/ipv4/cipso_ipv4.c kfree(doi_def->map.std->lvl.local); local 474 net/ipv4/cipso_ipv4.c kfree(doi_def->map.std->cat.local); local 687 net/ipv4/cipso_ipv4.c doi_def->map.std->lvl.local[host_lvl] < CIPSO_V4_INV_LVL) { local 688 net/ipv4/cipso_ipv4.c *net_lvl = doi_def->map.std->lvl.local[host_lvl]; local 806 net/ipv4/cipso_ipv4.c host_cat_array = doi_def->map.std->cat.local; local 160 net/ipv4/devinet.c struct fib_table *local; local 165 net/ipv4/devinet.c local = fib_get_table(net, RT_TABLE_LOCAL); local 166 net/ipv4/devinet.c if (local && local 167 net/ipv4/devinet.c !fib_table_lookup(local, &fl4, &res, FIB_LOOKUP_NOREF) && local 1372 net/ipv4/devinet.c __be32 local, int scope) local 1386 net/ipv4/devinet.c (local == ifa->ifa_local || !local) && local 1393 net/ipv4/devinet.c same = (!local || inet_ifa_match(local, ifa)) && local 1396 net/ipv4/devinet.c if (local || !dst) local 1424 net/ipv4/devinet.c __be32 dst, __be32 local, int scope) local 1430 net/ipv4/devinet.c return confirm_addr_indev(in_dev, dst, local, scope); local 1436 net/ipv4/devinet.c addr = confirm_addr_indev(in_dev, dst, local, scope); local 1812 net/ipv4/fib_semantics.c int fib_sync_down_addr(struct net_device *dev, __be32 local) local 1815 net/ipv4/fib_semantics.c unsigned int hash = fib_laddr_hashfn(local); local 1821 net/ipv4/fib_semantics.c if (!fib_info_laddrhash || local == 0) local 1828 net/ipv4/fib_semantics.c if (fi->fib_prefsrc == local) { local 85 net/ipv4/ip_tunnel.c __be32 remote, __be32 local, local 96 net/ipv4/ip_tunnel.c if (local != t->parms.iph.saddr || local 129 net/ipv4/ip_tunnel.c if ((local != t->parms.iph.saddr || t->parms.iph.daddr != 0) && local 130 net/ipv4/ip_tunnel.c (local != t->parms.iph.daddr || !ipv4_is_multicast(local))) local 212 net/ipv4/ip_tunnel.c __be32 local = parms->iph.saddr; local 220 net/ipv4/ip_tunnel.c if (local == t->parms.iph.saddr && local 102 net/ipv4/ipmr.c struct mfc_cache *cache, int local); local 922 net/ipv4/ipmr.c v->local = vifc->vifc_lcl_addr.s_addr; local 1865 net/ipv4/ipmr.c vif->remote, vif->local, local 1911 net/ipv4/ipmr.c ip_encap(net, skb, vif->local, vif->remote); local 1952 net/ipv4/ipmr.c struct mfc_cache *c, int local) local 2052 net/ipv4/ipmr.c if (local) { local 2065 net/ipv4/ipmr.c if (!local) local 2100 net/ipv4/ipmr.c int local = skb_rtable(skb)->rt_flags & RTCF_LOCAL; local 2128 net/ipv4/ipmr.c if (!local) { local 2164 net/ipv4/ipmr.c if (local) { local 2186 net/ipv4/ipmr.c ip_mr_forward(net, mrt, dev, skb, cache, local); local 2189 net/ipv4/ipmr.c if (local) local 2195 net/ipv4/ipmr.c if (local) local 2796 net/ipv4/ipmr.c nla_put_be32(skb, IPMRA_VIFA_LOCAL_ADDR, vif->local) || local 2957 net/ipv4/ipmr.c vif->flags, vif->local, vif->remote); local 4540 net/ipv6/addrconf.c static struct in6_addr *extract_addr(struct nlattr *addr, struct nlattr *local, local 4550 net/ipv6/addrconf.c if (local) { local 4551 net/ipv6/addrconf.c if (pfx && nla_memcmp(local, pfx, sizeof(*pfx))) local 4553 net/ipv6/addrconf.c pfx = nla_data(local); local 116 net/ipv6/ip6_gre.c const struct in6_addr *remote, const struct in6_addr *local, local 132 net/ipv6/ip6_gre.c if (!ipv6_addr_equal(local, &t->parms.laddr) || local 181 net/ipv6/ip6_gre.c if ((!ipv6_addr_equal(local, &t->parms.laddr) && local 182 net/ipv6/ip6_gre.c (!ipv6_addr_equal(local, &t->parms.raddr) || local 183 net/ipv6/ip6_gre.c !ipv6_addr_is_multicast(local))) || local 252 net/ipv6/ip6_gre.c const struct in6_addr *local = &p->laddr; local 256 net/ipv6/ip6_gre.c if (!ipv6_addr_any(local)) local 325 net/ipv6/ip6_gre.c const struct in6_addr *local = &parms->laddr; local 335 net/ipv6/ip6_gre.c if (ipv6_addr_equal(local, &t->parms.laddr) && local 137 net/ipv6/ip6_tunnel.c ip6_tnl_lookup(struct net *net, const struct in6_addr *remote, const struct in6_addr *local) local 139 net/ipv6/ip6_tunnel.c unsigned int hash = HASH(remote, local); local 145 net/ipv6/ip6_tunnel.c if (ipv6_addr_equal(local, &t->parms.laddr) && local 152 net/ipv6/ip6_tunnel.c hash = HASH(&any, local); local 154 net/ipv6/ip6_tunnel.c if (ipv6_addr_equal(local, &t->parms.laddr) && local 194 net/ipv6/ip6_tunnel.c const struct in6_addr *local = &p->laddr; local 198 net/ipv6/ip6_tunnel.c if (!ipv6_addr_any(remote) || !ipv6_addr_any(local)) { local 200 net/ipv6/ip6_tunnel.c h = HASH(remote, local); local 345 net/ipv6/ip6_tunnel.c const struct in6_addr *local = &p->laddr; local 353 net/ipv6/ip6_tunnel.c if (ipv6_addr_equal(local, &t->parms.laddr) && local 90 net/ipv6/ip6_vti.c const struct in6_addr *local) local 92 net/ipv6/ip6_vti.c unsigned int hash = HASH(remote, local); local 98 net/ipv6/ip6_vti.c if (ipv6_addr_equal(local, &t->parms.laddr) && local 105 net/ipv6/ip6_vti.c hash = HASH(&any, local); local 107 net/ipv6/ip6_vti.c if (ipv6_addr_equal(local, &t->parms.laddr) && local 140 net/ipv6/ip6_vti.c const struct in6_addr *local = &p->laddr; local 144 net/ipv6/ip6_vti.c if (!ipv6_addr_any(remote) || !ipv6_addr_any(local)) { local 146 net/ipv6/ip6_vti.c h = HASH(remote, local); local 259 net/ipv6/ip6_vti.c const struct in6_addr *local = &p->laddr; local 267 net/ipv6/ip6_vti.c if (ipv6_addr_equal(local, &t->parms.laddr) && local 91 net/ipv6/sit.c __be32 remote, __be32 local, local 95 net/ipv6/sit.c unsigned int h1 = HASH(local); local 101 net/ipv6/sit.c if (local == t->parms.iph.saddr && local 116 net/ipv6/sit.c if (local == t->parms.iph.saddr && local 132 net/ipv6/sit.c __be32 local = parms->iph.saddr; local 140 net/ipv6/sit.c if (local) { local 142 net/ipv6/sit.c h ^= HASH(local); local 227 net/ipv6/sit.c __be32 local = parms->iph.saddr; local 237 net/ipv6/sit.c if (local == t->parms.iph.saddr && local 2571 net/key/af_key.c &k.local, &k.remote, &k.family); local 3486 net/key/af_key.c if (!pfkey_sockaddr_fill(&k->local, 0, (struct sockaddr *)sa, family) || local 61 net/mac80211/agg-rx.c struct ieee80211_local *local = sta->local; local 89 net/mac80211/agg-rx.c if (drv_ampdu_action(local, sta->sdata, ¶ms)) local 143 net/mac80211/agg-rx.c ieee80211_queue_work(&sta->local->hw, &sta->ampdu_mlme.work); local 169 net/mac80211/agg-rx.c ieee80211_queue_work(&sta->local->hw, &sta->ampdu_mlme.work); local 220 net/mac80211/agg-rx.c struct ieee80211_local *local = sdata->local; local 223 net/mac80211/agg-rx.c bool amsdu = ieee80211_hw_check(&local->hw, SUPPORTS_AMSDU_IN_AMPDU); local 228 net/mac80211/agg-rx.c local->hw.extra_tx_headroom); local 232 net/mac80211/agg-rx.c skb_reserve(skb, local->hw.extra_tx_headroom); local 274 net/mac80211/agg-rx.c struct ieee80211_local *local = sta->sdata->local; local 375 net/mac80211/agg-rx.c if (ieee80211_hw_check(&local->hw, SUPPORTS_REORDERING_BUFFER)) { local 376 net/mac80211/agg-rx.c ret = drv_ampdu_action(local, sta->sdata, ¶ms); local 415 net/mac80211/agg-rx.c ret = drv_ampdu_action(local, sta->sdata, ¶ms); local 473 net/mac80211/agg-rx.c void ieee80211_process_addba_request(struct ieee80211_local *local, local 513 net/mac80211/agg-rx.c struct ieee80211_local *local = sdata->local; local 522 net/mac80211/agg-rx.c ieee80211_queue_work(&local->hw, &sta->ampdu_mlme.work); local 532 net/mac80211/agg-rx.c struct ieee80211_local *local = sdata->local; local 541 net/mac80211/agg-rx.c ieee80211_queue_work(&local->hw, &sta->ampdu_mlme.work); local 66 net/mac80211/agg-tx.c struct ieee80211_local *local = sdata->local; local 71 net/mac80211/agg-tx.c skb = dev_alloc_skb(sizeof(*mgmt) + local->hw.extra_tx_headroom); local 76 net/mac80211/agg-tx.c skb_reserve(skb, local->hw.extra_tx_headroom); local 115 net/mac80211/agg-tx.c struct ieee80211_local *local = sdata->local; local 120 net/mac80211/agg-tx.c skb = dev_alloc_skb(sizeof(*bar) + local->hw.extra_tx_headroom); local 124 net/mac80211/agg-tx.c skb_reserve(skb, local->hw.extra_tx_headroom); local 168 net/mac80211/agg-tx.c if (atomic_inc_return(&sdata->local->agg_queue_stop[queue]) == 1) local 170 net/mac80211/agg-tx.c &sdata->local->hw, queue, local 181 net/mac80211/agg-tx.c if (atomic_dec_return(&sdata->local->agg_queue_stop[queue]) == 0) local 183 net/mac80211/agg-tx.c &sdata->local->hw, queue, local 202 net/mac80211/agg-tx.c fq = &sdata->local->fq; local 229 net/mac80211/agg-tx.c schedule_and_wake_txq(sta->sdata->local, txqi); local 242 net/mac80211/agg-tx.c struct ieee80211_local *local = sdata->local; local 254 net/mac80211/agg-tx.c spin_lock_irqsave(&local->queue_stop_reason_lock, flags); local 257 net/mac80211/agg-tx.c &local->pending[queue]); local 258 net/mac80211/agg-tx.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); local 301 net/mac80211/agg-tx.c struct ieee80211_local *local = sta->local; local 351 net/mac80211/agg-tx.c ret = drv_ampdu_action(local, sta->sdata, ¶ms); local 395 net/mac80211/agg-tx.c if (!local->in_reconfig) local 403 net/mac80211/agg-tx.c ret = drv_ampdu_action(local, sta->sdata, ¶ms); local 454 net/mac80211/agg-tx.c struct ieee80211_local *local = sta->local; local 487 net/mac80211/agg-tx.c ret = drv_ampdu_action(local, sdata, ¶ms); local 515 net/mac80211/agg-tx.c buf_size = local->hw.max_tx_aggregation_subframes; local 564 net/mac80211/agg-tx.c struct ieee80211_local *local = sdata->local; local 577 net/mac80211/agg-tx.c if (WARN_ON_ONCE(!local->ops->ampdu_action)) local 581 net/mac80211/agg-tx.c !ieee80211_hw_check(&local->hw, AMPDU_AGGREGATION) || local 582 net/mac80211/agg-tx.c ieee80211_hw_check(&local->hw, TX_AMPDU_SETUP_IN_HW)) local 689 net/mac80211/agg-tx.c ieee80211_queue_work(&local->hw, &sta->ampdu_mlme.work); local 698 net/mac80211/agg-tx.c static void ieee80211_agg_tx_operational(struct ieee80211_local *local, local 719 net/mac80211/agg-tx.c drv_ampdu_action(local, sta->sdata, ¶ms); local 745 net/mac80211/agg-tx.c struct ieee80211_local *local = sdata->local; local 751 net/mac80211/agg-tx.c ieee80211_agg_tx_operational(local, sta, tid); local 784 net/mac80211/agg-tx.c struct ieee80211_local *local = sdata->local; local 796 net/mac80211/agg-tx.c ieee80211_queue_work(&local->hw, &sta->ampdu_mlme.work); local 820 net/mac80211/agg-tx.c struct ieee80211_local *local = sdata->local; local 826 net/mac80211/agg-tx.c if (!local->ops->ampdu_action) local 850 net/mac80211/agg-tx.c ieee80211_queue_work(&local->hw, &sta->ampdu_mlme.work); local 893 net/mac80211/agg-tx.c struct ieee80211_local *local = sdata->local; local 905 net/mac80211/agg-tx.c ieee80211_queue_work(&local->hw, &sta->ampdu_mlme.work); local 912 net/mac80211/agg-tx.c void ieee80211_process_addba_resp(struct ieee80211_local *local, local 926 net/mac80211/agg-tx.c buf_size = min(buf_size, local->hw.max_tx_aggregation_subframes); local 980 net/mac80211/agg-tx.c ieee80211_agg_tx_operational(local, sta, tid); local 63 net/mac80211/cfg.c struct ieee80211_local *local = sdata->local; local 84 net/mac80211/cfg.c monitor_sdata = rtnl_dereference(local->monitor_sdata); local 101 net/mac80211/cfg.c ieee80211_configure_filter(local); local 121 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 126 net/mac80211/cfg.c err = ieee80211_if_add(local, name, name_assign_type, &wdev, type, params); local 184 net/mac80211/cfg.c mutex_lock(&sdata->local->chanctx_mtx); local 186 net/mac80211/cfg.c mutex_unlock(&sdata->local->chanctx_mtx); local 206 net/mac80211/cfg.c mutex_lock(&sdata->local->chanctx_mtx); local 208 net/mac80211/cfg.c mutex_unlock(&sdata->local->chanctx_mtx); local 216 net/mac80211/cfg.c ret = drv_start_nan(sdata->local, sdata, conf); local 230 net/mac80211/cfg.c drv_stop_nan(sdata->local, sdata); local 257 net/mac80211/cfg.c ret = drv_nan_change_conf(sdata->local, sdata, &new_conf, changes); local 280 net/mac80211/cfg.c nan_func, 1, sdata->local->hw.max_nan_de_entries + 1, local 291 net/mac80211/cfg.c ret = drv_add_nan_func(sdata->local, sdata, nan_func); local 339 net/mac80211/cfg.c drv_del_nan_func(sdata->local, sdata, instance_id); local 358 net/mac80211/cfg.c struct ieee80211_local *local = sdata->local; local 363 net/mac80211/cfg.c if (!wiphy_ext_feature_isset(local->hw.wiphy, local 375 net/mac80211/cfg.c mutex_lock(&local->key_mtx); local 376 net/mac80211/cfg.c key = key_mtx_dereference(local, sta->ptk[key_idx]); local 381 net/mac80211/cfg.c mutex_unlock(&local->key_mtx); local 390 net/mac80211/cfg.c struct ieee80211_local *local = sdata->local; local 419 net/mac80211/cfg.c cs = ieee80211_cs_get(local, params->cipher, sdata->vif.type); local 435 net/mac80211/cfg.c mutex_lock(&local->sta_mtx); local 496 net/mac80211/cfg.c mutex_unlock(&local->sta_mtx); local 505 net/mac80211/cfg.c struct ieee80211_local *local = sdata->local; local 510 net/mac80211/cfg.c mutex_lock(&local->sta_mtx); local 511 net/mac80211/cfg.c mutex_lock(&local->key_mtx); local 521 net/mac80211/cfg.c key = key_mtx_dereference(local, sta->ptk[key_idx]); local 523 net/mac80211/cfg.c key = key_mtx_dereference(local, sta->gtk[key_idx]); local 525 net/mac80211/cfg.c key = key_mtx_dereference(local, sdata->keys[key_idx]); local 536 net/mac80211/cfg.c mutex_unlock(&local->key_mtx); local 537 net/mac80211/cfg.c mutex_unlock(&local->sta_mtx); local 591 net/mac80211/cfg.c drv_get_key_seq(sdata->local, key, &kseq); local 624 net/mac80211/cfg.c drv_get_key_seq(sdata->local, key, &kseq); local 643 net/mac80211/cfg.c drv_get_key_seq(sdata->local, key, &kseq); local 722 net/mac80211/cfg.c struct ieee80211_local *local = sdata->local; local 726 net/mac80211/cfg.c mutex_lock(&local->sta_mtx); local 735 net/mac80211/cfg.c mutex_unlock(&local->sta_mtx); local 743 net/mac80211/cfg.c struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr); local 745 net/mac80211/cfg.c return drv_get_survey(local, idx, survey); local 752 net/mac80211/cfg.c struct ieee80211_local *local = sdata->local; local 756 net/mac80211/cfg.c mutex_lock(&local->sta_mtx); local 764 net/mac80211/cfg.c mutex_unlock(&local->sta_mtx); local 772 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 776 net/mac80211/cfg.c if (cfg80211_chandef_identical(&local->monitor_chandef, chandef)) local 779 net/mac80211/cfg.c mutex_lock(&local->mtx); local 780 net/mac80211/cfg.c if (local->use_chanctx) { local 781 net/mac80211/cfg.c sdata = rtnl_dereference(local->monitor_sdata); local 787 net/mac80211/cfg.c } else if (local->open_count == local->monitors) { local 788 net/mac80211/cfg.c local->_oper_chandef = *chandef; local 789 net/mac80211/cfg.c ieee80211_hw_config(local, 0); local 793 net/mac80211/cfg.c local->monitor_chandef = *chandef; local 794 net/mac80211/cfg.c mutex_unlock(&local->mtx); local 974 net/mac80211/cfg.c struct ieee80211_local *local = sdata->local; local 1007 net/mac80211/cfg.c sdata->needed_rx_chains = sdata->local->rx_chains; local 1015 net/mac80211/cfg.c mutex_lock(&local->mtx); local 1020 net/mac80211/cfg.c mutex_unlock(&local->mtx); local 1034 net/mac80211/cfg.c sdata->encrypt_headroom = ieee80211_cs_headroom(sdata->local, local 1046 net/mac80211/cfg.c ieee80211_cs_headroom(sdata->local, local 1080 net/mac80211/cfg.c err = drv_start_ap(sdata->local, sdata); local 1091 net/mac80211/cfg.c ieee80211_recalc_dtim(local, sdata); local 1132 net/mac80211/cfg.c struct ieee80211_local *local = sdata->local; local 1145 net/mac80211/cfg.c mutex_lock(&local->mtx); local 1148 net/mac80211/cfg.c ieee80211_wake_vif_queues(local, sdata, local 1153 net/mac80211/cfg.c mutex_unlock(&local->mtx); local 1190 net/mac80211/cfg.c drv_stop_ap(sdata->local, sdata); local 1193 net/mac80211/cfg.c local->total_ps_buffered -= skb_queue_len(&sdata->u.ap.ps.bc_buf); local 1194 net/mac80211/cfg.c ieee80211_purge_tx_queue(&local->hw, &sdata->u.ap.ps.bc_buf); local 1196 net/mac80211/cfg.c mutex_lock(&local->mtx); local 1199 net/mac80211/cfg.c mutex_unlock(&local->mtx); local 1204 net/mac80211/cfg.c static int sta_apply_auth_flags(struct ieee80211_local *local, local 1264 net/mac80211/cfg.c static void sta_apply_mesh_params(struct ieee80211_local *local, local 1329 net/mac80211/cfg.c static int sta_apply_parameters(struct ieee80211_local *local, local 1369 net/mac80211/cfg.c local->hw.queues >= IEEE80211_NUM_ACS) local 1377 net/mac80211/cfg.c ret = sta_apply_auth_flags(local, sta, mask, set); local 1413 net/mac80211/cfg.c ieee80211_hw_check(&local->hw, TDLS_WIDER_BW) && local 1473 net/mac80211/cfg.c ret = drv_sta_set_txpwr(local, sdata, sta); local 1511 net/mac80211/cfg.c sta_apply_mesh_params(local, sta, params); local 1519 net/mac80211/cfg.c ret = sta_apply_auth_flags(local, sta, mask, set); local 1531 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 1563 net/mac80211/cfg.c err = sta_apply_parameters(local, sta, params); local 1565 net/mac80211/cfg.c sta_info_free(local, sta); local 1608 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 1614 net/mac80211/cfg.c mutex_lock(&local->sta_mtx); local 1688 net/mac80211/cfg.c err = sta_apply_parameters(local, sta, params); local 1692 net/mac80211/cfg.c mutex_unlock(&local->sta_mtx); local 1710 net/mac80211/cfg.c ieee80211_recalc_ps(local); local 1716 net/mac80211/cfg.c mutex_unlock(&local->sta_mtx); local 2073 net/mac80211/cfg.c if (!ieee80211_hw_check(&sdata->local->hw, SIGNAL_DBM)) local 2124 net/mac80211/cfg.c sdata->needed_rx_chains = sdata->local->rx_chains; local 2126 net/mac80211/cfg.c mutex_lock(&sdata->local->mtx); local 2129 net/mac80211/cfg.c mutex_unlock(&sdata->local->mtx); local 2141 net/mac80211/cfg.c mutex_lock(&sdata->local->mtx); local 2143 net/mac80211/cfg.c mutex_unlock(&sdata->local->mtx); local 2237 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 2241 net/mac80211/cfg.c if (!local->ops->conf_tx) local 2244 net/mac80211/cfg.c if (local->hw.queues < IEEE80211_NUM_ACS) local 2262 net/mac80211/cfg.c if (drv_conf_tx(local, sdata, params->ac, &p)) { local 2263 net/mac80211/cfg.c wiphy_debug(local->hw.wiphy, local 2305 net/mac80211/cfg.c if (sdata->local->ops->hw_scan) local 2346 net/mac80211/cfg.c if (!sdata->local->ops->sched_scan_start) local 2356 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 2358 net/mac80211/cfg.c if (!local->ops->sched_scan_stop) local 2361 net/mac80211/cfg.c return ieee80211_request_sched_scan_stop(local); local 2425 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 2429 net/mac80211/cfg.c ieee80211_check_fast_xmit_all(local); local 2431 net/mac80211/cfg.c err = drv_set_frag_threshold(local, wiphy->frag_threshold); local 2434 net/mac80211/cfg.c ieee80211_check_fast_xmit_all(local); local 2445 net/mac80211/cfg.c err = drv_set_coverage_class(local, coverage_class); local 2452 net/mac80211/cfg.c err = drv_set_rts_threshold(local, wiphy->rts_threshold); local 2461 net/mac80211/cfg.c local->hw.conf.short_frame_max_tx_count = wiphy->retry_short; local 2466 net/mac80211/cfg.c local->hw.conf.long_frame_max_tx_count = wiphy->retry_long; local 2470 net/mac80211/cfg.c ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_RETRY_LIMITS); local 2475 net/mac80211/cfg.c ieee80211_txq_set_params(local); local 2484 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 2494 net/mac80211/cfg.c sdata = rtnl_dereference(local->monitor_sdata); local 2524 net/mac80211/cfg.c local->user_power_level = IEEE80211_UNSET_POWER_LEVEL; local 2531 net/mac80211/cfg.c local->user_power_level = MBM_TO_DBM(mbm); local 2535 net/mac80211/cfg.c mutex_lock(&local->iflist_mtx); local 2536 net/mac80211/cfg.c list_for_each_entry(sdata, &local->interfaces, list) { local 2541 net/mac80211/cfg.c sdata->user_power_level = local->user_power_level; local 2546 net/mac80211/cfg.c list_for_each_entry(sdata, &local->interfaces, list) { local 2551 net/mac80211/cfg.c mutex_unlock(&local->iflist_mtx); local 2554 net/mac80211/cfg.c sdata = rtnl_dereference(local->monitor_sdata); local 2556 net/mac80211/cfg.c sdata->user_power_level = local->user_power_level; local 2572 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 2575 net/mac80211/cfg.c if (local->ops->get_txpower) local 2576 net/mac80211/cfg.c return drv_get_txpower(local, sdata, dbm); local 2578 net/mac80211/cfg.c if (!local->use_chanctx) local 2579 net/mac80211/cfg.c *dbm = local->hw.conf.power_level; local 2598 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 2600 net/mac80211/cfg.c drv_rfkill_poll(local); local 2608 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 2611 net/mac80211/cfg.c if (!local->ops->testmode_cmd) local 2622 net/mac80211/cfg.c return local->ops->testmode_cmd(&local->hw, vif, data, len); local 2630 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 2632 net/mac80211/cfg.c if (!local->ops->testmode_dump) local 2635 net/mac80211/cfg.c return local->ops->testmode_dump(&local->hw, skb, cb, data, len); local 2663 net/mac80211/cfg.c mutex_lock(&sdata->local->sta_mtx); local 2664 net/mac80211/cfg.c list_for_each_entry(sta, &sdata->local->sta_list, list) { local 2699 net/mac80211/cfg.c mutex_unlock(&sdata->local->sta_mtx); local 2702 net/mac80211/cfg.c ieee80211_queue_work(&sdata->local->hw, &sdata->recalc_smps); local 2740 net/mac80211/cfg.c list_for_each_entry_rcu(sta, &sdata->local->sta_list, list) { local 2772 net/mac80211/cfg.c struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr); local 2777 net/mac80211/cfg.c if (!ieee80211_hw_check(&local->hw, SUPPORTS_PS)) local 2781 net/mac80211/cfg.c timeout == local->dynamic_ps_forced_timeout) local 2785 net/mac80211/cfg.c local->dynamic_ps_forced_timeout = timeout; local 2792 net/mac80211/cfg.c if (ieee80211_hw_check(&local->hw, SUPPORTS_DYNAMIC_PS)) local 2793 net/mac80211/cfg.c ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_PS); local 2795 net/mac80211/cfg.c ieee80211_recalc_ps(local); local 2863 net/mac80211/cfg.c struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr); local 2884 net/mac80211/cfg.c if (ieee80211_hw_check(&local->hw, HAS_RATE_CONTROL)) { local 2885 net/mac80211/cfg.c ret = drv_set_bitrate_mask(local, sdata, mask); local 2930 net/mac80211/cfg.c struct ieee80211_local *local = sdata->local; local 2933 net/mac80211/cfg.c mutex_lock(&local->mtx); local 2934 net/mac80211/cfg.c if (!list_empty(&local->roc_list) || local->scanning) { local 2941 net/mac80211/cfg.c sdata->needed_rx_chains = local->rx_chains; local 2948 net/mac80211/cfg.c ieee80211_queue_delayed_work(&sdata->local->hw, local 2953 net/mac80211/cfg.c mutex_unlock(&local->mtx); local 2961 net/mac80211/cfg.c struct ieee80211_local *local = sdata->local; local 2963 net/mac80211/cfg.c mutex_lock(&local->mtx); local 2964 net/mac80211/cfg.c list_for_each_entry(sdata, &local->interfaces, list) { local 2976 net/mac80211/cfg.c mutex_unlock(&local->mtx); local 3054 net/mac80211/cfg.c ieee80211_queue_work(&sdata->local->hw, local 3099 net/mac80211/cfg.c struct ieee80211_local *local = sdata->local; local 3104 net/mac80211/cfg.c lockdep_assert_held(&local->mtx); local 3105 net/mac80211/cfg.c lockdep_assert_held(&local->chanctx_mtx); local 3139 net/mac80211/cfg.c ieee80211_wake_vif_queues(local, sdata, local 3157 net/mac80211/cfg.c cfg80211_stop_iface(sdata->local->hw.wiphy, &sdata->wdev, local 3167 net/mac80211/cfg.c struct ieee80211_local *local = sdata->local; local 3170 net/mac80211/cfg.c mutex_lock(&local->mtx); local 3171 net/mac80211/cfg.c mutex_lock(&local->chanctx_mtx); local 3183 net/mac80211/cfg.c mutex_unlock(&local->chanctx_mtx); local 3184 net/mac80211/cfg.c mutex_unlock(&local->mtx); local 3326 net/mac80211/cfg.c struct ieee80211_local *local = sdata->local; local 3334 net/mac80211/cfg.c lockdep_assert_held(&local->mtx); local 3336 net/mac80211/cfg.c if (!list_empty(&local->roc_list) || local->scanning) local 3350 net/mac80211/cfg.c mutex_lock(&local->chanctx_mtx); local 3352 net/mac80211/cfg.c lockdep_is_held(&local->chanctx_mtx)); local 3394 net/mac80211/cfg.c ieee80211_stop_vif_queues(local, sdata, local 3409 net/mac80211/cfg.c mutex_unlock(&local->chanctx_mtx); local 3417 net/mac80211/cfg.c struct ieee80211_local *local = sdata->local; local 3420 net/mac80211/cfg.c mutex_lock(&local->mtx); local 3422 net/mac80211/cfg.c mutex_unlock(&local->mtx); local 3427 net/mac80211/cfg.c u64 ieee80211_mgmt_tx_cookie(struct ieee80211_local *local) local 3429 net/mac80211/cfg.c lockdep_assert_held(&local->mtx); local 3431 net/mac80211/cfg.c local->roc_cookie_counter++; local 3434 net/mac80211/cfg.c if (WARN_ON(local->roc_cookie_counter == 0)) local 3435 net/mac80211/cfg.c local->roc_cookie_counter++; local 3437 net/mac80211/cfg.c return local->roc_cookie_counter; local 3440 net/mac80211/cfg.c int ieee80211_attach_ack_skb(struct ieee80211_local *local, struct sk_buff *skb, local 3451 net/mac80211/cfg.c spin_lock_irqsave(&local->ack_status_lock, spin_flags); local 3452 net/mac80211/cfg.c id = idr_alloc(&local->ack_status_frames, ack_skb, local 3454 net/mac80211/cfg.c spin_unlock_irqrestore(&local->ack_status_lock, spin_flags); local 3463 net/mac80211/cfg.c *cookie = ieee80211_mgmt_tx_cookie(local); local 3473 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 3479 net/mac80211/cfg.c local->probe_req_reg++; local 3482 net/mac80211/cfg.c if (local->probe_req_reg) local 3483 net/mac80211/cfg.c local->probe_req_reg--; local 3489 net/mac80211/cfg.c if (!local->open_count) local 3493 net/mac80211/cfg.c drv_config_iface_filter(local, sdata, FIF_PROBE_REQ, local 3496 net/mac80211/cfg.c drv_config_iface_filter(local, sdata, 0, local 3499 net/mac80211/cfg.c ieee80211_configure_filter(local); local 3508 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 3510 net/mac80211/cfg.c if (local->started) local 3513 net/mac80211/cfg.c return drv_set_antenna(local, tx_ant, rx_ant); local 3518 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 3520 net/mac80211/cfg.c return drv_get_antenna(local, tx_ant, rx_ant); local 3527 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 3530 net/mac80211/cfg.c if (!local->ops->set_rekey_data) local 3533 net/mac80211/cfg.c drv_set_rekey_data(local, sdata, data); local 3542 net/mac80211/cfg.c struct ieee80211_local *local = sdata->local; local 3555 net/mac80211/cfg.c mutex_lock(&local->mtx); local 3583 net/mac80211/cfg.c skb = dev_alloc_skb(local->hw.extra_tx_headroom + size); local 3591 net/mac80211/cfg.c skb_reserve(skb, local->hw.extra_tx_headroom); local 3612 net/mac80211/cfg.c ret = ieee80211_attach_ack_skb(local, skb, cookie, GFP_ATOMIC); local 3625 net/mac80211/cfg.c mutex_unlock(&local->mtx); local 3635 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 3644 net/mac80211/cfg.c } else if (local->open_count > 0 && local 3645 net/mac80211/cfg.c local->open_count == local->monitors && local 3647 net/mac80211/cfg.c if (local->use_chanctx) local 3648 net/mac80211/cfg.c *chandef = local->monitor_chandef; local 3650 net/mac80211/cfg.c *chandef = local->_oper_chandef; local 3736 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 3757 net/mac80211/cfg.c ieee80211_flush_queues(local, sdata, false); local 3896 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 3900 net/mac80211/cfg.c if (!local->ops->wake_tx_queue) local 3903 net/mac80211/cfg.c spin_lock_bh(&local->fq.lock); local 3921 net/mac80211/cfg.c txqstats->backlog_packets = local->fq.backlog; local 3922 net/mac80211/cfg.c txqstats->backlog_bytes = local->fq.memory_usage; local 3923 net/mac80211/cfg.c txqstats->overlimit = local->fq.overlimit; local 3924 net/mac80211/cfg.c txqstats->overmemory = local->fq.overmemory; local 3925 net/mac80211/cfg.c txqstats->collisions = local->fq.collisions; local 3926 net/mac80211/cfg.c txqstats->max_flows = local->fq.flows_cnt; local 3931 net/mac80211/cfg.c spin_unlock_bh(&local->fq.lock); local 3941 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 3944 net/mac80211/cfg.c return drv_get_ftm_responder_stats(local, sdata, ftm_stats); local 3951 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 3954 net/mac80211/cfg.c return drv_start_pmsr(local, sdata, request); local 3961 net/mac80211/cfg.c struct ieee80211_local *local = wiphy_priv(wiphy); local 3964 net/mac80211/cfg.c return drv_abort_pmsr(local, sdata, request); local 13 net/mac80211/chan.c static int ieee80211_chanctx_num_assigned(struct ieee80211_local *local, local 19 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 27 net/mac80211/chan.c static int ieee80211_chanctx_num_reserved(struct ieee80211_local *local, local 33 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 41 net/mac80211/chan.c int ieee80211_chanctx_refcount(struct ieee80211_local *local, local 44 net/mac80211/chan.c return ieee80211_chanctx_num_assigned(local, ctx) + local 45 net/mac80211/chan.c ieee80211_chanctx_num_reserved(local, ctx); local 48 net/mac80211/chan.c static int ieee80211_num_chanctx(struct ieee80211_local *local) local 53 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 55 net/mac80211/chan.c list_for_each_entry(ctx, &local->chanctx_list, list) local 61 net/mac80211/chan.c static bool ieee80211_can_create_new_chanctx(struct ieee80211_local *local) local 63 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 64 net/mac80211/chan.c return ieee80211_num_chanctx(local) < ieee80211_max_num_channels(local); local 70 net/mac80211/chan.c struct ieee80211_local *local __maybe_unused = sdata->local; local 74 net/mac80211/chan.c lockdep_is_held(&local->chanctx_mtx)); local 82 net/mac80211/chan.c ieee80211_chanctx_reserved_chandef(struct ieee80211_local *local, local 88 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 105 net/mac80211/chan.c ieee80211_chanctx_non_reserved_chandef(struct ieee80211_local *local, local 111 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 131 net/mac80211/chan.c ieee80211_chanctx_combined_chandef(struct ieee80211_local *local, local 135 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 137 net/mac80211/chan.c compat = ieee80211_chanctx_reserved_chandef(local, ctx, compat); local 141 net/mac80211/chan.c compat = ieee80211_chanctx_non_reserved_chandef(local, ctx, compat); local 149 net/mac80211/chan.c ieee80211_chanctx_can_reserve_chandef(struct ieee80211_local *local, local 153 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 155 net/mac80211/chan.c if (ieee80211_chanctx_combined_chandef(local, ctx, def)) local 159 net/mac80211/chan.c ieee80211_chanctx_reserved_chandef(local, ctx, def)) local 166 net/mac80211/chan.c ieee80211_find_reservation_chanctx(struct ieee80211_local *local, local 172 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 177 net/mac80211/chan.c list_for_each_entry(ctx, &local->chanctx_list, list) { local 184 net/mac80211/chan.c if (!ieee80211_chanctx_can_reserve_chandef(local, ctx, local 230 net/mac80211/chan.c list_for_each_entry_rcu(sta, &sdata->local->sta_list, list) { local 243 net/mac80211/chan.c ieee80211_get_chanctx_max_required_bw(struct ieee80211_local *local, local 250 net/mac80211/chan.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 294 net/mac80211/chan.c sdata = rcu_dereference(local->monitor_sdata); local 308 net/mac80211/chan.c void ieee80211_recalc_chanctx_min_def(struct ieee80211_local *local, local 314 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 324 net/mac80211/chan.c max_bw = ieee80211_get_chanctx_max_required_bw(local, &ctx->conf); local 338 net/mac80211/chan.c drv_change_chanctx(local, ctx, IEEE80211_CHANCTX_CHANGE_MIN_WIDTH); local 341 net/mac80211/chan.c static void ieee80211_change_chanctx(struct ieee80211_local *local, local 346 net/mac80211/chan.c ieee80211_recalc_chanctx_min_def(local, ctx); local 353 net/mac80211/chan.c drv_change_chanctx(local, ctx, IEEE80211_CHANCTX_CHANGE_WIDTH); local 354 net/mac80211/chan.c ieee80211_recalc_chanctx_min_def(local, ctx); local 356 net/mac80211/chan.c if (!local->use_chanctx) { local 357 net/mac80211/chan.c local->_oper_chandef = *chandef; local 358 net/mac80211/chan.c ieee80211_hw_config(local, 0); local 363 net/mac80211/chan.c ieee80211_find_chanctx(struct ieee80211_local *local, local 369 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 374 net/mac80211/chan.c list_for_each_entry(ctx, &local->chanctx_list, list) { local 387 net/mac80211/chan.c compat = ieee80211_chanctx_reserved_chandef(local, ctx, local 392 net/mac80211/chan.c ieee80211_change_chanctx(local, ctx, compat); local 400 net/mac80211/chan.c bool ieee80211_is_radar_required(struct ieee80211_local *local) local 404 net/mac80211/chan.c lockdep_assert_held(&local->mtx); local 407 net/mac80211/chan.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 419 net/mac80211/chan.c ieee80211_chanctx_radar_required(struct ieee80211_local *local, local 426 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 427 net/mac80211/chan.c lockdep_assert_held(&local->mtx); local 430 net/mac80211/chan.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 447 net/mac80211/chan.c ieee80211_alloc_chanctx(struct ieee80211_local *local, local 453 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 455 net/mac80211/chan.c ctx = kzalloc(sizeof(*ctx) + local->hw.chanctx_data_size, GFP_KERNEL); local 466 net/mac80211/chan.c ieee80211_recalc_chanctx_min_def(local, ctx); local 471 net/mac80211/chan.c static int ieee80211_add_chanctx(struct ieee80211_local *local, local 477 net/mac80211/chan.c lockdep_assert_held(&local->mtx); local 478 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 480 net/mac80211/chan.c if (!local->use_chanctx) local 481 net/mac80211/chan.c local->hw.conf.radar_enabled = ctx->conf.radar_enabled; local 484 net/mac80211/chan.c changed = ieee80211_idle_off(local); local 486 net/mac80211/chan.c ieee80211_hw_config(local, changed); local 488 net/mac80211/chan.c if (!local->use_chanctx) { local 489 net/mac80211/chan.c local->_oper_chandef = ctx->conf.def; local 490 net/mac80211/chan.c ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_CHANNEL); local 492 net/mac80211/chan.c err = drv_add_chanctx(local, ctx); local 494 net/mac80211/chan.c ieee80211_recalc_idle(local); local 503 net/mac80211/chan.c ieee80211_new_chanctx(struct ieee80211_local *local, local 510 net/mac80211/chan.c lockdep_assert_held(&local->mtx); local 511 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 513 net/mac80211/chan.c ctx = ieee80211_alloc_chanctx(local, chandef, mode); local 517 net/mac80211/chan.c err = ieee80211_add_chanctx(local, ctx); local 523 net/mac80211/chan.c list_add_rcu(&ctx->list, &local->chanctx_list); local 527 net/mac80211/chan.c static void ieee80211_del_chanctx(struct ieee80211_local *local, local 530 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 532 net/mac80211/chan.c if (!local->use_chanctx) { local 533 net/mac80211/chan.c struct cfg80211_chan_def *chandef = &local->_oper_chandef; local 541 net/mac80211/chan.c WARN_ON(local->hw.conf.radar_enabled && local 542 net/mac80211/chan.c !list_empty(&local->chanctx_list)); local 544 net/mac80211/chan.c local->hw.conf.radar_enabled = false; local 546 net/mac80211/chan.c ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_CHANNEL); local 548 net/mac80211/chan.c drv_remove_chanctx(local, ctx); local 551 net/mac80211/chan.c ieee80211_recalc_idle(local); local 554 net/mac80211/chan.c static void ieee80211_free_chanctx(struct ieee80211_local *local, local 557 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 559 net/mac80211/chan.c WARN_ON_ONCE(ieee80211_chanctx_refcount(local, ctx) != 0); local 562 net/mac80211/chan.c ieee80211_del_chanctx(local, ctx); local 566 net/mac80211/chan.c void ieee80211_recalc_chanctx_chantype(struct ieee80211_local *local, local 574 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 577 net/mac80211/chan.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 596 net/mac80211/chan.c list_for_each_entry_rcu(sta, &local->sta_list, list) { local 613 net/mac80211/chan.c ieee80211_change_chanctx(local, ctx, compat); local 616 net/mac80211/chan.c static void ieee80211_recalc_radar_chanctx(struct ieee80211_local *local, local 621 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 623 net/mac80211/chan.c lockdep_assert_held(&local->mtx); local 625 net/mac80211/chan.c radar_enabled = ieee80211_chanctx_radar_required(local, chanctx); local 632 net/mac80211/chan.c if (!local->use_chanctx) { local 633 net/mac80211/chan.c local->hw.conf.radar_enabled = chanctx->conf.radar_enabled; local 634 net/mac80211/chan.c ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_CHANNEL); local 637 net/mac80211/chan.c drv_change_chanctx(local, chanctx, IEEE80211_CHANCTX_CHANGE_RADAR); local 643 net/mac80211/chan.c struct ieee80211_local *local = sdata->local; local 652 net/mac80211/chan.c lockdep_is_held(&local->chanctx_mtx)); local 657 net/mac80211/chan.c drv_unassign_vif_chanctx(local, sdata, curr_ctx); local 663 net/mac80211/chan.c ret = drv_assign_vif_chanctx(local, sdata, new_ctx); local 677 net/mac80211/chan.c if (curr_ctx && ieee80211_chanctx_num_assigned(local, curr_ctx) > 0) { local 678 net/mac80211/chan.c ieee80211_recalc_chanctx_chantype(local, curr_ctx); local 679 net/mac80211/chan.c ieee80211_recalc_smps_chanctx(local, curr_ctx); local 680 net/mac80211/chan.c ieee80211_recalc_radar_chanctx(local, curr_ctx); local 681 net/mac80211/chan.c ieee80211_recalc_chanctx_min_def(local, curr_ctx); local 684 net/mac80211/chan.c if (new_ctx && ieee80211_chanctx_num_assigned(local, new_ctx) > 0) { local 686 net/mac80211/chan.c ieee80211_recalc_chanctx_min_def(local, new_ctx); local 699 net/mac80211/chan.c void ieee80211_recalc_smps_chanctx(struct ieee80211_local *local, local 705 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 711 net/mac80211/chan.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 765 net/mac80211/chan.c sdata = rcu_dereference(local->monitor_sdata); local 768 net/mac80211/chan.c rx_chains_dynamic = rx_chains_static = local->rx_chains; local 772 net/mac80211/chan.c if (!local->use_chanctx) { local 774 net/mac80211/chan.c local->smps_mode = IEEE80211_SMPS_OFF; local 776 net/mac80211/chan.c local->smps_mode = IEEE80211_SMPS_DYNAMIC; local 778 net/mac80211/chan.c local->smps_mode = IEEE80211_SMPS_STATIC; local 779 net/mac80211/chan.c ieee80211_hw_config(local, 0); local 788 net/mac80211/chan.c drv_change_chanctx(local, chanctx, IEEE80211_CHANCTX_CHANGE_RX_CHAINS); local 795 net/mac80211/chan.c struct ieee80211_local *local __maybe_unused = sdata->local; local 802 net/mac80211/chan.c lockdep_assert_held(&local->mtx); local 811 net/mac80211/chan.c lockdep_is_held(&local->chanctx_mtx)); local 824 net/mac80211/chan.c struct ieee80211_local *local = sdata->local; local 826 net/mac80211/chan.c mutex_lock(&local->chanctx_mtx); local 830 net/mac80211/chan.c mutex_unlock(&local->chanctx_mtx); local 837 net/mac80211/chan.c lockdep_assert_held(&sdata->local->chanctx_mtx); local 845 net/mac80211/chan.c if (ieee80211_chanctx_refcount(sdata->local, ctx) == 0) { local 861 net/mac80211/chan.c ieee80211_free_chanctx(sdata->local, ctx); local 873 net/mac80211/chan.c struct ieee80211_local *local = sdata->local; local 876 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 879 net/mac80211/chan.c if (curr_ctx && local->use_chanctx && !local->ops->switch_vif_chanctx) local 882 net/mac80211/chan.c new_ctx = ieee80211_find_reservation_chanctx(local, chandef, mode); local 884 net/mac80211/chan.c if (ieee80211_can_create_new_chanctx(local)) { local 885 net/mac80211/chan.c new_ctx = ieee80211_new_chanctx(local, chandef, mode); local 915 net/mac80211/chan.c list_for_each_entry(ctx, &local->chanctx_list, local 939 net/mac80211/chan.c new_ctx = ieee80211_alloc_chanctx(local, chandef, mode); local 951 net/mac80211/chan.c list_add_rcu(&new_ctx->list, &local->chanctx_list); local 972 net/mac80211/chan.c ieee80211_queue_work(&sdata->local->hw, local 976 net/mac80211/chan.c ieee80211_queue_work(&sdata->local->hw, local 1011 net/mac80211/chan.c struct ieee80211_local *local = sdata->local; local 1018 net/mac80211/chan.c lockdep_assert_held(&local->mtx); local 1019 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 1037 net/mac80211/chan.c chandef = ieee80211_chanctx_non_reserved_chandef(local, new_ctx, local 1042 net/mac80211/chan.c ieee80211_change_chanctx(local, new_ctx, chandef); local 1051 net/mac80211/chan.c err = drv_switch_vif_chanctx(local, vif_chsw, 1, local 1054 net/mac80211/chan.c if (ieee80211_chanctx_refcount(local, new_ctx) == 0) local 1055 net/mac80211/chan.c ieee80211_free_chanctx(local, new_ctx); local 1068 net/mac80211/chan.c if (ieee80211_chanctx_refcount(local, old_ctx) == 0) local 1069 net/mac80211/chan.c ieee80211_free_chanctx(local, old_ctx); local 1076 net/mac80211/chan.c ieee80211_recalc_smps_chanctx(local, new_ctx); local 1077 net/mac80211/chan.c ieee80211_recalc_radar_chanctx(local, new_ctx); local 1078 net/mac80211/chan.c ieee80211_recalc_chanctx_min_def(local, new_ctx); local 1091 net/mac80211/chan.c struct ieee80211_local *local = sdata->local; local 1112 net/mac80211/chan.c chandef = ieee80211_chanctx_non_reserved_chandef(local, new_ctx, local 1117 net/mac80211/chan.c ieee80211_change_chanctx(local, new_ctx, chandef); local 1124 net/mac80211/chan.c if (ieee80211_chanctx_refcount(local, new_ctx) == 0) local 1125 net/mac80211/chan.c ieee80211_free_chanctx(local, new_ctx); local 1140 net/mac80211/chan.c lockdep_assert_held(&sdata->local->chanctx_mtx); local 1160 net/mac80211/chan.c static int ieee80211_chsw_switch_hwconf(struct ieee80211_local *local, local 1165 net/mac80211/chan.c lockdep_assert_held(&local->mtx); local 1166 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 1168 net/mac80211/chan.c chandef = ieee80211_chanctx_reserved_chandef(local, new_ctx, NULL); local 1172 net/mac80211/chan.c local->hw.conf.radar_enabled = new_ctx->conf.radar_enabled; local 1173 net/mac80211/chan.c local->_oper_chandef = *chandef; local 1174 net/mac80211/chan.c ieee80211_hw_config(local, 0); local 1179 net/mac80211/chan.c static int ieee80211_chsw_switch_vifs(struct ieee80211_local *local, local 1187 net/mac80211/chan.c lockdep_assert_held(&local->mtx); local 1188 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 1195 net/mac80211/chan.c list_for_each_entry(ctx, &local->chanctx_list, list) { local 1219 net/mac80211/chan.c err = drv_switch_vif_chanctx(local, vif_chsw, n_vifs, local 1227 net/mac80211/chan.c static int ieee80211_chsw_switch_ctxs(struct ieee80211_local *local) local 1232 net/mac80211/chan.c lockdep_assert_held(&local->mtx); local 1233 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 1235 net/mac80211/chan.c list_for_each_entry(ctx, &local->chanctx_list, list) { local 1242 net/mac80211/chan.c ieee80211_del_chanctx(local, ctx->replace_ctx); local 1243 net/mac80211/chan.c err = ieee80211_add_chanctx(local, ctx); local 1251 net/mac80211/chan.c WARN_ON(ieee80211_add_chanctx(local, ctx)); local 1252 net/mac80211/chan.c list_for_each_entry_continue_reverse(ctx, &local->chanctx_list, list) { local 1259 net/mac80211/chan.c ieee80211_del_chanctx(local, ctx); local 1260 net/mac80211/chan.c WARN_ON(ieee80211_add_chanctx(local, ctx->replace_ctx)); local 1266 net/mac80211/chan.c static int ieee80211_vif_use_reserved_switch(struct ieee80211_local *local) local 1274 net/mac80211/chan.c lockdep_assert_held(&local->mtx); local 1275 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 1293 net/mac80211/chan.c list_for_each_entry(ctx, &local->chanctx_list, list) { local 1302 net/mac80211/chan.c if (!local->use_chanctx) local 1323 net/mac80211/chan.c wiphy_info(local->hw.wiphy, local 1359 net/mac80211/chan.c WARN_ON(n_ctx > 1 && !local->use_chanctx) || local 1360 net/mac80211/chan.c WARN_ON(!new_ctx && !local->use_chanctx)) { local 1370 net/mac80211/chan.c if (local->use_chanctx) { local 1372 net/mac80211/chan.c err = ieee80211_chsw_switch_vifs(local, n_vifs_switch); local 1378 net/mac80211/chan.c err = ieee80211_chsw_switch_ctxs(local); local 1383 net/mac80211/chan.c err = ieee80211_chsw_switch_hwconf(local, new_ctx); local 1392 net/mac80211/chan.c list_for_each_entry(ctx, &local->chanctx_list, list) { local 1430 net/mac80211/chan.c ieee80211_recalc_chanctx_chantype(local, ctx); local 1431 net/mac80211/chan.c ieee80211_recalc_smps_chanctx(local, ctx); local 1432 net/mac80211/chan.c ieee80211_recalc_radar_chanctx(local, ctx); local 1433 net/mac80211/chan.c ieee80211_recalc_chanctx_min_def(local, ctx); local 1478 net/mac80211/chan.c cfg80211_stop_iface(local->hw.wiphy, local 1489 net/mac80211/chan.c list_for_each_entry_safe(ctx, ctx_tmp, &local->chanctx_list, list) { local 1504 net/mac80211/chan.c list_for_each_entry(ctx, &local->chanctx_list, list) { local 1520 net/mac80211/chan.c struct ieee80211_local *local = sdata->local; local 1525 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 1528 net/mac80211/chan.c lockdep_is_held(&local->chanctx_mtx)); local 1537 net/mac80211/chan.c ieee80211_chanctx_num_reserved(local, local 1545 net/mac80211/chan.c if (ieee80211_chanctx_refcount(local, ctx) == 0) local 1546 net/mac80211/chan.c ieee80211_free_chanctx(local, ctx); local 1552 net/mac80211/chan.c ieee80211_vif_use_reserved_switch(local); local 1559 net/mac80211/chan.c struct ieee80211_local *local = sdata->local; local 1564 net/mac80211/chan.c lockdep_assert_held(&local->mtx); local 1568 net/mac80211/chan.c mutex_lock(&local->chanctx_mtx); local 1570 net/mac80211/chan.c ret = cfg80211_chandef_dfs_required(local->hw.wiphy, local 1587 net/mac80211/chan.c ctx = ieee80211_find_chanctx(local, chandef, mode); local 1589 net/mac80211/chan.c ctx = ieee80211_new_chanctx(local, chandef, mode); local 1600 net/mac80211/chan.c if (ieee80211_chanctx_refcount(local, ctx) == 0) local 1601 net/mac80211/chan.c ieee80211_free_chanctx(local, ctx); local 1605 net/mac80211/chan.c ieee80211_recalc_smps_chanctx(local, ctx); local 1606 net/mac80211/chan.c ieee80211_recalc_radar_chanctx(local, ctx); local 1611 net/mac80211/chan.c mutex_unlock(&local->chanctx_mtx); local 1617 net/mac80211/chan.c struct ieee80211_local *local = sdata->local; local 1622 net/mac80211/chan.c lockdep_assert_held(&local->mtx); local 1623 net/mac80211/chan.c lockdep_assert_held(&local->chanctx_mtx); local 1664 net/mac80211/chan.c err = ieee80211_vif_use_reserved_switch(local); local 1670 net/mac80211/chan.c wiphy_info(local->hw.wiphy, local 1683 net/mac80211/chan.c struct ieee80211_local *local = sdata->local; local 1689 net/mac80211/chan.c if (!cfg80211_chandef_usable(sdata->local->hw.wiphy, chandef, local 1693 net/mac80211/chan.c mutex_lock(&local->chanctx_mtx); local 1706 net/mac80211/chan.c lockdep_is_held(&local->chanctx_mtx)); local 1722 net/mac80211/chan.c if (!ieee80211_chanctx_reserved_chandef(local, ctx, compat)) { local 1742 net/mac80211/chan.c ieee80211_recalc_chanctx_chantype(local, ctx); local 1747 net/mac80211/chan.c mutex_unlock(&local->chanctx_mtx); local 1755 net/mac80211/chan.c lockdep_assert_held(&sdata->local->mtx); local 1757 net/mac80211/chan.c mutex_lock(&sdata->local->chanctx_mtx); local 1759 net/mac80211/chan.c mutex_unlock(&sdata->local->chanctx_mtx); local 1764 net/mac80211/chan.c struct ieee80211_local *local = sdata->local; local 1773 net/mac80211/chan.c mutex_lock(&local->chanctx_mtx); local 1776 net/mac80211/chan.c lockdep_is_held(&local->chanctx_mtx)); local 1778 net/mac80211/chan.c mutex_unlock(&local->chanctx_mtx); local 1788 net/mac80211/chan.c struct ieee80211_local *local = hw_to_local(hw); local 1792 net/mac80211/chan.c list_for_each_entry_rcu(ctx, &local->chanctx_list, list) local 38 net/mac80211/debugfs.c struct ieee80211_local *local = file->private_data; \ local 56 net/mac80211/debugfs.c debugfs_create_file(#name, 0400, phyd, local, &name## _ops); local 59 net/mac80211/debugfs.c debugfs_create_file(#name, mode, phyd, local, &name## _ops); local 63 net/mac80211/debugfs.c local->user_power_level); local 65 net/mac80211/debugfs.c local->hw.conf.power_level); local 67 net/mac80211/debugfs.c local->total_ps_buffered); local 69 net/mac80211/debugfs.c local->wep_iv & 0xffffff); local 71 net/mac80211/debugfs.c local->rate_ctrl ? local->rate_ctrl->ops->name : "hw/driver"); local 78 net/mac80211/debugfs.c struct ieee80211_local *local = file->private_data; local 79 net/mac80211/debugfs.c struct fq *fq = &local->fq; local 83 net/mac80211/debugfs.c spin_lock_bh(&local->fq.lock); local 108 net/mac80211/debugfs.c spin_unlock_bh(&local->fq.lock); local 119 net/mac80211/debugfs.c struct ieee80211_local *local = file->private_data; local 134 net/mac80211/debugfs.c if (sscanf(buf, "fq_limit %u", &local->fq.limit) == 1) local 136 net/mac80211/debugfs.c else if (sscanf(buf, "fq_memory_limit %u", &local->fq.memory_limit) == 1) local 138 net/mac80211/debugfs.c else if (sscanf(buf, "fq_quantum %u", &local->fq.quantum) == 1) local 156 net/mac80211/debugfs.c struct ieee80211_local *local = file->private_data; local 160 net/mac80211/debugfs.c len = scnprintf(buf, sizeof(buf), "%d\n", (int)local->force_tx_status); local 171 net/mac80211/debugfs.c struct ieee80211_local *local = file->private_data; local 187 net/mac80211/debugfs.c local->force_tx_status = 0; local 189 net/mac80211/debugfs.c local->force_tx_status = 1; local 207 net/mac80211/debugfs.c struct ieee80211_local *local = file->private_data; local 210 net/mac80211/debugfs.c __ieee80211_suspend(&local->hw, NULL); local 211 net/mac80211/debugfs.c __ieee80211_resume(&local->hw); local 281 net/mac80211/debugfs.c struct ieee80211_local *local = file->private_data; local 297 net/mac80211/debugfs.c if (test_bit(i, local->hw.flags)) local 310 net/mac80211/debugfs.c struct ieee80211_local *local = file->private_data; local 329 net/mac80211/debugfs.c ln = skb_queue_len(&local->pending[i]); local 342 net/mac80211/debugfs.c struct ieee80211_local *local = file->private_data; local 347 net/mac80211/debugfs.c spin_lock_irqsave(&local->queue_stop_reason_lock, flags); local 348 net/mac80211/debugfs.c for (q = 0; q < local->hw.queues; q++) local 350 net/mac80211/debugfs.c local->queue_stop_reasons[q], local 351 net/mac80211/debugfs.c skb_queue_len(&local->pending[q])); local 352 net/mac80211/debugfs.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); local 363 net/mac80211/debugfs.c static ssize_t format_devstat_counter(struct ieee80211_local *local, local 374 net/mac80211/debugfs.c res = drv_get_stats(local, &stats); local 406 net/mac80211/debugfs.c debugfs_create_u32(#name, 0400, statsd, &local->name); local 408 net/mac80211/debugfs.c debugfs_create_file(#name, 0400, statsd, local, &stats_ ##name## _ops); local 415 net/mac80211/debugfs.c void debugfs_hw_add(struct ieee80211_local *local) local 417 net/mac80211/debugfs.c struct dentry *phyd = local->hw.wiphy->debugfsdir; local 423 net/mac80211/debugfs.c local->debugfs.keys = debugfs_create_dir("keys", phyd); local 438 net/mac80211/debugfs.c if (local->ops->wake_tx_queue) local 442 net/mac80211/debugfs.c phyd, &local->airtime_flags); local 8 net/mac80211/debugfs.h void debugfs_hw_add(struct ieee80211_local *local); local 12 net/mac80211/debugfs.h static inline void debugfs_hw_add(struct ieee80211_local *local) local 333 net/mac80211/debugfs_key.c if (!key->local->debugfs.keys) local 340 net/mac80211/debugfs_key.c key->local->debugfs.keys); local 381 net/mac80211/debugfs_key.c lockdep_assert_held(&sdata->local->key_mtx); local 387 net/mac80211/debugfs_key.c key = key_mtx_dereference(sdata->local, local 399 net/mac80211/debugfs_key.c key = key_mtx_dereference(sdata->local, local 416 net/mac80211/debugfs_key.c key = key_mtx_dereference(sdata->local, local 244 net/mac80211/debugfs_netdev.c struct ieee80211_local *local = sdata->local; local 247 net/mac80211/debugfs_netdev.c if (!(local->hw.wiphy->features & NL80211_FEATURE_STATIC_SMPS) && local 252 net/mac80211/debugfs_netdev.c if (!(local->hw.wiphy->features & NL80211_FEATURE_DYNAMIC_SMPS) && local 313 net/mac80211/debugfs_netdev.c struct ieee80211_local *local = sdata->local; local 325 net/mac80211/debugfs_netdev.c skb = dev_alloc_skb(local->hw.extra_tx_headroom + 24 + 100); local 328 net/mac80211/debugfs_netdev.c skb_reserve(skb, local->hw.extra_tx_headroom); local 450 net/mac80211/debugfs_netdev.c tdls_wider_bw = ieee80211_hw_check(&sdata->local->hw, TDLS_WIDER_BW) && local 489 net/mac80211/debugfs_netdev.c struct ieee80211_local *local = sdata->local; local 498 net/mac80211/debugfs_netdev.c spin_lock_bh(&local->fq.lock); local 517 net/mac80211/debugfs_netdev.c spin_unlock_bh(&local->fq.lock); local 529 net/mac80211/debugfs_netdev.c struct ieee80211_local *local = sdata->local; local 532 net/mac80211/debugfs_netdev.c tsf = drv_get_tsf(local, (struct ieee80211_sub_if_data *)sdata); local 540 net/mac80211/debugfs_netdev.c struct ieee80211_local *local = sdata->local; local 546 net/mac80211/debugfs_netdev.c if (local->ops->reset_tsf) { local 547 net/mac80211/debugfs_netdev.c drv_reset_tsf(local, sdata); local 548 net/mac80211/debugfs_netdev.c wiphy_info(local->hw.wiphy, "debugfs reset TSF\n"); local 563 net/mac80211/debugfs_netdev.c if (tsf_is_delta && local->ops->offset_tsf) { local 564 net/mac80211/debugfs_netdev.c drv_offset_tsf(local, sdata, tsf_is_delta * tsf); local 565 net/mac80211/debugfs_netdev.c wiphy_info(local->hw.wiphy, local 568 net/mac80211/debugfs_netdev.c } else if (local->ops->set_tsf) { local 570 net/mac80211/debugfs_netdev.c tsf = drv_get_tsf(local, sdata) + local 572 net/mac80211/debugfs_netdev.c drv_set_tsf(local, sdata, tsf); local 573 net/mac80211/debugfs_netdev.c wiphy_info(local->hw.wiphy, local 578 net/mac80211/debugfs_netdev.c ieee80211_recalc_dtim(local, sdata); local 666 net/mac80211/debugfs_netdev.c if (sdata->local->ops->wake_tx_queue && local 824 net/mac80211/debugfs_netdev.c sdata->local->hw.wiphy->debugfsdir); local 141 net/mac80211/debugfs_sta.c struct ieee80211_local *local = sta->local; local 151 net/mac80211/debugfs_sta.c spin_lock_bh(&local->fq.lock); local 188 net/mac80211/debugfs_sta.c spin_unlock_bh(&local->fq.lock); local 200 net/mac80211/debugfs_sta.c struct ieee80211_local *local = sta->sdata->local; local 212 net/mac80211/debugfs_sta.c spin_lock_bh(&local->active_txq_lock[ac]); local 216 net/mac80211/debugfs_sta.c spin_unlock_bh(&local->active_txq_lock[ac]); local 239 net/mac80211/debugfs_sta.c struct ieee80211_local *local = sta->sdata->local; local 243 net/mac80211/debugfs_sta.c spin_lock_bh(&local->active_txq_lock[ac]); local 247 net/mac80211/debugfs_sta.c spin_unlock_bh(&local->active_txq_lock[ac]); local 941 net/mac80211/debugfs_sta.c struct ieee80211_local *local = sta->local; local 975 net/mac80211/debugfs_sta.c if (local->ops->wake_tx_queue) local 978 net/mac80211/debugfs_sta.c if (wiphy_ext_feature_isset(local->hw.wiphy, local 991 net/mac80211/debugfs_sta.c drv_sta_add_debugfs(local, sdata, &sta->sta, sta->debugfs_dir); local 10 net/mac80211/driver-ops.c int drv_start(struct ieee80211_local *local) local 16 net/mac80211/driver-ops.c if (WARN_ON(local->started)) local 19 net/mac80211/driver-ops.c trace_drv_start(local); local 20 net/mac80211/driver-ops.c local->started = true; local 23 net/mac80211/driver-ops.c ret = local->ops->start(&local->hw); local 24 net/mac80211/driver-ops.c trace_drv_return_int(local, ret); local 27 net/mac80211/driver-ops.c local->started = false; local 32 net/mac80211/driver-ops.c void drv_stop(struct ieee80211_local *local) local 36 net/mac80211/driver-ops.c if (WARN_ON(!local->started)) local 39 net/mac80211/driver-ops.c trace_drv_stop(local); local 40 net/mac80211/driver-ops.c local->ops->stop(&local->hw); local 41 net/mac80211/driver-ops.c trace_drv_return_void(local); local 44 net/mac80211/driver-ops.c tasklet_disable(&local->tasklet); local 45 net/mac80211/driver-ops.c tasklet_enable(&local->tasklet); local 49 net/mac80211/driver-ops.c local->started = false; local 52 net/mac80211/driver-ops.c int drv_add_interface(struct ieee80211_local *local, local 61 net/mac80211/driver-ops.c !ieee80211_hw_check(&local->hw, WANT_MONITOR_VIF) && local 65 net/mac80211/driver-ops.c trace_drv_add_interface(local, sdata); local 66 net/mac80211/driver-ops.c ret = local->ops->add_interface(&local->hw, &sdata->vif); local 67 net/mac80211/driver-ops.c trace_drv_return_int(local, ret); local 75 net/mac80211/driver-ops.c int drv_change_interface(struct ieee80211_local *local, local 86 net/mac80211/driver-ops.c trace_drv_change_interface(local, sdata, type, p2p); local 87 net/mac80211/driver-ops.c ret = local->ops->change_interface(&local->hw, &sdata->vif, type, p2p); local 88 net/mac80211/driver-ops.c trace_drv_return_int(local, ret); local 92 net/mac80211/driver-ops.c void drv_remove_interface(struct ieee80211_local *local, local 100 net/mac80211/driver-ops.c trace_drv_remove_interface(local, sdata); local 101 net/mac80211/driver-ops.c local->ops->remove_interface(&local->hw, &sdata->vif); local 103 net/mac80211/driver-ops.c trace_drv_return_void(local); local 107 net/mac80211/driver-ops.c int drv_sta_state(struct ieee80211_local *local, local 121 net/mac80211/driver-ops.c trace_drv_sta_state(local, sdata, &sta->sta, old_state, new_state); local 122 net/mac80211/driver-ops.c if (local->ops->sta_state) { local 123 net/mac80211/driver-ops.c ret = local->ops->sta_state(&local->hw, &sdata->vif, &sta->sta, local 127 net/mac80211/driver-ops.c ret = drv_sta_add(local, sdata, &sta->sta); local 132 net/mac80211/driver-ops.c drv_sta_remove(local, sdata, &sta->sta); local 134 net/mac80211/driver-ops.c trace_drv_return_int(local, ret); local 139 net/mac80211/driver-ops.c int drv_sta_set_txpwr(struct ieee80211_local *local, local 151 net/mac80211/driver-ops.c trace_drv_sta_set_txpwr(local, sdata, &sta->sta); local 152 net/mac80211/driver-ops.c if (local->ops->sta_set_txpwr) local 153 net/mac80211/driver-ops.c ret = local->ops->sta_set_txpwr(&local->hw, &sdata->vif, local 155 net/mac80211/driver-ops.c trace_drv_return_int(local, ret); local 159 net/mac80211/driver-ops.c void drv_sta_rc_update(struct ieee80211_local *local, local 171 net/mac80211/driver-ops.c trace_drv_sta_rc_update(local, sdata, sta, changed); local 172 net/mac80211/driver-ops.c if (local->ops->sta_rc_update) local 173 net/mac80211/driver-ops.c local->ops->sta_rc_update(&local->hw, &sdata->vif, local 176 net/mac80211/driver-ops.c trace_drv_return_void(local); local 179 net/mac80211/driver-ops.c int drv_conf_tx(struct ieee80211_local *local, local 195 net/mac80211/driver-ops.c WARN_ONCE(local->ops->conf_tx, local 201 net/mac80211/driver-ops.c trace_drv_conf_tx(local, sdata, ac, params); local 202 net/mac80211/driver-ops.c if (local->ops->conf_tx) local 203 net/mac80211/driver-ops.c ret = local->ops->conf_tx(&local->hw, &sdata->vif, local 205 net/mac80211/driver-ops.c trace_drv_return_int(local, ret); local 209 net/mac80211/driver-ops.c u64 drv_get_tsf(struct ieee80211_local *local, local 219 net/mac80211/driver-ops.c trace_drv_get_tsf(local, sdata); local 220 net/mac80211/driver-ops.c if (local->ops->get_tsf) local 221 net/mac80211/driver-ops.c ret = local->ops->get_tsf(&local->hw, &sdata->vif); local 222 net/mac80211/driver-ops.c trace_drv_return_u64(local, ret); local 226 net/mac80211/driver-ops.c void drv_set_tsf(struct ieee80211_local *local, local 235 net/mac80211/driver-ops.c trace_drv_set_tsf(local, sdata, tsf); local 236 net/mac80211/driver-ops.c if (local->ops->set_tsf) local 237 net/mac80211/driver-ops.c local->ops->set_tsf(&local->hw, &sdata->vif, tsf); local 238 net/mac80211/driver-ops.c trace_drv_return_void(local); local 241 net/mac80211/driver-ops.c void drv_offset_tsf(struct ieee80211_local *local, local 250 net/mac80211/driver-ops.c trace_drv_offset_tsf(local, sdata, offset); local 251 net/mac80211/driver-ops.c if (local->ops->offset_tsf) local 252 net/mac80211/driver-ops.c local->ops->offset_tsf(&local->hw, &sdata->vif, offset); local 253 net/mac80211/driver-ops.c trace_drv_return_void(local); local 256 net/mac80211/driver-ops.c void drv_reset_tsf(struct ieee80211_local *local, local 264 net/mac80211/driver-ops.c trace_drv_reset_tsf(local, sdata); local 265 net/mac80211/driver-ops.c if (local->ops->reset_tsf) local 266 net/mac80211/driver-ops.c local->ops->reset_tsf(&local->hw, &sdata->vif); local 267 net/mac80211/driver-ops.c trace_drv_return_void(local); local 270 net/mac80211/driver-ops.c int drv_switch_vif_chanctx(struct ieee80211_local *local, local 279 net/mac80211/driver-ops.c if (!local->ops->switch_vif_chanctx) local 299 net/mac80211/driver-ops.c trace_drv_switch_vif_chanctx(local, vifs, n_vifs, mode); local 300 net/mac80211/driver-ops.c ret = local->ops->switch_vif_chanctx(&local->hw, local 302 net/mac80211/driver-ops.c trace_drv_return_int(local, ret); local 323 net/mac80211/driver-ops.c int drv_ampdu_action(struct ieee80211_local *local, local 335 net/mac80211/driver-ops.c trace_drv_ampdu_action(local, sdata, params); local 337 net/mac80211/driver-ops.c if (local->ops->ampdu_action) local 338 net/mac80211/driver-ops.c ret = local->ops->ampdu_action(&local->hw, &sdata->vif, params); local 340 net/mac80211/driver-ops.c trace_drv_return_int(local, ret); local 32 net/mac80211/driver-ops.h static inline void drv_tx(struct ieee80211_local *local, local 36 net/mac80211/driver-ops.h local->ops->tx(&local->hw, control, skb); local 39 net/mac80211/driver-ops.h static inline void drv_sync_rx_queues(struct ieee80211_local *local, local 42 net/mac80211/driver-ops.h if (local->ops->sync_rx_queues) { local 43 net/mac80211/driver-ops.h trace_drv_sync_rx_queues(local, sta->sdata, &sta->sta); local 44 net/mac80211/driver-ops.h local->ops->sync_rx_queues(&local->hw); local 45 net/mac80211/driver-ops.h trace_drv_return_void(local); local 52 net/mac80211/driver-ops.h struct ieee80211_local *local = sdata->local; local 53 net/mac80211/driver-ops.h if (local->ops->get_et_strings) { local 54 net/mac80211/driver-ops.h trace_drv_get_et_strings(local, sset); local 55 net/mac80211/driver-ops.h local->ops->get_et_strings(&local->hw, &sdata->vif, sset, data); local 56 net/mac80211/driver-ops.h trace_drv_return_void(local); local 64 net/mac80211/driver-ops.h struct ieee80211_local *local = sdata->local; local 65 net/mac80211/driver-ops.h if (local->ops->get_et_stats) { local 66 net/mac80211/driver-ops.h trace_drv_get_et_stats(local); local 67 net/mac80211/driver-ops.h local->ops->get_et_stats(&local->hw, &sdata->vif, stats, data); local 68 net/mac80211/driver-ops.h trace_drv_return_void(local); local 75 net/mac80211/driver-ops.h struct ieee80211_local *local = sdata->local; local 77 net/mac80211/driver-ops.h if (local->ops->get_et_sset_count) { local 78 net/mac80211/driver-ops.h trace_drv_get_et_sset_count(local, sset); local 79 net/mac80211/driver-ops.h rv = local->ops->get_et_sset_count(&local->hw, &sdata->vif, local 81 net/mac80211/driver-ops.h trace_drv_return_int(local, rv); local 86 net/mac80211/driver-ops.h int drv_start(struct ieee80211_local *local); local 87 net/mac80211/driver-ops.h void drv_stop(struct ieee80211_local *local); local 90 net/mac80211/driver-ops.h static inline int drv_suspend(struct ieee80211_local *local, local 97 net/mac80211/driver-ops.h trace_drv_suspend(local); local 98 net/mac80211/driver-ops.h ret = local->ops->suspend(&local->hw, wowlan); local 99 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 103 net/mac80211/driver-ops.h static inline int drv_resume(struct ieee80211_local *local) local 109 net/mac80211/driver-ops.h trace_drv_resume(local); local 110 net/mac80211/driver-ops.h ret = local->ops->resume(&local->hw); local 111 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 115 net/mac80211/driver-ops.h static inline void drv_set_wakeup(struct ieee80211_local *local, local 120 net/mac80211/driver-ops.h if (!local->ops->set_wakeup) local 123 net/mac80211/driver-ops.h trace_drv_set_wakeup(local, enabled); local 124 net/mac80211/driver-ops.h local->ops->set_wakeup(&local->hw, enabled); local 125 net/mac80211/driver-ops.h trace_drv_return_void(local); local 129 net/mac80211/driver-ops.h int drv_add_interface(struct ieee80211_local *local, local 132 net/mac80211/driver-ops.h int drv_change_interface(struct ieee80211_local *local, local 136 net/mac80211/driver-ops.h void drv_remove_interface(struct ieee80211_local *local, local 139 net/mac80211/driver-ops.h static inline int drv_config(struct ieee80211_local *local, u32 changed) local 145 net/mac80211/driver-ops.h trace_drv_config(local, changed); local 146 net/mac80211/driver-ops.h ret = local->ops->config(&local->hw, changed); local 147 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 151 net/mac80211/driver-ops.h static inline void drv_bss_info_changed(struct ieee80211_local *local, local 176 net/mac80211/driver-ops.h trace_drv_bss_info_changed(local, sdata, info, changed); local 177 net/mac80211/driver-ops.h if (local->ops->bss_info_changed) local 178 net/mac80211/driver-ops.h local->ops->bss_info_changed(&local->hw, &sdata->vif, info, changed); local 179 net/mac80211/driver-ops.h trace_drv_return_void(local); local 182 net/mac80211/driver-ops.h static inline u64 drv_prepare_multicast(struct ieee80211_local *local, local 187 net/mac80211/driver-ops.h trace_drv_prepare_multicast(local, mc_list->count); local 189 net/mac80211/driver-ops.h if (local->ops->prepare_multicast) local 190 net/mac80211/driver-ops.h ret = local->ops->prepare_multicast(&local->hw, mc_list); local 192 net/mac80211/driver-ops.h trace_drv_return_u64(local, ret); local 197 net/mac80211/driver-ops.h static inline void drv_configure_filter(struct ieee80211_local *local, local 204 net/mac80211/driver-ops.h trace_drv_configure_filter(local, changed_flags, total_flags, local 206 net/mac80211/driver-ops.h local->ops->configure_filter(&local->hw, changed_flags, total_flags, local 208 net/mac80211/driver-ops.h trace_drv_return_void(local); local 211 net/mac80211/driver-ops.h static inline void drv_config_iface_filter(struct ieee80211_local *local, local 218 net/mac80211/driver-ops.h trace_drv_config_iface_filter(local, sdata, filter_flags, local 220 net/mac80211/driver-ops.h if (local->ops->config_iface_filter) local 221 net/mac80211/driver-ops.h local->ops->config_iface_filter(&local->hw, &sdata->vif, local 224 net/mac80211/driver-ops.h trace_drv_return_void(local); local 227 net/mac80211/driver-ops.h static inline int drv_set_tim(struct ieee80211_local *local, local 231 net/mac80211/driver-ops.h trace_drv_set_tim(local, sta, set); local 232 net/mac80211/driver-ops.h if (local->ops->set_tim) local 233 net/mac80211/driver-ops.h ret = local->ops->set_tim(&local->hw, sta, set); local 234 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 238 net/mac80211/driver-ops.h static inline int drv_set_key(struct ieee80211_local *local, local 252 net/mac80211/driver-ops.h trace_drv_set_key(local, cmd, sdata, sta, key); local 253 net/mac80211/driver-ops.h ret = local->ops->set_key(&local->hw, cmd, &sdata->vif, sta, key); local 254 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 258 net/mac80211/driver-ops.h static inline void drv_update_tkip_key(struct ieee80211_local *local, local 273 net/mac80211/driver-ops.h trace_drv_update_tkip_key(local, sdata, conf, ista, iv32); local 274 net/mac80211/driver-ops.h if (local->ops->update_tkip_key) local 275 net/mac80211/driver-ops.h local->ops->update_tkip_key(&local->hw, &sdata->vif, conf, local 277 net/mac80211/driver-ops.h trace_drv_return_void(local); local 280 net/mac80211/driver-ops.h static inline int drv_hw_scan(struct ieee80211_local *local, local 291 net/mac80211/driver-ops.h trace_drv_hw_scan(local, sdata); local 292 net/mac80211/driver-ops.h ret = local->ops->hw_scan(&local->hw, &sdata->vif, req); local 293 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 297 net/mac80211/driver-ops.h static inline void drv_cancel_hw_scan(struct ieee80211_local *local, local 305 net/mac80211/driver-ops.h trace_drv_cancel_hw_scan(local, sdata); local 306 net/mac80211/driver-ops.h local->ops->cancel_hw_scan(&local->hw, &sdata->vif); local 307 net/mac80211/driver-ops.h trace_drv_return_void(local); local 311 net/mac80211/driver-ops.h drv_sched_scan_start(struct ieee80211_local *local, local 323 net/mac80211/driver-ops.h trace_drv_sched_scan_start(local, sdata); local 324 net/mac80211/driver-ops.h ret = local->ops->sched_scan_start(&local->hw, &sdata->vif, local 326 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 330 net/mac80211/driver-ops.h static inline int drv_sched_scan_stop(struct ieee80211_local *local, local 340 net/mac80211/driver-ops.h trace_drv_sched_scan_stop(local, sdata); local 341 net/mac80211/driver-ops.h ret = local->ops->sched_scan_stop(&local->hw, &sdata->vif); local 342 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 347 net/mac80211/driver-ops.h static inline void drv_sw_scan_start(struct ieee80211_local *local, local 353 net/mac80211/driver-ops.h trace_drv_sw_scan_start(local, sdata, mac_addr); local 354 net/mac80211/driver-ops.h if (local->ops->sw_scan_start) local 355 net/mac80211/driver-ops.h local->ops->sw_scan_start(&local->hw, &sdata->vif, mac_addr); local 356 net/mac80211/driver-ops.h trace_drv_return_void(local); local 359 net/mac80211/driver-ops.h static inline void drv_sw_scan_complete(struct ieee80211_local *local, local 364 net/mac80211/driver-ops.h trace_drv_sw_scan_complete(local, sdata); local 365 net/mac80211/driver-ops.h if (local->ops->sw_scan_complete) local 366 net/mac80211/driver-ops.h local->ops->sw_scan_complete(&local->hw, &sdata->vif); local 367 net/mac80211/driver-ops.h trace_drv_return_void(local); local 370 net/mac80211/driver-ops.h static inline int drv_get_stats(struct ieee80211_local *local, local 377 net/mac80211/driver-ops.h if (local->ops->get_stats) local 378 net/mac80211/driver-ops.h ret = local->ops->get_stats(&local->hw, stats); local 379 net/mac80211/driver-ops.h trace_drv_get_stats(local, stats, ret); local 384 net/mac80211/driver-ops.h static inline void drv_get_key_seq(struct ieee80211_local *local, local 388 net/mac80211/driver-ops.h if (local->ops->get_key_seq) local 389 net/mac80211/driver-ops.h local->ops->get_key_seq(&local->hw, &key->conf, seq); local 390 net/mac80211/driver-ops.h trace_drv_get_key_seq(local, &key->conf); local 393 net/mac80211/driver-ops.h static inline int drv_set_frag_threshold(struct ieee80211_local *local, local 400 net/mac80211/driver-ops.h trace_drv_set_frag_threshold(local, value); local 401 net/mac80211/driver-ops.h if (local->ops->set_frag_threshold) local 402 net/mac80211/driver-ops.h ret = local->ops->set_frag_threshold(&local->hw, value); local 403 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 407 net/mac80211/driver-ops.h static inline int drv_set_rts_threshold(struct ieee80211_local *local, local 414 net/mac80211/driver-ops.h trace_drv_set_rts_threshold(local, value); local 415 net/mac80211/driver-ops.h if (local->ops->set_rts_threshold) local 416 net/mac80211/driver-ops.h ret = local->ops->set_rts_threshold(&local->hw, value); local 417 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 421 net/mac80211/driver-ops.h static inline int drv_set_coverage_class(struct ieee80211_local *local, local 427 net/mac80211/driver-ops.h trace_drv_set_coverage_class(local, value); local 428 net/mac80211/driver-ops.h if (local->ops->set_coverage_class) local 429 net/mac80211/driver-ops.h local->ops->set_coverage_class(&local->hw, value); local 433 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 437 net/mac80211/driver-ops.h static inline void drv_sta_notify(struct ieee80211_local *local, local 446 net/mac80211/driver-ops.h trace_drv_sta_notify(local, sdata, cmd, sta); local 447 net/mac80211/driver-ops.h if (local->ops->sta_notify) local 448 net/mac80211/driver-ops.h local->ops->sta_notify(&local->hw, &sdata->vif, cmd, sta); local 449 net/mac80211/driver-ops.h trace_drv_return_void(local); local 452 net/mac80211/driver-ops.h static inline int drv_sta_add(struct ieee80211_local *local, local 464 net/mac80211/driver-ops.h trace_drv_sta_add(local, sdata, sta); local 465 net/mac80211/driver-ops.h if (local->ops->sta_add) local 466 net/mac80211/driver-ops.h ret = local->ops->sta_add(&local->hw, &sdata->vif, sta); local 468 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 473 net/mac80211/driver-ops.h static inline void drv_sta_remove(struct ieee80211_local *local, local 483 net/mac80211/driver-ops.h trace_drv_sta_remove(local, sdata, sta); local 484 net/mac80211/driver-ops.h if (local->ops->sta_remove) local 485 net/mac80211/driver-ops.h local->ops->sta_remove(&local->hw, &sdata->vif, sta); local 487 net/mac80211/driver-ops.h trace_drv_return_void(local); local 491 net/mac80211/driver-ops.h static inline void drv_sta_add_debugfs(struct ieee80211_local *local, local 502 net/mac80211/driver-ops.h if (local->ops->sta_add_debugfs) local 503 net/mac80211/driver-ops.h local->ops->sta_add_debugfs(&local->hw, &sdata->vif, local 508 net/mac80211/driver-ops.h static inline void drv_sta_pre_rcu_remove(struct ieee80211_local *local, local 518 net/mac80211/driver-ops.h trace_drv_sta_pre_rcu_remove(local, sdata, &sta->sta); local 519 net/mac80211/driver-ops.h if (local->ops->sta_pre_rcu_remove) local 520 net/mac80211/driver-ops.h local->ops->sta_pre_rcu_remove(&local->hw, &sdata->vif, local 522 net/mac80211/driver-ops.h trace_drv_return_void(local); local 526 net/mac80211/driver-ops.h int drv_sta_state(struct ieee80211_local *local, local 533 net/mac80211/driver-ops.h int drv_sta_set_txpwr(struct ieee80211_local *local, local 537 net/mac80211/driver-ops.h void drv_sta_rc_update(struct ieee80211_local *local, local 541 net/mac80211/driver-ops.h static inline void drv_sta_rate_tbl_update(struct ieee80211_local *local, local 549 net/mac80211/driver-ops.h trace_drv_sta_rate_tbl_update(local, sdata, sta); local 550 net/mac80211/driver-ops.h if (local->ops->sta_rate_tbl_update) local 551 net/mac80211/driver-ops.h local->ops->sta_rate_tbl_update(&local->hw, &sdata->vif, sta); local 553 net/mac80211/driver-ops.h trace_drv_return_void(local); local 556 net/mac80211/driver-ops.h static inline void drv_sta_statistics(struct ieee80211_local *local, local 565 net/mac80211/driver-ops.h trace_drv_sta_statistics(local, sdata, sta); local 566 net/mac80211/driver-ops.h if (local->ops->sta_statistics) local 567 net/mac80211/driver-ops.h local->ops->sta_statistics(&local->hw, &sdata->vif, sta, sinfo); local 568 net/mac80211/driver-ops.h trace_drv_return_void(local); local 571 net/mac80211/driver-ops.h int drv_conf_tx(struct ieee80211_local *local, local 575 net/mac80211/driver-ops.h u64 drv_get_tsf(struct ieee80211_local *local, local 577 net/mac80211/driver-ops.h void drv_set_tsf(struct ieee80211_local *local, local 580 net/mac80211/driver-ops.h void drv_offset_tsf(struct ieee80211_local *local, local 583 net/mac80211/driver-ops.h void drv_reset_tsf(struct ieee80211_local *local, local 586 net/mac80211/driver-ops.h static inline int drv_tx_last_beacon(struct ieee80211_local *local) local 592 net/mac80211/driver-ops.h trace_drv_tx_last_beacon(local); local 593 net/mac80211/driver-ops.h if (local->ops->tx_last_beacon) local 594 net/mac80211/driver-ops.h ret = local->ops->tx_last_beacon(&local->hw); local 595 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 599 net/mac80211/driver-ops.h int drv_ampdu_action(struct ieee80211_local *local, local 603 net/mac80211/driver-ops.h static inline int drv_get_survey(struct ieee80211_local *local, int idx, local 608 net/mac80211/driver-ops.h trace_drv_get_survey(local, idx, survey); local 610 net/mac80211/driver-ops.h if (local->ops->get_survey) local 611 net/mac80211/driver-ops.h ret = local->ops->get_survey(&local->hw, idx, survey); local 613 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 618 net/mac80211/driver-ops.h static inline void drv_rfkill_poll(struct ieee80211_local *local) local 622 net/mac80211/driver-ops.h if (local->ops->rfkill_poll) local 623 net/mac80211/driver-ops.h local->ops->rfkill_poll(&local->hw); local 626 net/mac80211/driver-ops.h static inline void drv_flush(struct ieee80211_local *local, local 637 net/mac80211/driver-ops.h trace_drv_flush(local, queues, drop); local 638 net/mac80211/driver-ops.h if (local->ops->flush) local 639 net/mac80211/driver-ops.h local->ops->flush(&local->hw, vif, queues, drop); local 640 net/mac80211/driver-ops.h trace_drv_return_void(local); local 643 net/mac80211/driver-ops.h static inline void drv_channel_switch(struct ieee80211_local *local, local 649 net/mac80211/driver-ops.h trace_drv_channel_switch(local, sdata, ch_switch); local 650 net/mac80211/driver-ops.h local->ops->channel_switch(&local->hw, &sdata->vif, ch_switch); local 651 net/mac80211/driver-ops.h trace_drv_return_void(local); local 655 net/mac80211/driver-ops.h static inline int drv_set_antenna(struct ieee80211_local *local, local 660 net/mac80211/driver-ops.h if (local->ops->set_antenna) local 661 net/mac80211/driver-ops.h ret = local->ops->set_antenna(&local->hw, tx_ant, rx_ant); local 662 net/mac80211/driver-ops.h trace_drv_set_antenna(local, tx_ant, rx_ant, ret); local 666 net/mac80211/driver-ops.h static inline int drv_get_antenna(struct ieee80211_local *local, local 671 net/mac80211/driver-ops.h if (local->ops->get_antenna) local 672 net/mac80211/driver-ops.h ret = local->ops->get_antenna(&local->hw, tx_ant, rx_ant); local 673 net/mac80211/driver-ops.h trace_drv_get_antenna(local, *tx_ant, *rx_ant, ret); local 677 net/mac80211/driver-ops.h static inline int drv_remain_on_channel(struct ieee80211_local *local, local 687 net/mac80211/driver-ops.h trace_drv_remain_on_channel(local, sdata, chan, duration, type); local 688 net/mac80211/driver-ops.h ret = local->ops->remain_on_channel(&local->hw, &sdata->vif, local 690 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 696 net/mac80211/driver-ops.h drv_cancel_remain_on_channel(struct ieee80211_local *local, local 703 net/mac80211/driver-ops.h trace_drv_cancel_remain_on_channel(local, sdata); local 704 net/mac80211/driver-ops.h ret = local->ops->cancel_remain_on_channel(&local->hw, &sdata->vif); local 705 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 710 net/mac80211/driver-ops.h static inline int drv_set_ringparam(struct ieee80211_local *local, local 717 net/mac80211/driver-ops.h trace_drv_set_ringparam(local, tx, rx); local 718 net/mac80211/driver-ops.h if (local->ops->set_ringparam) local 719 net/mac80211/driver-ops.h ret = local->ops->set_ringparam(&local->hw, tx, rx); local 720 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 725 net/mac80211/driver-ops.h static inline void drv_get_ringparam(struct ieee80211_local *local, local 730 net/mac80211/driver-ops.h trace_drv_get_ringparam(local, tx, tx_max, rx, rx_max); local 731 net/mac80211/driver-ops.h if (local->ops->get_ringparam) local 732 net/mac80211/driver-ops.h local->ops->get_ringparam(&local->hw, tx, tx_max, rx, rx_max); local 733 net/mac80211/driver-ops.h trace_drv_return_void(local); local 736 net/mac80211/driver-ops.h static inline bool drv_tx_frames_pending(struct ieee80211_local *local) local 742 net/mac80211/driver-ops.h trace_drv_tx_frames_pending(local); local 743 net/mac80211/driver-ops.h if (local->ops->tx_frames_pending) local 744 net/mac80211/driver-ops.h ret = local->ops->tx_frames_pending(&local->hw); local 745 net/mac80211/driver-ops.h trace_drv_return_bool(local, ret); local 750 net/mac80211/driver-ops.h static inline int drv_set_bitrate_mask(struct ieee80211_local *local, local 761 net/mac80211/driver-ops.h trace_drv_set_bitrate_mask(local, sdata, mask); local 762 net/mac80211/driver-ops.h if (local->ops->set_bitrate_mask) local 763 net/mac80211/driver-ops.h ret = local->ops->set_bitrate_mask(&local->hw, local 765 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 770 net/mac80211/driver-ops.h static inline void drv_set_rekey_data(struct ieee80211_local *local, local 777 net/mac80211/driver-ops.h trace_drv_set_rekey_data(local, sdata, data); local 778 net/mac80211/driver-ops.h if (local->ops->set_rekey_data) local 779 net/mac80211/driver-ops.h local->ops->set_rekey_data(&local->hw, &sdata->vif, data); local 780 net/mac80211/driver-ops.h trace_drv_return_void(local); local 783 net/mac80211/driver-ops.h static inline void drv_event_callback(struct ieee80211_local *local, local 787 net/mac80211/driver-ops.h trace_drv_event_callback(local, sdata, event); local 788 net/mac80211/driver-ops.h if (local->ops->event_callback) local 789 net/mac80211/driver-ops.h local->ops->event_callback(&local->hw, &sdata->vif, event); local 790 net/mac80211/driver-ops.h trace_drv_return_void(local); local 794 net/mac80211/driver-ops.h drv_release_buffered_frames(struct ieee80211_local *local, local 799 net/mac80211/driver-ops.h trace_drv_release_buffered_frames(local, &sta->sta, tids, num_frames, local 801 net/mac80211/driver-ops.h if (local->ops->release_buffered_frames) local 802 net/mac80211/driver-ops.h local->ops->release_buffered_frames(&local->hw, &sta->sta, tids, local 805 net/mac80211/driver-ops.h trace_drv_return_void(local); local 809 net/mac80211/driver-ops.h drv_allow_buffered_frames(struct ieee80211_local *local, local 814 net/mac80211/driver-ops.h trace_drv_allow_buffered_frames(local, &sta->sta, tids, num_frames, local 816 net/mac80211/driver-ops.h if (local->ops->allow_buffered_frames) local 817 net/mac80211/driver-ops.h local->ops->allow_buffered_frames(&local->hw, &sta->sta, local 820 net/mac80211/driver-ops.h trace_drv_return_void(local); local 823 net/mac80211/driver-ops.h static inline void drv_mgd_prepare_tx(struct ieee80211_local *local, local 833 net/mac80211/driver-ops.h trace_drv_mgd_prepare_tx(local, sdata, duration); local 834 net/mac80211/driver-ops.h if (local->ops->mgd_prepare_tx) local 835 net/mac80211/driver-ops.h local->ops->mgd_prepare_tx(&local->hw, &sdata->vif, duration); local 836 net/mac80211/driver-ops.h trace_drv_return_void(local); local 840 net/mac80211/driver-ops.h drv_mgd_protect_tdls_discover(struct ieee80211_local *local, local 849 net/mac80211/driver-ops.h trace_drv_mgd_protect_tdls_discover(local, sdata); local 850 net/mac80211/driver-ops.h if (local->ops->mgd_protect_tdls_discover) local 851 net/mac80211/driver-ops.h local->ops->mgd_protect_tdls_discover(&local->hw, &sdata->vif); local 852 net/mac80211/driver-ops.h trace_drv_return_void(local); local 855 net/mac80211/driver-ops.h static inline int drv_add_chanctx(struct ieee80211_local *local, local 862 net/mac80211/driver-ops.h trace_drv_add_chanctx(local, ctx); local 863 net/mac80211/driver-ops.h if (local->ops->add_chanctx) local 864 net/mac80211/driver-ops.h ret = local->ops->add_chanctx(&local->hw, &ctx->conf); local 865 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 872 net/mac80211/driver-ops.h static inline void drv_remove_chanctx(struct ieee80211_local *local, local 880 net/mac80211/driver-ops.h trace_drv_remove_chanctx(local, ctx); local 881 net/mac80211/driver-ops.h if (local->ops->remove_chanctx) local 882 net/mac80211/driver-ops.h local->ops->remove_chanctx(&local->hw, &ctx->conf); local 883 net/mac80211/driver-ops.h trace_drv_return_void(local); local 887 net/mac80211/driver-ops.h static inline void drv_change_chanctx(struct ieee80211_local *local, local 893 net/mac80211/driver-ops.h trace_drv_change_chanctx(local, ctx, changed); local 894 net/mac80211/driver-ops.h if (local->ops->change_chanctx) { local 896 net/mac80211/driver-ops.h local->ops->change_chanctx(&local->hw, &ctx->conf, changed); local 898 net/mac80211/driver-ops.h trace_drv_return_void(local); local 901 net/mac80211/driver-ops.h static inline int drv_assign_vif_chanctx(struct ieee80211_local *local, local 910 net/mac80211/driver-ops.h trace_drv_assign_vif_chanctx(local, sdata, ctx); local 911 net/mac80211/driver-ops.h if (local->ops->assign_vif_chanctx) { local 913 net/mac80211/driver-ops.h ret = local->ops->assign_vif_chanctx(&local->hw, local 917 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 922 net/mac80211/driver-ops.h static inline void drv_unassign_vif_chanctx(struct ieee80211_local *local, local 931 net/mac80211/driver-ops.h trace_drv_unassign_vif_chanctx(local, sdata, ctx); local 932 net/mac80211/driver-ops.h if (local->ops->unassign_vif_chanctx) { local 934 net/mac80211/driver-ops.h local->ops->unassign_vif_chanctx(&local->hw, local 938 net/mac80211/driver-ops.h trace_drv_return_void(local); local 941 net/mac80211/driver-ops.h int drv_switch_vif_chanctx(struct ieee80211_local *local, local 945 net/mac80211/driver-ops.h static inline int drv_start_ap(struct ieee80211_local *local, local 955 net/mac80211/driver-ops.h trace_drv_start_ap(local, sdata, &sdata->vif.bss_conf); local 956 net/mac80211/driver-ops.h if (local->ops->start_ap) local 957 net/mac80211/driver-ops.h ret = local->ops->start_ap(&local->hw, &sdata->vif); local 958 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 962 net/mac80211/driver-ops.h static inline void drv_stop_ap(struct ieee80211_local *local, local 968 net/mac80211/driver-ops.h trace_drv_stop_ap(local, sdata); local 969 net/mac80211/driver-ops.h if (local->ops->stop_ap) local 970 net/mac80211/driver-ops.h local->ops->stop_ap(&local->hw, &sdata->vif); local 971 net/mac80211/driver-ops.h trace_drv_return_void(local); local 975 net/mac80211/driver-ops.h drv_reconfig_complete(struct ieee80211_local *local, local 980 net/mac80211/driver-ops.h trace_drv_reconfig_complete(local, reconfig_type); local 981 net/mac80211/driver-ops.h if (local->ops->reconfig_complete) local 982 net/mac80211/driver-ops.h local->ops->reconfig_complete(&local->hw, reconfig_type); local 983 net/mac80211/driver-ops.h trace_drv_return_void(local); local 987 net/mac80211/driver-ops.h drv_set_default_unicast_key(struct ieee80211_local *local, local 996 net/mac80211/driver-ops.h trace_drv_set_default_unicast_key(local, sdata, key_idx); local 997 net/mac80211/driver-ops.h if (local->ops->set_default_unicast_key) local 998 net/mac80211/driver-ops.h local->ops->set_default_unicast_key(&local->hw, &sdata->vif, local 1000 net/mac80211/driver-ops.h trace_drv_return_void(local); local 1004 net/mac80211/driver-ops.h static inline void drv_ipv6_addr_change(struct ieee80211_local *local, local 1008 net/mac80211/driver-ops.h trace_drv_ipv6_addr_change(local, sdata); local 1009 net/mac80211/driver-ops.h if (local->ops->ipv6_addr_change) local 1010 net/mac80211/driver-ops.h local->ops->ipv6_addr_change(&local->hw, &sdata->vif, idev); local 1011 net/mac80211/driver-ops.h trace_drv_return_void(local); local 1019 net/mac80211/driver-ops.h struct ieee80211_local *local = sdata->local; local 1021 net/mac80211/driver-ops.h if (local->ops->channel_switch_beacon) { local 1022 net/mac80211/driver-ops.h trace_drv_channel_switch_beacon(local, sdata, chandef); local 1023 net/mac80211/driver-ops.h local->ops->channel_switch_beacon(&local->hw, &sdata->vif, local 1032 net/mac80211/driver-ops.h struct ieee80211_local *local = sdata->local; local 1038 net/mac80211/driver-ops.h trace_drv_pre_channel_switch(local, sdata, ch_switch); local 1039 net/mac80211/driver-ops.h if (local->ops->pre_channel_switch) local 1040 net/mac80211/driver-ops.h ret = local->ops->pre_channel_switch(&local->hw, &sdata->vif, local 1042 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 1049 net/mac80211/driver-ops.h struct ieee80211_local *local = sdata->local; local 1055 net/mac80211/driver-ops.h trace_drv_post_channel_switch(local, sdata); local 1056 net/mac80211/driver-ops.h if (local->ops->post_channel_switch) local 1057 net/mac80211/driver-ops.h ret = local->ops->post_channel_switch(&local->hw, &sdata->vif); local 1058 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 1065 net/mac80211/driver-ops.h struct ieee80211_local *local = sdata->local; local 1070 net/mac80211/driver-ops.h trace_drv_abort_channel_switch(local, sdata); local 1072 net/mac80211/driver-ops.h if (local->ops->abort_channel_switch) local 1073 net/mac80211/driver-ops.h local->ops->abort_channel_switch(&local->hw, &sdata->vif); local 1080 net/mac80211/driver-ops.h struct ieee80211_local *local = sdata->local; local 1085 net/mac80211/driver-ops.h trace_drv_channel_switch_rx_beacon(local, sdata, ch_switch); local 1086 net/mac80211/driver-ops.h if (local->ops->channel_switch_rx_beacon) local 1087 net/mac80211/driver-ops.h local->ops->channel_switch_rx_beacon(&local->hw, &sdata->vif, local 1091 net/mac80211/driver-ops.h static inline int drv_join_ibss(struct ieee80211_local *local, local 1100 net/mac80211/driver-ops.h trace_drv_join_ibss(local, sdata, &sdata->vif.bss_conf); local 1101 net/mac80211/driver-ops.h if (local->ops->join_ibss) local 1102 net/mac80211/driver-ops.h ret = local->ops->join_ibss(&local->hw, &sdata->vif); local 1103 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 1107 net/mac80211/driver-ops.h static inline void drv_leave_ibss(struct ieee80211_local *local, local 1114 net/mac80211/driver-ops.h trace_drv_leave_ibss(local, sdata); local 1115 net/mac80211/driver-ops.h if (local->ops->leave_ibss) local 1116 net/mac80211/driver-ops.h local->ops->leave_ibss(&local->hw, &sdata->vif); local 1117 net/mac80211/driver-ops.h trace_drv_return_void(local); local 1120 net/mac80211/driver-ops.h static inline u32 drv_get_expected_throughput(struct ieee80211_local *local, local 1126 net/mac80211/driver-ops.h if (local->ops->get_expected_throughput && sta->uploaded) local 1127 net/mac80211/driver-ops.h ret = local->ops->get_expected_throughput(&local->hw, &sta->sta); local 1128 net/mac80211/driver-ops.h trace_drv_return_u32(local, ret); local 1133 net/mac80211/driver-ops.h static inline int drv_get_txpower(struct ieee80211_local *local, local 1138 net/mac80211/driver-ops.h if (!local->ops->get_txpower) local 1141 net/mac80211/driver-ops.h ret = local->ops->get_txpower(&local->hw, &sdata->vif, dbm); local 1142 net/mac80211/driver-ops.h trace_drv_get_txpower(local, sdata, *dbm, ret); local 1148 net/mac80211/driver-ops.h drv_tdls_channel_switch(struct ieee80211_local *local, local 1160 net/mac80211/driver-ops.h if (!local->ops->tdls_channel_switch) local 1163 net/mac80211/driver-ops.h trace_drv_tdls_channel_switch(local, sdata, sta, oper_class, chandef); local 1164 net/mac80211/driver-ops.h ret = local->ops->tdls_channel_switch(&local->hw, &sdata->vif, sta, local 1167 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 1172 net/mac80211/driver-ops.h drv_tdls_cancel_channel_switch(struct ieee80211_local *local, local 1180 net/mac80211/driver-ops.h if (!local->ops->tdls_cancel_channel_switch) local 1183 net/mac80211/driver-ops.h trace_drv_tdls_cancel_channel_switch(local, sdata, sta); local 1184 net/mac80211/driver-ops.h local->ops->tdls_cancel_channel_switch(&local->hw, &sdata->vif, sta); local 1185 net/mac80211/driver-ops.h trace_drv_return_void(local); local 1189 net/mac80211/driver-ops.h drv_tdls_recv_channel_switch(struct ieee80211_local *local, local 1193 net/mac80211/driver-ops.h trace_drv_tdls_recv_channel_switch(local, sdata, params); local 1194 net/mac80211/driver-ops.h if (local->ops->tdls_recv_channel_switch) local 1195 net/mac80211/driver-ops.h local->ops->tdls_recv_channel_switch(&local->hw, &sdata->vif, local 1197 net/mac80211/driver-ops.h trace_drv_return_void(local); local 1200 net/mac80211/driver-ops.h static inline void drv_wake_tx_queue(struct ieee80211_local *local, local 1205 net/mac80211/driver-ops.h if (local->in_reconfig) local 1211 net/mac80211/driver-ops.h trace_drv_wake_tx_queue(local, sdata, txq); local 1212 net/mac80211/driver-ops.h local->ops->wake_tx_queue(&local->hw, &txq->txq); local 1215 net/mac80211/driver-ops.h static inline void schedule_and_wake_txq(struct ieee80211_local *local, local 1218 net/mac80211/driver-ops.h ieee80211_schedule_txq(&local->hw, &txqi->txq); local 1219 net/mac80211/driver-ops.h drv_wake_tx_queue(local, txqi); local 1222 net/mac80211/driver-ops.h static inline int drv_can_aggregate_in_amsdu(struct ieee80211_local *local, local 1226 net/mac80211/driver-ops.h if (!local->ops->can_aggregate_in_amsdu) local 1229 net/mac80211/driver-ops.h return local->ops->can_aggregate_in_amsdu(&local->hw, head, skb); local 1233 net/mac80211/driver-ops.h drv_get_ftm_responder_stats(struct ieee80211_local *local, local 1239 net/mac80211/driver-ops.h if (local->ops->get_ftm_responder_stats) local 1240 net/mac80211/driver-ops.h ret = local->ops->get_ftm_responder_stats(&local->hw, local 1243 net/mac80211/driver-ops.h trace_drv_get_ftm_responder_stats(local, sdata, ftm_stats); local 1248 net/mac80211/driver-ops.h static inline int drv_start_pmsr(struct ieee80211_local *local, local 1258 net/mac80211/driver-ops.h trace_drv_start_pmsr(local, sdata); local 1260 net/mac80211/driver-ops.h if (local->ops->start_pmsr) local 1261 net/mac80211/driver-ops.h ret = local->ops->start_pmsr(&local->hw, &sdata->vif, request); local 1262 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 1267 net/mac80211/driver-ops.h static inline void drv_abort_pmsr(struct ieee80211_local *local, local 1271 net/mac80211/driver-ops.h trace_drv_abort_pmsr(local, sdata); local 1277 net/mac80211/driver-ops.h if (local->ops->abort_pmsr) local 1278 net/mac80211/driver-ops.h local->ops->abort_pmsr(&local->hw, &sdata->vif, request); local 1279 net/mac80211/driver-ops.h trace_drv_return_void(local); local 1282 net/mac80211/driver-ops.h static inline int drv_start_nan(struct ieee80211_local *local, local 1291 net/mac80211/driver-ops.h trace_drv_start_nan(local, sdata, conf); local 1292 net/mac80211/driver-ops.h ret = local->ops->start_nan(&local->hw, &sdata->vif, conf); local 1293 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 1297 net/mac80211/driver-ops.h static inline void drv_stop_nan(struct ieee80211_local *local, local 1303 net/mac80211/driver-ops.h trace_drv_stop_nan(local, sdata); local 1304 net/mac80211/driver-ops.h local->ops->stop_nan(&local->hw, &sdata->vif); local 1305 net/mac80211/driver-ops.h trace_drv_return_void(local); local 1308 net/mac80211/driver-ops.h static inline int drv_nan_change_conf(struct ieee80211_local *local, local 1318 net/mac80211/driver-ops.h if (!local->ops->nan_change_conf) local 1321 net/mac80211/driver-ops.h trace_drv_nan_change_conf(local, sdata, conf, changes); local 1322 net/mac80211/driver-ops.h ret = local->ops->nan_change_conf(&local->hw, &sdata->vif, conf, local 1324 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 1329 net/mac80211/driver-ops.h static inline int drv_add_nan_func(struct ieee80211_local *local, local 1338 net/mac80211/driver-ops.h if (!local->ops->add_nan_func) local 1341 net/mac80211/driver-ops.h trace_drv_add_nan_func(local, sdata, nan_func); local 1342 net/mac80211/driver-ops.h ret = local->ops->add_nan_func(&local->hw, &sdata->vif, nan_func); local 1343 net/mac80211/driver-ops.h trace_drv_return_int(local, ret); local 1348 net/mac80211/driver-ops.h static inline void drv_del_nan_func(struct ieee80211_local *local, local 1355 net/mac80211/driver-ops.h trace_drv_del_nan_func(local, sdata, instance_id); local 1356 net/mac80211/driver-ops.h if (local->ops->del_nan_func) local 1357 net/mac80211/driver-ops.h local->ops->del_nan_func(&local->hw, &sdata->vif, instance_id); local 1358 net/mac80211/driver-ops.h trace_drv_return_void(local); local 19 net/mac80211/ethtool.c struct ieee80211_local *local = wiphy_priv(dev->ieee80211_ptr->wiphy); local 24 net/mac80211/ethtool.c return drv_set_ringparam(local, rp->tx_pending, rp->rx_pending); local 30 net/mac80211/ethtool.c struct ieee80211_local *local = wiphy_priv(dev->ieee80211_ptr->wiphy); local 34 net/mac80211/ethtool.c drv_get_ringparam(local, &rp->tx_pending, &rp->tx_max_pending, local 72 net/mac80211/ethtool.c struct ieee80211_local *local = sdata->local; local 101 net/mac80211/ethtool.c mutex_lock(&local->sta_mtx); local 131 net/mac80211/ethtool.c list_for_each_entry(sta, &local->sta_list, list) { local 160 net/mac80211/ethtool.c if (drv_get_survey(local, q, &survey) != 0) { local 197 net/mac80211/ethtool.c mutex_unlock(&local->sta_mtx); local 412 net/mac80211/ht.c struct ieee80211_local *local = sdata->local; local 417 net/mac80211/ht.c skb = dev_alloc_skb(sizeof(*mgmt) + local->hw.extra_tx_headroom); local 421 net/mac80211/ht.c skb_reserve(skb, local->hw.extra_tx_headroom); local 492 net/mac80211/ht.c struct ieee80211_local *local = sdata->local; local 497 net/mac80211/ht.c skb = dev_alloc_skb(27 + local->hw.extra_tx_headroom); local 501 net/mac80211/ht.c skb_reserve(skb, local->hw.extra_tx_headroom); local 573 net/mac80211/ht.c ieee80211_queue_work(&sdata->local->hw, local 582 net/mac80211/ht.c ieee80211_queue_work(&sdata->local->hw, local 46 net/mac80211/ibss.c struct ieee80211_local *local = sdata->local; local 93 net/mac80211/ibss.c sband = local->hw.wiphy->bands[chandef->chan->band]; local 205 net/mac80211/ibss.c if (local->hw.queues >= IEEE80211_NUM_ACS) local 226 net/mac80211/ibss.c struct ieee80211_local *local = sdata->local; local 241 net/mac80211/ibss.c drv_reset_tsf(local, sdata); local 255 net/mac80211/ibss.c drv_leave_ibss(local, sdata); local 267 net/mac80211/ibss.c if (!cfg80211_reg_can_beacon(local->hw.wiphy, &chandef, local 280 net/mac80211/ibss.c if (!cfg80211_reg_can_beacon(local->hw.wiphy, &chandef, local 288 net/mac80211/ibss.c err = cfg80211_chandef_dfs_required(sdata->local->hw.wiphy, local 303 net/mac80211/ibss.c mutex_lock(&local->mtx); local 309 net/mac80211/ibss.c mutex_unlock(&local->mtx); local 313 net/mac80211/ibss.c mutex_unlock(&local->mtx); local 365 net/mac80211/ibss.c err = drv_join_ibss(local, sdata); local 373 net/mac80211/ibss.c mutex_lock(&local->mtx); local 375 net/mac80211/ibss.c mutex_unlock(&local->mtx); local 389 net/mac80211/ibss.c bss = cfg80211_inform_bss_frame_data(local->hw.wiphy, &bss_meta, mgmt, local 392 net/mac80211/ibss.c cfg80211_put_bss(local->hw.wiphy, bss); local 444 net/mac80211/ibss.c sband = sdata->local->hw.wiphy->bands[cbss->channel->band]; local 499 net/mac80211/ibss.c cbss = cfg80211_get_bss(sdata->local->hw.wiphy, ifibss->chandef.chan, local 513 net/mac80211/ibss.c cfg80211_put_bss(sdata->local->hw.wiphy, cbss); local 547 net/mac80211/ibss.c cbss = cfg80211_get_bss(sdata->local->hw.wiphy, local 556 net/mac80211/ibss.c cfg80211_put_bss(sdata->local->hw.wiphy, cbss); local 610 net/mac80211/ibss.c struct ieee80211_local *local = sdata->local; local 621 net/mac80211/ibss.c if (local->num_sta >= IEEE80211_IBSS_MAX_STA_ENTRIES) { local 653 net/mac80211/ibss.c sband = local->hw.wiphy->bands[band]; local 662 net/mac80211/ibss.c struct ieee80211_local *local = sdata->local; local 670 net/mac80211/ibss.c list_for_each_entry_rcu(sta, &local->sta_list, list) { local 689 net/mac80211/ibss.c struct ieee80211_local *local = sdata->local; local 695 net/mac80211/ibss.c cbss = cfg80211_get_bss(local->hw.wiphy, ifibss->chandef.chan, local 702 net/mac80211/ibss.c cfg80211_unlink_bss(local->hw.wiphy, cbss); local 703 net/mac80211/ibss.c cfg80211_put_bss(sdata->local->hw.wiphy, cbss); local 718 net/mac80211/ibss.c sta_info_free(local, sta); local 740 net/mac80211/ibss.c drv_leave_ibss(local, sdata); local 741 net/mac80211/ibss.c mutex_lock(&local->mtx); local 743 net/mac80211/ibss.c mutex_unlock(&local->mtx); local 759 net/mac80211/ibss.c ieee80211_queue_work(&sdata->local->hw, &sdata->work); local 772 net/mac80211/ibss.c err = cfg80211_chandef_dfs_required(sdata->local->hw.wiphy, local 776 net/mac80211/ibss.c cfg80211_radar_event(sdata->local->hw.wiphy, &ifibss->chandef, local 821 net/mac80211/ibss.c if (!(sdata->local->hw.wiphy->flags & WIPHY_FLAG_HAS_CHANNEL_SWITCH)) local 859 net/mac80211/ibss.c if (!cfg80211_reg_can_beacon(sdata->local->hw.wiphy, ¶ms.chandef, local 871 net/mac80211/ibss.c err = cfg80211_chandef_dfs_required(sdata->local->hw.wiphy, local 897 net/mac80211/ibss.c if (ieee80211_channel_switch(sdata->local->hw.wiphy, sdata->dev, local 906 net/mac80211/ibss.c ieee80211_queue_work(&sdata->local->hw, local 993 net/mac80211/ibss.c struct ieee80211_local *local = sdata->local; local 1004 net/mac80211/ibss.c sband = local->hw.wiphy->bands[band]; local 1042 net/mac80211/ibss.c elems->wmm_info && local->hw.queues >= IEEE80211_NUM_ACS) { local 1071 net/mac80211/ibss.c ieee80211_chandef_vht_oper(&local->hw, local 1100 net/mac80211/ibss.c drv_sta_rc_update(local, sdata, &sta->sta, changed); local 1111 net/mac80211/ibss.c struct ieee80211_local *local = sdata->local; local 1119 net/mac80211/ibss.c channel = ieee80211_get_channel(local->hw.wiphy, rx_status->freq); local 1125 net/mac80211/ibss.c bss = ieee80211_bss_info_update(local, rx_status, mgmt, len, channel); local 1167 net/mac80211/ibss.c ieee80211_calculate_rx_timestamp(local, rx_status, local 1174 net/mac80211/ibss.c rx_timestamp = drv_get_tsf(local, sdata); local 1197 net/mac80211/ibss.c ieee80211_rx_bss_put(local, bss); local 1205 net/mac80211/ibss.c struct ieee80211_local *local = sdata->local; local 1216 net/mac80211/ibss.c if (local->num_sta >= IEEE80211_IBSS_MAX_STA_ENTRIES) { local 1243 net/mac80211/ibss.c sband = local->hw.wiphy->bands[band]; local 1250 net/mac80211/ibss.c ieee80211_queue_work(&local->hw, &sdata->work); local 1256 net/mac80211/ibss.c struct ieee80211_local *local = sdata->local; local 1261 net/mac80211/ibss.c mutex_lock(&local->sta_mtx); local 1263 net/mac80211/ibss.c list_for_each_entry_safe(sta, tmp, &local->sta_list, list) { local 1287 net/mac80211/ibss.c mutex_unlock(&local->sta_mtx); local 1435 net/mac80211/ibss.c struct ieee80211_local *local = sdata->local; local 1456 net/mac80211/ibss.c cbss = cfg80211_get_bss(local->hw.wiphy, chan, bssid, local 1473 net/mac80211/ibss.c ieee80211_rx_bss_put(local, bss); local 1501 net/mac80211/ibss.c num = ieee80211_ibss_setup_scan_channels(local->hw.wiphy, local 1530 net/mac80211/ibss.c struct ieee80211_local *local = sdata->local; local 1545 net/mac80211/ibss.c tx_last_beacon = drv_tx_last_beacon(local); local 1574 net/mac80211/ibss.c skb = dev_alloc_skb(local->tx_headroom + presp->head_len); local 1578 net/mac80211/ibss.c skb_reserve(skb, local->tx_headroom); local 1726 net/mac80211/ibss.c ieee80211_queue_work(&sdata->local->hw, &sdata->work); local 1741 net/mac80211/ibss.c void ieee80211_ibss_notify_scan_completed(struct ieee80211_local *local) local 1745 net/mac80211/ibss.c mutex_lock(&local->iflist_mtx); local 1746 net/mac80211/ibss.c list_for_each_entry(sdata, &local->interfaces, list) { local 1753 net/mac80211/ibss.c mutex_unlock(&local->iflist_mtx); local 1763 net/mac80211/ibss.c struct ieee80211_local *local = sdata->local; local 1768 net/mac80211/ibss.c ret = cfg80211_chandef_dfs_required(local->hw.wiphy, local 1783 net/mac80211/ibss.c mutex_lock(&local->chanctx_mtx); local 1786 net/mac80211/ibss.c mutex_unlock(&local->chanctx_mtx); local 1804 net/mac80211/ibss.c sband = local->hw.wiphy->bands[params->chandef.chan->band]; local 1853 net/mac80211/ibss.c sdata->needed_rx_chains = local->rx_chains; local 1856 net/mac80211/ibss.c ieee80211_queue_work(&local->hw, &sdata->work); local 172 net/mac80211/ieee80211_i.h struct ieee80211_local *local; local 221 net/mac80211/ieee80211_i.h struct ieee80211_local *local; local 889 net/mac80211/ieee80211_i.h struct ieee80211_local *local; local 1074 net/mac80211/ieee80211_i.h struct ieee80211_local *local; local 1428 net/mac80211/ieee80211_i.h struct ieee80211_local *local = sdata->local; local 1443 net/mac80211/ieee80211_i.h return local->hw.wiphy->bands[band]; local 1590 net/mac80211/ieee80211_i.h u64 ieee80211_calculate_rx_timestamp(struct ieee80211_local *local, local 1594 net/mac80211/ieee80211_i.h int ieee80211_hw_config(struct ieee80211_local *local, u32 changed); local 1598 net/mac80211/ieee80211_i.h void ieee80211_configure_filter(struct ieee80211_local *local); local 1601 net/mac80211/ieee80211_i.h u64 ieee80211_mgmt_tx_cookie(struct ieee80211_local *local); local 1602 net/mac80211/ieee80211_i.h int ieee80211_attach_ack_skb(struct ieee80211_local *local, struct sk_buff *skb, local 1620 net/mac80211/ieee80211_i.h void ieee80211_send_pspoll(struct ieee80211_local *local, local 1622 net/mac80211/ieee80211_i.h void ieee80211_recalc_ps(struct ieee80211_local *local); local 1638 net/mac80211/ieee80211_i.h void ieee80211_ibss_notify_scan_completed(struct ieee80211_local *local); local 1679 net/mac80211/ieee80211_i.h void ieee80211_scan_cancel(struct ieee80211_local *local); local 1680 net/mac80211/ieee80211_i.h void ieee80211_run_deferred_scan(struct ieee80211_local *local); local 1681 net/mac80211/ieee80211_i.h void ieee80211_scan_rx(struct ieee80211_local *local, struct sk_buff *skb); local 1683 net/mac80211/ieee80211_i.h void ieee80211_mlme_notify_scan_completed(struct ieee80211_local *local); local 1685 net/mac80211/ieee80211_i.h ieee80211_bss_info_update(struct ieee80211_local *local, local 1690 net/mac80211/ieee80211_i.h void ieee80211_rx_bss_put(struct ieee80211_local *local, local 1699 net/mac80211/ieee80211_i.h int ieee80211_request_sched_scan_stop(struct ieee80211_local *local); local 1700 net/mac80211/ieee80211_i.h void ieee80211_sched_scan_end(struct ieee80211_local *local); local 1704 net/mac80211/ieee80211_i.h void ieee80211_offchannel_stop_vifs(struct ieee80211_local *local); local 1705 net/mac80211/ieee80211_i.h void ieee80211_offchannel_return(struct ieee80211_local *local); local 1706 net/mac80211/ieee80211_i.h void ieee80211_roc_setup(struct ieee80211_local *local); local 1707 net/mac80211/ieee80211_i.h void ieee80211_start_next_roc(struct ieee80211_local *local); local 1708 net/mac80211/ieee80211_i.h void ieee80211_roc_purge(struct ieee80211_local *local, local 1728 net/mac80211/ieee80211_i.h int ieee80211_if_add(struct ieee80211_local *local, const char *name, local 1735 net/mac80211/ieee80211_i.h void ieee80211_remove_interfaces(struct ieee80211_local *local); local 1736 net/mac80211/ieee80211_i.h u32 ieee80211_idle_off(struct ieee80211_local *local); local 1737 net/mac80211/ieee80211_i.h void ieee80211_recalc_idle(struct ieee80211_local *local); local 1742 net/mac80211/ieee80211_i.h int ieee80211_add_virtual_monitor(struct ieee80211_local *local); local 1743 net/mac80211/ieee80211_i.h void ieee80211_del_virtual_monitor(struct ieee80211_local *local); local 1755 net/mac80211/ieee80211_i.h void ieee80211_clear_tx_pending(struct ieee80211_local *local); local 1770 net/mac80211/ieee80211_i.h void ieee80211_tx_monitor(struct ieee80211_local *local, struct sk_buff *skb, local 1776 net/mac80211/ieee80211_i.h void ieee80211_check_fast_xmit_all(struct ieee80211_local *local); local 1817 net/mac80211/ieee80211_i.h void ieee80211_process_addba_resp(struct ieee80211_local *local, local 1821 net/mac80211/ieee80211_i.h void ieee80211_process_addba_request(struct ieee80211_local *local, local 1911 net/mac80211/ieee80211_i.h int ieee80211_reconfig(struct ieee80211_local *local); local 1912 net/mac80211/ieee80211_i.h void ieee80211_stop_device(struct ieee80211_local *local); local 1919 net/mac80211/ieee80211_i.h struct ieee80211_local *local = hw_to_local(hw); local 1921 net/mac80211/ieee80211_i.h WARN(test_bit(SCAN_HW_SCANNING, &local->scanning) && local 1922 net/mac80211/ieee80211_i.h !test_bit(SCAN_COMPLETED, &local->scanning), local 2007 net/mac80211/ieee80211_i.h void ieee80211_send_nullfunc(struct ieee80211_local *local, local 2019 net/mac80211/ieee80211_i.h void ieee80211_stop_vif_queues(struct ieee80211_local *local, local 2022 net/mac80211/ieee80211_i.h void ieee80211_wake_vif_queues(struct ieee80211_local *local, local 2035 net/mac80211/ieee80211_i.h void ieee80211_propagate_queue_wake(struct ieee80211_local *local, int queue); local 2036 net/mac80211/ieee80211_i.h void ieee80211_add_pending_skb(struct ieee80211_local *local, local 2038 net/mac80211/ieee80211_i.h void ieee80211_add_pending_skbs(struct ieee80211_local *local, local 2040 net/mac80211/ieee80211_i.h void ieee80211_flush_queues(struct ieee80211_local *local, local 2042 net/mac80211/ieee80211_i.h void __ieee80211_flush_queues(struct ieee80211_local *local, local 2046 net/mac80211/ieee80211_i.h static inline bool ieee80211_can_run_worker(struct ieee80211_local *local) local 2052 net/mac80211/ieee80211_i.h if (local->in_reconfig) local 2061 net/mac80211/ieee80211_i.h if (local->quiescing) local 2077 net/mac80211/ieee80211_i.h if (local->suspended) local 2083 net/mac80211/ieee80211_i.h int ieee80211_txq_setup_flows(struct ieee80211_local *local); local 2084 net/mac80211/ieee80211_i.h void ieee80211_txq_set_params(struct ieee80211_local *local); local 2085 net/mac80211/ieee80211_i.h void ieee80211_txq_teardown_flows(struct ieee80211_local *local); local 2089 net/mac80211/ieee80211_i.h void ieee80211_txq_purge(struct ieee80211_local *local, local 2091 net/mac80211/ieee80211_i.h void ieee80211_txq_remove_vlan(struct ieee80211_local *local, local 2112 net/mac80211/ieee80211_i.h int ieee80211_build_preq_ies(struct ieee80211_local *local, u8 *buffer, local 2194 net/mac80211/ieee80211_i.h int ieee80211_chanctx_refcount(struct ieee80211_local *local, local 2197 net/mac80211/ieee80211_i.h void ieee80211_recalc_smps_chanctx(struct ieee80211_local *local, local 2199 net/mac80211/ieee80211_i.h void ieee80211_recalc_chanctx_min_def(struct ieee80211_local *local, local 2201 net/mac80211/ieee80211_i.h bool ieee80211_is_radar_required(struct ieee80211_local *local); local 2205 net/mac80211/ieee80211_i.h void ieee80211_dfs_cac_cancel(struct ieee80211_local *local); local 2213 net/mac80211/ieee80211_i.h ieee80211_cs_get(struct ieee80211_local *local, u32 cipher, local 2215 net/mac80211/ieee80211_i.h int ieee80211_cs_headroom(struct ieee80211_local *local, local 2218 net/mac80211/ieee80211_i.h void ieee80211_recalc_dtim(struct ieee80211_local *local, local 2224 net/mac80211/ieee80211_i.h int ieee80211_max_num_channels(struct ieee80211_local *local); local 2226 net/mac80211/ieee80211_i.h void ieee80211_recalc_chanctx_chantype(struct ieee80211_local *local, local 70 net/mac80211/iface.c ieee80211_hw_config(sdata->local, 0); local 85 net/mac80211/iface.c static u32 __ieee80211_idle_off(struct ieee80211_local *local) local 87 net/mac80211/iface.c if (!(local->hw.conf.flags & IEEE80211_CONF_IDLE)) local 90 net/mac80211/iface.c local->hw.conf.flags &= ~IEEE80211_CONF_IDLE; local 94 net/mac80211/iface.c static u32 __ieee80211_idle_on(struct ieee80211_local *local) local 96 net/mac80211/iface.c if (local->hw.conf.flags & IEEE80211_CONF_IDLE) local 99 net/mac80211/iface.c ieee80211_flush_queues(local, NULL, false); local 101 net/mac80211/iface.c local->hw.conf.flags |= IEEE80211_CONF_IDLE; local 105 net/mac80211/iface.c static u32 __ieee80211_recalc_idle(struct ieee80211_local *local, local 111 net/mac80211/iface.c lockdep_assert_held(&local->mtx); local 114 net/mac80211/iface.c !list_empty(&local->chanctx_list) || local 115 net/mac80211/iface.c local->monitors; local 117 net/mac80211/iface.c working = !local->ops->remain_on_channel && local 118 net/mac80211/iface.c !list_empty(&local->roc_list); local 120 net/mac80211/iface.c scanning = test_bit(SCAN_SW_SCANNING, &local->scanning) || local 121 net/mac80211/iface.c test_bit(SCAN_ONCHANNEL_SCANNING, &local->scanning); local 133 net/mac80211/iface.c ieee80211_mod_tpt_led_trig(local, led_trig_start, led_trig_stop); local 136 net/mac80211/iface.c return __ieee80211_idle_off(local); local 137 net/mac80211/iface.c return __ieee80211_idle_on(local); local 140 net/mac80211/iface.c u32 ieee80211_idle_off(struct ieee80211_local *local) local 142 net/mac80211/iface.c return __ieee80211_recalc_idle(local, true); local 145 net/mac80211/iface.c void ieee80211_recalc_idle(struct ieee80211_local *local) local 147 net/mac80211/iface.c u32 change = __ieee80211_recalc_idle(local, false); local 149 net/mac80211/iface.c ieee80211_hw_config(local, change); local 155 net/mac80211/iface.c struct ieee80211_local *local = sdata->local; local 161 net/mac80211/iface.c if (is_zero_ether_addr(local->hw.wiphy->addr_mask)) local 169 net/mac80211/iface.c m = local->hw.wiphy->addr_mask; local 177 net/mac80211/iface.c mutex_lock(&local->iflist_mtx); local 178 net/mac80211/iface.c list_for_each_entry(iter, &local->interfaces, list) { local 196 net/mac80211/iface.c mutex_unlock(&local->iflist_mtx); local 246 net/mac80211/iface.c struct ieee80211_local *local = sdata->local; local 253 net/mac80211/iface.c list_for_each_entry(nsdata, &local->interfaces, list) { local 308 net/mac80211/iface.c mutex_lock(&local->chanctx_mtx); local 310 net/mac80211/iface.c mutex_unlock(&local->chanctx_mtx); local 317 net/mac80211/iface.c int n_queues = sdata->local->hw.queues; local 337 net/mac80211/iface.c !ieee80211_hw_check(&sdata->local->hw, QUEUE_CONTROL)) { local 354 net/mac80211/iface.c struct ieee80211_local *local = sdata->local; local 359 net/mac80211/iface.c local->fif_##_s += offset; \ local 373 net/mac80211/iface.c struct ieee80211_local *local = sdata->local; local 377 net/mac80211/iface.c if (ieee80211_hw_check(&local->hw, QUEUE_CONTROL)) local 379 net/mac80211/iface.c else if (local->hw.queues >= IEEE80211_NUM_ACS) local 387 net/mac80211/iface.c int ieee80211_add_virtual_monitor(struct ieee80211_local *local) local 392 net/mac80211/iface.c if (!ieee80211_hw_check(&local->hw, WANT_MONITOR_VIF)) local 397 net/mac80211/iface.c if (local->monitor_sdata) local 400 net/mac80211/iface.c sdata = kzalloc(sizeof(*sdata) + local->hw.vif_data_size, GFP_KERNEL); local 405 net/mac80211/iface.c sdata->local = local; local 408 net/mac80211/iface.c wiphy_name(local->hw.wiphy)); local 415 net/mac80211/iface.c ret = drv_add_interface(local, sdata); local 428 net/mac80211/iface.c mutex_lock(&local->iflist_mtx); local 429 net/mac80211/iface.c rcu_assign_pointer(local->monitor_sdata, sdata); local 430 net/mac80211/iface.c mutex_unlock(&local->iflist_mtx); local 432 net/mac80211/iface.c mutex_lock(&local->mtx); local 433 net/mac80211/iface.c ret = ieee80211_vif_use_channel(sdata, &local->monitor_chandef, local 435 net/mac80211/iface.c mutex_unlock(&local->mtx); local 437 net/mac80211/iface.c mutex_lock(&local->iflist_mtx); local 438 net/mac80211/iface.c RCU_INIT_POINTER(local->monitor_sdata, NULL); local 439 net/mac80211/iface.c mutex_unlock(&local->iflist_mtx); local 441 net/mac80211/iface.c drv_remove_interface(local, sdata); local 452 net/mac80211/iface.c void ieee80211_del_virtual_monitor(struct ieee80211_local *local) local 456 net/mac80211/iface.c if (!ieee80211_hw_check(&local->hw, WANT_MONITOR_VIF)) local 461 net/mac80211/iface.c mutex_lock(&local->iflist_mtx); local 463 net/mac80211/iface.c sdata = rcu_dereference_protected(local->monitor_sdata, local 464 net/mac80211/iface.c lockdep_is_held(&local->iflist_mtx)); local 466 net/mac80211/iface.c mutex_unlock(&local->iflist_mtx); local 470 net/mac80211/iface.c RCU_INIT_POINTER(local->monitor_sdata, NULL); local 471 net/mac80211/iface.c mutex_unlock(&local->iflist_mtx); local 475 net/mac80211/iface.c mutex_lock(&local->mtx); local 477 net/mac80211/iface.c mutex_unlock(&local->mtx); local 479 net/mac80211/iface.c drv_remove_interface(local, sdata); local 493 net/mac80211/iface.c struct ieee80211_local *local = sdata->local; local 510 net/mac80211/iface.c mutex_lock(&local->mtx); local 512 net/mac80211/iface.c mutex_unlock(&local->mtx); local 527 net/mac80211/iface.c mutex_lock(&local->key_mtx); local 530 net/mac80211/iface.c mutex_unlock(&local->key_mtx); local 555 net/mac80211/iface.c if (local->open_count == 0) { local 556 net/mac80211/iface.c res = drv_start(local); local 561 net/mac80211/iface.c ieee80211_led_radio(local, true); local 562 net/mac80211/iface.c ieee80211_mod_tpt_led_trig(local, local 572 net/mac80211/iface.c local->hw.wiphy->perm_addr, local 594 net/mac80211/iface.c local->cooked_mntrs++; local 599 net/mac80211/iface.c res = drv_add_interface(local, sdata); local 602 net/mac80211/iface.c } else if (local->monitors == 0 && local->open_count == 0) { local 603 net/mac80211/iface.c res = ieee80211_add_virtual_monitor(local); local 609 net/mac80211/iface.c local->monitors++; local 610 net/mac80211/iface.c if (local->monitors == 1) { local 611 net/mac80211/iface.c local->hw.conf.flags |= IEEE80211_CONF_MONITOR; local 616 net/mac80211/iface.c ieee80211_configure_filter(local); local 617 net/mac80211/iface.c mutex_lock(&local->mtx); local 618 net/mac80211/iface.c ieee80211_recalc_idle(local); local 619 net/mac80211/iface.c mutex_unlock(&local->mtx); local 625 net/mac80211/iface.c ieee80211_del_virtual_monitor(local); local 627 net/mac80211/iface.c res = drv_add_interface(local, sdata); local 637 net/mac80211/iface.c local->fif_pspoll++; local 638 net/mac80211/iface.c local->fif_probe_req++; local 640 net/mac80211/iface.c ieee80211_configure_filter(local); local 642 net/mac80211/iface.c local->fif_probe_req++; local 703 net/mac80211/iface.c rcu_assign_pointer(local->p2p_sdata, sdata); local 708 net/mac80211/iface.c list_add_tail_rcu(&sdata->u.mntr.list, &local->mon_list); local 720 net/mac80211/iface.c atomic_inc(&local->iff_allmultis); local 723 net/mac80211/iface.c local->open_count++; local 726 net/mac80211/iface.c ieee80211_hw_config(local, hw_reconf_flags); local 728 net/mac80211/iface.c ieee80211_recalc_ps(local); local 732 net/mac80211/iface.c local->ops->wake_tx_queue) { local 741 net/mac80211/iface.c if (local->hw.queues < IEEE80211_NUM_ACS) local 744 net/mac80211/iface.c spin_lock_irqsave(&local->queue_stop_reason_lock, flags); local 746 net/mac80211/iface.c (local->queue_stop_reasons[sdata->vif.cab_queue] == 0 && local 747 net/mac80211/iface.c skb_queue_empty(&local->pending[sdata->vif.cab_queue]))) { local 751 net/mac80211/iface.c if (local->queue_stop_reasons[ac_queue] == 0 && local 752 net/mac80211/iface.c skb_queue_empty(&local->pending[ac_queue])) local 756 net/mac80211/iface.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); local 761 net/mac80211/iface.c drv_remove_interface(local, sdata); local 763 net/mac80211/iface.c if (!local->open_count) local 764 net/mac80211/iface.c drv_stop(local); local 768 net/mac80211/iface.c mutex_lock(&local->mtx); local 770 net/mac80211/iface.c mutex_unlock(&local->mtx); local 796 net/mac80211/iface.c struct ieee80211_local *local = sdata->local; local 808 net/mac80211/iface.c cancel_scan = rcu_access_pointer(local->scan_sdata) == sdata; local 810 net/mac80211/iface.c ieee80211_scan_cancel(local); local 818 net/mac80211/iface.c ieee80211_roc_purge(local, sdata); local 861 net/mac80211/iface.c atomic_dec(&local->iff_allmultis); local 864 net/mac80211/iface.c local->fif_pspoll--; local 865 net/mac80211/iface.c local->fif_probe_req--; local 867 net/mac80211/iface.c local->fif_probe_req--; local 872 net/mac80211/iface.c spin_lock_bh(&local->filter_lock); local 873 net/mac80211/iface.c __hw_addr_unsync(&local->mc_list, &sdata->dev->mc, local 875 net/mac80211/iface.c spin_unlock_bh(&local->filter_lock); local 879 net/mac80211/iface.c del_timer_sync(&local->dynamic_ps_timer); local 880 net/mac80211/iface.c cancel_work_sync(&local->dynamic_ps_enable_work); local 884 net/mac80211/iface.c mutex_lock(&local->mtx); local 889 net/mac80211/iface.c ieee80211_wake_vif_queues(local, sdata, local 893 net/mac80211/iface.c mutex_unlock(&local->mtx); local 902 net/mac80211/iface.c WARN_ON(local->suspended); local 903 net/mac80211/iface.c mutex_lock(&local->mtx); local 905 net/mac80211/iface.c mutex_unlock(&local->mtx); local 928 net/mac80211/iface.c local->total_ps_buffered--; local 929 net/mac80211/iface.c ieee80211_free_txskb(&local->hw, skb); local 936 net/mac80211/iface.c local->open_count--; local 940 net/mac80211/iface.c mutex_lock(&local->mtx); local 942 net/mac80211/iface.c mutex_unlock(&local->mtx); local 950 net/mac80211/iface.c local->cooked_mntrs--; local 954 net/mac80211/iface.c local->monitors--; local 955 net/mac80211/iface.c if (local->monitors == 0) { local 956 net/mac80211/iface.c local->hw.conf.flags &= ~IEEE80211_CONF_MONITOR; local 976 net/mac80211/iface.c RCU_INIT_POINTER(local->p2p_sdata, NULL); local 996 net/mac80211/iface.c spin_lock_irqsave(&local->queue_stop_reason_lock, flags); local 998 net/mac80211/iface.c skb_queue_walk_safe(&local->pending[i], skb, tmp) { local 1001 net/mac80211/iface.c __skb_unlink(skb, &local->pending[i]); local 1002 net/mac80211/iface.c ieee80211_free_txskb(&local->hw, skb); local 1006 net/mac80211/iface.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); local 1009 net/mac80211/iface.c ieee80211_txq_remove_vlan(local, sdata); local 1013 net/mac80211/iface.c if (local->open_count == 0) local 1014 net/mac80211/iface.c ieee80211_clear_tx_pending(local); local 1027 net/mac80211/iface.c if (local->suspended) { local 1028 net/mac80211/iface.c WARN_ON(local->wowlan); local 1029 net/mac80211/iface.c WARN_ON(rtnl_dereference(local->monitor_sdata)); local 1037 net/mac80211/iface.c if (local->monitors == 0) local 1038 net/mac80211/iface.c ieee80211_del_virtual_monitor(local); local 1040 net/mac80211/iface.c mutex_lock(&local->mtx); local 1041 net/mac80211/iface.c ieee80211_recalc_idle(local); local 1042 net/mac80211/iface.c mutex_unlock(&local->mtx); local 1050 net/mac80211/iface.c drv_remove_interface(local, sdata); local 1053 net/mac80211/iface.c ieee80211_recalc_ps(local); local 1056 net/mac80211/iface.c flush_delayed_work(&local->scan_work); local 1058 net/mac80211/iface.c if (local->open_count == 0) { local 1059 net/mac80211/iface.c ieee80211_stop_device(local); local 1066 net/mac80211/iface.c ieee80211_configure_filter(local); local 1067 net/mac80211/iface.c ieee80211_hw_config(local, hw_reconf_flags); local 1069 net/mac80211/iface.c if (local->monitors == local->open_count) local 1070 net/mac80211/iface.c ieee80211_add_virtual_monitor(local); local 1085 net/mac80211/iface.c struct ieee80211_local *local = sdata->local; local 1093 net/mac80211/iface.c atomic_inc(&local->iff_allmultis); local 1095 net/mac80211/iface.c atomic_dec(&local->iff_allmultis); local 1099 net/mac80211/iface.c spin_lock_bh(&local->filter_lock); local 1100 net/mac80211/iface.c __hw_addr_sync(&local->mc_list, &dev->mc, dev->addr_len); local 1101 net/mac80211/iface.c spin_unlock_bh(&local->filter_lock); local 1102 net/mac80211/iface.c ieee80211_queue_work(&local->hw, &local->reconfig_filter); local 1181 net/mac80211/iface.c struct ieee80211_local *local = sdata->local; local 1185 net/mac80211/iface.c if (local->hw.queues < IEEE80211_NUM_ACS) local 1232 net/mac80211/iface.c struct ieee80211_local *local = sdata->local; local 1239 net/mac80211/iface.c if (test_bit(SCAN_SW_SCANNING, &local->scanning)) local 1242 net/mac80211/iface.c if (!ieee80211_can_run_worker(local)) local 1253 net/mac80211/iface.c mutex_lock(&local->sta_mtx); local 1259 net/mac80211/iface.c local, sta, mgmt, len); local 1262 net/mac80211/iface.c ieee80211_process_addba_resp(local, sta, local 1274 net/mac80211/iface.c mutex_unlock(&local->sta_mtx); local 1287 net/mac80211/iface.c mutex_lock(&local->sta_mtx); local 1295 net/mac80211/iface.c mutex_unlock(&local->sta_mtx); local 1324 net/mac80211/iface.c mutex_lock(&local->sta_mtx); local 1334 net/mac80211/iface.c mutex_unlock(&local->sta_mtx); local 1486 net/mac80211/iface.c struct ieee80211_local *local = sdata->local; local 1493 net/mac80211/iface.c if (!local->ops->change_interface) local 1544 net/mac80211/iface.c ret = drv_change_interface(local, sdata, internal_type, p2p); local 1590 net/mac80211/iface.c static void ieee80211_assign_perm_addr(struct ieee80211_local *local, local 1600 net/mac80211/iface.c memcpy(perm_addr, local->hw.wiphy->perm_addr, ETH_ALEN); local 1602 net/mac80211/iface.c if (is_zero_ether_addr(local->hw.wiphy->addr_mask) && local 1603 net/mac80211/iface.c local->hw.wiphy->n_addresses <= 1) local 1606 net/mac80211/iface.c mutex_lock(&local->iflist_mtx); local 1615 net/mac80211/iface.c list_for_each_entry(sdata, &local->interfaces, list) { local 1625 net/mac80211/iface.c if (ieee80211_hw_check(&local->hw, P2P_DEV_ADDR_FOR_INTF)) { local 1626 net/mac80211/iface.c list_for_each_entry(sdata, &local->interfaces, list) { local 1638 net/mac80211/iface.c for (i = 0; i < local->hw.wiphy->n_addresses; i++) { local 1641 net/mac80211/iface.c list_for_each_entry(sdata, &local->interfaces, list) { local 1642 net/mac80211/iface.c if (ether_addr_equal(local->hw.wiphy->addresses[i].addr, local 1651 net/mac80211/iface.c local->hw.wiphy->addresses[i].addr, local 1658 net/mac80211/iface.c if (is_zero_ether_addr(local->hw.wiphy->addr_mask)) local 1661 net/mac80211/iface.c m = local->hw.wiphy->addr_mask; local 1676 net/mac80211/iface.c m = local->hw.wiphy->perm_addr; local 1677 net/mac80211/iface.c list_for_each_entry(sdata, &local->interfaces, list) { local 1702 net/mac80211/iface.c list_for_each_entry(sdata, &local->interfaces, list) { local 1720 net/mac80211/iface.c mutex_unlock(&local->iflist_mtx); local 1723 net/mac80211/iface.c int ieee80211_if_add(struct ieee80211_local *local, const char *name, local 1740 net/mac80211/iface.c sdata = kzalloc(sizeof(*sdata) + local->hw.vif_data_size, local 1748 net/mac80211/iface.c ieee80211_assign_perm_addr(local, wdev->address, type); local 1751 net/mac80211/iface.c int size = ALIGN(sizeof(*sdata) + local->hw.vif_data_size, local 1755 net/mac80211/iface.c if (local->ops->wake_tx_queue && local 1760 net/mac80211/iface.c local->hw.txq_data_size; local 1762 net/mac80211/iface.c if (local->ops->wake_tx_queue) { local 1766 net/mac80211/iface.c if (local->hw.queues >= IEEE80211_NUM_ACS) local 1775 net/mac80211/iface.c dev_net_set(ndev, wiphy_net(local->hw.wiphy)); local 1783 net/mac80211/iface.c ndev->needed_headroom = local->tx_headroom + local 1799 net/mac80211/iface.c ieee80211_assign_perm_addr(local, ndev->perm_addr, type); local 1804 net/mac80211/iface.c SET_NETDEV_DEV(ndev, wiphy_dev(local->hw.wiphy)); local 1821 net/mac80211/iface.c sdata->wdev.wiphy = local->hw.wiphy; local 1822 net/mac80211/iface.c sdata->local = local; local 1836 net/mac80211/iface.c sband = local->hw.wiphy->bands[i]; local 1861 net/mac80211/iface.c sdata->user_power_level = local->user_power_level; local 1873 net/mac80211/iface.c ndev->features |= local->hw.netdev_features; local 1879 net/mac80211/iface.c ndev->max_mtu = local->hw.max_mtu; local 1888 net/mac80211/iface.c mutex_lock(&local->iflist_mtx); local 1889 net/mac80211/iface.c list_add_tail_rcu(&sdata->list, &local->interfaces); local 1890 net/mac80211/iface.c mutex_unlock(&local->iflist_mtx); local 1902 net/mac80211/iface.c mutex_lock(&sdata->local->iflist_mtx); local 1904 net/mac80211/iface.c mutex_unlock(&sdata->local->iflist_mtx); local 1907 net/mac80211/iface.c ieee80211_txq_purge(sdata->local, to_txq_info(sdata->vif.txq)); local 1927 net/mac80211/iface.c void ieee80211_remove_interfaces(struct ieee80211_local *local) local 1946 net/mac80211/iface.c cfg80211_shutdown_all_interfaces(local->hw.wiphy); local 1948 net/mac80211/iface.c WARN(local->open_count, "%s: open count remains %d\n", local 1949 net/mac80211/iface.c wiphy_name(local->hw.wiphy), local->open_count); local 1951 net/mac80211/iface.c ieee80211_txq_teardown_flows(local); local 1953 net/mac80211/iface.c mutex_lock(&local->iflist_mtx); local 1954 net/mac80211/iface.c list_for_each_entry_safe(sdata, tmp, &local->interfaces, list) { local 1962 net/mac80211/iface.c mutex_unlock(&local->iflist_mtx); local 56 net/mac80211/key.c static void assert_key_lock(struct ieee80211_local *local) local 58 net/mac80211/key.c lockdep_assert_held(&local->key_mtx); local 70 net/mac80211/key.c assert_key_lock(sdata->local); local 101 net/mac80211/key.c assert_key_lock(sdata->local); local 117 net/mac80211/key.c assert_key_lock(sdata->local); local 151 net/mac80211/key.c if (!key->local->ops->set_key) local 154 net/mac80211/key.c assert_key_lock(key->local); local 163 net/mac80211/key.c !ieee80211_hw_check(&key->local->hw, SUPPORTS_PER_STA_GTK)) local 180 net/mac80211/key.c ret = drv_set_key(key->local, SET_KEY, sdata, local 222 net/mac80211/key.c if (ieee80211_hw_check(&key->local->hw, SW_CRYPTO_CONTROL)) local 238 net/mac80211/key.c if (!key || !key->local->ops->set_key) local 241 net/mac80211/key.c assert_key_lock(key->local); local 255 net/mac80211/key.c ret = drv_set_key(key->local, DISABLE_KEY, sdata, local 268 net/mac80211/key.c struct ieee80211_local *local = key->local; local 270 net/mac80211/key.c assert_key_lock(local); local 276 net/mac80211/key.c if (force || !ieee80211_hw_check(&local->hw, AMPDU_KEYBORDER_SUPPORT)) local 291 net/mac80211/key.c struct ieee80211_local *local = new->local; local 295 net/mac80211/key.c assert_key_lock(local); local 301 net/mac80211/key.c !ieee80211_hw_check(&local->hw, AMPDU_KEYBORDER_SUPPORT)) { local 330 net/mac80211/key.c if (ieee80211_hw_check(&local->hw, AMPDU_AGGREGATION)) { local 335 net/mac80211/key.c if (!wiphy_ext_feature_isset(local->hw.wiphy, local 342 net/mac80211/key.c ieee80211_flush_queues(local, old->sdata, false); local 352 net/mac80211/key.c assert_key_lock(sdata->local); local 355 net/mac80211/key.c key = key_mtx_dereference(sdata->local, sdata->keys[idx]); local 361 net/mac80211/key.c drv_set_default_unicast_key(sdata->local, sdata, idx); local 373 net/mac80211/key.c mutex_lock(&sdata->local->key_mtx); local 375 net/mac80211/key.c mutex_unlock(&sdata->local->key_mtx); local 383 net/mac80211/key.c assert_key_lock(sdata->local); local 387 net/mac80211/key.c key = key_mtx_dereference(sdata->local, sdata->keys[idx]); local 397 net/mac80211/key.c mutex_lock(&sdata->local->key_mtx); local 399 net/mac80211/key.c mutex_unlock(&sdata->local->key_mtx); local 440 net/mac80211/key.c if (!new->local->wowlan) local 464 net/mac80211/key.c old == key_mtx_dereference(sdata->local, local 467 net/mac80211/key.c old == key_mtx_dereference(sdata->local, local 470 net/mac80211/key.c old == key_mtx_dereference(sdata->local, local 691 net/mac80211/key.c if (key->local) { local 726 net/mac80211/key.c WARN_ON(key->sdata || key->local); local 778 net/mac80211/key.c mutex_lock(&sdata->local->key_mtx); local 783 net/mac80211/key.c old_key = key_mtx_dereference(sdata->local, sta->ptk[idx]); local 784 net/mac80211/key.c alt_key = key_mtx_dereference(sdata->local, sta->ptk[idx ^ 1]); local 793 net/mac80211/key.c old_key = key_mtx_dereference(sdata->local, sta->gtk[idx]); local 795 net/mac80211/key.c old_key = key_mtx_dereference(sdata->local, sdata->keys[idx]); local 814 net/mac80211/key.c key->local = sdata->local; local 830 net/mac80211/key.c mutex_unlock(&sdata->local->key_mtx); local 857 net/mac80211/key.c mutex_lock(&sdata->local->key_mtx); local 876 net/mac80211/key.c mutex_unlock(&sdata->local->key_mtx); local 888 net/mac80211/key.c struct ieee80211_local *local = hw_to_local(hw); local 894 net/mac80211/key.c mutex_lock(&local->key_mtx); local 902 net/mac80211/key.c list_for_each_entry(sdata, &local->interfaces, list) local 909 net/mac80211/key.c mutex_unlock(&local->key_mtx); local 947 net/mac80211/key.c struct ieee80211_local *local = hw_to_local(hw); local 954 net/mac80211/key.c list_for_each_entry_rcu(sdata, &local->interfaces, list) local 984 net/mac80211/key.c struct ieee80211_local *local = sdata->local; local 992 net/mac80211/key.c mutex_lock(&local->key_mtx); local 1026 net/mac80211/key.c mutex_unlock(&local->key_mtx); local 1029 net/mac80211/key.c void ieee80211_free_sta_keys(struct ieee80211_local *local, local 1035 net/mac80211/key.c mutex_lock(&local->key_mtx); local 1037 net/mac80211/key.c key = key_mtx_dereference(local, sta->gtk[i]); local 1048 net/mac80211/key.c key = key_mtx_dereference(local, sta->ptk[i]); local 1058 net/mac80211/key.c mutex_unlock(&local->key_mtx); local 1084 net/mac80211/key.c mutex_lock(&sdata->local->key_mtx); local 1088 net/mac80211/key.c mutex_unlock(&sdata->local->key_mtx); local 1217 net/mac80211/key.c assert_key_lock(key->local); local 1241 net/mac80211/key.c struct ieee80211_local *local = sdata->local; local 1245 net/mac80211/key.c if (WARN_ON(!local->wowlan)) local 59 net/mac80211/key.h struct ieee80211_local *local; local 158 net/mac80211/key.h void ieee80211_free_sta_keys(struct ieee80211_local *local, local 162 net/mac80211/key.h #define key_mtx_dereference(local, ref) \ local 163 net/mac80211/key.h rcu_dereference_protected(ref, lockdep_is_held(&((local)->key_mtx))) local 12 net/mac80211/led.c void ieee80211_led_assoc(struct ieee80211_local *local, bool associated) local 14 net/mac80211/led.c if (!atomic_read(&local->assoc_led_active)) local 17 net/mac80211/led.c led_trigger_event(&local->assoc_led, LED_FULL); local 19 net/mac80211/led.c led_trigger_event(&local->assoc_led, LED_OFF); local 22 net/mac80211/led.c void ieee80211_led_radio(struct ieee80211_local *local, bool enabled) local 24 net/mac80211/led.c if (!atomic_read(&local->radio_led_active)) local 27 net/mac80211/led.c led_trigger_event(&local->radio_led, LED_FULL); local 29 net/mac80211/led.c led_trigger_event(&local->radio_led, LED_OFF); local 32 net/mac80211/led.c void ieee80211_alloc_led_names(struct ieee80211_local *local) local 34 net/mac80211/led.c local->rx_led.name = kasprintf(GFP_KERNEL, "%srx", local 35 net/mac80211/led.c wiphy_name(local->hw.wiphy)); local 36 net/mac80211/led.c local->tx_led.name = kasprintf(GFP_KERNEL, "%stx", local 37 net/mac80211/led.c wiphy_name(local->hw.wiphy)); local 38 net/mac80211/led.c local->assoc_led.name = kasprintf(GFP_KERNEL, "%sassoc", local 39 net/mac80211/led.c wiphy_name(local->hw.wiphy)); local 40 net/mac80211/led.c local->radio_led.name = kasprintf(GFP_KERNEL, "%sradio", local 41 net/mac80211/led.c wiphy_name(local->hw.wiphy)); local 44 net/mac80211/led.c void ieee80211_free_led_names(struct ieee80211_local *local) local 46 net/mac80211/led.c kfree(local->rx_led.name); local 47 net/mac80211/led.c kfree(local->tx_led.name); local 48 net/mac80211/led.c kfree(local->assoc_led.name); local 49 net/mac80211/led.c kfree(local->radio_led.name); local 54 net/mac80211/led.c struct ieee80211_local *local = container_of(led_cdev->trigger, local 58 net/mac80211/led.c atomic_inc(&local->tx_led_active); local 65 net/mac80211/led.c struct ieee80211_local *local = container_of(led_cdev->trigger, local 69 net/mac80211/led.c atomic_dec(&local->tx_led_active); local 74 net/mac80211/led.c struct ieee80211_local *local = container_of(led_cdev->trigger, local 78 net/mac80211/led.c atomic_inc(&local->rx_led_active); local 85 net/mac80211/led.c struct ieee80211_local *local = container_of(led_cdev->trigger, local 89 net/mac80211/led.c atomic_dec(&local->rx_led_active); local 94 net/mac80211/led.c struct ieee80211_local *local = container_of(led_cdev->trigger, local 98 net/mac80211/led.c atomic_inc(&local->assoc_led_active); local 105 net/mac80211/led.c struct ieee80211_local *local = container_of(led_cdev->trigger, local 109 net/mac80211/led.c atomic_dec(&local->assoc_led_active); local 114 net/mac80211/led.c struct ieee80211_local *local = container_of(led_cdev->trigger, local 118 net/mac80211/led.c atomic_inc(&local->radio_led_active); local 125 net/mac80211/led.c struct ieee80211_local *local = container_of(led_cdev->trigger, local 129 net/mac80211/led.c atomic_dec(&local->radio_led_active); local 134 net/mac80211/led.c struct ieee80211_local *local = container_of(led_cdev->trigger, local 138 net/mac80211/led.c atomic_inc(&local->tpt_led_active); local 145 net/mac80211/led.c struct ieee80211_local *local = container_of(led_cdev->trigger, local 149 net/mac80211/led.c atomic_dec(&local->tpt_led_active); local 152 net/mac80211/led.c void ieee80211_led_init(struct ieee80211_local *local) local 154 net/mac80211/led.c atomic_set(&local->rx_led_active, 0); local 155 net/mac80211/led.c local->rx_led.activate = ieee80211_rx_led_activate; local 156 net/mac80211/led.c local->rx_led.deactivate = ieee80211_rx_led_deactivate; local 157 net/mac80211/led.c if (local->rx_led.name && led_trigger_register(&local->rx_led)) { local 158 net/mac80211/led.c kfree(local->rx_led.name); local 159 net/mac80211/led.c local->rx_led.name = NULL; local 162 net/mac80211/led.c atomic_set(&local->tx_led_active, 0); local 163 net/mac80211/led.c local->tx_led.activate = ieee80211_tx_led_activate; local 164 net/mac80211/led.c local->tx_led.deactivate = ieee80211_tx_led_deactivate; local 165 net/mac80211/led.c if (local->tx_led.name && led_trigger_register(&local->tx_led)) { local 166 net/mac80211/led.c kfree(local->tx_led.name); local 167 net/mac80211/led.c local->tx_led.name = NULL; local 170 net/mac80211/led.c atomic_set(&local->assoc_led_active, 0); local 171 net/mac80211/led.c local->assoc_led.activate = ieee80211_assoc_led_activate; local 172 net/mac80211/led.c local->assoc_led.deactivate = ieee80211_assoc_led_deactivate; local 173 net/mac80211/led.c if (local->assoc_led.name && led_trigger_register(&local->assoc_led)) { local 174 net/mac80211/led.c kfree(local->assoc_led.name); local 175 net/mac80211/led.c local->assoc_led.name = NULL; local 178 net/mac80211/led.c atomic_set(&local->radio_led_active, 0); local 179 net/mac80211/led.c local->radio_led.activate = ieee80211_radio_led_activate; local 180 net/mac80211/led.c local->radio_led.deactivate = ieee80211_radio_led_deactivate; local 181 net/mac80211/led.c if (local->radio_led.name && led_trigger_register(&local->radio_led)) { local 182 net/mac80211/led.c kfree(local->radio_led.name); local 183 net/mac80211/led.c local->radio_led.name = NULL; local 186 net/mac80211/led.c atomic_set(&local->tpt_led_active, 0); local 187 net/mac80211/led.c if (local->tpt_led_trigger) { local 188 net/mac80211/led.c local->tpt_led.activate = ieee80211_tpt_led_activate; local 189 net/mac80211/led.c local->tpt_led.deactivate = ieee80211_tpt_led_deactivate; local 190 net/mac80211/led.c if (led_trigger_register(&local->tpt_led)) { local 191 net/mac80211/led.c kfree(local->tpt_led_trigger); local 192 net/mac80211/led.c local->tpt_led_trigger = NULL; local 197 net/mac80211/led.c void ieee80211_led_exit(struct ieee80211_local *local) local 199 net/mac80211/led.c if (local->radio_led.name) local 200 net/mac80211/led.c led_trigger_unregister(&local->radio_led); local 201 net/mac80211/led.c if (local->assoc_led.name) local 202 net/mac80211/led.c led_trigger_unregister(&local->assoc_led); local 203 net/mac80211/led.c if (local->tx_led.name) local 204 net/mac80211/led.c led_trigger_unregister(&local->tx_led); local 205 net/mac80211/led.c if (local->rx_led.name) local 206 net/mac80211/led.c led_trigger_unregister(&local->rx_led); local 208 net/mac80211/led.c if (local->tpt_led_trigger) { local 209 net/mac80211/led.c led_trigger_unregister(&local->tpt_led); local 210 net/mac80211/led.c kfree(local->tpt_led_trigger); local 216 net/mac80211/led.c struct ieee80211_local *local = hw_to_local(hw); local 218 net/mac80211/led.c return local->radio_led.name; local 224 net/mac80211/led.c struct ieee80211_local *local = hw_to_local(hw); local 226 net/mac80211/led.c return local->assoc_led.name; local 232 net/mac80211/led.c struct ieee80211_local *local = hw_to_local(hw); local 234 net/mac80211/led.c return local->tx_led.name; local 240 net/mac80211/led.c struct ieee80211_local *local = hw_to_local(hw); local 242 net/mac80211/led.c return local->rx_led.name; local 246 net/mac80211/led.c static unsigned long tpt_trig_traffic(struct ieee80211_local *local, local 261 net/mac80211/led.c struct ieee80211_local *local = tpt_trig->local; local 271 net/mac80211/led.c tpt = tpt_trig_traffic(local, tpt_trig); local 286 net/mac80211/led.c read_lock(&local->tpt_led.leddev_list_lock); local 287 net/mac80211/led.c list_for_each_entry(led_cdev, &local->tpt_led.led_cdevs, trig_list) local 289 net/mac80211/led.c read_unlock(&local->tpt_led.leddev_list_lock); local 298 net/mac80211/led.c struct ieee80211_local *local = hw_to_local(hw); local 301 net/mac80211/led.c if (WARN_ON(local->tpt_led_trigger)) local 309 net/mac80211/led.c "%stpt", wiphy_name(local->hw.wiphy)); local 311 net/mac80211/led.c local->tpt_led.name = tpt_trig->name; local 316 net/mac80211/led.c tpt_trig->local = local; local 320 net/mac80211/led.c local->tpt_led_trigger = tpt_trig; local 326 net/mac80211/led.c static void ieee80211_start_tpt_led_trig(struct ieee80211_local *local) local 328 net/mac80211/led.c struct tpt_led_trigger *tpt_trig = local->tpt_led_trigger; local 334 net/mac80211/led.c tpt_trig_traffic(local, tpt_trig); local 341 net/mac80211/led.c static void ieee80211_stop_tpt_led_trig(struct ieee80211_local *local) local 343 net/mac80211/led.c struct tpt_led_trigger *tpt_trig = local->tpt_led_trigger; local 352 net/mac80211/led.c read_lock(&local->tpt_led.leddev_list_lock); local 353 net/mac80211/led.c list_for_each_entry(led_cdev, &local->tpt_led.led_cdevs, trig_list) local 355 net/mac80211/led.c read_unlock(&local->tpt_led.leddev_list_lock); local 358 net/mac80211/led.c void ieee80211_mod_tpt_led_trig(struct ieee80211_local *local, local 361 net/mac80211/led.c struct tpt_led_trigger *tpt_trig = local->tpt_led_trigger; local 381 net/mac80211/led.c ieee80211_stop_tpt_led_trig(local); local 383 net/mac80211/led.c ieee80211_start_tpt_led_trig(local); local 13 net/mac80211/led.h static inline void ieee80211_led_rx(struct ieee80211_local *local) local 18 net/mac80211/led.h if (!atomic_read(&local->rx_led_active)) local 20 net/mac80211/led.h led_trigger_blink_oneshot(&local->rx_led, &led_delay, &led_delay, 0); local 24 net/mac80211/led.h static inline void ieee80211_led_tx(struct ieee80211_local *local) local 29 net/mac80211/led.h if (!atomic_read(&local->tx_led_active)) local 31 net/mac80211/led.h led_trigger_blink_oneshot(&local->tx_led, &led_delay, &led_delay, 0); local 36 net/mac80211/led.h void ieee80211_led_assoc(struct ieee80211_local *local, local 38 net/mac80211/led.h void ieee80211_led_radio(struct ieee80211_local *local, local 40 net/mac80211/led.h void ieee80211_alloc_led_names(struct ieee80211_local *local); local 41 net/mac80211/led.h void ieee80211_free_led_names(struct ieee80211_local *local); local 42 net/mac80211/led.h void ieee80211_led_init(struct ieee80211_local *local); local 43 net/mac80211/led.h void ieee80211_led_exit(struct ieee80211_local *local); local 44 net/mac80211/led.h void ieee80211_mod_tpt_led_trig(struct ieee80211_local *local, local 47 net/mac80211/led.h static inline void ieee80211_led_assoc(struct ieee80211_local *local, local 51 net/mac80211/led.h static inline void ieee80211_led_radio(struct ieee80211_local *local, local 55 net/mac80211/led.h static inline void ieee80211_alloc_led_names(struct ieee80211_local *local) local 58 net/mac80211/led.h static inline void ieee80211_free_led_names(struct ieee80211_local *local) local 61 net/mac80211/led.h static inline void ieee80211_led_init(struct ieee80211_local *local) local 64 net/mac80211/led.h static inline void ieee80211_led_exit(struct ieee80211_local *local) local 67 net/mac80211/led.h static inline void ieee80211_mod_tpt_led_trig(struct ieee80211_local *local, local 75 net/mac80211/led.h ieee80211_tpt_led_trig_tx(struct ieee80211_local *local, __le16 fc, int bytes) local 78 net/mac80211/led.h if (ieee80211_is_data(fc) && atomic_read(&local->tpt_led_active)) local 79 net/mac80211/led.h local->tpt_led_trigger->tx_bytes += bytes; local 84 net/mac80211/led.h ieee80211_tpt_led_trig_rx(struct ieee80211_local *local, __le16 fc, int bytes) local 87 net/mac80211/led.h if (ieee80211_is_data(fc) && atomic_read(&local->tpt_led_active)) local 88 net/mac80211/led.h local->tpt_led_trigger->rx_bytes += bytes; local 36 net/mac80211/main.c void ieee80211_configure_filter(struct ieee80211_local *local) local 42 net/mac80211/main.c if (atomic_read(&local->iff_allmultis)) local 45 net/mac80211/main.c if (local->monitors || test_bit(SCAN_SW_SCANNING, &local->scanning) || local 46 net/mac80211/main.c test_bit(SCAN_ONCHANNEL_SCANNING, &local->scanning)) local 49 net/mac80211/main.c if (local->fif_probe_req || local->probe_req_reg) local 52 net/mac80211/main.c if (local->fif_fcsfail) local 55 net/mac80211/main.c if (local->fif_plcpfail) local 58 net/mac80211/main.c if (local->fif_control) local 61 net/mac80211/main.c if (local->fif_other_bss) local 64 net/mac80211/main.c if (local->fif_pspoll) local 67 net/mac80211/main.c spin_lock_bh(&local->filter_lock); local 68 net/mac80211/main.c changed_flags = local->filter_flags ^ new_flags; local 70 net/mac80211/main.c mc = drv_prepare_multicast(local, &local->mc_list); local 71 net/mac80211/main.c spin_unlock_bh(&local->filter_lock); local 76 net/mac80211/main.c drv_configure_filter(local, changed_flags, &new_flags, mc); local 80 net/mac80211/main.c local->filter_flags = new_flags & ~(1<<31); local 85 net/mac80211/main.c struct ieee80211_local *local = local 88 net/mac80211/main.c ieee80211_configure_filter(local); local 91 net/mac80211/main.c static u32 ieee80211_hw_conf_chan(struct ieee80211_local *local) local 99 net/mac80211/main.c offchannel_flag = local->hw.conf.flags & IEEE80211_CONF_OFFCHANNEL; local 101 net/mac80211/main.c if (local->scan_chandef.chan) { local 102 net/mac80211/main.c chandef = local->scan_chandef; local 103 net/mac80211/main.c } else if (local->tmp_channel) { local 104 net/mac80211/main.c chandef.chan = local->tmp_channel; local 108 net/mac80211/main.c chandef = local->_oper_chandef; local 115 net/mac80211/main.c if (!cfg80211_chandef_identical(&chandef, &local->_oper_chandef)) local 116 net/mac80211/main.c local->hw.conf.flags |= IEEE80211_CONF_OFFCHANNEL; local 118 net/mac80211/main.c local->hw.conf.flags &= ~IEEE80211_CONF_OFFCHANNEL; local 120 net/mac80211/main.c offchannel_flag ^= local->hw.conf.flags & IEEE80211_CONF_OFFCHANNEL; local 123 net/mac80211/main.c !cfg80211_chandef_identical(&local->hw.conf.chandef, local 124 net/mac80211/main.c &local->_oper_chandef)) { local 125 net/mac80211/main.c local->hw.conf.chandef = chandef; local 129 net/mac80211/main.c if (!conf_is_ht(&local->hw.conf)) { local 135 net/mac80211/main.c local->hw.conf.smps_mode = IEEE80211_SMPS_STATIC; local 136 net/mac80211/main.c } else if (local->hw.conf.smps_mode != local->smps_mode) { local 137 net/mac80211/main.c local->hw.conf.smps_mode = local->smps_mode; local 144 net/mac80211/main.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 153 net/mac80211/main.c if (local->hw.conf.power_level != power) { local 155 net/mac80211/main.c local->hw.conf.power_level = power; local 161 net/mac80211/main.c int ieee80211_hw_config(struct ieee80211_local *local, u32 changed) local 167 net/mac80211/main.c if (!local->use_chanctx) local 168 net/mac80211/main.c changed |= ieee80211_hw_conf_chan(local); local 173 net/mac80211/main.c if (changed && local->open_count) { local 174 net/mac80211/main.c ret = drv_config(local, changed); local 198 net/mac80211/main.c struct ieee80211_local *local = sdata->local; local 203 net/mac80211/main.c drv_bss_info_changed(local, sdata, &sdata->vif.bss_conf, changed); local 218 net/mac80211/main.c struct ieee80211_local *local = (struct ieee80211_local *) data; local 221 net/mac80211/main.c while ((skb = skb_dequeue(&local->skb_queue)) || local 222 net/mac80211/main.c (skb = skb_dequeue(&local->skb_queue_unreliable))) { local 228 net/mac80211/main.c ieee80211_rx(&local->hw, skb); local 232 net/mac80211/main.c ieee80211_tx_status(&local->hw, skb); local 245 net/mac80211/main.c struct ieee80211_local *local = local 250 net/mac80211/main.c flush_workqueue(local->workqueue); local 251 net/mac80211/main.c flush_work(&local->sched_scan_stopped_work); local 253 net/mac80211/main.c WARN(test_bit(SCAN_HW_SCANNING, &local->scanning), local 256 net/mac80211/main.c flush_work(&local->radar_detected_work); local 258 net/mac80211/main.c list_for_each_entry(sdata, &local->interfaces, list) { local 279 net/mac80211/main.c ieee80211_scan_cancel(local); local 282 net/mac80211/main.c flush_delayed_work(&local->roc_work); local 283 net/mac80211/main.c flush_work(&local->hw_roc_done); local 288 net/mac80211/main.c ieee80211_reconfig(local); local 294 net/mac80211/main.c struct ieee80211_local *local = hw_to_local(hw); local 296 net/mac80211/main.c trace_api_restart_hw(local); local 310 net/mac80211/main.c local->in_reconfig = true; local 313 net/mac80211/main.c queue_work(system_freezable_wq, &local->restart_work); local 322 net/mac80211/main.c struct ieee80211_local *local = local 337 net/mac80211/main.c if (wdev->wiphy != local->hw.wiphy) local 383 net/mac80211/main.c struct ieee80211_local *local = local 389 net/mac80211/main.c if (!wdev || wdev->wiphy != local->hw.wiphy) local 401 net/mac80211/main.c drv_ipv6_addr_change(local, sdata, idev); local 511 net/mac80211/main.c struct ieee80211_local *local; local 547 net/mac80211/main.c priv_size = ALIGN(sizeof(*local), NETDEV_ALIGN) + priv_data_len; local 602 net/mac80211/main.c local = wiphy_priv(wiphy); local 604 net/mac80211/main.c if (sta_info_init(local)) local 607 net/mac80211/main.c local->hw.wiphy = wiphy; local 609 net/mac80211/main.c local->hw.priv = (char *)local + ALIGN(sizeof(*local), NETDEV_ALIGN); local 611 net/mac80211/main.c local->ops = ops; local 612 net/mac80211/main.c local->use_chanctx = use_chanctx; local 624 net/mac80211/main.c local->hw.tx_sk_pacing_shift = 7; local 627 net/mac80211/main.c local->hw.queues = 1; local 628 net/mac80211/main.c local->hw.max_rates = 1; local 629 net/mac80211/main.c local->hw.max_report_rates = 0; local 630 net/mac80211/main.c local->hw.max_rx_aggregation_subframes = IEEE80211_MAX_AMPDU_BUF_HT; local 631 net/mac80211/main.c local->hw.max_tx_aggregation_subframes = IEEE80211_MAX_AMPDU_BUF_HT; local 632 net/mac80211/main.c local->hw.offchannel_tx_hw_queue = IEEE80211_INVAL_HW_QUEUE; local 633 net/mac80211/main.c local->hw.conf.long_frame_max_tx_count = wiphy->retry_long; local 634 net/mac80211/main.c local->hw.conf.short_frame_max_tx_count = wiphy->retry_short; local 635 net/mac80211/main.c local->hw.radiotap_mcs_details = IEEE80211_RADIOTAP_MCS_HAVE_MCS | local 638 net/mac80211/main.c local->hw.radiotap_vht_details = IEEE80211_RADIOTAP_VHT_KNOWN_GI | local 640 net/mac80211/main.c local->hw.uapsd_queues = IEEE80211_DEFAULT_UAPSD_QUEUES; local 641 net/mac80211/main.c local->hw.uapsd_max_sp_len = IEEE80211_DEFAULT_MAX_SP_LEN; local 642 net/mac80211/main.c local->hw.max_mtu = IEEE80211_MAX_DATA_LEN; local 643 net/mac80211/main.c local->user_power_level = IEEE80211_UNSET_POWER_LEVEL; local 647 net/mac80211/main.c local->ext_capa[7] = WLAN_EXT_CAPA8_OPMODE_NOTIF; local 649 net/mac80211/main.c wiphy->extended_capabilities = local->ext_capa; local 650 net/mac80211/main.c wiphy->extended_capabilities_mask = local->ext_capa; local 652 net/mac80211/main.c ARRAY_SIZE(local->ext_capa); local 654 net/mac80211/main.c INIT_LIST_HEAD(&local->interfaces); local 655 net/mac80211/main.c INIT_LIST_HEAD(&local->mon_list); local 657 net/mac80211/main.c __hw_addr_init(&local->mc_list); local 659 net/mac80211/main.c mutex_init(&local->iflist_mtx); local 660 net/mac80211/main.c mutex_init(&local->mtx); local 662 net/mac80211/main.c mutex_init(&local->key_mtx); local 663 net/mac80211/main.c spin_lock_init(&local->filter_lock); local 664 net/mac80211/main.c spin_lock_init(&local->rx_path_lock); local 665 net/mac80211/main.c spin_lock_init(&local->queue_stop_reason_lock); local 668 net/mac80211/main.c INIT_LIST_HEAD(&local->active_txqs[i]); local 669 net/mac80211/main.c spin_lock_init(&local->active_txq_lock[i]); local 671 net/mac80211/main.c local->airtime_flags = AIRTIME_USE_TX | AIRTIME_USE_RX; local 673 net/mac80211/main.c INIT_LIST_HEAD(&local->chanctx_list); local 674 net/mac80211/main.c mutex_init(&local->chanctx_mtx); local 676 net/mac80211/main.c INIT_DELAYED_WORK(&local->scan_work, ieee80211_scan_work); local 678 net/mac80211/main.c INIT_WORK(&local->restart_work, ieee80211_restart_work); local 680 net/mac80211/main.c INIT_WORK(&local->radar_detected_work, local 683 net/mac80211/main.c INIT_WORK(&local->reconfig_filter, ieee80211_reconfig_filter); local 684 net/mac80211/main.c local->smps_mode = IEEE80211_SMPS_OFF; local 686 net/mac80211/main.c INIT_WORK(&local->dynamic_ps_enable_work, local 688 net/mac80211/main.c INIT_WORK(&local->dynamic_ps_disable_work, local 690 net/mac80211/main.c timer_setup(&local->dynamic_ps_timer, ieee80211_dynamic_ps_timer, 0); local 692 net/mac80211/main.c INIT_WORK(&local->sched_scan_stopped_work, local 695 net/mac80211/main.c INIT_WORK(&local->tdls_chsw_work, ieee80211_tdls_chsw_work); local 697 net/mac80211/main.c spin_lock_init(&local->ack_status_lock); local 698 net/mac80211/main.c idr_init(&local->ack_status_frames); local 701 net/mac80211/main.c skb_queue_head_init(&local->pending[i]); local 702 net/mac80211/main.c atomic_set(&local->agg_queue_stop[i], 0); local 704 net/mac80211/main.c tasklet_init(&local->tx_pending_tasklet, ieee80211_tx_pending, local 705 net/mac80211/main.c (unsigned long)local); local 708 net/mac80211/main.c tasklet_init(&local->wake_txqs_tasklet, ieee80211_wake_txqs, local 709 net/mac80211/main.c (unsigned long)local); local 711 net/mac80211/main.c tasklet_init(&local->tasklet, local 713 net/mac80211/main.c (unsigned long) local); local 715 net/mac80211/main.c skb_queue_head_init(&local->skb_queue); local 716 net/mac80211/main.c skb_queue_head_init(&local->skb_queue_unreliable); local 717 net/mac80211/main.c skb_queue_head_init(&local->skb_queue_tdls_chsw); local 719 net/mac80211/main.c ieee80211_alloc_led_names(local); local 721 net/mac80211/main.c ieee80211_roc_setup(local); local 723 net/mac80211/main.c local->hw.radiotap_timestamp.units_pos = -1; local 724 net/mac80211/main.c local->hw.radiotap_timestamp.accuracy = -1; local 726 net/mac80211/main.c return &local->hw; local 733 net/mac80211/main.c static int ieee80211_init_cipher_suites(struct ieee80211_local *local) local 736 net/mac80211/main.c bool have_mfp = ieee80211_hw_check(&local->hw, MFP_CAPABLE); local 756 net/mac80211/main.c if (ieee80211_hw_check(&local->hw, SW_CRYPTO_CONTROL) || local 757 net/mac80211/main.c local->hw.wiphy->cipher_suites) { local 765 net/mac80211/main.c if (!local->hw.wiphy->n_cipher_suites) local 769 net/mac80211/main.c suites = kmemdup(local->hw.wiphy->cipher_suites, local 770 net/mac80211/main.c sizeof(u32) * local->hw.wiphy->n_cipher_suites, local 775 net/mac80211/main.c for (r = 0; r < local->hw.wiphy->n_cipher_suites; r++) { local 776 net/mac80211/main.c u32 suite = local->hw.wiphy->cipher_suites[r]; local 783 net/mac80211/main.c } else if (!local->hw.cipher_schemes) { local 788 net/mac80211/main.c local->hw.wiphy->cipher_suites = cipher_suites; local 789 net/mac80211/main.c local->hw.wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites); local 792 net/mac80211/main.c local->hw.wiphy->n_cipher_suites -= 4; local 795 net/mac80211/main.c local->hw.wiphy->cipher_suites += 2; local 796 net/mac80211/main.c local->hw.wiphy->n_cipher_suites -= 2; local 804 net/mac80211/main.c cs = local->hw.cipher_schemes; local 812 net/mac80211/main.c n_suites = local->hw.n_cipher_schemes + 5; local 846 net/mac80211/main.c for (r = 0; r < local->hw.n_cipher_schemes; r++) { local 855 net/mac80211/main.c local->hw.wiphy->cipher_suites = suites; local 856 net/mac80211/main.c local->hw.wiphy->n_cipher_suites = w; local 857 net/mac80211/main.c local->wiphy_ciphers_allocated = true; local 864 net/mac80211/main.c struct ieee80211_local *local = hw_to_local(hw); local 873 net/mac80211/main.c (local->hw.offchannel_tx_hw_queue == IEEE80211_INVAL_HW_QUEUE || local 874 net/mac80211/main.c local->hw.offchannel_tx_hw_queue >= local->hw.queues)) local 878 net/mac80211/main.c (!local->ops->tdls_channel_switch || local 879 net/mac80211/main.c !local->ops->tdls_cancel_channel_switch || local 880 net/mac80211/main.c !local->ops->tdls_recv_channel_switch)) local 884 net/mac80211/main.c !local->ops->set_frag_threshold)) local 887 net/mac80211/main.c if (WARN_ON(local->hw.wiphy->interface_modes & local 889 net/mac80211/main.c (!local->ops->start_nan || !local->ops->stop_nan))) local 893 net/mac80211/main.c if (hw->wiphy->wowlan && (!local->ops->suspend || !local->ops->resume)) local 897 net/mac80211/main.c if (!local->use_chanctx) { local 898 net/mac80211/main.c for (i = 0; i < local->hw.wiphy->n_iface_combinations; i++) { local 901 net/mac80211/main.c comb = &local->hw.wiphy->iface_combinations[i]; local 912 net/mac80211/main.c if (local->hw.wiphy->interface_modes & BIT(NL80211_IFTYPE_WDS)) local 916 net/mac80211/main.c for (i = 0; i < local->hw.wiphy->n_iface_combinations; i++) { local 919 net/mac80211/main.c comb = &local->hw.wiphy->iface_combinations[i]; local 937 net/mac80211/main.c local->rx_chains = 1; local 952 net/mac80211/main.c sband = local->hw.wiphy->bands[band]; local 961 net/mac80211/main.c if (!local->use_chanctx && !local->_oper_chandef.chan) { local 962 net/mac80211/main.c local->hw.conf.chandef = dflt_chandef; local 963 net/mac80211/main.c local->_oper_chandef = dflt_chandef; local 965 net/mac80211/main.c local->monitor_chandef = dflt_chandef; local 982 net/mac80211/main.c local->rx_chains = local 984 net/mac80211/main.c local->rx_chains); local 995 net/mac80211/main.c if (local->hw.wiphy->interface_modes & BIT(NL80211_IFTYPE_AP) && local 996 net/mac80211/main.c !ieee80211_hw_check(&local->hw, SW_CRYPTO_CONTROL)) { local 1018 net/mac80211/main.c local->int_scan_req = kzalloc(sizeof(*local->int_scan_req) + local 1020 net/mac80211/main.c if (!local->int_scan_req) local 1024 net/mac80211/main.c if (!local->hw.wiphy->bands[band]) local 1026 net/mac80211/main.c local->int_scan_req->rates[band] = (u32) -1; local 1031 net/mac80211/main.c local->hw.wiphy->interface_modes &= ~BIT(NL80211_IFTYPE_MESH_POINT); local 1036 net/mac80211/main.c if (local->hw.wiphy->interface_modes & BIT(NL80211_IFTYPE_MESH_POINT)) local 1037 net/mac80211/main.c local->hw.wiphy->flags |= WIPHY_FLAG_MESH_AUTH; local 1040 net/mac80211/main.c local->hw.wiphy->flags |= WIPHY_FLAG_CONTROL_PORT_PROTOCOL; local 1042 net/mac80211/main.c if (ieee80211_hw_check(&local->hw, SIGNAL_DBM)) { local 1043 net/mac80211/main.c local->hw.wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM; local 1044 net/mac80211/main.c } else if (ieee80211_hw_check(&local->hw, SIGNAL_UNSPEC)) { local 1045 net/mac80211/main.c local->hw.wiphy->signal_type = CFG80211_SIGNAL_TYPE_UNSPEC; local 1055 net/mac80211/main.c if (!local->ops->set_key) { local 1056 net/mac80211/main.c wiphy_ext_feature_set(local->hw.wiphy, local 1058 net/mac80211/main.c wiphy_ext_feature_set(local->hw.wiphy, local 1068 net/mac80211/main.c local->scan_ies_len = 4 + max_bitrates /* (ext) supp rates */ + local 1071 net/mac80211/main.c local->scan_ies_len += 2 + sizeof(struct ieee80211_ht_cap); local 1074 net/mac80211/main.c local->scan_ies_len += local 1084 net/mac80211/main.c local->scan_ies_len += local 1089 net/mac80211/main.c if (!local->ops->hw_scan) { local 1091 net/mac80211/main.c local->hw.wiphy->max_scan_ssids = 4; local 1092 net/mac80211/main.c local->hw.wiphy->max_scan_ie_len = IEEE80211_MAX_DATA_LEN; local 1102 net/mac80211/main.c if (local->hw.wiphy->max_scan_ie_len) local 1103 net/mac80211/main.c local->hw.wiphy->max_scan_ie_len -= local->scan_ies_len; local 1105 net/mac80211/main.c WARN_ON(!ieee80211_cs_list_valid(local->hw.cipher_schemes, local 1106 net/mac80211/main.c local->hw.n_cipher_schemes)); local 1108 net/mac80211/main.c result = ieee80211_init_cipher_suites(local); local 1112 net/mac80211/main.c if (!local->ops->remain_on_channel) local 1113 net/mac80211/main.c local->hw.wiphy->max_remain_on_channel_duration = 5000; local 1116 net/mac80211/main.c if (local->hw.wiphy->flags & WIPHY_FLAG_SUPPORTS_TDLS) local 1117 net/mac80211/main.c local->hw.wiphy->flags |= WIPHY_FLAG_TDLS_EXTERNAL_SETUP; local 1120 net/mac80211/main.c if (ieee80211_hw_check(&local->hw, CHANCTX_STA_CSA)) local 1121 net/mac80211/main.c local->ext_capa[0] |= WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING; local 1124 net/mac80211/main.c if (ieee80211_hw_check(&local->hw, SUPPORTS_MULTI_BSSID)) { local 1125 net/mac80211/main.c local->hw.wiphy->support_mbssid = true; local 1126 net/mac80211/main.c if (ieee80211_hw_check(&local->hw, local 1128 net/mac80211/main.c local->hw.wiphy->support_only_he_mbssid = true; local 1130 net/mac80211/main.c local->ext_capa[2] |= local 1134 net/mac80211/main.c local->hw.wiphy->max_num_csa_counters = IEEE80211_MAX_CSA_COUNTERS_NUM; local 1143 net/mac80211/main.c local->workqueue = local 1144 net/mac80211/main.c alloc_ordered_workqueue("%s", 0, wiphy_name(local->hw.wiphy)); local 1145 net/mac80211/main.c if (!local->workqueue) { local 1155 net/mac80211/main.c local->tx_headroom = max_t(unsigned int , local->hw.extra_tx_headroom, local 1162 net/mac80211/main.c if (local->hw.max_listen_interval == 0) local 1163 net/mac80211/main.c local->hw.max_listen_interval = 5; local 1165 net/mac80211/main.c local->hw.conf.listen_interval = local->hw.max_listen_interval; local 1167 net/mac80211/main.c local->dynamic_ps_forced_timeout = -1; local 1169 net/mac80211/main.c if (!local->hw.max_nan_de_entries) local 1170 net/mac80211/main.c local->hw.max_nan_de_entries = IEEE80211_MAX_NAN_INSTANCE_ID; local 1172 net/mac80211/main.c if (!local->hw.weight_multiplier) local 1173 net/mac80211/main.c local->hw.weight_multiplier = 1; local 1175 net/mac80211/main.c result = ieee80211_wep_init(local); local 1177 net/mac80211/main.c wiphy_debug(local->hw.wiphy, "Failed to initialize wep: %d\n", local 1180 net/mac80211/main.c local->hw.conf.flags = IEEE80211_CONF_IDLE; local 1182 net/mac80211/main.c ieee80211_led_init(local); local 1184 net/mac80211/main.c result = ieee80211_txq_setup_flows(local); local 1189 net/mac80211/main.c result = ieee80211_init_rate_ctrl_alg(local, local 1193 net/mac80211/main.c wiphy_debug(local->hw.wiphy, local 1198 net/mac80211/main.c if (local->rate_ctrl) { local 1200 net/mac80211/main.c if (local->rate_ctrl->ops->capa & RATE_CTRL_CAPA_VHT_EXT_NSS_BW) local 1212 net/mac80211/main.c BUILD_BUG_ON(NUM_NL80211_BANDS > 8 * sizeof(local->sband_allocated)); local 1219 net/mac80211/main.c sband = local->hw.wiphy->bands[band]; local 1241 net/mac80211/main.c local->hw.wiphy->bands[band] = sband; local 1242 net/mac80211/main.c local->sband_allocated |= BIT(band); local 1245 net/mac80211/main.c result = wiphy_register(local->hw.wiphy); local 1249 net/mac80211/main.c debugfs_hw_add(local); local 1250 net/mac80211/main.c rate_control_add_debugfs(local); local 1255 net/mac80211/main.c if (local->hw.wiphy->interface_modes & BIT(NL80211_IFTYPE_STATION) && local 1259 net/mac80211/main.c result = ieee80211_if_add(local, "wlan%d", NET_NAME_ENUM, NULL, local 1262 net/mac80211/main.c wiphy_warn(local->hw.wiphy, local 1269 net/mac80211/main.c local->ifa_notifier.notifier_call = ieee80211_ifa_changed; local 1270 net/mac80211/main.c result = register_inetaddr_notifier(&local->ifa_notifier); local 1276 net/mac80211/main.c local->ifa6_notifier.notifier_call = ieee80211_ifa6_changed; local 1277 net/mac80211/main.c result = register_inet6addr_notifier(&local->ifa6_notifier); local 1287 net/mac80211/main.c unregister_inetaddr_notifier(&local->ifa_notifier); local 1293 net/mac80211/main.c wiphy_unregister(local->hw.wiphy); local 1296 net/mac80211/main.c rate_control_deinitialize(local); local 1297 net/mac80211/main.c ieee80211_remove_interfaces(local); local 1301 net/mac80211/main.c ieee80211_led_exit(local); local 1302 net/mac80211/main.c destroy_workqueue(local->workqueue); local 1304 net/mac80211/main.c if (local->wiphy_ciphers_allocated) local 1305 net/mac80211/main.c kfree(local->hw.wiphy->cipher_suites); local 1306 net/mac80211/main.c kfree(local->int_scan_req); local 1313 net/mac80211/main.c struct ieee80211_local *local = hw_to_local(hw); local 1315 net/mac80211/main.c tasklet_kill(&local->tx_pending_tasklet); local 1316 net/mac80211/main.c tasklet_kill(&local->tasklet); local 1319 net/mac80211/main.c unregister_inetaddr_notifier(&local->ifa_notifier); local 1322 net/mac80211/main.c unregister_inet6addr_notifier(&local->ifa6_notifier); local 1332 net/mac80211/main.c ieee80211_remove_interfaces(local); local 1336 net/mac80211/main.c cancel_delayed_work_sync(&local->roc_work); local 1337 net/mac80211/main.c cancel_work_sync(&local->restart_work); local 1338 net/mac80211/main.c cancel_work_sync(&local->reconfig_filter); local 1339 net/mac80211/main.c cancel_work_sync(&local->tdls_chsw_work); local 1340 net/mac80211/main.c flush_work(&local->sched_scan_stopped_work); local 1341 net/mac80211/main.c flush_work(&local->radar_detected_work); local 1343 net/mac80211/main.c ieee80211_clear_tx_pending(local); local 1344 net/mac80211/main.c rate_control_deinitialize(local); local 1346 net/mac80211/main.c if (skb_queue_len(&local->skb_queue) || local 1347 net/mac80211/main.c skb_queue_len(&local->skb_queue_unreliable)) local 1348 net/mac80211/main.c wiphy_warn(local->hw.wiphy, "skb_queue not empty\n"); local 1349 net/mac80211/main.c skb_queue_purge(&local->skb_queue); local 1350 net/mac80211/main.c skb_queue_purge(&local->skb_queue_unreliable); local 1351 net/mac80211/main.c skb_queue_purge(&local->skb_queue_tdls_chsw); local 1353 net/mac80211/main.c wiphy_unregister(local->hw.wiphy); local 1354 net/mac80211/main.c destroy_workqueue(local->workqueue); local 1355 net/mac80211/main.c ieee80211_led_exit(local); local 1356 net/mac80211/main.c kfree(local->int_scan_req); local 1369 net/mac80211/main.c struct ieee80211_local *local = hw_to_local(hw); local 1372 net/mac80211/main.c mutex_destroy(&local->iflist_mtx); local 1373 net/mac80211/main.c mutex_destroy(&local->mtx); local 1375 net/mac80211/main.c if (local->wiphy_ciphers_allocated) local 1376 net/mac80211/main.c kfree(local->hw.wiphy->cipher_suites); local 1378 net/mac80211/main.c idr_for_each(&local->ack_status_frames, local 1380 net/mac80211/main.c idr_destroy(&local->ack_status_frames); local 1382 net/mac80211/main.c sta_info_stop(local); local 1384 net/mac80211/main.c ieee80211_free_led_names(local); local 1387 net/mac80211/main.c if (!(local->sband_allocated & BIT(band))) local 1389 net/mac80211/main.c kfree(local->hw.wiphy->bands[band]); local 1392 net/mac80211/main.c wiphy_free(local->hw.wiphy); local 42 net/mac80211/mesh.c struct ieee80211_local *local = sdata->local; local 47 net/mac80211/mesh.c ieee80211_queue_work(&local->hw, &sdata->work); local 99 net/mac80211/mesh.c ieee80211_chandef_vht_oper(&sdata->local->hw, local 436 net/mac80211/mesh.c struct ieee80211_local *local = sdata->local; local 452 net/mac80211/mesh.c sband = local->hw.wiphy->bands[channel->band]; local 500 net/mac80211/mesh.c struct ieee80211_local *local = sdata->local; local 516 net/mac80211/mesh.c sband = local->hw.wiphy->bands[channel->band]; local 595 net/mac80211/mesh.c ieee80211_queue_work(&sdata->local->hw, &sdata->work); local 606 net/mac80211/mesh.c ieee80211_queue_work(&sdata->local->hw, &sdata->work); local 937 net/mac80211/mesh.c ieee80211_queue_work(&sdata->local->hw, &sdata->work); local 943 net/mac80211/mesh.c struct ieee80211_local *local = sdata->local; local 951 net/mac80211/mesh.c local->fif_other_bss++; local 953 net/mac80211/mesh.c atomic_inc(&local->iff_allmultis); local 954 net/mac80211/mesh.c ieee80211_configure_filter(local); local 962 net/mac80211/mesh.c ieee80211_queue_work(&local->hw, &sdata->work); local 974 net/mac80211/mesh.c ieee80211_recalc_dtim(local, sdata); local 983 net/mac80211/mesh.c struct ieee80211_local *local = sdata->local; local 1007 net/mac80211/mesh.c local->total_ps_buffered -= skb_queue_len(&ifmsh->ps.bc_buf); local 1018 net/mac80211/mesh.c local->fif_other_bss--; local 1019 net/mac80211/mesh.c atomic_dec(&local->iff_allmultis); local 1020 net/mac80211/mesh.c ieee80211_configure_filter(local); local 1030 net/mac80211/mesh.c err = cfg80211_chandef_dfs_required(sdata->local->hw.wiphy, local 1034 net/mac80211/mesh.c cfg80211_radar_event(sdata->local->hw.wiphy, local 1088 net/mac80211/mesh.c if (!cfg80211_chandef_usable(sdata->local->hw.wiphy, ¶ms.chandef, local 1090 net/mac80211/mesh.c !cfg80211_reg_can_beacon(sdata->local->hw.wiphy, ¶ms.chandef, local 1102 net/mac80211/mesh.c err = cfg80211_chandef_dfs_required(sdata->local->hw.wiphy, local 1144 net/mac80211/mesh.c if (ieee80211_channel_switch(sdata->local->hw.wiphy, sdata->dev, local 1155 net/mac80211/mesh.c struct ieee80211_local *local = sdata->local; local 1192 net/mac80211/mesh.c presp = dev_alloc_skb(local->tx_headroom + local 1197 net/mac80211/mesh.c skb_reserve(presp, local->tx_headroom); local 1216 net/mac80211/mesh.c struct ieee80211_local *local = sdata->local; local 1247 net/mac80211/mesh.c channel = ieee80211_get_channel(local->hw.wiphy, freq); local 1335 net/mac80211/mesh.c struct ieee80211_local *local = sdata->local; local 1337 net/mac80211/mesh.c skb = dev_alloc_skb(local->tx_headroom + len); local 1340 net/mac80211/mesh.c skb_reserve(skb, local->tx_headroom); local 228 net/mac80211/mesh.h void ieee80211s_update_metric(struct ieee80211_local *local, local 282 net/mac80211/mesh.h u32 airtime_link_metric_get(struct ieee80211_local *local, local 344 net/mac80211/mesh.h MESH_MAX_PLINKS - sdata->local->num_sta)) > 0; local 108 net/mac80211/mesh_hwmp.c struct ieee80211_local *local = sdata->local; local 115 net/mac80211/mesh_hwmp.c skb = dev_alloc_skb(local->tx_headroom + local 120 net/mac80211/mesh_hwmp.c skb_reserve(skb, local->tx_headroom); local 238 net/mac80211/mesh_hwmp.c struct ieee80211_local *local = sdata->local; local 249 net/mac80211/mesh_hwmp.c skb = dev_alloc_skb(local->tx_headroom + local 256 net/mac80211/mesh_hwmp.c skb_reserve(skb, local->tx_headroom + sdata->encrypt_headroom); local 291 net/mac80211/mesh_hwmp.c ieee80211_add_pending_skb(local, skb); local 295 net/mac80211/mesh_hwmp.c void ieee80211s_update_metric(struct ieee80211_local *local, local 318 net/mac80211/mesh_hwmp.c u32 airtime_link_metric_get(struct ieee80211_local *local, local 384 net/mac80211/mesh_hwmp.c struct ieee80211_local *local = sdata->local; local 402 net/mac80211/mesh_hwmp.c last_hop_metric = airtime_link_metric_get(local, sta); local 814 net/mac80211/mesh_hwmp.c struct ieee80211_local *local = sdata->local; local 847 net/mac80211/mesh_hwmp.c last_hop_metric = airtime_link_metric_get(local, sta); local 1011 net/mac80211/mesh_hwmp.c ieee80211_queue_work(&sdata->local->hw, &sdata->work); local 1018 net/mac80211/mesh_hwmp.c ieee80211_queue_work(&sdata->local->hw, &sdata->work); local 1225 net/mac80211/mesh_hwmp.c if (sdata->local->quiescing) local 660 net/mac80211/mesh_pathtbl.c ieee80211_add_pending_skbs(mpath->sdata->local, local 95 net/mac80211/mesh_plink.c struct ieee80211_local *local = sdata->local; local 122 net/mac80211/mesh_plink.c list_for_each_entry_rcu(sta, &local->sta_list, list) { local 157 net/mac80211/mesh_plink.c struct ieee80211_local *local = sdata->local; local 172 net/mac80211/mesh_plink.c list_for_each_entry_rcu(sta, &local->sta_list, list) { local 214 net/mac80211/mesh_plink.c struct ieee80211_local *local = sdata->local; local 227 net/mac80211/mesh_plink.c skb = dev_alloc_skb(local->tx_headroom + local 246 net/mac80211/mesh_plink.c skb_reserve(skb, local->tx_headroom); local 411 net/mac80211/mesh_plink.c struct ieee80211_local *local = sdata->local; local 461 net/mac80211/mesh_plink.c rate_control_rate_update(local, sband, sta, changed); local 481 net/mac80211/mesh_plink.c list_for_each_entry_rcu(sta, &sdata->local->sta_list, list) local 500 net/mac80211/mesh_plink.c if (sdata->local->num_sta >= MESH_MAX_PLINKS) local 536 net/mac80211/mesh_plink.c if (ieee80211_hw_check(&sdata->local->hw, SIGNAL_DBM)) local 644 net/mac80211/mesh_plink.c if (sta->sdata->local->quiescing) local 729 net/mac80211/mesh_plink.c struct ieee80211_local *local = sdata->local; local 734 net/mac80211/mesh_plink.c list_for_each_entry_rcu(sta, &local->sta_list, list) { local 19 net/mac80211/mesh_ps.c struct ieee80211_local *local = sdata->local; local 25 net/mac80211/mesh_ps.c skb = dev_alloc_skb(local->hw.extra_tx_headroom + size + 2); local 28 net/mac80211/mesh_ps.c skb_reserve(skb, local->hw.extra_tx_headroom); local 88 net/mac80211/mesh_ps.c list_for_each_entry_rcu(sta, &sdata->local->sta_list, list) { local 448 net/mac80211/mesh_ps.c struct ieee80211_local *local = sta->sdata->local; local 464 net/mac80211/mesh_ps.c local->total_ps_buffered--; local 519 net/mac80211/mesh_ps.c ieee80211_add_pending_skbs(local, &frames); local 48 net/mac80211/mesh_sync.c struct ieee80211_local *local = sdata->local; local 70 net/mac80211/mesh_sync.c if (local->ops->offset_tsf) { local 71 net/mac80211/mesh_sync.c drv_offset_tsf(local, sdata, tsfdelta); local 73 net/mac80211/mesh_sync.c tsf = drv_get_tsf(local, sdata); local 75 net/mac80211/mesh_sync.c drv_set_tsf(local, sdata, tsf + tsfdelta); local 86 net/mac80211/mesh_sync.c struct ieee80211_local *local = sdata->local; local 103 net/mac80211/mesh_sync.c t_r = ieee80211_calculate_rx_timestamp(local, rx_status, local 109 net/mac80211/mesh_sync.c t_r = drv_get_tsf(local, sdata); local 115 net/mac80211/mlme.c if (ieee80211_hw_check(&sdata->local->hw, CONNECTION_MONITOR)) local 132 net/mac80211/mlme.c if (ieee80211_hw_check(&sdata->local->hw, CONNECTION_MONITOR)) local 221 net/mac80211/mlme.c if (!ieee80211_chandef_vht_oper(&sdata->local->hw, local 230 net/mac80211/mlme.c } else if (!ieee80211_chandef_vht_oper(&sdata->local->hw, vht_oper, local 299 net/mac80211/mlme.c while (!cfg80211_chandef_usable(sdata->local->hw.wiphy, chandef, local 327 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 331 net/mac80211/mlme.c local->hw.wiphy->bands[chan->band]; local 430 net/mac80211/mlme.c rate_control_rate_update(local, sband, sta, local 444 net/mac80211/mlme.c rate_control_rate_update(local, sband, sta, local 532 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 583 net/mac80211/mlme.c list_for_each_entry_rcu(other, &local->interfaces, list) { local 640 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 664 net/mac80211/mlme.c sband = local->hw.wiphy->bands[chan->band]; local 691 net/mac80211/mlme.c skb = alloc_skb(local->hw.extra_tx_headroom + local 709 net/mac80211/mlme.c skb_reserve(skb, local->hw.extra_tx_headroom); local 722 net/mac80211/mlme.c ieee80211_hw_check(&local->hw, SPECTRUM_MGMT)) local 739 net/mac80211/mlme.c cpu_to_le16(local->hw.conf.listen_interval); local 748 net/mac80211/mlme.c cpu_to_le16(local->hw.conf.listen_interval); local 816 net/mac80211/mlme.c if (ieee80211_hw_check(&local->hw, SUPPORTS_ONLY_HE_MULTI_BSSID) && local 983 net/mac80211/mlme.c drv_mgd_prepare_tx(local, sdata, 0); local 986 net/mac80211/mlme.c if (ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS)) local 992 net/mac80211/mlme.c void ieee80211_send_pspoll(struct ieee80211_local *local, local 998 net/mac80211/mlme.c skb = ieee80211_pspoll_get(&local->hw, &sdata->vif); local 1009 net/mac80211/mlme.c void ieee80211_send_nullfunc(struct ieee80211_local *local, local 1022 net/mac80211/mlme.c skb = ieee80211_nullfunc_get(&local->hw, &sdata->vif, local 1023 net/mac80211/mlme.c !ieee80211_hw_check(&local->hw, DOESNT_SUPPORT_QOS_NDP)); local 1034 net/mac80211/mlme.c if (ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS)) local 1043 net/mac80211/mlme.c static void ieee80211_send_4addr_nullfunc(struct ieee80211_local *local, local 1057 net/mac80211/mlme.c skb = dev_alloc_skb(local->hw.extra_tx_headroom + 30); local 1061 net/mac80211/mlme.c skb_reserve(skb, local->hw.extra_tx_headroom); local 1081 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 1089 net/mac80211/mlme.c mutex_lock(&local->mtx); local 1090 net/mac80211/mlme.c mutex_lock(&local->chanctx_mtx); local 1150 net/mac80211/mlme.c local->hw.wiphy->bands[sdata->csa_chandef.chan->band]; local 1156 net/mac80211/mlme.c rate_control_rate_update(local, sband, mgd_sta, local 1165 net/mac80211/mlme.c ieee80211_queue_work(&sdata->local->hw, local 1173 net/mac80211/mlme.c rate_control_rate_update(local, sband, mgd_sta, local 1184 net/mac80211/mlme.c ieee80211_queue_work(&sdata->local->hw, local 1195 net/mac80211/mlme.c mutex_unlock(&local->chanctx_mtx); local 1196 net/mac80211/mlme.c mutex_unlock(&local->mtx); local 1202 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 1211 net/mac80211/mlme.c ieee80211_wake_vif_queues(local, sdata, local 1223 net/mac80211/mlme.c ieee80211_queue_work(&local->hw, local 1240 net/mac80211/mlme.c ieee80211_queue_work(&sdata->local->hw, local 1243 net/mac80211/mlme.c ieee80211_queue_work(&sdata->local->hw, &ifmgd->chswitch_work); local 1253 net/mac80211/mlme.c ieee80211_queue_work(&sdata->local->hw, &sdata->u.mgd.chswitch_work); local 1259 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 1261 net/mac80211/mlme.c if (!local->ops->abort_channel_switch) local 1264 net/mac80211/mlme.c mutex_lock(&local->mtx); local 1266 net/mac80211/mlme.c mutex_lock(&local->chanctx_mtx); local 1268 net/mac80211/mlme.c mutex_unlock(&local->chanctx_mtx); local 1271 net/mac80211/mlme.c ieee80211_wake_vif_queues(local, sdata, local 1277 net/mac80211/mlme.c mutex_unlock(&local->mtx); local 1288 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 1303 net/mac80211/mlme.c if (local->scanning) local 1321 net/mac80211/mlme.c ieee80211_queue_work(&local->hw, local 1337 net/mac80211/mlme.c if (!cfg80211_chandef_usable(local->hw.wiphy, &csa_ie.chandef, local 1345 net/mac80211/mlme.c ieee80211_queue_work(&local->hw, local 1370 net/mac80211/mlme.c mutex_lock(&local->mtx); local 1371 net/mac80211/mlme.c mutex_lock(&local->chanctx_mtx); local 1373 net/mac80211/mlme.c lockdep_is_held(&local->chanctx_mtx)); local 1382 net/mac80211/mlme.c if (local->use_chanctx && local 1383 net/mac80211/mlme.c !ieee80211_hw_check(&local->hw, CHANCTX_STA_CSA)) { local 1403 net/mac80211/mlme.c mutex_unlock(&local->chanctx_mtx); local 1411 net/mac80211/mlme.c ieee80211_stop_vif_queues(local, sdata, local 1413 net/mac80211/mlme.c mutex_unlock(&local->mtx); local 1418 net/mac80211/mlme.c if (local->ops->channel_switch) { local 1420 net/mac80211/mlme.c drv_channel_switch(local, sdata, &ch_switch); local 1426 net/mac80211/mlme.c ieee80211_queue_work(&local->hw, &ifmgd->chswitch_work); local 1443 net/mac80211/mlme.c ieee80211_queue_work(&local->hw, &ifmgd->csa_connection_drop_work); local 1444 net/mac80211/mlme.c mutex_unlock(&local->chanctx_mtx); local 1445 net/mac80211/mlme.c mutex_unlock(&local->mtx); local 1588 net/mac80211/mlme.c static void ieee80211_enable_ps(struct ieee80211_local *local, local 1591 net/mac80211/mlme.c struct ieee80211_conf *conf = &local->hw.conf; local 1597 net/mac80211/mlme.c if (local->scanning) local 1601 net/mac80211/mlme.c !ieee80211_hw_check(&local->hw, SUPPORTS_DYNAMIC_PS)) { local 1602 net/mac80211/mlme.c mod_timer(&local->dynamic_ps_timer, jiffies + local 1605 net/mac80211/mlme.c if (ieee80211_hw_check(&local->hw, PS_NULLFUNC_STACK)) local 1606 net/mac80211/mlme.c ieee80211_send_nullfunc(local, sdata, true); local 1608 net/mac80211/mlme.c if (ieee80211_hw_check(&local->hw, PS_NULLFUNC_STACK) && local 1609 net/mac80211/mlme.c ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS)) local 1613 net/mac80211/mlme.c ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_PS); local 1617 net/mac80211/mlme.c static void ieee80211_change_ps(struct ieee80211_local *local) local 1619 net/mac80211/mlme.c struct ieee80211_conf *conf = &local->hw.conf; local 1621 net/mac80211/mlme.c if (local->ps_sdata) { local 1622 net/mac80211/mlme.c ieee80211_enable_ps(local, local->ps_sdata); local 1625 net/mac80211/mlme.c ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_PS); local 1626 net/mac80211/mlme.c del_timer_sync(&local->dynamic_ps_timer); local 1627 net/mac80211/mlme.c cancel_work_sync(&local->dynamic_ps_enable_work); local 1662 net/mac80211/mlme.c void ieee80211_recalc_ps(struct ieee80211_local *local) local 1668 net/mac80211/mlme.c if (!ieee80211_hw_check(&local->hw, SUPPORTS_PS)) { local 1669 net/mac80211/mlme.c local->ps_sdata = NULL; local 1673 net/mac80211/mlme.c list_for_each_entry(sdata, &local->interfaces, list) { local 1693 net/mac80211/mlme.c timeout = local->dynamic_ps_forced_timeout; local 1696 net/mac80211/mlme.c local->hw.conf.dynamic_ps_timeout = timeout; local 1702 net/mac80211/mlme.c local->hw.conf.ps_dtim_period = dtimper; local 1703 net/mac80211/mlme.c local->ps_sdata = found; local 1705 net/mac80211/mlme.c local->ps_sdata = NULL; local 1708 net/mac80211/mlme.c ieee80211_change_ps(local); local 1723 net/mac80211/mlme.c struct ieee80211_local *local = local 1727 net/mac80211/mlme.c if (local->hw.conf.flags & IEEE80211_CONF_PS) { local 1728 net/mac80211/mlme.c local->hw.conf.flags &= ~IEEE80211_CONF_PS; local 1729 net/mac80211/mlme.c ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_PS); local 1732 net/mac80211/mlme.c ieee80211_wake_queues_by_reason(&local->hw, local 1740 net/mac80211/mlme.c struct ieee80211_local *local = local 1743 net/mac80211/mlme.c struct ieee80211_sub_if_data *sdata = local->ps_sdata; local 1754 net/mac80211/mlme.c if (local->hw.conf.flags & IEEE80211_CONF_PS) local 1757 net/mac80211/mlme.c if (local->hw.conf.dynamic_ps_timeout > 0) { local 1759 net/mac80211/mlme.c if (drv_tx_frames_pending(local)) { local 1760 net/mac80211/mlme.c mod_timer(&local->dynamic_ps_timer, jiffies + local 1762 net/mac80211/mlme.c local->hw.conf.dynamic_ps_timeout)); local 1771 net/mac80211/mlme.c spin_lock_irqsave(&local->queue_stop_reason_lock, flags); local 1772 net/mac80211/mlme.c for (q = 0; q < local->hw.queues; q++) { local 1773 net/mac80211/mlme.c if (local->queue_stop_reasons[q]) { local 1774 net/mac80211/mlme.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, local 1776 net/mac80211/mlme.c mod_timer(&local->dynamic_ps_timer, jiffies + local 1778 net/mac80211/mlme.c local->hw.conf.dynamic_ps_timeout)); local 1782 net/mac80211/mlme.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); local 1785 net/mac80211/mlme.c if (ieee80211_hw_check(&local->hw, PS_NULLFUNC_STACK) && local 1787 net/mac80211/mlme.c if (drv_tx_frames_pending(local)) { local 1788 net/mac80211/mlme.c mod_timer(&local->dynamic_ps_timer, jiffies + local 1790 net/mac80211/mlme.c local->hw.conf.dynamic_ps_timeout)); local 1792 net/mac80211/mlme.c ieee80211_send_nullfunc(local, sdata, true); local 1794 net/mac80211/mlme.c ieee80211_flush_queues(local, sdata, false); local 1798 net/mac80211/mlme.c if (!(ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS) && local 1799 net/mac80211/mlme.c ieee80211_hw_check(&local->hw, PS_NULLFUNC_STACK)) || local 1802 net/mac80211/mlme.c local->hw.conf.flags |= IEEE80211_CONF_PS; local 1803 net/mac80211/mlme.c ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_PS); local 1809 net/mac80211/mlme.c struct ieee80211_local *local = from_timer(local, t, dynamic_ps_timer); local 1811 net/mac80211/mlme.c ieee80211_queue_work(&local->hw, &local->dynamic_ps_enable_work); local 1822 net/mac80211/mlme.c mutex_lock(&sdata->local->mtx); local 1829 net/mac80211/mlme.c mutex_unlock(&sdata->local->mtx); local 1835 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 1840 net/mac80211/mlme.c if (local->hw.queues < IEEE80211_NUM_ACS) local 1862 net/mac80211/mlme.c if (drv_conf_tx(local, sdata, ac, &sdata->tx_conf[ac])) local 1891 net/mac80211/mlme.c if (drv_conf_tx(local, sdata, ac, local 1927 net/mac80211/mlme.c ieee80211_sta_wmm_params(struct ieee80211_local *local, local 1939 net/mac80211/mlme.c if (!local->ops->conf_tx) local 1942 net/mac80211/mlme.c if (local->hw.queues < IEEE80211_NUM_ACS) local 2064 net/mac80211/mlme.c drv_conf_tx(local, sdata, ac, ¶ms[ac])) local 2077 net/mac80211/mlme.c lockdep_assert_held(&sdata->local->mtx); local 2080 net/mac80211/mlme.c ieee80211_run_deferred_scan(sdata->local); local 2085 net/mac80211/mlme.c mutex_lock(&sdata->local->mtx); local 2087 net/mac80211/mlme.c mutex_unlock(&sdata->local->mtx); local 2139 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 2182 net/mac80211/mlme.c ieee80211_led_assoc(local, 1); local 2212 net/mac80211/mlme.c mutex_lock(&local->iflist_mtx); local 2213 net/mac80211/mlme.c ieee80211_recalc_ps(local); local 2214 net/mac80211/mlme.c mutex_unlock(&local->iflist_mtx); local 2227 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 2248 net/mac80211/mlme.c if (local->hw.conf.flags & IEEE80211_CONF_PS) { local 2249 net/mac80211/mlme.c local->hw.conf.flags &= ~IEEE80211_CONF_PS; local 2250 net/mac80211/mlme.c ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_PS); local 2252 net/mac80211/mlme.c local->ps_sdata = NULL; local 2267 net/mac80211/mlme.c ieee80211_flush_queues(local, sdata, true); local 2277 net/mac80211/mlme.c if (ieee80211_hw_check(&local->hw, DEAUTH_NEED_MGD_TX_PREP) && local 2279 net/mac80211/mlme.c drv_mgd_prepare_tx(sdata->local, sdata, 0); local 2288 net/mac80211/mlme.c ieee80211_flush_queues(local, sdata, false); local 2299 net/mac80211/mlme.c ieee80211_led_assoc(local, 0); local 2323 net/mac80211/mlme.c del_timer_sync(&local->dynamic_ps_timer); local 2324 net/mac80211/mlme.c cancel_work_sync(&local->dynamic_ps_enable_work); local 2351 net/mac80211/mlme.c mutex_lock(&local->mtx); local 2358 net/mac80211/mlme.c ieee80211_wake_vif_queues(local, sdata, local 2362 net/mac80211/mlme.c mutex_unlock(&local->mtx); local 2391 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 2393 net/mac80211/mlme.c mutex_lock(&local->mtx); local 2399 net/mac80211/mlme.c mutex_lock(&local->iflist_mtx); local 2400 net/mac80211/mlme.c ieee80211_recalc_ps(local); local 2401 net/mac80211/mlme.c mutex_unlock(&local->iflist_mtx); local 2403 net/mac80211/mlme.c if (ieee80211_hw_check(&sdata->local->hw, CONNECTION_MONITOR)) local 2417 net/mac80211/mlme.c mutex_unlock(&local->mtx); local 2469 net/mac80211/mlme.c ieee80211_queue_work(&sdata->local->hw, &sdata->work); local 2517 net/mac80211/mlme.c mutex_lock(&sdata->local->sta_mtx); local 2521 net/mac80211/mlme.c mutex_unlock(&sdata->local->sta_mtx); local 2524 net/mac80211/mlme.c if (ieee80211_hw_check(&sdata->local->hw, REPORTS_TX_ACK_STATUS)) { local 2529 net/mac80211/mlme.c ieee80211_send_nullfunc(sdata->local, sdata, false); local 2564 net/mac80211/mlme.c mutex_lock(&sdata->local->mtx); local 2566 net/mac80211/mlme.c if (sdata->local->tmp_channel || sdata->local->scanning) { local 2567 net/mac80211/mlme.c mutex_unlock(&sdata->local->mtx); local 2595 net/mac80211/mlme.c mutex_unlock(&sdata->local->mtx); local 2600 net/mac80211/mlme.c mutex_lock(&sdata->local->iflist_mtx); local 2601 net/mac80211/mlme.c ieee80211_recalc_ps(sdata->local); local 2602 net/mac80211/mlme.c mutex_unlock(&sdata->local->iflist_mtx); local 2667 net/mac80211/mlme.c drv_event_callback(sdata->local, sdata, &event); local 2672 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 2688 net/mac80211/mlme.c cfg80211_unlink_bss(local->hw.wiphy, ifmgd->associated); local 2693 net/mac80211/mlme.c mutex_lock(&local->mtx); local 2697 net/mac80211/mlme.c ieee80211_wake_vif_queues(local, sdata, local 2701 net/mac80211/mlme.c mutex_unlock(&local->mtx); local 2740 net/mac80211/mlme.c struct ieee80211_hw *hw = &sdata->local->hw; local 2752 net/mac80211/mlme.c struct ieee80211_hw *hw = &sdata->local->hw; local 2781 net/mac80211/mlme.c mutex_lock(&sdata->local->mtx); local 2783 net/mac80211/mlme.c mutex_unlock(&sdata->local->mtx); local 2786 net/mac80211/mlme.c cfg80211_put_bss(sdata->local->hw.wiphy, auth_data->bss); local 2812 net/mac80211/mlme.c mutex_lock(&sdata->local->mtx); local 2814 net/mac80211/mlme.c mutex_unlock(&sdata->local->mtx); local 2827 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 2839 net/mac80211/mlme.c drv_mgd_prepare_tx(sdata->local, sdata, 0); local 2840 net/mac80211/mlme.c if (ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS)) local 2864 net/mac80211/mlme.c mutex_lock(&sdata->local->sta_mtx); local 2878 net/mac80211/mlme.c mutex_unlock(&sdata->local->sta_mtx); local 2930 net/mac80211/mlme.c drv_event_callback(sdata->local, sdata, &event); local 2957 net/mac80211/mlme.c drv_event_callback(sdata->local, sdata, &event); local 3188 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 3320 net/mac80211/mlme.c mutex_lock(&sdata->local->sta_mtx); local 3327 net/mac80211/mlme.c mutex_unlock(&sdata->local->sta_mtx); local 3334 net/mac80211/mlme.c mutex_unlock(&sdata->local->sta_mtx); local 3341 net/mac80211/mlme.c mutex_unlock(&sdata->local->sta_mtx); local 3439 net/mac80211/mlme.c sta->sta.wme = elems.wmm_param && local->hw.queues >= IEEE80211_NUM_ACS; local 3449 net/mac80211/mlme.c mutex_unlock(&sdata->local->sta_mtx); local 3454 net/mac80211/mlme.c mutex_unlock(&sdata->local->sta_mtx); local 3467 net/mac80211/mlme.c } else if (!ieee80211_sta_wmm_params(local, sdata, elems.wmm_param, local 3506 net/mac80211/mlme.c ieee80211_send_4addr_nullfunc(local, sdata); local 3595 net/mac80211/mlme.c drv_event_callback(sdata->local, sdata, &event); local 3604 net/mac80211/mlme.c drv_event_callback(sdata->local, sdata, &event); local 3629 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 3635 net/mac80211/mlme.c channel = ieee80211_get_channel(local->hw.wiphy, rx_status->freq); local 3639 net/mac80211/mlme.c bss = ieee80211_bss_info_update(local, rx_status, mgmt, len, channel); local 3642 net/mac80211/mlme.c ieee80211_rx_bss_put(local, bss); local 3700 net/mac80211/mlme.c struct ieee80211_local *local, local 3733 net/mac80211/mlme.c drv_event_callback(local, sdata, &event); local 3739 net/mac80211/mlme.c drv_event_callback(local, sdata, &event); local 3811 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 3856 net/mac80211/mlme.c if (ieee80211_hw_check(&local->hw, TIMING_BEACON_ONLY)) { local 3886 net/mac80211/mlme.c local, rx_status); local 3906 net/mac80211/mlme.c if (ieee80211_hw_check(&local->hw, PS_NULLFUNC_STACK) && local 3908 net/mac80211/mlme.c if (local->hw.conf.dynamic_ps_timeout > 0) { local 3909 net/mac80211/mlme.c if (local->hw.conf.flags & IEEE80211_CONF_PS) { local 3910 net/mac80211/mlme.c local->hw.conf.flags &= ~IEEE80211_CONF_PS; local 3911 net/mac80211/mlme.c ieee80211_hw_config(local, local 3914 net/mac80211/mlme.c ieee80211_send_nullfunc(local, sdata, false); local 3915 net/mac80211/mlme.c } else if (!local->pspolling && sdata->u.mgd.powersave) { local 3916 net/mac80211/mlme.c local->pspolling = true; local 3926 net/mac80211/mlme.c ieee80211_send_pspoll(local, sdata); local 3971 net/mac80211/mlme.c if (ieee80211_hw_check(&local->hw, TIMING_BEACON_ONLY)) { local 3991 net/mac80211/mlme.c ieee80211_sta_wmm_params(local, sdata, elems.wmm_param, local 4007 net/mac80211/mlme.c mutex_lock(&local->iflist_mtx); local 4008 net/mac80211/mlme.c ieee80211_recalc_ps(local); local 4009 net/mac80211/mlme.c mutex_unlock(&local->iflist_mtx); local 4024 net/mac80211/mlme.c mutex_lock(&local->sta_mtx); local 4033 net/mac80211/mlme.c mutex_unlock(&local->sta_mtx); local 4049 net/mac80211/mlme.c mutex_unlock(&local->sta_mtx); local 4154 net/mac80211/mlme.c ieee80211_queue_work(&sdata->local->hw, &sdata->work); local 4171 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 4194 net/mac80211/mlme.c cfg80211_unlink_bss(local->hw.wiphy, auth_data->bss); local 4203 net/mac80211/mlme.c drv_mgd_prepare_tx(local, sdata, prepare_tx_duration); local 4217 net/mac80211/mlme.c if (ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS)) local 4247 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 4260 net/mac80211/mlme.c cfg80211_unlink_bss(local->hw.wiphy, assoc_data->bss); local 4270 net/mac80211/mlme.c if (!ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS)) { local 4288 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 4294 net/mac80211/mlme.c ieee80211_queue_work(&local->hw, &sdata->work); local 4299 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 4360 net/mac80211/mlme.c drv_event_callback(sdata->local, sdata, &event); local 4378 net/mac80211/mlme.c drv_event_callback(sdata->local, sdata, &event); local 4390 net/mac80211/mlme.c if (ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS)) local 4415 net/mac80211/mlme.c else if (ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS)) { local 4454 net/mac80211/mlme.c ieee80211_queue_work(&sdata->local->hw, local 4463 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 4468 net/mac80211/mlme.c ieee80211_queue_work(&local->hw, &ifmgd->monitor_work); local 4486 net/mac80211/mlme.c if (!ieee80211_hw_check(&sdata->local->hw, CONNECTION_MONITOR)) local 4487 net/mac80211/mlme.c ieee80211_queue_work(&sdata->local->hw, local 4539 net/mac80211/mlme.c if (ifmgd->associated && !sdata->local->wowlan) { local 4601 net/mac80211/mlme.c ifmgd->uapsd_queues = sdata->local->hw.uapsd_queues; local 4602 net/mac80211/mlme.c ifmgd->uapsd_max_sp_len = sdata->local->hw.uapsd_max_sp_len; local 4605 net/mac80211/mlme.c if (sdata->local->hw.wiphy->features & NL80211_FEATURE_DYNAMIC_SMPS) local 4617 net/mac80211/mlme.c void ieee80211_mlme_notify_scan_completed(struct ieee80211_local *local) local 4623 net/mac80211/mlme.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 4739 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 4751 net/mac80211/mlme.c sband = local->hw.wiphy->bands[cbss->channel->band]; local 4840 net/mac80211/mlme.c local->rx_chains); local 4847 net/mac80211/mlme.c mutex_lock(&local->mtx); local 4867 net/mac80211/mlme.c mutex_unlock(&local->mtx); local 4909 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 4917 net/mac80211/mlme.c sband = local->hw.wiphy->bands[cbss->channel->band]; local 4923 net/mac80211/mlme.c if (local->in_reconfig) local 5008 net/mac80211/mlme.c } else if (!ieee80211_hw_check(&sdata->local->hw, local 5028 net/mac80211/mlme.c sta_info_free(local, new_sta); local 5057 net/mac80211/mlme.c if (local->scanning) local 5058 net/mac80211/mlme.c ieee80211_scan_cancel(local); local 5067 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 5200 net/mac80211/mlme.c cfg80211_ref_bss(local->hw.wiphy, auth_data->bss); local 5207 net/mac80211/mlme.c mutex_lock(&sdata->local->mtx); local 5209 net/mac80211/mlme.c mutex_unlock(&sdata->local->mtx); local 5217 net/mac80211/mlme.c struct ieee80211_local *local = sdata->local; local 5280 net/mac80211/mlme.c (local->hw.queues >= IEEE80211_NUM_ACS); local 5302 net/mac80211/mlme.c sband = local->hw.wiphy->bands[req->bss->channel->band]; local 5304 net/mac80211/mlme.c local->hw.queues < IEEE80211_NUM_ACS || !bss->wmm_used || local 5315 net/mac80211/mlme.c local->hw.queues < IEEE80211_NUM_ACS || !bss->wmm_used || local 5382 net/mac80211/mlme.c ieee80211_hw_check(&local->hw, PS_NULLFUNC_STACK), local 5420 net/mac80211/mlme.c sdata->encrypt_headroom = ieee80211_cs_headroom(local, &req->crypto, local 5465 net/mac80211/mlme.c if (ieee80211_hw_check(&sdata->local->hw, NEED_DTIM_BEFORE_ASSOC) && local 5487 net/mac80211/mlme.c if (ieee80211_hw_check(&local->hw, TIMING_BEACON_ONLY)) { local 5550 net/mac80211/mlme.c drv_mgd_prepare_tx(sdata->local, sdata, 0); local 5570 net/mac80211/mlme.c drv_mgd_prepare_tx(sdata->local, sdata, 0); local 5686 net/mac80211/mlme.c trace_api_cqm_beacon_loss_notify(sdata->local, sdata); local 43 net/mac80211/ocb.c struct ieee80211_local *local = sdata->local; local 53 net/mac80211/ocb.c if (local->num_sta >= IEEE80211_OCB_MAX_STA_ENTRIES) { local 76 net/mac80211/ocb.c sband = local->hw.wiphy->bands[band]; local 83 net/mac80211/ocb.c ieee80211_queue_work(&local->hw, &sdata->work); local 154 net/mac80211/ocb.c struct ieee80211_local *local = sdata->local; local 159 net/mac80211/ocb.c ieee80211_queue_work(&local->hw, &sdata->work); local 175 net/mac80211/ocb.c struct ieee80211_local *local = sdata->local; local 185 net/mac80211/ocb.c sdata->needed_rx_chains = sdata->local->rx_chains; local 187 net/mac80211/ocb.c mutex_lock(&sdata->local->mtx); local 190 net/mac80211/ocb.c mutex_unlock(&sdata->local->mtx); local 199 net/mac80211/ocb.c ieee80211_queue_work(&local->hw, &sdata->work); local 208 net/mac80211/ocb.c struct ieee80211_local *local = sdata->local; local 221 net/mac80211/ocb.c sta_info_free(local, sta); local 230 net/mac80211/ocb.c mutex_lock(&sdata->local->mtx); local 232 net/mac80211/ocb.c mutex_unlock(&sdata->local->mtx); local 27 net/mac80211/offchannel.c struct ieee80211_local *local = sdata->local; local 30 net/mac80211/offchannel.c local->offchannel_ps_enabled = false; local 34 net/mac80211/offchannel.c del_timer_sync(&local->dynamic_ps_timer); local 38 net/mac80211/offchannel.c cancel_work_sync(&local->dynamic_ps_enable_work); local 40 net/mac80211/offchannel.c if (local->hw.conf.flags & IEEE80211_CONF_PS) { local 41 net/mac80211/offchannel.c local->offchannel_ps_enabled = true; local 42 net/mac80211/offchannel.c local->hw.conf.flags &= ~IEEE80211_CONF_PS; local 43 net/mac80211/offchannel.c ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_PS); local 46 net/mac80211/offchannel.c if (!local->offchannel_ps_enabled || local 47 net/mac80211/offchannel.c !ieee80211_hw_check(&local->hw, PS_NULLFUNC_STACK)) local 58 net/mac80211/offchannel.c ieee80211_send_nullfunc(local, sdata, true); local 64 net/mac80211/offchannel.c struct ieee80211_local *local = sdata->local; local 66 net/mac80211/offchannel.c if (!local->ps_sdata) local 67 net/mac80211/offchannel.c ieee80211_send_nullfunc(local, sdata, false); local 68 net/mac80211/offchannel.c else if (local->offchannel_ps_enabled) { local 85 net/mac80211/offchannel.c local->hw.conf.flags |= IEEE80211_CONF_PS; local 86 net/mac80211/offchannel.c ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_PS); local 87 net/mac80211/offchannel.c } else if (local->hw.conf.dynamic_ps_timeout > 0) { local 94 net/mac80211/offchannel.c ieee80211_send_nullfunc(local, sdata, false); local 95 net/mac80211/offchannel.c mod_timer(&local->dynamic_ps_timer, jiffies + local 96 net/mac80211/offchannel.c msecs_to_jiffies(local->hw.conf.dynamic_ps_timeout)); local 103 net/mac80211/offchannel.c void ieee80211_offchannel_stop_vifs(struct ieee80211_local *local) local 107 net/mac80211/offchannel.c if (WARN_ON(local->use_chanctx)) local 119 net/mac80211/offchannel.c ieee80211_stop_queues_by_reason(&local->hw, IEEE80211_MAX_QUEUE_MAP, local 122 net/mac80211/offchannel.c ieee80211_flush_queues(local, NULL, false); local 124 net/mac80211/offchannel.c mutex_lock(&local->iflist_mtx); local 125 net/mac80211/offchannel.c list_for_each_entry(sdata, &local->interfaces, list) { local 149 net/mac80211/offchannel.c mutex_unlock(&local->iflist_mtx); local 152 net/mac80211/offchannel.c void ieee80211_offchannel_return(struct ieee80211_local *local) local 156 net/mac80211/offchannel.c if (WARN_ON(local->use_chanctx)) local 159 net/mac80211/offchannel.c mutex_lock(&local->iflist_mtx); local 160 net/mac80211/offchannel.c list_for_each_entry(sdata, &local->interfaces, list) { local 182 net/mac80211/offchannel.c mutex_unlock(&local->iflist_mtx); local 184 net/mac80211/offchannel.c ieee80211_wake_queues_by_reason(&local->hw, IEEE80211_MAX_QUEUE_MAP, local 196 net/mac80211/offchannel.c ieee80211_free_txskb(&roc->sdata->local->hw, roc->frame); local 212 net/mac80211/offchannel.c static unsigned long ieee80211_end_finished_rocs(struct ieee80211_local *local, local 218 net/mac80211/offchannel.c lockdep_assert_held(&local->mtx); local 220 net/mac80211/offchannel.c list_for_each_entry_safe(roc, tmp, &local->roc_list, list) { local 243 net/mac80211/offchannel.c static bool ieee80211_recalc_sw_work(struct ieee80211_local *local, local 246 net/mac80211/offchannel.c long dur = ieee80211_end_finished_rocs(local, now); local 251 net/mac80211/offchannel.c mod_delayed_work(local->workqueue, &local->roc_work, dur); local 281 net/mac80211/offchannel.c struct ieee80211_local *local = local 285 net/mac80211/offchannel.c mutex_lock(&local->mtx); local 287 net/mac80211/offchannel.c list_for_each_entry(roc, &local->roc_list, list) { local 292 net/mac80211/offchannel.c ieee80211_handle_roc_started(roc, local->hw_roc_start_time); local 295 net/mac80211/offchannel.c mutex_unlock(&local->mtx); local 300 net/mac80211/offchannel.c struct ieee80211_local *local = hw_to_local(hw); local 302 net/mac80211/offchannel.c local->hw_roc_start_time = jiffies; local 304 net/mac80211/offchannel.c trace_api_ready_on_channel(local); local 306 net/mac80211/offchannel.c ieee80211_queue_work(hw, &local->hw_roc_start); local 310 net/mac80211/offchannel.c static void _ieee80211_start_next_roc(struct ieee80211_local *local) local 316 net/mac80211/offchannel.c lockdep_assert_held(&local->mtx); local 318 net/mac80211/offchannel.c if (WARN_ON(list_empty(&local->roc_list))) local 321 net/mac80211/offchannel.c roc = list_first_entry(&local->roc_list, struct ieee80211_roc_work, local 331 net/mac80211/offchannel.c list_for_each_entry(tmp, &local->roc_list, list) { local 341 net/mac80211/offchannel.c if (local->ops->remain_on_channel) { local 342 net/mac80211/offchannel.c int ret = drv_remain_on_channel(local, roc->sdata, roc->chan, local 346 net/mac80211/offchannel.c wiphy_warn(local->hw.wiphy, local 352 net/mac80211/offchannel.c list_for_each_entry(tmp, &local->roc_list, list) { local 359 net/mac80211/offchannel.c ieee80211_queue_work(&local->hw, &local->hw_roc_done); local 364 net/mac80211/offchannel.c list_for_each_entry(tmp, &local->roc_list, list) { local 375 net/mac80211/offchannel.c roc->on_channel = roc->chan == local->_oper_chandef.chan && local 376 net/mac80211/offchannel.c local->_oper_chandef.width != NL80211_CHAN_WIDTH_5 && local 377 net/mac80211/offchannel.c local->_oper_chandef.width != NL80211_CHAN_WIDTH_10; local 380 net/mac80211/offchannel.c ieee80211_recalc_idle(local); local 383 net/mac80211/offchannel.c ieee80211_offchannel_stop_vifs(local); local 385 net/mac80211/offchannel.c local->tmp_channel = roc->chan; local 386 net/mac80211/offchannel.c ieee80211_hw_config(local, 0); local 389 net/mac80211/offchannel.c ieee80211_queue_delayed_work(&local->hw, &local->roc_work, local 393 net/mac80211/offchannel.c list_for_each_entry(tmp, &local->roc_list, list) { local 403 net/mac80211/offchannel.c void ieee80211_start_next_roc(struct ieee80211_local *local) local 407 net/mac80211/offchannel.c lockdep_assert_held(&local->mtx); local 409 net/mac80211/offchannel.c if (list_empty(&local->roc_list)) { local 410 net/mac80211/offchannel.c ieee80211_run_deferred_scan(local); local 415 net/mac80211/offchannel.c if (local->in_reconfig) local 418 net/mac80211/offchannel.c roc = list_first_entry(&local->roc_list, struct ieee80211_roc_work, local 424 net/mac80211/offchannel.c if (local->ops->remain_on_channel) { local 425 net/mac80211/offchannel.c _ieee80211_start_next_roc(local); local 428 net/mac80211/offchannel.c ieee80211_queue_delayed_work(&local->hw, &local->roc_work, local 433 net/mac80211/offchannel.c static void __ieee80211_roc_work(struct ieee80211_local *local) local 438 net/mac80211/offchannel.c lockdep_assert_held(&local->mtx); local 440 net/mac80211/offchannel.c if (WARN_ON(local->ops->remain_on_channel)) local 443 net/mac80211/offchannel.c roc = list_first_entry_or_null(&local->roc_list, local 449 net/mac80211/offchannel.c WARN_ON(local->use_chanctx); local 450 net/mac80211/offchannel.c _ieee80211_start_next_roc(local); local 453 net/mac80211/offchannel.c if (ieee80211_recalc_sw_work(local, jiffies)) local 459 net/mac80211/offchannel.c ieee80211_flush_queues(local, NULL, false); local 461 net/mac80211/offchannel.c local->tmp_channel = NULL; local 462 net/mac80211/offchannel.c ieee80211_hw_config(local, 0); local 464 net/mac80211/offchannel.c ieee80211_offchannel_return(local); local 467 net/mac80211/offchannel.c ieee80211_recalc_idle(local); local 468 net/mac80211/offchannel.c ieee80211_start_next_roc(local); local 474 net/mac80211/offchannel.c struct ieee80211_local *local = local 477 net/mac80211/offchannel.c mutex_lock(&local->mtx); local 478 net/mac80211/offchannel.c __ieee80211_roc_work(local); local 479 net/mac80211/offchannel.c mutex_unlock(&local->mtx); local 484 net/mac80211/offchannel.c struct ieee80211_local *local = local 487 net/mac80211/offchannel.c mutex_lock(&local->mtx); local 489 net/mac80211/offchannel.c ieee80211_end_finished_rocs(local, jiffies); local 492 net/mac80211/offchannel.c ieee80211_start_next_roc(local); local 494 net/mac80211/offchannel.c mutex_unlock(&local->mtx); local 499 net/mac80211/offchannel.c struct ieee80211_local *local = hw_to_local(hw); local 501 net/mac80211/offchannel.c trace_api_remain_on_channel_expired(local); local 503 net/mac80211/offchannel.c ieee80211_queue_work(hw, &local->hw_roc_done); local 508 net/mac80211/offchannel.c ieee80211_coalesce_hw_started_roc(struct ieee80211_local *local, local 547 net/mac80211/offchannel.c static int ieee80211_start_roc_work(struct ieee80211_local *local, local 558 net/mac80211/offchannel.c lockdep_assert_held(&local->mtx); local 560 net/mac80211/offchannel.c if (local->use_chanctx && !local->ops->remain_on_channel) local 591 net/mac80211/offchannel.c roc->cookie = ieee80211_mgmt_tx_cookie(local); local 598 net/mac80211/offchannel.c if (list_empty(&local->roc_list) && local 599 net/mac80211/offchannel.c !local->scanning && !ieee80211_is_radar_required(local)) { local 601 net/mac80211/offchannel.c if (!local->ops->remain_on_channel) { local 602 net/mac80211/offchannel.c list_add_tail(&roc->list, &local->roc_list); local 603 net/mac80211/offchannel.c ieee80211_queue_delayed_work(&local->hw, local 604 net/mac80211/offchannel.c &local->roc_work, 0); local 609 net/mac80211/offchannel.c ret = drv_remain_on_channel(local, sdata, channel, local 616 net/mac80211/offchannel.c list_add_tail(&roc->list, &local->roc_list); local 624 net/mac80211/offchannel.c list_for_each_entry(tmp, &local->roc_list, list) { local 641 net/mac80211/offchannel.c if (!local->ops->remain_on_channel) { local 653 net/mac80211/offchannel.c struct wiphy *wiphy = local->hw.wiphy; local 665 net/mac80211/offchannel.c ieee80211_recalc_sw_work(local, now); local 669 net/mac80211/offchannel.c queued = ieee80211_coalesce_hw_started_roc(local, roc, tmp); local 681 net/mac80211/offchannel.c list_add_tail(&roc->list, &local->roc_list); local 691 net/mac80211/offchannel.c struct ieee80211_local *local = sdata->local; local 694 net/mac80211/offchannel.c mutex_lock(&local->mtx); local 695 net/mac80211/offchannel.c ret = ieee80211_start_roc_work(local, sdata, chan, local 698 net/mac80211/offchannel.c mutex_unlock(&local->mtx); local 703 net/mac80211/offchannel.c static int ieee80211_cancel_roc(struct ieee80211_local *local, local 712 net/mac80211/offchannel.c flush_work(&local->hw_roc_start); local 714 net/mac80211/offchannel.c mutex_lock(&local->mtx); local 715 net/mac80211/offchannel.c list_for_each_entry_safe(roc, tmp, &local->roc_list, list) { local 726 net/mac80211/offchannel.c mutex_unlock(&local->mtx); local 735 net/mac80211/offchannel.c if (local->ops->remain_on_channel) { local 736 net/mac80211/offchannel.c ret = drv_cancel_remain_on_channel(local, roc->sdata); local 738 net/mac80211/offchannel.c mutex_unlock(&local->mtx); local 747 net/mac80211/offchannel.c list_for_each_entry_safe(roc, tmp, &local->roc_list, list) { local 758 net/mac80211/offchannel.c ieee80211_start_next_roc(local); local 762 net/mac80211/offchannel.c mod_delayed_work(local->workqueue, &local->roc_work, 0); local 766 net/mac80211/offchannel.c mutex_unlock(&local->mtx); local 775 net/mac80211/offchannel.c struct ieee80211_local *local = sdata->local; local 777 net/mac80211/offchannel.c return ieee80211_cancel_roc(local, cookie, false); local 784 net/mac80211/offchannel.c struct ieee80211_local *local = sdata->local; local 837 net/mac80211/offchannel.c local->ops->remain_on_channel && local 857 net/mac80211/offchannel.c mutex_lock(&local->mtx); local 885 net/mac80211/offchannel.c skb = dev_alloc_skb(local->hw.extra_tx_headroom + params->len); local 890 net/mac80211/offchannel.c skb_reserve(skb, local->hw.extra_tx_headroom); local 928 net/mac80211/offchannel.c ret = ieee80211_attach_ack_skb(local, skb, cookie, GFP_KERNEL); local 950 net/mac80211/offchannel.c if (ieee80211_hw_check(&local->hw, QUEUE_CONTROL)) local 952 net/mac80211/offchannel.c local->hw.offchannel_tx_hw_queue; local 955 net/mac80211/offchannel.c ret = ieee80211_start_roc_work(local, sdata, params->chan, local 959 net/mac80211/offchannel.c ieee80211_free_txskb(&local->hw, skb); local 961 net/mac80211/offchannel.c mutex_unlock(&local->mtx); local 968 net/mac80211/offchannel.c struct ieee80211_local *local = wiphy_priv(wiphy); local 970 net/mac80211/offchannel.c return ieee80211_cancel_roc(local, cookie, true); local 973 net/mac80211/offchannel.c void ieee80211_roc_setup(struct ieee80211_local *local) local 975 net/mac80211/offchannel.c INIT_WORK(&local->hw_roc_start, ieee80211_hw_roc_start); local 976 net/mac80211/offchannel.c INIT_WORK(&local->hw_roc_done, ieee80211_hw_roc_done); local 977 net/mac80211/offchannel.c INIT_DELAYED_WORK(&local->roc_work, ieee80211_roc_work); local 978 net/mac80211/offchannel.c INIT_LIST_HEAD(&local->roc_list); local 981 net/mac80211/offchannel.c void ieee80211_roc_purge(struct ieee80211_local *local, local 987 net/mac80211/offchannel.c mutex_lock(&local->mtx); local 988 net/mac80211/offchannel.c list_for_each_entry_safe(roc, tmp, &local->roc_list, list) { local 993 net/mac80211/offchannel.c if (local->ops->remain_on_channel) { local 995 net/mac80211/offchannel.c drv_cancel_remain_on_channel(local, sdata); local 1006 net/mac80211/offchannel.c __ieee80211_roc_work(local); local 1007 net/mac80211/offchannel.c mutex_unlock(&local->mtx); local 10 net/mac80211/pm.c static void ieee80211_sched_scan_cancel(struct ieee80211_local *local) local 12 net/mac80211/pm.c if (ieee80211_request_sched_scan_stop(local)) local 14 net/mac80211/pm.c cfg80211_sched_scan_stopped_rtnl(local->hw.wiphy, 0); local 19 net/mac80211/pm.c struct ieee80211_local *local = hw_to_local(hw); local 23 net/mac80211/pm.c if (!local->open_count) local 26 net/mac80211/pm.c ieee80211_scan_cancel(local); local 28 net/mac80211/pm.c ieee80211_dfs_cac_cancel(local); local 30 net/mac80211/pm.c ieee80211_roc_purge(local, NULL); local 32 net/mac80211/pm.c ieee80211_del_virtual_monitor(local); local 36 net/mac80211/pm.c mutex_lock(&local->sta_mtx); local 37 net/mac80211/pm.c list_for_each_entry(sta, &local->sta_list, list) { local 42 net/mac80211/pm.c mutex_unlock(&local->sta_mtx); local 47 net/mac80211/pm.c ieee80211_sched_scan_cancel(local); local 57 net/mac80211/pm.c ieee80211_flush_queues(local, NULL, true); local 59 net/mac80211/pm.c local->quiescing = true; local 63 net/mac80211/pm.c flush_workqueue(local->workqueue); local 66 net/mac80211/pm.c del_timer_sync(&local->sta_cleanup); local 72 net/mac80211/pm.c cancel_work_sync(&local->dynamic_ps_enable_work); local 73 net/mac80211/pm.c del_timer_sync(&local->dynamic_ps_timer); local 75 net/mac80211/pm.c local->wowlan = wowlan; local 76 net/mac80211/pm.c if (local->wowlan) { local 86 net/mac80211/pm.c list_for_each_entry(sdata, &local->interfaces, list) { local 103 net/mac80211/pm.c !(local->hw.conf.flags & IEEE80211_CONF_PS)) { local 104 net/mac80211/pm.c local->hw.conf.flags |= IEEE80211_CONF_PS; local 105 net/mac80211/pm.c ieee80211_hw_config(local, local 110 net/mac80211/pm.c err = drv_suspend(local, wowlan); local 112 net/mac80211/pm.c local->quiescing = false; local 113 net/mac80211/pm.c local->wowlan = false; local 115 net/mac80211/pm.c mutex_lock(&local->sta_mtx); local 117 net/mac80211/pm.c &local->sta_list, list) { local 120 net/mac80211/pm.c mutex_unlock(&local->sta_mtx); local 143 net/mac80211/pm.c list_for_each_entry(sdata, &local->interfaces, list) { local 155 net/mac80211/pm.c mutex_lock(&local->sta_mtx); local 162 net/mac80211/pm.c WARN_ON(drv_sta_state(local, sta->sdata, local 166 net/mac80211/pm.c mutex_unlock(&local->sta_mtx); local 173 net/mac80211/pm.c drv_remove_interface(local, sdata); local 180 net/mac80211/pm.c WARN_ON(!list_empty(&local->chanctx_list)); local 183 net/mac80211/pm.c ieee80211_stop_device(local); local 186 net/mac80211/pm.c local->suspended = true; local 189 net/mac80211/pm.c local->quiescing = false; local 32 net/mac80211/rate.c struct ieee80211_local *local = sta->sdata->local; local 52 net/mac80211/rate.c sband = local->hw.wiphy->bands[chanctx_conf->def.chan->band]; local 62 net/mac80211/rate.c void rate_control_tx_status(struct ieee80211_local *local, local 66 net/mac80211/rate.c struct rate_control_ref *ref = local->rate_ctrl; local 84 net/mac80211/rate.c void rate_control_rate_update(struct ieee80211_local *local, local 88 net/mac80211/rate.c struct rate_control_ref *ref = local->rate_ctrl; local 108 net/mac80211/rate.c drv_sta_rc_update(local, sta->sdata, &sta->sta, changed); local 225 net/mac80211/rate.c rate_control_alloc(const char *name, struct ieee80211_local *local) local 236 net/mac80211/rate.c ref->priv = ref->ops->alloc(&local->hw); local 246 net/mac80211/rate.c static void rate_control_free(struct ieee80211_local *local, local 252 net/mac80211/rate.c debugfs_remove_recursive(local->debugfs.rcdir); local 253 net/mac80211/rate.c local->debugfs.rcdir = NULL; local 261 net/mac80211/rate.c struct ieee80211_local *local = sdata->local; local 274 net/mac80211/rate.c sband = local->hw.wiphy->bands[band]; local 857 net/mac80211/rate.c sband = sdata->local->hw.wiphy->bands[info->band]; local 863 net/mac80211/rate.c __rate_control_send_low(&sdata->local->hw, sband, sta, info, local 875 net/mac80211/rate.c struct rate_control_ref *ref = sdata->local->rate_ctrl; local 890 net/mac80211/rate.c if (ieee80211_hw_check(&sdata->local->hw, HAS_RATE_CONTROL)) local 906 net/mac80211/rate.c if (ieee80211_hw_check(&sdata->local->hw, SUPPORTS_RC_TABLE)) local 945 net/mac80211/rate.c int ieee80211_init_rate_ctrl_alg(struct ieee80211_local *local, local 952 net/mac80211/rate.c if (local->open_count) local 955 net/mac80211/rate.c if (ieee80211_hw_check(&local->hw, HAS_RATE_CONTROL)) { local 956 net/mac80211/rate.c if (WARN_ON(!local->ops->set_rts_threshold)) local 961 net/mac80211/rate.c ref = rate_control_alloc(name, local); local 963 net/mac80211/rate.c wiphy_warn(local->hw.wiphy, local 968 net/mac80211/rate.c WARN_ON(local->rate_ctrl); local 969 net/mac80211/rate.c local->rate_ctrl = ref; local 971 net/mac80211/rate.c wiphy_debug(local->hw.wiphy, "Selected rate control algorithm '%s'\n", local 977 net/mac80211/rate.c void rate_control_deinitialize(struct ieee80211_local *local) local 981 net/mac80211/rate.c ref = local->rate_ctrl; local 986 net/mac80211/rate.c local->rate_ctrl = NULL; local 987 net/mac80211/rate.c rate_control_free(local, ref); local 28 net/mac80211/rate.h void rate_control_tx_status(struct ieee80211_local *local, local 33 net/mac80211/rate.h void rate_control_rate_update(struct ieee80211_local *local, local 65 net/mac80211/rate.h static inline void rate_control_add_debugfs(struct ieee80211_local *local) local 70 net/mac80211/rate.h if (!local->rate_ctrl) local 73 net/mac80211/rate.h if (!local->rate_ctrl->ops->add_debugfs) local 76 net/mac80211/rate.h debugfsdir = debugfs_create_dir("rc", local->hw.wiphy->debugfsdir); local 77 net/mac80211/rate.h local->debugfs.rcdir = debugfsdir; local 79 net/mac80211/rate.h local->rate_ctrl, &rcname_ops); local 81 net/mac80211/rate.h local->rate_ctrl->ops->add_debugfs(&local->hw, local->rate_ctrl->priv, local 90 net/mac80211/rate.h int ieee80211_init_rate_ctrl_alg(struct ieee80211_local *local, local 92 net/mac80211/rate.h void rate_control_deinitialize(struct ieee80211_local *local); local 131 net/mac80211/rx.c ieee80211_rx_radiotap_hdrlen(struct ieee80211_local *local, local 151 net/mac80211/rx.c if (ieee80211_hw_check(&local->hw, SIGNAL_DBM)) local 174 net/mac80211/rx.c if (local->hw.radiotap_timestamp.units_pos >= 0) { local 281 net/mac80211/rx.c ieee80211_queue_work(&sdata->local->hw, &sdata->work); local 290 net/mac80211/rx.c ieee80211_add_rx_radiotap_header(struct ieee80211_local *local, local 332 net/mac80211/rx.c if (!(has_fcs && ieee80211_hw_check(&local->hw, RX_INCLUDES_FCS))) local 378 net/mac80211/rx.c ieee80211_calculate_rx_timestamp(local, status, local 386 net/mac80211/rx.c if (has_fcs && ieee80211_hw_check(&local->hw, RX_INCLUDES_FCS)) local 436 net/mac80211/rx.c if (ieee80211_hw_check(&local->hw, SIGNAL_DBM) && local 467 net/mac80211/rx.c *pos++ = local->hw.radiotap_mcs_details; local 515 net/mac80211/rx.c u16 known = local->hw.radiotap_vht_details; local 556 net/mac80211/rx.c if (local->hw.radiotap_timestamp.units_pos >= 0) { local 570 net/mac80211/rx.c if (local->hw.radiotap_timestamp.accuracy >= 0) { local 571 net/mac80211/rx.c accuracy = local->hw.radiotap_timestamp.accuracy; local 577 net/mac80211/rx.c *pos++ = local->hw.radiotap_timestamp.units_pos; local 702 net/mac80211/rx.c ieee80211_make_monitor_skb(struct ieee80211_local *local, local 712 net/mac80211/rx.c rt_hdrlen = ieee80211_rx_radiotap_hdrlen(local, status, *origskb); local 744 net/mac80211/rx.c ieee80211_add_rx_radiotap_header(local, skb, rate, rt_hdrlen, true); local 760 net/mac80211/rx.c ieee80211_rx_monitor(struct ieee80211_local *local, struct sk_buff *origskb, local 769 net/mac80211/rx.c rcu_dereference(local->monitor_sdata); local 801 net/mac80211/rx.c if (ieee80211_hw_check(&local->hw, RX_INCLUDES_FCS)) { local 823 net/mac80211/rx.c if (!local->monitors || (status->flag & RX_FLAG_SKIP_MONITOR)) { local 835 net/mac80211/rx.c list_for_each_entry_rcu(sdata, &local->mon_list, u.mntr.list) { local 837 net/mac80211/rx.c &local->mon_list); local 840 net/mac80211/rx.c monskb = ieee80211_make_monitor_skb(local, &origskb, local 1363 net/mac80211/rx.c struct ieee80211_local *local = rx->local; local 1416 net/mac80211/rx.c ieee80211_queue_work(&local->hw, &rx->sdata->work); local 1462 net/mac80211/rx.c I802_DEBUG_INC(rx->local->dot11FrameDuplicateCount); local 1531 net/mac80211/rx.c struct ieee80211_local *local; local 1535 net/mac80211/rx.c local = rx->local; local 1539 net/mac80211/rx.c if (!local->pspolling) local 1551 net/mac80211/rx.c local->pspolling = false; local 1556 net/mac80211/rx.c ieee80211_send_pspoll(local, rx->sdata); local 1564 net/mac80211/rx.c struct ieee80211_local *local = sdata->local; local 1576 net/mac80211/rx.c if (!ieee80211_hw_check(&local->hw, AP_LINK_PS)) local 1577 net/mac80211/rx.c drv_sta_notify(local, sdata, STA_NOTIFY_SLEEP, &sta->sta); local 1590 net/mac80211/rx.c spin_lock(&local->active_txq_lock[txq->ac]); local 1593 net/mac80211/rx.c spin_unlock(&local->active_txq_lock[txq->ac]); local 1630 net/mac80211/rx.c WARN_ON(!ieee80211_hw_check(&sta->local->hw, AP_LINK_PS)); local 1707 net/mac80211/rx.c if (ieee80211_hw_check(&sdata->local->hw, AP_LINK_PS)) local 1815 net/mac80211/rx.c if (!ieee80211_hw_check(&sta->local->hw, AP_LINK_PS) && local 1841 net/mac80211/rx.c I802_DEBUG_INC(rx->local->rx_handlers_drop_nullfunc); local 2176 net/mac80211/rx.c I802_DEBUG_INC(rx->local->dot11MulticastReceivedFrameCount); local 2183 net/mac80211/rx.c I802_DEBUG_INC(rx->local->rx_handlers_fragments); local 2233 net/mac80211/rx.c I802_DEBUG_INC(rx->local->rx_handlers_drop_defrag); local 2277 net/mac80211/rx.c I802_DEBUG_INC(rx->local->rx_expand_skb_head_defrag); local 2280 net/mac80211/rx.c I802_DEBUG_INC(rx->local->rx_handlers_drop_defrag); local 2291 net/mac80211/rx.c ieee80211_led_rx(rx->local); local 2608 net/mac80211/rx.c rx->local->hw.extra_tx_headroom, local 2671 net/mac80211/rx.c struct ieee80211_local *local = rx->local; local 2748 net/mac80211/rx.c if (ieee80211_queue_stopped(&local->hw, q)) { local 2767 net/mac80211/rx.c fwd_skb = skb_copy_expand(skb, local->tx_headroom + local 2800 net/mac80211/rx.c ieee80211_add_pending_skb(local, fwd_skb); local 2812 net/mac80211/rx.c struct ieee80211_local *local = rx->local; local 2856 net/mac80211/rx.c skb_queue_tail(&local->skb_queue_tdls_chsw, rx->skb); local 2857 net/mac80211/rx.c schedule_work(&local->tdls_chsw_work); local 2875 net/mac80211/rx.c if (!ieee80211_hw_check(&local->hw, SUPPORTS_DYNAMIC_PS) && local 2876 net/mac80211/rx.c local->ps_sdata && local->hw.conf.dynamic_ps_timeout > 0 && local 2879 net/mac80211/rx.c (!local->scanning && local 2881 net/mac80211/rx.c mod_timer(&local->dynamic_ps_timer, jiffies + local 2882 net/mac80211/rx.c msecs_to_jiffies(local->hw.conf.dynamic_ps_timeout)); local 2944 net/mac80211/rx.c drv_event_callback(rx->local, rx->sdata, &event); local 2962 net/mac80211/rx.c struct ieee80211_local *local = sdata->local; local 2982 net/mac80211/rx.c skb = dev_alloc_skb(sizeof(*resp) + local->hw.extra_tx_headroom); local 2986 net/mac80211/rx.c skb_reserve(skb, local->hw.extra_tx_headroom); local 3025 net/mac80211/rx.c if (ieee80211_hw_check(&rx->local->hw, SIGNAL_DBM) && local 3029 net/mac80211/rx.c cfg80211_report_obss_beacon(rx->local->hw.wiphy, local 3044 net/mac80211/rx.c struct ieee80211_local *local = rx->local; local 3108 net/mac80211/rx.c sband = rx->local->hw.wiphy->bands[status->band]; local 3110 net/mac80211/rx.c rate_control_rate_update(local, sband, rx->sta, local 3142 net/mac80211/rx.c sband = rx->local->hw.wiphy->bands[status->band]; local 3147 net/mac80211/rx.c rate_control_rate_update(local, sband, rx->sta, local 3346 net/mac80211/rx.c ieee80211_queue_work(&local->hw, &sdata->work); local 3369 net/mac80211/rx.c if (ieee80211_hw_check(&rx->local->hw, SIGNAL_DBM) && local 3387 net/mac80211/rx.c struct ieee80211_local *local = rx->local; local 3418 net/mac80211/rx.c nskb = skb_copy_expand(rx->skb, local->hw.extra_tx_headroom, 0, local 3435 net/mac80211/rx.c if (ieee80211_hw_check(&local->hw, QUEUE_CONTROL)) local 3437 net/mac80211/rx.c local->hw.offchannel_tx_hw_queue; local 3501 net/mac80211/rx.c ieee80211_queue_work(&rx->local->hw, &sdata->work); local 3512 net/mac80211/rx.c struct ieee80211_local *local = rx->local; local 3527 net/mac80211/rx.c if (!local->cooked_mntrs) local 3533 net/mac80211/rx.c needed_headroom = ieee80211_rx_radiotap_hdrlen(local, status, skb); local 3540 net/mac80211/rx.c ieee80211_add_rx_radiotap_header(local, skb, rate, needed_headroom, local 3548 net/mac80211/rx.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 3583 net/mac80211/rx.c I802_DEBUG_INC(rx->sdata->local->rx_handlers_drop); local 3594 net/mac80211/rx.c sband = rx->local->hw.wiphy->bands[status->band]; local 3602 net/mac80211/rx.c I802_DEBUG_INC(rx->sdata->local->rx_handlers_drop); local 3608 net/mac80211/rx.c I802_DEBUG_INC(rx->sdata->local->rx_handlers_queued); local 3632 net/mac80211/rx.c spin_lock_bh(&rx->local->rx_path_lock); local 3673 net/mac80211/rx.c spin_unlock_bh(&rx->local->rx_path_lock); local 3714 net/mac80211/rx.c .local = sta->local, local 3738 net/mac80211/rx.c drv_event_callback(rx.local, rx.sdata, &event); local 3767 net/mac80211/rx.c rx.local = sta->local; local 3967 net/mac80211/rx.c struct ieee80211_local *local = sdata->local; local 3984 net/mac80211/rx.c fastrx.uses_rss = ieee80211_hw_check(&local->hw, USES_RSS); local 3987 net/mac80211/rx.c if (ieee80211_hw_check(&local->hw, AMPDU_AGGREGATION) && local 3988 net/mac80211/rx.c !ieee80211_hw_check(&local->hw, SUPPORTS_REORDERING_BUFFER)) local 4016 net/mac80211/rx.c if (ieee80211_hw_check(&local->hw, PS_NULLFUNC_STACK)) local 4018 net/mac80211/rx.c if (ieee80211_hw_check(&local->hw, SUPPORTS_PS) && local 4019 net/mac80211/rx.c !ieee80211_hw_check(&local->hw, SUPPORTS_DYNAMIC_PS)) local 4027 net/mac80211/rx.c if (!ieee80211_hw_check(&local->hw, AP_LINK_PS)) local 4110 net/mac80211/rx.c struct ieee80211_local *local = sdata->local; local 4113 net/mac80211/rx.c lockdep_assert_held(&local->sta_mtx); local 4115 net/mac80211/rx.c list_for_each_entry(sta, &local->sta_list, list) { local 4125 net/mac80211/rx.c struct ieee80211_local *local = sdata->local; local 4127 net/mac80211/rx.c mutex_lock(&local->sta_mtx); local 4129 net/mac80211/rx.c mutex_unlock(&local->sta_mtx); local 4349 net/mac80211/rx.c struct ieee80211_local *local = rx->local; local 4376 net/mac80211/rx.c wiphy_debug(local->hw.wiphy, local 4398 net/mac80211/rx.c struct ieee80211_local *local = hw_to_local(hw); local 4410 net/mac80211/rx.c rx.local = local; local 4414 net/mac80211/rx.c I802_DEBUG_INC(local->dot11ReceivedFragmentCount); local 4437 net/mac80211/rx.c ieee80211_scan_rx(local, skb); local 4452 net/mac80211/rx.c for_each_sta_info(local, hdr->addr2, sta, tmp) { local 4477 net/mac80211/rx.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 4522 net/mac80211/rx.c struct ieee80211_local *local = hw_to_local(hw); local 4532 net/mac80211/rx.c sband = local->hw.wiphy->bands[status->band]; local 4543 net/mac80211/rx.c if (unlikely(local->quiescing || local->suspended)) local 4547 net/mac80211/rx.c if (unlikely(local->in_reconfig)) local 4554 net/mac80211/rx.c if (WARN_ON(!local->started)) local 4624 net/mac80211/rx.c skb = ieee80211_rx_monitor(local, skb, rate); local 4630 net/mac80211/rx.c ieee80211_tpt_led_trig_rx(local, local 4648 net/mac80211/rx.c struct ieee80211_local *local = hw_to_local(hw); local 4653 net/mac80211/rx.c skb_queue_tail(&local->skb_queue, skb); local 4654 net/mac80211/rx.c tasklet_schedule(&local->tasklet); local 32 net/mac80211/scan.c void ieee80211_rx_bss_put(struct ieee80211_local *local, local 37 net/mac80211/scan.c cfg80211_put_bss(local->hw.wiphy, local 59 net/mac80211/scan.c ieee80211_update_bss_from_elems(struct ieee80211_local *local, local 129 net/mac80211/scan.c local->hw.wiphy->bands[rx_status->band]; local 138 net/mac80211/scan.c ieee80211_bss_info_update(struct ieee80211_local *local, local 157 net/mac80211/scan.c else if (ieee80211_hw_check(&local->hw, SIGNAL_DBM)) local 159 net/mac80211/scan.c else if (ieee80211_hw_check(&local->hw, SIGNAL_UNSPEC)) local 160 net/mac80211/scan.c bss_meta.signal = (rx_status->signal * 100) / local->hw.max_signal; local 171 net/mac80211/scan.c scan_sdata = rcu_dereference(local->scan_sdata); local 176 net/mac80211/scan.c ieee80211_calculate_rx_timestamp(local, rx_status, local 183 net/mac80211/scan.c cbss = cfg80211_inform_bss_frame_data(local->hw.wiphy, &bss_meta, local 205 net/mac80211/scan.c <= local->hw.wiphy->max_adj_channel_rssi_comp; local 210 net/mac80211/scan.c ieee80211_update_bss_from_elems(local, bss, &elems, rx_status, beacon); local 215 net/mac80211/scan.c ieee80211_update_bss_from_elems(local, non_tx_bss, &elems, local 236 net/mac80211/scan.c void ieee80211_scan_rx(struct ieee80211_local *local, struct sk_buff *skb) local 249 net/mac80211/scan.c sdata1 = rcu_dereference(local->scan_sdata); local 250 net/mac80211/scan.c sdata2 = rcu_dereference(local->sched_scan_sdata); local 260 net/mac80211/scan.c scan_req = rcu_dereference(local->scan_req); local 261 net/mac80211/scan.c sched_scan_req = rcu_dereference(local->sched_scan_req); local 279 net/mac80211/scan.c channel = ieee80211_get_channel(local->hw.wiphy, rx_status->freq); local 284 net/mac80211/scan.c bss = ieee80211_bss_info_update(local, rx_status, local 288 net/mac80211/scan.c ieee80211_rx_bss_put(local, bss); local 310 net/mac80211/scan.c static bool ieee80211_prep_hw_scan(struct ieee80211_local *local) local 318 net/mac80211/scan.c req = rcu_dereference_protected(local->scan_req, local 319 net/mac80211/scan.c lockdep_is_held(&local->mtx)); local 321 net/mac80211/scan.c if (test_bit(SCAN_HW_CANCELLED, &local->scanning)) local 324 net/mac80211/scan.c if (ieee80211_hw_check(&local->hw, SINGLE_SCAN_ON_ALL_BANDS)) { local 326 net/mac80211/scan.c local->hw_scan_req->req.channels[i] = req->channels[i]; local 333 net/mac80211/scan.c if (local->hw_scan_band == NUM_NL80211_BANDS) local 340 net/mac80211/scan.c local->hw_scan_band) local 342 net/mac80211/scan.c local->hw_scan_req->req.channels[n_chans] = local 348 net/mac80211/scan.c local->hw_scan_band++; local 352 net/mac80211/scan.c local->hw_scan_req->req.n_channels = n_chans; local 358 net/mac80211/scan.c ielen = ieee80211_build_preq_ies(local, local 359 net/mac80211/scan.c (u8 *)local->hw_scan_req->req.ie, local 360 net/mac80211/scan.c local->hw_scan_ies_bufsize, local 361 net/mac80211/scan.c &local->hw_scan_req->ies, local 365 net/mac80211/scan.c local->hw_scan_req->req.ie_len = ielen; local 366 net/mac80211/scan.c local->hw_scan_req->req.no_cck = req->no_cck; local 367 net/mac80211/scan.c ether_addr_copy(local->hw_scan_req->req.mac_addr, req->mac_addr); local 368 net/mac80211/scan.c ether_addr_copy(local->hw_scan_req->req.mac_addr_mask, local 370 net/mac80211/scan.c ether_addr_copy(local->hw_scan_req->req.bssid, req->bssid); local 377 net/mac80211/scan.c struct ieee80211_local *local = hw_to_local(hw); local 378 net/mac80211/scan.c bool hw_scan = test_bit(SCAN_HW_SCANNING, &local->scanning); local 379 net/mac80211/scan.c bool was_scanning = local->scanning; local 384 net/mac80211/scan.c lockdep_assert_held(&local->mtx); local 392 net/mac80211/scan.c if (WARN_ON(!local->scanning && !aborted)) local 395 net/mac80211/scan.c if (WARN_ON(!local->scan_req)) local 399 net/mac80211/scan.c !ieee80211_hw_check(&local->hw, SINGLE_SCAN_ON_ALL_BANDS) && local 400 net/mac80211/scan.c ieee80211_prep_hw_scan(local)) { local 403 net/mac80211/scan.c rc = drv_hw_scan(local, local 404 net/mac80211/scan.c rcu_dereference_protected(local->scan_sdata, local 405 net/mac80211/scan.c lockdep_is_held(&local->mtx)), local 406 net/mac80211/scan.c local->hw_scan_req); local 414 net/mac80211/scan.c memset(&local->scan_info, 0, sizeof(local->scan_info)); local 418 net/mac80211/scan.c kfree(local->hw_scan_req); local 419 net/mac80211/scan.c local->hw_scan_req = NULL; local 421 net/mac80211/scan.c scan_req = rcu_dereference_protected(local->scan_req, local 422 net/mac80211/scan.c lockdep_is_held(&local->mtx)); local 424 net/mac80211/scan.c if (scan_req != local->int_scan_req) { local 425 net/mac80211/scan.c local->scan_info.aborted = aborted; local 426 net/mac80211/scan.c cfg80211_scan_done(scan_req, &local->scan_info); local 428 net/mac80211/scan.c RCU_INIT_POINTER(local->scan_req, NULL); local 430 net/mac80211/scan.c scan_sdata = rcu_dereference_protected(local->scan_sdata, local 431 net/mac80211/scan.c lockdep_is_held(&local->mtx)); local 432 net/mac80211/scan.c RCU_INIT_POINTER(local->scan_sdata, NULL); local 434 net/mac80211/scan.c local->scanning = 0; local 435 net/mac80211/scan.c local->scan_chandef.chan = NULL; local 438 net/mac80211/scan.c ieee80211_hw_config(local, 0); local 441 net/mac80211/scan.c ieee80211_configure_filter(local); local 442 net/mac80211/scan.c drv_sw_scan_complete(local, scan_sdata); local 443 net/mac80211/scan.c ieee80211_offchannel_return(local); local 446 net/mac80211/scan.c ieee80211_recalc_idle(local); local 448 net/mac80211/scan.c ieee80211_mlme_notify_scan_completed(local); local 449 net/mac80211/scan.c ieee80211_ibss_notify_scan_completed(local); local 455 net/mac80211/scan.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 457 net/mac80211/scan.c ieee80211_queue_work(&sdata->local->hw, &sdata->work); local 461 net/mac80211/scan.c ieee80211_start_next_roc(local); local 467 net/mac80211/scan.c struct ieee80211_local *local = hw_to_local(hw); local 469 net/mac80211/scan.c trace_api_scan_completed(local, info->aborted); local 471 net/mac80211/scan.c set_bit(SCAN_COMPLETED, &local->scanning); local 473 net/mac80211/scan.c set_bit(SCAN_ABORTED, &local->scanning); local 475 net/mac80211/scan.c memcpy(&local->scan_info, info, sizeof(*info)); local 477 net/mac80211/scan.c ieee80211_queue_delayed_work(&local->hw, &local->scan_work, 0); local 481 net/mac80211/scan.c static int ieee80211_start_sw_scan(struct ieee80211_local *local, local 485 net/mac80211/scan.c if (local->use_chanctx) local 501 net/mac80211/scan.c drv_sw_scan_start(local, sdata, local->scan_addr); local 503 net/mac80211/scan.c local->leave_oper_channel_time = jiffies; local 504 net/mac80211/scan.c local->next_scan_state = SCAN_DECISION; local 505 net/mac80211/scan.c local->scan_channel_idx = 0; local 507 net/mac80211/scan.c ieee80211_offchannel_stop_vifs(local); local 510 net/mac80211/scan.c ieee80211_flush_queues(local, NULL, false); local 512 net/mac80211/scan.c ieee80211_configure_filter(local); local 515 net/mac80211/scan.c ieee80211_hw_config(local, 0); local 517 net/mac80211/scan.c ieee80211_queue_delayed_work(&local->hw, local 518 net/mac80211/scan.c &local->scan_work, 0); local 525 net/mac80211/scan.c struct ieee80211_local *local = sdata->local; local 528 net/mac80211/scan.c if (!ieee80211_is_radar_required(local)) local 531 net/mac80211/scan.c if (!regulatory_pre_cac_allowed(local->hw.wiphy)) local 534 net/mac80211/scan.c mutex_lock(&local->iflist_mtx); local 535 net/mac80211/scan.c list_for_each_entry(sdata_iter, &local->interfaces, list) { local 537 net/mac80211/scan.c mutex_unlock(&local->iflist_mtx); local 541 net/mac80211/scan.c mutex_unlock(&local->iflist_mtx); local 546 net/mac80211/scan.c static bool ieee80211_can_scan(struct ieee80211_local *local, local 552 net/mac80211/scan.c if (!list_empty(&local->roc_list)) local 562 net/mac80211/scan.c void ieee80211_run_deferred_scan(struct ieee80211_local *local) local 564 net/mac80211/scan.c lockdep_assert_held(&local->mtx); local 566 net/mac80211/scan.c if (!local->scan_req || local->scanning) local 569 net/mac80211/scan.c if (!ieee80211_can_scan(local, local 571 net/mac80211/scan.c local->scan_sdata, local 572 net/mac80211/scan.c lockdep_is_held(&local->mtx)))) local 575 net/mac80211/scan.c ieee80211_queue_delayed_work(&local->hw, &local->scan_work, local 608 net/mac80211/scan.c static void ieee80211_scan_state_send_probe(struct ieee80211_local *local, local 614 net/mac80211/scan.c enum nl80211_band band = local->hw.conf.chandef.chan->band; local 617 net/mac80211/scan.c scan_req = rcu_dereference_protected(local->scan_req, local 618 net/mac80211/scan.c lockdep_is_held(&local->mtx)); local 628 net/mac80211/scan.c sdata = rcu_dereference_protected(local->scan_sdata, local 629 net/mac80211/scan.c lockdep_is_held(&local->mtx)); local 633 net/mac80211/scan.c sdata, local->scan_addr, scan_req->bssid, local 637 net/mac80211/scan.c tx_flags, local->hw.conf.chandef.chan); local 644 net/mac80211/scan.c local->next_scan_state = SCAN_DECISION; local 650 net/mac80211/scan.c struct ieee80211_local *local = sdata->local; local 651 net/mac80211/scan.c bool hw_scan = local->ops->hw_scan; local 654 net/mac80211/scan.c lockdep_assert_held(&local->mtx); local 656 net/mac80211/scan.c if (local->scan_req) local 662 net/mac80211/scan.c if (!ieee80211_can_scan(local, sdata)) { local 664 net/mac80211/scan.c rcu_assign_pointer(local->scan_req, req); local 665 net/mac80211/scan.c rcu_assign_pointer(local->scan_sdata, sdata); local 673 net/mac80211/scan.c local->hw_scan_ies_bufsize = local->scan_ies_len + req->ie_len; local 675 net/mac80211/scan.c if (ieee80211_hw_check(&local->hw, SINGLE_SCAN_ON_ALL_BANDS)) { local 686 net/mac80211/scan.c local->hw_scan_ies_bufsize *= n_bands; local 689 net/mac80211/scan.c local->hw_scan_req = kmalloc( local 690 net/mac80211/scan.c sizeof(*local->hw_scan_req) + local 692 net/mac80211/scan.c local->hw_scan_ies_bufsize, GFP_KERNEL); local 693 net/mac80211/scan.c if (!local->hw_scan_req) local 696 net/mac80211/scan.c local->hw_scan_req->req.ssids = req->ssids; local 697 net/mac80211/scan.c local->hw_scan_req->req.n_ssids = req->n_ssids; local 698 net/mac80211/scan.c ies = (u8 *)local->hw_scan_req + local 699 net/mac80211/scan.c sizeof(*local->hw_scan_req) + local 701 net/mac80211/scan.c local->hw_scan_req->req.ie = ies; local 702 net/mac80211/scan.c local->hw_scan_req->req.flags = req->flags; local 703 net/mac80211/scan.c eth_broadcast_addr(local->hw_scan_req->req.bssid); local 704 net/mac80211/scan.c local->hw_scan_req->req.duration = req->duration; local 705 net/mac80211/scan.c local->hw_scan_req->req.duration_mandatory = local 708 net/mac80211/scan.c local->hw_scan_band = 0; local 719 net/mac80211/scan.c rcu_assign_pointer(local->scan_req, req); local 720 net/mac80211/scan.c rcu_assign_pointer(local->scan_sdata, sdata); local 723 net/mac80211/scan.c get_random_mask_addr(local->scan_addr, local 727 net/mac80211/scan.c memcpy(local->scan_addr, sdata->vif.addr, ETH_ALEN); local 730 net/mac80211/scan.c __set_bit(SCAN_HW_SCANNING, &local->scanning); local 732 net/mac80211/scan.c (req->channels[0] == local->_oper_chandef.chan)) { local 739 net/mac80211/scan.c __set_bit(SCAN_ONCHANNEL_SCANNING, &local->scanning); local 741 net/mac80211/scan.c ieee80211_recalc_idle(local); local 745 net/mac80211/scan.c drv_sw_scan_start(local, sdata, local->scan_addr); local 747 net/mac80211/scan.c ieee80211_configure_filter(local); /* accept probe-responses */ local 750 net/mac80211/scan.c ieee80211_hw_config(local, 0); local 757 net/mac80211/scan.c ieee80211_scan_state_send_probe(local, &next_delay); local 762 net/mac80211/scan.c ieee80211_queue_delayed_work(&local->hw, &local->scan_work, local 767 net/mac80211/scan.c __set_bit(SCAN_SW_SCANNING, &local->scanning); local 770 net/mac80211/scan.c ieee80211_recalc_idle(local); local 773 net/mac80211/scan.c WARN_ON(!ieee80211_prep_hw_scan(local)); local 774 net/mac80211/scan.c rc = drv_hw_scan(local, sdata, local->hw_scan_req); local 776 net/mac80211/scan.c rc = ieee80211_start_sw_scan(local, sdata); local 780 net/mac80211/scan.c kfree(local->hw_scan_req); local 781 net/mac80211/scan.c local->hw_scan_req = NULL; local 782 net/mac80211/scan.c local->scanning = 0; local 784 net/mac80211/scan.c ieee80211_recalc_idle(local); local 786 net/mac80211/scan.c local->scan_req = NULL; local 787 net/mac80211/scan.c RCU_INIT_POINTER(local->scan_sdata, NULL); local 817 net/mac80211/scan.c static void ieee80211_scan_state_decision(struct ieee80211_local *local, local 833 net/mac80211/scan.c mutex_lock(&local->iflist_mtx); local 834 net/mac80211/scan.c list_for_each_entry(sdata, &local->interfaces, list) { local 849 net/mac80211/scan.c mutex_unlock(&local->iflist_mtx); local 851 net/mac80211/scan.c scan_req = rcu_dereference_protected(local->scan_req, local 852 net/mac80211/scan.c lockdep_is_held(&local->mtx)); local 854 net/mac80211/scan.c next_chan = scan_req->channels[local->scan_channel_idx]; local 866 net/mac80211/scan.c local->leave_oper_channel_time + HZ / 8); local 879 net/mac80211/scan.c local->next_scan_state = next_scan_state; local 884 net/mac80211/scan.c static void ieee80211_scan_state_set_channel(struct ieee80211_local *local, local 892 net/mac80211/scan.c scan_req = rcu_dereference_protected(local->scan_req, local 893 net/mac80211/scan.c lockdep_is_held(&local->mtx)); local 896 net/mac80211/scan.c chan = scan_req->channels[local->scan_channel_idx]; local 898 net/mac80211/scan.c local->scan_chandef.chan = chan; local 899 net/mac80211/scan.c local->scan_chandef.center_freq1 = chan->center_freq; local 900 net/mac80211/scan.c local->scan_chandef.center_freq2 = 0; local 903 net/mac80211/scan.c local->scan_chandef.width = NL80211_CHAN_WIDTH_5; local 906 net/mac80211/scan.c local->scan_chandef.width = NL80211_CHAN_WIDTH_10; local 913 net/mac80211/scan.c &local->_oper_chandef); local 914 net/mac80211/scan.c if (chan == local->_oper_chandef.chan && local 916 net/mac80211/scan.c local->scan_chandef = local->_oper_chandef; local 918 net/mac80211/scan.c local->scan_chandef.width = NL80211_CHAN_WIDTH_20_NOHT; local 922 net/mac80211/scan.c if (ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_CHANNEL)) local 926 net/mac80211/scan.c local->scan_channel_idx++; local 930 net/mac80211/scan.c local->next_scan_state = SCAN_DECISION; local 947 net/mac80211/scan.c local->next_scan_state = SCAN_DECISION; local 953 net/mac80211/scan.c local->next_scan_state = SCAN_SEND_PROBE; local 956 net/mac80211/scan.c static void ieee80211_scan_state_suspend(struct ieee80211_local *local, local 960 net/mac80211/scan.c local->scan_chandef.chan = NULL; local 961 net/mac80211/scan.c ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_CHANNEL); local 964 net/mac80211/scan.c ieee80211_offchannel_return(local); local 968 net/mac80211/scan.c local->next_scan_state = SCAN_RESUME; local 971 net/mac80211/scan.c static void ieee80211_scan_state_resume(struct ieee80211_local *local, local 974 net/mac80211/scan.c ieee80211_offchannel_stop_vifs(local); local 976 net/mac80211/scan.c if (local->ops->flush) { local 977 net/mac80211/scan.c ieee80211_flush_queues(local, NULL, false); local 983 net/mac80211/scan.c local->leave_oper_channel_time = jiffies; local 986 net/mac80211/scan.c local->next_scan_state = SCAN_SET_CHANNEL; local 991 net/mac80211/scan.c struct ieee80211_local *local = local 998 net/mac80211/scan.c mutex_lock(&local->mtx); local 1000 net/mac80211/scan.c if (!ieee80211_can_run_worker(local)) { local 1005 net/mac80211/scan.c sdata = rcu_dereference_protected(local->scan_sdata, local 1006 net/mac80211/scan.c lockdep_is_held(&local->mtx)); local 1007 net/mac80211/scan.c scan_req = rcu_dereference_protected(local->scan_req, local 1008 net/mac80211/scan.c lockdep_is_held(&local->mtx)); local 1011 net/mac80211/scan.c if (test_bit(SCAN_ONCHANNEL_SCANNING, &local->scanning)) { local 1012 net/mac80211/scan.c aborted = test_and_clear_bit(SCAN_ABORTED, &local->scanning); local 1016 net/mac80211/scan.c if (test_and_clear_bit(SCAN_COMPLETED, &local->scanning)) { local 1017 net/mac80211/scan.c aborted = test_and_clear_bit(SCAN_ABORTED, &local->scanning); local 1024 net/mac80211/scan.c if (!local->scanning) { local 1027 net/mac80211/scan.c RCU_INIT_POINTER(local->scan_req, NULL); local 1028 net/mac80211/scan.c RCU_INIT_POINTER(local->scan_sdata, NULL); local 1033 net/mac80211/scan.c rcu_assign_pointer(local->scan_req, scan_req); local 1050 net/mac80211/scan.c switch (local->next_scan_state) { local 1053 net/mac80211/scan.c if (local->scan_channel_idx >= scan_req->n_channels) { local 1057 net/mac80211/scan.c ieee80211_scan_state_decision(local, &next_delay); local 1060 net/mac80211/scan.c ieee80211_scan_state_set_channel(local, &next_delay); local 1063 net/mac80211/scan.c ieee80211_scan_state_send_probe(local, &next_delay); local 1066 net/mac80211/scan.c ieee80211_scan_state_suspend(local, &next_delay); local 1069 net/mac80211/scan.c ieee80211_scan_state_resume(local, &next_delay); local 1077 net/mac80211/scan.c ieee80211_queue_delayed_work(&local->hw, &local->scan_work, next_delay); local 1081 net/mac80211/scan.c __ieee80211_scan_completed(&local->hw, aborted); local 1083 net/mac80211/scan.c mutex_unlock(&local->mtx); local 1091 net/mac80211/scan.c mutex_lock(&sdata->local->mtx); local 1093 net/mac80211/scan.c mutex_unlock(&sdata->local->mtx); local 1104 net/mac80211/scan.c struct ieee80211_local *local = sdata->local; local 1108 net/mac80211/scan.c mutex_lock(&local->mtx); local 1111 net/mac80211/scan.c if (local->scan_req) local 1119 net/mac80211/scan.c if (!local->hw.wiphy->bands[band]) local 1122 net/mac80211/scan.c max_n = local->hw.wiphy->bands[band]->n_channels; local 1125 net/mac80211/scan.c &local->hw.wiphy->bands[band]->channels[i]; local 1131 net/mac80211/scan.c local->int_scan_req->channels[n_ch] = tmp_ch; local 1139 net/mac80211/scan.c local->int_scan_req->n_channels = n_ch; local 1146 net/mac80211/scan.c local->int_scan_req->channels[n_ch] = channels[i]; local 1153 net/mac80211/scan.c local->int_scan_req->n_channels = n_ch; local 1156 net/mac80211/scan.c local->int_scan_req->ssids = &local->scan_ssid; local 1157 net/mac80211/scan.c local->int_scan_req->n_ssids = 1; local 1158 net/mac80211/scan.c local->int_scan_req->scan_width = scan_width; local 1159 net/mac80211/scan.c memcpy(local->int_scan_req->ssids[0].ssid, ssid, IEEE80211_MAX_SSID_LEN); local 1160 net/mac80211/scan.c local->int_scan_req->ssids[0].ssid_len = ssid_len; local 1162 net/mac80211/scan.c ret = __ieee80211_start_scan(sdata, sdata->local->int_scan_req); local 1164 net/mac80211/scan.c mutex_unlock(&local->mtx); local 1171 net/mac80211/scan.c void ieee80211_scan_cancel(struct ieee80211_local *local) local 1191 net/mac80211/scan.c mutex_lock(&local->mtx); local 1192 net/mac80211/scan.c if (!local->scan_req) local 1200 net/mac80211/scan.c if (test_bit(SCAN_HW_SCANNING, &local->scanning) && local 1201 net/mac80211/scan.c test_bit(SCAN_COMPLETED, &local->scanning)) { local 1202 net/mac80211/scan.c set_bit(SCAN_HW_CANCELLED, &local->scanning); local 1206 net/mac80211/scan.c if (test_bit(SCAN_HW_SCANNING, &local->scanning)) { local 1211 net/mac80211/scan.c set_bit(SCAN_HW_CANCELLED, &local->scanning); local 1212 net/mac80211/scan.c if (local->ops->cancel_hw_scan) local 1213 net/mac80211/scan.c drv_cancel_hw_scan(local, local 1214 net/mac80211/scan.c rcu_dereference_protected(local->scan_sdata, local 1215 net/mac80211/scan.c lockdep_is_held(&local->mtx))); local 1224 net/mac80211/scan.c cancel_delayed_work(&local->scan_work); local 1226 net/mac80211/scan.c memset(&local->scan_info, 0, sizeof(local->scan_info)); local 1227 net/mac80211/scan.c __ieee80211_scan_completed(&local->hw, true); local 1229 net/mac80211/scan.c mutex_unlock(&local->mtx); local 1235 net/mac80211/scan.c struct ieee80211_local *local = sdata->local; local 1244 net/mac80211/scan.c iebufsz = local->scan_ies_len + req->ie_len; local 1246 net/mac80211/scan.c lockdep_assert_held(&local->mtx); local 1248 net/mac80211/scan.c if (!local->ops->sched_scan_start) local 1252 net/mac80211/scan.c if (local->hw.wiphy->bands[i]) { local 1270 net/mac80211/scan.c ieee80211_build_preq_ies(local, ie, num_bands * iebufsz, local 1275 net/mac80211/scan.c ret = drv_sched_scan_start(local, sdata, req, &sched_scan_ies); local 1277 net/mac80211/scan.c rcu_assign_pointer(local->sched_scan_sdata, sdata); local 1278 net/mac80211/scan.c rcu_assign_pointer(local->sched_scan_req, req); local 1286 net/mac80211/scan.c RCU_INIT_POINTER(local->sched_scan_sdata, NULL); local 1287 net/mac80211/scan.c RCU_INIT_POINTER(local->sched_scan_req, NULL); local 1296 net/mac80211/scan.c struct ieee80211_local *local = sdata->local; local 1299 net/mac80211/scan.c mutex_lock(&local->mtx); local 1301 net/mac80211/scan.c if (rcu_access_pointer(local->sched_scan_sdata)) { local 1302 net/mac80211/scan.c mutex_unlock(&local->mtx); local 1308 net/mac80211/scan.c mutex_unlock(&local->mtx); local 1312 net/mac80211/scan.c int ieee80211_request_sched_scan_stop(struct ieee80211_local *local) local 1317 net/mac80211/scan.c mutex_lock(&local->mtx); local 1319 net/mac80211/scan.c if (!local->ops->sched_scan_stop) { local 1325 net/mac80211/scan.c RCU_INIT_POINTER(local->sched_scan_req, NULL); local 1327 net/mac80211/scan.c sched_scan_sdata = rcu_dereference_protected(local->sched_scan_sdata, local 1328 net/mac80211/scan.c lockdep_is_held(&local->mtx)); local 1330 net/mac80211/scan.c ret = drv_sched_scan_stop(local, sched_scan_sdata); local 1332 net/mac80211/scan.c RCU_INIT_POINTER(local->sched_scan_sdata, NULL); local 1335 net/mac80211/scan.c mutex_unlock(&local->mtx); local 1342 net/mac80211/scan.c struct ieee80211_local *local = hw_to_local(hw); local 1344 net/mac80211/scan.c trace_api_sched_scan_results(local); local 1350 net/mac80211/scan.c void ieee80211_sched_scan_end(struct ieee80211_local *local) local 1352 net/mac80211/scan.c mutex_lock(&local->mtx); local 1354 net/mac80211/scan.c if (!rcu_access_pointer(local->sched_scan_sdata)) { local 1355 net/mac80211/scan.c mutex_unlock(&local->mtx); local 1359 net/mac80211/scan.c RCU_INIT_POINTER(local->sched_scan_sdata, NULL); local 1362 net/mac80211/scan.c RCU_INIT_POINTER(local->sched_scan_req, NULL); local 1364 net/mac80211/scan.c mutex_unlock(&local->mtx); local 1366 net/mac80211/scan.c cfg80211_sched_scan_stopped(local->hw.wiphy, 0); local 1371 net/mac80211/scan.c struct ieee80211_local *local = local 1375 net/mac80211/scan.c ieee80211_sched_scan_end(local); local 1380 net/mac80211/scan.c struct ieee80211_local *local = hw_to_local(hw); local 1382 net/mac80211/scan.c trace_api_sched_scan_stopped(local); local 1389 net/mac80211/scan.c if (local->in_reconfig) local 1392 net/mac80211/scan.c schedule_work(&local->sched_scan_stopped_work); local 85 net/mac80211/spectmgmt.c new_chan = ieee80211_get_channel(sdata->local->hw.wiphy, new_freq); local 152 net/mac80211/spectmgmt.c if (!ieee80211_chandef_vht_oper(&sdata->local->hw, local 191 net/mac80211/spectmgmt.c struct ieee80211_local *local = sdata->local; local 195 net/mac80211/spectmgmt.c skb = dev_alloc_skb(sizeof(*msr_report) + local->hw.extra_tx_headroom + local 200 net/mac80211/spectmgmt.c skb_reserve(skb, local->hw.extra_tx_headroom); local 77 net/mac80211/sta_info.c static int sta_info_hash_del(struct ieee80211_local *local, local 80 net/mac80211/sta_info.c return rhltable_remove(&local->sta_hash, &sta->hash_node, local 89 net/mac80211/sta_info.c struct ieee80211_local *local = sdata->local; local 119 net/mac80211/sta_info.c ieee80211_txq_purge(local, txqi); local 124 net/mac80211/sta_info.c local->total_ps_buffered -= skb_queue_len(&sta->ps_tx_buf[ac]); local 125 net/mac80211/sta_info.c ieee80211_purge_tx_queue(&local->hw, &sta->ps_tx_buf[ac]); local 126 net/mac80211/sta_info.c ieee80211_purge_tx_queue(&local->hw, &sta->tx_filtered[ac]); local 145 net/mac80211/sta_info.c ieee80211_purge_tx_queue(&local->hw, &tid_tx->pending); local 153 net/mac80211/sta_info.c struct ieee80211_local *local = sdata->local; local 156 net/mac80211/sta_info.c sta_info_free(local, sta); local 159 net/mac80211/sta_info.c struct rhlist_head *sta_info_hash_lookup(struct ieee80211_local *local, local 162 net/mac80211/sta_info.c return rhltable_lookup(&local->sta_hash, addr, sta_rht_params); local 169 net/mac80211/sta_info.c struct ieee80211_local *local = sdata->local; local 174 net/mac80211/sta_info.c for_each_sta_info(local, addr, sta, tmp) { local 194 net/mac80211/sta_info.c struct ieee80211_local *local = sdata->local; local 199 net/mac80211/sta_info.c for_each_sta_info(local, addr, sta, tmp) { local 216 net/mac80211/sta_info.c struct ieee80211_local *local = sdata->local; local 220 net/mac80211/sta_info.c list_for_each_entry_rcu(sta, &local->sta_list, list, local 221 net/mac80211/sta_info.c lockdep_is_held(&local->sta_mtx)) { local 245 net/mac80211/sta_info.c void sta_info_free(struct ieee80211_local *local, struct sta_info *sta) local 263 net/mac80211/sta_info.c static int sta_info_hash_add(struct ieee80211_local *local, local 266 net/mac80211/sta_info.c return rhltable_insert(&local->sta_hash, &sta->hash_node, local 289 net/mac80211/sta_info.c static int sta_prepare_rate_control(struct ieee80211_local *local, local 292 net/mac80211/sta_info.c if (ieee80211_hw_check(&local->hw, HAS_RATE_CONTROL)) local 295 net/mac80211/sta_info.c sta->rate_ctrl = local->rate_ctrl; local 307 net/mac80211/sta_info.c struct ieee80211_local *local = sdata->local; local 308 net/mac80211/sta_info.c struct ieee80211_hw *hw = &local->hw; local 346 net/mac80211/sta_info.c local->hw.max_rx_aggregation_subframes; local 357 net/mac80211/sta_info.c sta->local = local; local 374 net/mac80211/sta_info.c if (local->ops->wake_tx_queue) { local 391 net/mac80211/sta_info.c if (sta_prepare_rate_control(local, sta, gfp)) local 521 net/mac80211/sta_info.c lockdep_assert_held(&sdata->local->sta_mtx); local 522 net/mac80211/sta_info.c if (ieee80211_hw_check(&sdata->local->hw, NEEDS_UNIQUE_STA_ADDR) && local 523 net/mac80211/sta_info.c ieee80211_find_sta_by_ifaddr(&sdata->local->hw, sta->addr, NULL)) { local 532 net/mac80211/sta_info.c static int sta_info_insert_drv_state(struct ieee80211_local *local, local 540 net/mac80211/sta_info.c err = drv_sta_state(local, sdata, sta, state, state + 1); local 550 net/mac80211/sta_info.c if (!local->ops->sta_add) local 564 net/mac80211/sta_info.c WARN_ON(drv_sta_state(local, sdata, sta, state, state - 1)); local 572 net/mac80211/sta_info.c struct ieee80211_local *local = sdata->local; local 577 net/mac80211/sta_info.c list_for_each_entry_rcu(sta, &local->sta_list, list) { local 601 net/mac80211/sta_info.c struct ieee80211_local *local = sta->local; local 606 net/mac80211/sta_info.c lockdep_assert_held(&local->sta_mtx); local 620 net/mac80211/sta_info.c local->num_sta++; local 621 net/mac80211/sta_info.c local->sta_generation++; local 628 net/mac80211/sta_info.c err = sta_info_hash_add(local, sta); local 632 net/mac80211/sta_info.c list_add_tail_rcu(&sta->list, &local->sta_list); local 635 net/mac80211/sta_info.c err = sta_info_insert_drv_state(local, sdata, sta); local 653 net/mac80211/sta_info.c sinfo->generation = local->sta_generation; local 661 net/mac80211/sta_info.c mutex_unlock(&local->sta_mtx); local 668 net/mac80211/sta_info.c sta_info_hash_del(local, sta); local 671 net/mac80211/sta_info.c local->num_sta--; local 675 net/mac80211/sta_info.c mutex_unlock(&local->sta_mtx); local 683 net/mac80211/sta_info.c struct ieee80211_local *local = sta->local; local 688 net/mac80211/sta_info.c mutex_lock(&local->sta_mtx); local 692 net/mac80211/sta_info.c mutex_unlock(&local->sta_mtx); local 703 net/mac80211/sta_info.c sta_info_free(local, sta); local 763 net/mac80211/sta_info.c struct ieee80211_local *local = sta->local; local 785 net/mac80211/sta_info.c if (ieee80211_hw_check(&local->hw, AP_LINK_PS) && !local->ops->set_tim) local 823 net/mac80211/sta_info.c spin_lock_bh(&local->tim_lock); local 833 net/mac80211/sta_info.c if (local->ops->set_tim && !WARN_ON(sta->dead)) { local 834 net/mac80211/sta_info.c local->tim_in_locked_section = true; local 835 net/mac80211/sta_info.c drv_set_tim(local, &sta->sta, indicate_tim); local 836 net/mac80211/sta_info.c local->tim_in_locked_section = false; local 840 net/mac80211/sta_info.c spin_unlock_bh(&local->tim_lock); local 868 net/mac80211/sta_info.c static bool sta_info_cleanup_expire_buffered_ac(struct ieee80211_local *local, local 898 net/mac80211/sta_info.c ieee80211_free_txskb(&local->hw, skb); local 924 net/mac80211/sta_info.c local->total_ps_buffered--; local 927 net/mac80211/sta_info.c ieee80211_free_txskb(&local->hw, skb); local 946 net/mac80211/sta_info.c static bool sta_info_cleanup_expire_buffered(struct ieee80211_local *local, local 959 net/mac80211/sta_info.c sta_info_cleanup_expire_buffered_ac(local, sta, ac); local 966 net/mac80211/sta_info.c struct ieee80211_local *local; local 975 net/mac80211/sta_info.c local = sta->local; local 978 net/mac80211/sta_info.c lockdep_assert_held(&local->sta_mtx); local 994 net/mac80211/sta_info.c drv_sync_rx_queues(local, sta); local 996 net/mac80211/sta_info.c ret = sta_info_hash_del(local, sta); local 1005 net/mac80211/sta_info.c drv_tdls_cancel_channel_switch(local, sdata, &sta->sta); local 1012 net/mac80211/sta_info.c drv_sta_pre_rcu_remove(local, sta->sdata, sta); local 1023 net/mac80211/sta_info.c struct ieee80211_local *local = sta->local; local 1034 net/mac80211/sta_info.c lockdep_assert_held(&local->sta_mtx); local 1042 net/mac80211/sta_info.c ieee80211_free_sta_keys(local, sta); local 1049 net/mac80211/sta_info.c local->num_sta--; local 1050 net/mac80211/sta_info.c local->sta_generation++; local 1061 net/mac80211/sta_info.c ret = drv_sta_state(local, sdata, sta, IEEE80211_STA_NONE, local 1098 net/mac80211/sta_info.c mutex_lock(&sdata->local->sta_mtx); local 1101 net/mac80211/sta_info.c mutex_unlock(&sdata->local->sta_mtx); local 1112 net/mac80211/sta_info.c mutex_lock(&sdata->local->sta_mtx); local 1115 net/mac80211/sta_info.c mutex_unlock(&sdata->local->sta_mtx); local 1122 net/mac80211/sta_info.c struct ieee80211_local *local = from_timer(local, t, sta_cleanup); local 1127 net/mac80211/sta_info.c list_for_each_entry_rcu(sta, &local->sta_list, list) local 1128 net/mac80211/sta_info.c if (sta_info_cleanup_expire_buffered(local, sta)) local 1132 net/mac80211/sta_info.c if (local->quiescing) local 1138 net/mac80211/sta_info.c mod_timer(&local->sta_cleanup, local 1142 net/mac80211/sta_info.c int sta_info_init(struct ieee80211_local *local) local 1146 net/mac80211/sta_info.c err = rhltable_init(&local->sta_hash, &sta_rht_params); local 1150 net/mac80211/sta_info.c spin_lock_init(&local->tim_lock); local 1151 net/mac80211/sta_info.c mutex_init(&local->sta_mtx); local 1152 net/mac80211/sta_info.c INIT_LIST_HEAD(&local->sta_list); local 1154 net/mac80211/sta_info.c timer_setup(&local->sta_cleanup, sta_info_cleanup, 0); local 1158 net/mac80211/sta_info.c void sta_info_stop(struct ieee80211_local *local) local 1160 net/mac80211/sta_info.c del_timer_sync(&local->sta_cleanup); local 1161 net/mac80211/sta_info.c rhltable_destroy(&local->sta_hash); local 1167 net/mac80211/sta_info.c struct ieee80211_local *local = sdata->local; local 1177 net/mac80211/sta_info.c mutex_lock(&local->sta_mtx); local 1178 net/mac80211/sta_info.c list_for_each_entry_safe(sta, tmp, &local->sta_list, list) { local 1192 net/mac80211/sta_info.c mutex_unlock(&local->sta_mtx); local 1200 net/mac80211/sta_info.c struct ieee80211_local *local = sdata->local; local 1203 net/mac80211/sta_info.c mutex_lock(&local->sta_mtx); local 1205 net/mac80211/sta_info.c list_for_each_entry_safe(sta, tmp, &local->sta_list, list) { local 1223 net/mac80211/sta_info.c mutex_unlock(&local->sta_mtx); local 1230 net/mac80211/sta_info.c struct ieee80211_local *local = hw_to_local(hw); local 1238 net/mac80211/sta_info.c for_each_sta_info(local, addr, sta, tmp) { local 1274 net/mac80211/sta_info.c struct ieee80211_local *local = sdata->local; local 1297 net/mac80211/sta_info.c if (!ieee80211_hw_check(&local->hw, AP_LINK_PS)) local 1298 net/mac80211/sta_info.c drv_sta_notify(local, sdata, STA_NOTIFY_AWAKE, &sta->sta); local 1304 net/mac80211/sta_info.c schedule_and_wake_txq(local, to_txq_info(sta->sta.txq[i])); local 1329 net/mac80211/sta_info.c ieee80211_add_pending_skbs(local, &pending); local 1357 net/mac80211/sta_info.c local->total_ps_buffered -= buffered; local 1373 net/mac80211/sta_info.c struct ieee80211_local *local = sdata->local; local 1398 net/mac80211/sta_info.c skb = dev_alloc_skb(local->hw.extra_tx_headroom + size); local 1402 net/mac80211/sta_info.c skb_reserve(skb, local->hw.extra_tx_headroom); local 1441 net/mac80211/sta_info.c drv_allow_buffered_frames(local, sta, BIT(tid), 1, local 1510 net/mac80211/sta_info.c struct ieee80211_local *local = sdata->local; local 1540 net/mac80211/sta_info.c local->total_ps_buffered--; local 1565 net/mac80211/sta_info.c struct ieee80211_local *local = sdata->local; local 1701 net/mac80211/sta_info.c drv_allow_buffered_frames(local, sta, tids, num, local 1704 net/mac80211/sta_info.c ieee80211_add_pending_skbs(local, &pending); local 1725 net/mac80211/sta_info.c drv_release_buffered_frames(local, sta, driver_release_tids, local 1808 net/mac80211/sta_info.c trace_api_sta_block_awake(sta->local, pubsta, block); local 1838 net/mac80211/sta_info.c struct ieee80211_local *local = sta->local; local 1840 net/mac80211/sta_info.c trace_api_eosp(local, pubsta); local 1852 net/mac80211/sta_info.c trace_api_send_eosp_nullfunc(sta->local, pubsta, tid); local 1870 net/mac80211/sta_info.c trace_api_sta_set_buffered(sta->local, pubsta, tid, buffered); local 1885 net/mac80211/sta_info.c struct ieee80211_local *local = sta->sdata->local; local 1889 net/mac80211/sta_info.c if (sta->local->airtime_flags & AIRTIME_USE_TX) local 1891 net/mac80211/sta_info.c if (sta->local->airtime_flags & AIRTIME_USE_RX) local 1894 net/mac80211/sta_info.c spin_lock_bh(&local->active_txq_lock[ac]); local 1898 net/mac80211/sta_info.c spin_unlock_bh(&local->active_txq_lock[ac]); local 1944 net/mac80211/sta_info.c int err = drv_sta_state(sta->local, sta->sdata, sta, local 2041 net/mac80211/sta_info.c struct ieee80211_local *local = sta->local; local 2044 net/mac80211/sta_info.c if (!ieee80211_hw_check(&local->hw, USES_RSS)) local 2059 net/mac80211/sta_info.c static void sta_stats_decode_rate(struct ieee80211_local *local, u32 rate, local 2085 net/mac80211/sta_info.c sband = local->hw.wiphy->bands[band]; local 2114 net/mac80211/sta_info.c sta_stats_decode_rate(sta->local, rate, rinfo); local 2122 net/mac80211/sta_info.c struct ieee80211_local *local = sta->local; local 2141 net/mac80211/sta_info.c ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS)) { local 2147 net/mac80211/sta_info.c ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS)) { local 2152 net/mac80211/sta_info.c if (local->ops->wake_tx_queue && tid < IEEE80211_NUM_TIDS) { local 2153 net/mac80211/sta_info.c spin_lock_bh(&local->fq.lock); local 2161 net/mac80211/sta_info.c spin_unlock_bh(&local->fq.lock); local 2182 net/mac80211/sta_info.c struct ieee80211_local *local = sdata->local; local 2189 net/mac80211/sta_info.c sinfo->generation = sdata->local->sta_generation; local 2198 net/mac80211/sta_info.c drv_sta_statistics(local, sdata, &sta->sta, sinfo); local 2305 net/mac80211/sta_info.c if (ieee80211_hw_check(&sta->local->hw, SIGNAL_DBM) || local 2306 net/mac80211/sta_info.c ieee80211_hw_check(&sta->local->hw, SIGNAL_UNSPEC)) { local 2439 net/mac80211/sta_info.c airtime_link_metric_get(local, sta); local 2446 net/mac80211/sta_info.c struct ieee80211_local *local = sdata->local; local 2451 net/mac80211/sta_info.c ref = local->rate_ctrl; local 2457 net/mac80211/sta_info.c thr = drv_get_expected_throughput(local, sta); local 2474 net/mac80211/sta_info.c if (!sta->sdata->local->ops->wake_tx_queue) local 2477 net/mac80211/sta_info.c if (thr && thr < STA_SLOW_THRESHOLD * sta->local->num_sta) { local 528 net/mac80211/sta_info.h struct ieee80211_local *local; local 717 net/mac80211/sta_info.h struct rhlist_head *sta_info_hash_lookup(struct ieee80211_local *local, local 729 net/mac80211/sta_info.h #define for_each_sta_info(local, _addr, _sta, _tmp) \ local 731 net/mac80211/sta_info.h sta_info_hash_lookup(local, _addr), hash_node) local 745 net/mac80211/sta_info.h void sta_info_free(struct ieee80211_local *local, struct sta_info *sta); local 766 net/mac80211/sta_info.h int sta_info_init(struct ieee80211_local *local); local 767 net/mac80211/sta_info.h void sta_info_stop(struct ieee80211_local *local); local 24 net/mac80211/status.c struct ieee80211_local *local = hw_to_local(hw); local 30 net/mac80211/status.c &local->skb_queue : &local->skb_queue_unreliable, skb); local 31 net/mac80211/status.c tmp = skb_queue_len(&local->skb_queue) + local 32 net/mac80211/status.c skb_queue_len(&local->skb_queue_unreliable); local 34 net/mac80211/status.c (skb = skb_dequeue(&local->skb_queue_unreliable))) { local 37 net/mac80211/status.c I802_DEBUG_INC(local->tx_status_drop); local 39 net/mac80211/status.c tasklet_schedule(&local->tasklet); local 43 net/mac80211/status.c static void ieee80211_handle_filtered_frame(struct ieee80211_local *local, local 53 net/mac80211/status.c ieee80211_free_txskb(&local->hw, skb); local 148 net/mac80211/status.c if (!timer_pending(&local->sta_cleanup)) local 149 net/mac80211/status.c mod_timer(&local->sta_cleanup, local 159 net/mac80211/status.c ieee80211_add_pending_skb(local, skb); local 167 net/mac80211/status.c ieee80211_free_txskb(&local->hw, skb); local 185 net/mac80211/status.c struct ieee80211_local *local = sta->local; local 189 net/mac80211/status.c if (ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS)) { local 237 net/mac80211/status.c ieee80211_queue_work(&local->hw, &sdata->recalc_smps); local 301 net/mac80211/status.c ieee80211_add_tx_radiotap_header(struct ieee80211_local *local, local 384 net/mac80211/status.c u16 known = local->hw.radiotap_vht_details & local 522 net/mac80211/status.c u16 known = local->hw.radiotap_vht_details & local 569 net/mac80211/status.c static void ieee80211_tdls_td_tx_handle(struct ieee80211_local *local, local 590 net/mac80211/status.c WARN_ON(!ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS)); local 605 net/mac80211/status.c ieee80211_sdata_from_skb(struct ieee80211_local *local, struct sk_buff *skb) local 610 net/mac80211/status.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 621 net/mac80211/status.c return rcu_dereference(local->p2p_sdata); local 624 net/mac80211/status.c static void ieee80211_report_ack_skb(struct ieee80211_local *local, local 631 net/mac80211/status.c spin_lock_irqsave(&local->ack_status_lock, flags); local 632 net/mac80211/status.c skb = idr_remove(&local->ack_status_frames, info->ack_frame_id); local 633 net/mac80211/status.c spin_unlock_irqrestore(&local->ack_status_lock, flags); local 644 net/mac80211/status.c sdata = ieee80211_sdata_from_skb(local, skb); local 668 net/mac80211/status.c static void ieee80211_report_used_skb(struct ieee80211_local *local, local 683 net/mac80211/status.c sdata = ieee80211_sdata_from_skb(local, skb); local 695 net/mac80211/status.c ieee80211_tdls_td_tx_handle(local, sdata, skb, local 705 net/mac80211/status.c ieee80211_report_ack_skb(local, info, acked, dropped); local 713 net/mac80211/status.c ieee80211_led_tx(local); local 738 net/mac80211/status.c if (ieee80211_hw_check(&sta->local->hw, REPORTS_LOW_ACK)) local 804 net/mac80211/status.c void ieee80211_tx_monitor(struct ieee80211_local *local, struct sk_buff *skb, local 822 net/mac80211/status.c ieee80211_add_tx_radiotap_header(local, sband, skb, retry_count, local 833 net/mac80211/status.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 867 net/mac80211/status.c struct ieee80211_local *local = hw_to_local(hw); local 882 net/mac80211/status.c sband = local->hw.wiphy->bands[info->band]; local 905 net/mac80211/status.c ieee80211_handle_filtered_frame(local, sta, skb); local 909 net/mac80211/status.c if (ieee80211_hw_check(&local->hw, HAS_RATE_CONTROL) && local 954 net/mac80211/status.c ieee80211_handle_filtered_frame(local, sta, skb); local 970 net/mac80211/status.c rate_control_tx_status(local, sband, status); local 972 net/mac80211/status.c ieee80211s_update_metric(local, sta, status); local 978 net/mac80211/status.c ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS)) local 983 net/mac80211/status.c wiphy_ext_feature_isset(local->hw.wiphy, local 988 net/mac80211/status.c if (ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS)) { local 1010 net/mac80211/status.c I802_DEBUG_INC(local->dot11TransmittedFrameCount); local 1012 net/mac80211/status.c I802_DEBUG_INC(local->dot11MulticastTransmittedFrameCount); local 1014 net/mac80211/status.c I802_DEBUG_INC(local->dot11RetryCount); local 1016 net/mac80211/status.c I802_DEBUG_INC(local->dot11MultipleRetryCount); local 1026 net/mac80211/status.c I802_DEBUG_INC(local->dot11TransmittedFragmentCount); local 1029 net/mac80211/status.c I802_DEBUG_INC(local->dot11FailedCount); local 1034 net/mac80211/status.c ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS) && local 1036 net/mac80211/status.c local->ps_sdata && !(local->scanning)) { local 1038 net/mac80211/status.c local->ps_sdata->u.mgd.flags |= local 1041 net/mac80211/status.c mod_timer(&local->dynamic_ps_timer, jiffies + local 1045 net/mac80211/status.c ieee80211_report_used_skb(local, skb, false); local 1058 net/mac80211/status.c if (!local->monitors && (!send_to_cooked || !local->cooked_mntrs)) { local 1064 net/mac80211/status.c ieee80211_tx_monitor(local, skb, sband, retry_count, shift, local 1071 net/mac80211/status.c struct ieee80211_local *local = hw_to_local(hw); local 1081 net/mac80211/status.c for_each_sta_info(local, hdr->addr1, sta, tmp) { local 1098 net/mac80211/status.c struct ieee80211_local *local = hw_to_local(hw); local 1142 net/mac80211/status.c rate_control_tx_status(local, sband, status); local 1144 net/mac80211/status.c ieee80211s_update_metric(local, sta, status); local 1148 net/mac80211/status.c I802_DEBUG_INC(local->dot11TransmittedFrameCount); local 1150 net/mac80211/status.c I802_DEBUG_INC(local->dot11MulticastTransmittedFrameCount); local 1152 net/mac80211/status.c I802_DEBUG_INC(local->dot11RetryCount); local 1154 net/mac80211/status.c I802_DEBUG_INC(local->dot11MultipleRetryCount); local 1156 net/mac80211/status.c I802_DEBUG_INC(local->dot11FailedCount); local 1165 net/mac80211/status.c struct ieee80211_local *local = hw_to_local(hw); local 1173 net/mac80211/status.c rate_control_tx_status(local, sband, &status); local 1175 net/mac80211/status.c if (ieee80211_hw_check(&local->hw, HAS_RATE_CONTROL)) local 1190 net/mac80211/status.c struct ieee80211_local *local = hw_to_local(hw); local 1192 net/mac80211/status.c ieee80211_report_used_skb(local, skb, true); local 27 net/mac80211/tdls.c struct ieee80211_local *local; local 31 net/mac80211/tdls.c local = sdata->local; local 33 net/mac80211/tdls.c mutex_lock(&local->mtx); local 39 net/mac80211/tdls.c mutex_unlock(&local->mtx); local 45 net/mac80211/tdls.c struct ieee80211_local *local = sdata->local; local 47 net/mac80211/tdls.c bool chan_switch = local->hw.wiphy->features & local 49 net/mac80211/tdls.c bool wider_band = ieee80211_hw_check(&local->hw, TDLS_WIDER_BW) && local 51 net/mac80211/tdls.c bool buffer_sta = ieee80211_hw_check(&local->hw, local 79 net/mac80211/tdls.c struct wiphy *wiphy = sdata->local->hw.wiphy; local 85 net/mac80211/tdls.c ch = ieee80211_get_channel(sdata->local->hw.wiphy, i); local 345 net/mac80211/tdls.c !cfg80211_reg_can_beacon_relax(sdata->local->hw.wiphy, &uc, local 368 net/mac80211/tdls.c struct ieee80211_local *local = sdata->local; local 403 net/mac80211/tdls.c if (local->hw.queues >= IEEE80211_NUM_ACS && local 429 net/mac80211/tdls.c mutex_lock(&local->sta_mtx); local 435 net/mac80211/tdls.c mutex_unlock(&local->sta_mtx); local 532 net/mac80211/tdls.c mutex_unlock(&local->sta_mtx); local 548 net/mac80211/tdls.c struct ieee80211_local *local = sdata->local; local 559 net/mac80211/tdls.c mutex_lock(&local->sta_mtx); local 564 net/mac80211/tdls.c mutex_unlock(&local->sta_mtx); local 584 net/mac80211/tdls.c if (local->hw.queues >= IEEE80211_NUM_ACS && sta->sta.wme) local 635 net/mac80211/tdls.c mutex_unlock(&local->sta_mtx); local 869 net/mac80211/tdls.c struct ieee80211_local *local = sdata->local; local 874 net/mac80211/tdls.c local->hw.extra_tx_headroom + local 893 net/mac80211/tdls.c skb_reserve(skb, local->hw.extra_tx_headroom); local 903 net/mac80211/tdls.c ret = ieee80211_prep_tdls_encap_data(local->hw.wiphy, local 909 net/mac80211/tdls.c ret = ieee80211_prep_tdls_direct(local->hw.wiphy, sdata->dev, local 1028 net/mac80211/tdls.c ieee80211_hw_check(&sdata->local->hw, REPORTS_TX_ACK_STATUS)) { local 1075 net/mac80211/tdls.c struct ieee80211_local *local = sdata->local; local 1087 net/mac80211/tdls.c mutex_lock(&local->mtx); local 1113 net/mac80211/tdls.c ieee80211_flush_queues(local, sdata, false); local 1115 net/mac80211/tdls.c mutex_unlock(&local->mtx); local 1124 net/mac80211/tdls.c mutex_lock(&local->mtx); local 1126 net/mac80211/tdls.c mutex_unlock(&local->mtx); local 1130 net/mac80211/tdls.c ieee80211_queue_delayed_work(&sdata->local->hw, local 1136 net/mac80211/tdls.c mutex_unlock(&local->mtx); local 1148 net/mac80211/tdls.c struct ieee80211_local *local = sdata->local; local 1158 net/mac80211/tdls.c ieee80211_stop_vif_queues(local, sdata, local 1160 net/mac80211/tdls.c ieee80211_flush_queues(local, sdata, false); local 1181 net/mac80211/tdls.c ieee80211_wake_vif_queues(local, sdata, local 1225 net/mac80211/tdls.c drv_mgd_protect_tdls_discover(sdata->local, sdata); local 1251 net/mac80211/tdls.c struct ieee80211_local *local = sdata->local; local 1257 net/mac80211/tdls.c mutex_lock(&local->chanctx_mtx); local 1259 net/mac80211/tdls.c lockdep_is_held(&local->chanctx_mtx)); local 1262 net/mac80211/tdls.c sband = local->hw.wiphy->bands[conf->def.chan->band]; local 1264 net/mac80211/tdls.c ieee80211_recalc_chanctx_chantype(local, ctx); local 1275 net/mac80211/tdls.c rate_control_rate_update(local, sband, sta, local 1282 net/mac80211/tdls.c ieee80211_recalc_chanctx_chantype(local, ctx); local 1287 net/mac80211/tdls.c mutex_unlock(&local->chanctx_mtx); local 1296 net/mac80211/tdls.c list_for_each_entry_rcu(sta, &sdata->local->sta_list, list) { local 1347 net/mac80211/tdls.c struct ieee80211_local *local = sdata->local; local 1371 net/mac80211/tdls.c mutex_lock(&local->mtx); local 1382 net/mac80211/tdls.c mutex_lock(&local->sta_mtx); local 1385 net/mac80211/tdls.c mutex_unlock(&local->sta_mtx); local 1394 net/mac80211/tdls.c mutex_unlock(&local->sta_mtx); local 1411 net/mac80211/tdls.c tasklet_kill(&local->tx_pending_tasklet); local 1413 net/mac80211/tdls.c ieee80211_flush_queues(local, sdata, false); local 1417 net/mac80211/tdls.c mutex_lock(&local->sta_mtx); local 1419 net/mac80211/tdls.c mutex_unlock(&local->sta_mtx); local 1434 net/mac80211/tdls.c ieee80211_queue_work(&sdata->local->hw, local 1437 net/mac80211/tdls.c mutex_unlock(&local->mtx); local 1564 net/mac80211/tdls.c struct ieee80211_local *local = sdata->local; local 1570 net/mac80211/tdls.c mutex_lock(&local->sta_mtx); local 1594 net/mac80211/tdls.c ret = drv_tdls_channel_switch(local, sdata, &sta->sta, oper_class, local 1600 net/mac80211/tdls.c mutex_unlock(&local->sta_mtx); local 1611 net/mac80211/tdls.c struct ieee80211_local *local = sdata->local; local 1614 net/mac80211/tdls.c mutex_lock(&local->sta_mtx); local 1629 net/mac80211/tdls.c drv_tdls_cancel_channel_switch(local, sdata, &sta->sta); local 1633 net/mac80211/tdls.c mutex_unlock(&local->sta_mtx); local 1683 net/mac80211/tdls.c struct ieee80211_local *local = sdata->local; local 1702 net/mac80211/tdls.c mutex_lock(&local->sta_mtx); local 1754 net/mac80211/tdls.c drv_tdls_recv_channel_switch(sdata->local, sdata, ¶ms); local 1761 net/mac80211/tdls.c mutex_unlock(&local->sta_mtx); local 1770 net/mac80211/tdls.c struct ieee80211_local *local = sdata->local; local 1823 net/mac80211/tdls.c chan = ieee80211_get_channel(sdata->local->hw.wiphy, freq); local 1862 net/mac80211/tdls.c if (!cfg80211_reg_can_beacon_relax(sdata->local->hw.wiphy, &chandef, local 1868 net/mac80211/tdls.c mutex_lock(&local->sta_mtx); local 1908 net/mac80211/tdls.c drv_tdls_recv_channel_switch(sdata->local, sdata, ¶ms); local 1915 net/mac80211/tdls.c mutex_unlock(&local->sta_mtx); local 1925 net/mac80211/tdls.c struct wiphy *wiphy = sdata->local->hw.wiphy; local 1959 net/mac80211/tdls.c list_for_each_entry_rcu(sta, &sdata->local->sta_list, list) { local 1973 net/mac80211/tdls.c struct ieee80211_local *local = local 1980 net/mac80211/tdls.c while ((skb = skb_dequeue(&local->skb_queue_tdls_chsw))) { local 1982 net/mac80211/tdls.c list_for_each_entry(sdata, &local->interfaces, list) { local 294 net/mac80211/tkip.c if (key->local->ops->update_tkip_key && local 302 net/mac80211/tkip.c drv_update_tkip_key(key->local, sdata, &key->conf, key->sta, local 20 net/mac80211/trace.h #define LOCAL_ASSIGN strlcpy(__entry->wiphy_name, wiphy_name(local->hw.wiphy), MAXNAME) local 116 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local), local 117 net/mac80211/trace.h TP_ARGS(local), local 128 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 130 net/mac80211/trace.h TP_ARGS(local, sdata), local 151 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, u32 value), local 152 net/mac80211/trace.h TP_ARGS(local, value), local 171 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 173 net/mac80211/trace.h TP_ARGS(local, sdata), local 192 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local), local 193 net/mac80211/trace.h TP_ARGS(local) local 197 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, int ret), local 198 net/mac80211/trace.h TP_ARGS(local, ret), local 211 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, bool ret), local 212 net/mac80211/trace.h TP_ARGS(local, ret), local 226 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, u32 ret), local 227 net/mac80211/trace.h TP_ARGS(local, ret), local 240 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, u64 ret), local 241 net/mac80211/trace.h TP_ARGS(local, ret), local 254 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local), local 255 net/mac80211/trace.h TP_ARGS(local) local 259 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, u32 sset), local 260 net/mac80211/trace.h TP_ARGS(local, sset) local 264 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, u32 sset), local 265 net/mac80211/trace.h TP_ARGS(local, sset) local 269 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local), local 270 net/mac80211/trace.h TP_ARGS(local) local 274 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local), local 275 net/mac80211/trace.h TP_ARGS(local) local 279 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local), local 280 net/mac80211/trace.h TP_ARGS(local) local 284 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, bool enabled), local 285 net/mac80211/trace.h TP_ARGS(local, enabled), local 298 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local), local 299 net/mac80211/trace.h TP_ARGS(local) local 303 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 305 net/mac80211/trace.h TP_ARGS(local, sdata) local 309 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 313 net/mac80211/trace.h TP_ARGS(local, sdata, type, p2p), local 337 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 339 net/mac80211/trace.h TP_ARGS(local, sdata) local 343 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 346 net/mac80211/trace.h TP_ARGS(local, changed), local 364 net/mac80211/trace.h __entry->flags = local->hw.conf.flags; local 365 net/mac80211/trace.h __entry->power_level = local->hw.conf.power_level; local 366 net/mac80211/trace.h __entry->dynamic_ps_timeout = local->hw.conf.dynamic_ps_timeout; local 367 net/mac80211/trace.h __entry->listen_interval = local->hw.conf.listen_interval; local 369 net/mac80211/trace.h local->hw.conf.long_frame_max_tx_count; local 371 net/mac80211/trace.h local->hw.conf.short_frame_max_tx_count; local 372 net/mac80211/trace.h CHANDEF_ASSIGN(&local->hw.conf.chandef) local 373 net/mac80211/trace.h __entry->smps = local->hw.conf.smps_mode; local 383 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 388 net/mac80211/trace.h TP_ARGS(local, sdata, info, changed), local 476 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, int mc_count), local 478 net/mac80211/trace.h TP_ARGS(local, mc_count), local 497 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 502 net/mac80211/trace.h TP_ARGS(local, changed_flags, total_flags, multicast), local 525 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 530 net/mac80211/trace.h TP_ARGS(local, sdata, filter_flags, changed_flags), local 555 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 558 net/mac80211/trace.h TP_ARGS(local, sta, set), local 579 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 584 net/mac80211/trace.h TP_ARGS(local, cmd, sdata, sta, key), local 607 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 612 net/mac80211/trace.h TP_ARGS(local, sdata, conf, sta, iv32), local 635 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 637 net/mac80211/trace.h TP_ARGS(local, sdata) local 641 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 643 net/mac80211/trace.h TP_ARGS(local, sdata) local 647 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 649 net/mac80211/trace.h TP_ARGS(local, sdata) local 653 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 655 net/mac80211/trace.h TP_ARGS(local, sdata) local 659 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 663 net/mac80211/trace.h TP_ARGS(local, sdata, mac_addr), local 682 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 684 net/mac80211/trace.h TP_ARGS(local, sdata) local 688 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 692 net/mac80211/trace.h TP_ARGS(local, stats, ret), local 719 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 722 net/mac80211/trace.h TP_ARGS(local, key), local 741 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, u32 value), local 742 net/mac80211/trace.h TP_ARGS(local, value) local 746 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, u32 value), local 747 net/mac80211/trace.h TP_ARGS(local, value) local 751 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, s16 value), local 753 net/mac80211/trace.h TP_ARGS(local, value), local 772 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 777 net/mac80211/trace.h TP_ARGS(local, sdata, cmd, sta), local 800 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 806 net/mac80211/trace.h TP_ARGS(local, sdata, sta, old_state, new_state), local 832 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 836 net/mac80211/trace.h TP_ARGS(local, sdata, sta), local 862 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 867 net/mac80211/trace.h TP_ARGS(local, sdata, sta, changed), local 890 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 894 net/mac80211/trace.h TP_ARGS(local, sdata, sta), local 915 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 918 net/mac80211/trace.h TP_ARGS(local, sdata, sta) local 922 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 925 net/mac80211/trace.h TP_ARGS(local, sdata, sta) local 929 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 932 net/mac80211/trace.h TP_ARGS(local, sdata, sta) local 936 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 939 net/mac80211/trace.h TP_ARGS(local, sdata, sta) local 943 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 946 net/mac80211/trace.h TP_ARGS(local, sdata, sta) local 950 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 953 net/mac80211/trace.h TP_ARGS(local, sdata, sta) local 957 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 961 net/mac80211/trace.h TP_ARGS(local, sdata, ac, params), local 992 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 994 net/mac80211/trace.h TP_ARGS(local, sdata) local 998 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1002 net/mac80211/trace.h TP_ARGS(local, sdata, tsf), local 1023 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1027 net/mac80211/trace.h TP_ARGS(local, sdata, offset), local 1049 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1051 net/mac80211/trace.h TP_ARGS(local, sdata) local 1055 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local), local 1056 net/mac80211/trace.h TP_ARGS(local) local 1060 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1064 net/mac80211/trace.h TP_ARGS(local, sdata, params), local 1085 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, int _idx, local 1088 net/mac80211/trace.h TP_ARGS(local, _idx, survey), local 1107 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1110 net/mac80211/trace.h TP_ARGS(local, queues, drop), local 1131 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1135 net/mac80211/trace.h TP_ARGS(local, sdata, ch_switch), local 1164 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, u32 tx_ant, u32 rx_ant, int ret), local 1166 net/mac80211/trace.h TP_ARGS(local, tx_ant, rx_ant, ret), local 1189 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, u32 tx_ant, u32 rx_ant, int ret), local 1191 net/mac80211/trace.h TP_ARGS(local, tx_ant, rx_ant, ret), local 1214 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1220 net/mac80211/trace.h TP_ARGS(local, sdata, chan, duration, type), local 1246 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1248 net/mac80211/trace.h TP_ARGS(local, sdata) local 1252 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, u32 tx, u32 rx), local 1254 net/mac80211/trace.h TP_ARGS(local, tx, rx), local 1275 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, u32 *tx, u32 *tx_max, local 1278 net/mac80211/trace.h TP_ARGS(local, tx, tx_max, rx, rx_max), local 1304 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local), local 1305 net/mac80211/trace.h TP_ARGS(local) local 1309 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local), local 1310 net/mac80211/trace.h TP_ARGS(local) local 1314 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1318 net/mac80211/trace.h TP_ARGS(local, sdata, mask), local 1341 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1345 net/mac80211/trace.h TP_ARGS(local, sdata, data), local 1369 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1373 net/mac80211/trace.h TP_ARGS(local, sdata, _event), local 1394 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1400 net/mac80211/trace.h TP_ARGS(local, sta, tids, num_frames, reason, more_data), local 1429 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1435 net/mac80211/trace.h TP_ARGS(local, sta, tids, num_frames, reason, more_data) local 1439 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1445 net/mac80211/trace.h TP_ARGS(local, sta, tids, num_frames, reason, more_data) local 1449 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1453 net/mac80211/trace.h TP_ARGS(local, sdata, duration), local 1474 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1477 net/mac80211/trace.h TP_ARGS(local, sdata) local 1481 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1484 net/mac80211/trace.h TP_ARGS(local, ctx), local 1503 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1505 net/mac80211/trace.h TP_ARGS(local, ctx) local 1509 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1511 net/mac80211/trace.h TP_ARGS(local, ctx) local 1515 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1519 net/mac80211/trace.h TP_ARGS(local, ctx, changed), local 1564 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1567 net/mac80211/trace.h TP_ARGS(local, vifs, n_vifs, mode), local 1625 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1629 net/mac80211/trace.h TP_ARGS(local, sdata, ctx), local 1650 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1653 net/mac80211/trace.h TP_ARGS(local, sdata, ctx) local 1657 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1660 net/mac80211/trace.h TP_ARGS(local, sdata, ctx) local 1664 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1668 net/mac80211/trace.h TP_ARGS(local, sdata, info), local 1695 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1697 net/mac80211/trace.h TP_ARGS(local, sdata) local 1701 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1703 net/mac80211/trace.h TP_ARGS(local, reconfig_type), local 1724 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1726 net/mac80211/trace.h TP_ARGS(local, sdata) local 1731 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1735 net/mac80211/trace.h TP_ARGS(local, sdata, info), local 1760 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1762 net/mac80211/trace.h TP_ARGS(local, sdata) local 1784 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1788 net/mac80211/trace.h TP_ARGS(local, sdata, conf), local 1812 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1815 net/mac80211/trace.h TP_ARGS(local, sdata), local 1834 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1839 net/mac80211/trace.h TP_ARGS(local, sdata, conf, changes), local 1865 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1869 net/mac80211/trace.h TP_ARGS(local, sdata, func), local 1892 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1896 net/mac80211/trace.h TP_ARGS(local, sdata, instance_id), local 1917 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1919 net/mac80211/trace.h TP_ARGS(local, sdata) local 1923 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 1925 net/mac80211/trace.h TP_ARGS(local, sdata) local 2021 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local), local 2022 net/mac80211/trace.h TP_ARGS(local) local 2089 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 2091 net/mac80211/trace.h TP_ARGS(local, sdata) local 2095 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, bool aborted), local 2097 net/mac80211/trace.h TP_ARGS(local, aborted), local 2116 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local), local 2118 net/mac80211/trace.h TP_ARGS(local), local 2134 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local), local 2136 net/mac80211/trace.h TP_ARGS(local), local 2152 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 2155 net/mac80211/trace.h TP_ARGS(local, sta, block), local 2197 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local), local 2198 net/mac80211/trace.h TP_ARGS(local) local 2202 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local), local 2203 net/mac80211/trace.h TP_ARGS(local) local 2252 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 2255 net/mac80211/trace.h TP_ARGS(local, sta), local 2274 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 2278 net/mac80211/trace.h TP_ARGS(local, sta, tid), local 2299 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 2303 net/mac80211/trace.h TP_ARGS(local, sta, tid, buffered), local 2331 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, u16 queue, local 2334 net/mac80211/trace.h TP_ARGS(local, queue, reason), local 2355 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, u16 queue, local 2358 net/mac80211/trace.h TP_ARGS(local, queue, reason), local 2379 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 2383 net/mac80211/trace.h TP_ARGS(local, sdata, key_idx), local 2402 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local), local 2404 net/mac80211/trace.h TP_ARGS(local), local 2421 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 2425 net/mac80211/trace.h TP_ARGS(local, sdata, chandef), local 2446 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 2450 net/mac80211/trace.h TP_ARGS(local, sdata, ch_switch), local 2481 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 2483 net/mac80211/trace.h TP_ARGS(local, sdata) local 2487 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 2489 net/mac80211/trace.h TP_ARGS(local, sdata) local 2493 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 2497 net/mac80211/trace.h TP_ARGS(local, sdata, ch_switch), local 2529 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 2533 net/mac80211/trace.h TP_ARGS(local, sdata, dbm, ret), local 2556 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 2561 net/mac80211/trace.h TP_ARGS(local, sdata, sta, oper_class, chandef), local 2588 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 2592 net/mac80211/trace.h TP_ARGS(local, sdata, sta), local 2614 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 2618 net/mac80211/trace.h TP_ARGS(local, sdata, params), local 2658 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 2662 net/mac80211/trace.h TP_ARGS(local, sdata, txq), local 2689 net/mac80211/trace.h TP_PROTO(struct ieee80211_local *local, local 2693 net/mac80211/trace.h TP_ARGS(local, sdata, ftm_stats), local 57 net/mac80211/tx.c struct ieee80211_local *local = tx->local; local 80 net/mac80211/tx.c sband = local->hw.wiphy->bands[info->band]; local 212 net/mac80211/tx.c struct ieee80211_local *local = tx->local; local 217 net/mac80211/tx.c if (!ieee80211_hw_check(&local->hw, SUPPORTS_PS)) local 221 net/mac80211/tx.c if (ieee80211_hw_check(&local->hw, SUPPORTS_DYNAMIC_PS)) local 225 net/mac80211/tx.c if (local->hw.conf.dynamic_ps_timeout <= 0) local 229 net/mac80211/tx.c if (local->scanning) local 232 net/mac80211/tx.c if (!local->ps_sdata) local 236 net/mac80211/tx.c if (local->quiescing) local 266 net/mac80211/tx.c if (local->hw.conf.flags & IEEE80211_CONF_PS) { local 267 net/mac80211/tx.c ieee80211_stop_queues_by_reason(&local->hw, local 272 net/mac80211/tx.c ieee80211_queue_work(&local->hw, local 273 net/mac80211/tx.c &local->dynamic_ps_disable_work); local 280 net/mac80211/tx.c mod_timer(&local->dynamic_ps_timer, jiffies + local 281 net/mac80211/tx.c msecs_to_jiffies(local->hw.conf.dynamic_ps_timeout)); local 297 net/mac80211/tx.c if (unlikely(test_bit(SCAN_SW_SCANNING, &tx->local->scanning)) && local 334 net/mac80211/tx.c I802_DEBUG_INC(tx->local->tx_handlers_drop_not_assoc); local 353 net/mac80211/tx.c static void purge_old_ps_buffers(struct ieee80211_local *local) local 360 net/mac80211/tx.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 373 net/mac80211/tx.c ieee80211_free_txskb(&local->hw, skb); local 382 net/mac80211/tx.c list_for_each_entry_rcu(sta, &local->sta_list, list) { local 390 net/mac80211/tx.c ieee80211_free_txskb(&local->hw, skb); local 396 net/mac80211/tx.c local->total_ps_buffered = total; local 397 net/mac80211/tx.c ps_dbg_hw(&local->hw, "PS buffers full - purged %d frames\n", purged); local 436 net/mac80211/tx.c if (ieee80211_hw_check(&tx->local->hw, QUEUE_CONTROL)) local 446 net/mac80211/tx.c if (!ieee80211_hw_check(&tx->local->hw, HOST_BROADCAST_PS_BUFFERING)) local 450 net/mac80211/tx.c if (tx->local->total_ps_buffered >= TOTAL_MAX_TX_BUFFER) local 451 net/mac80211/tx.c purge_old_ps_buffers(tx->local); local 456 net/mac80211/tx.c ieee80211_free_txskb(&tx->local->hw, skb_dequeue(&ps->bc_buf)); local 458 net/mac80211/tx.c tx->local->total_ps_buffered++; local 486 net/mac80211/tx.c struct ieee80211_local *local = tx->local; local 505 net/mac80211/tx.c if (tx->local->total_ps_buffered >= TOTAL_MAX_TX_BUFFER) local 506 net/mac80211/tx.c purge_old_ps_buffers(tx->local); local 527 net/mac80211/tx.c ieee80211_free_txskb(&local->hw, old); local 529 net/mac80211/tx.c tx->local->total_ps_buffered++; local 538 net/mac80211/tx.c if (!timer_pending(&local->sta_cleanup)) local 539 net/mac80211/tx.c mod_timer(&local->sta_cleanup, local 681 net/mac80211/tx.c sband = tx->local->hw.wiphy->bands[info->band]; local 684 net/mac80211/tx.c tx->local->hw.wiphy->frag_threshold); local 687 net/mac80211/tx.c txrc.hw = &tx->local->hw; local 704 net/mac80211/tx.c if (len > tx->local->hw.wiphy->rts_threshold) { local 735 net/mac80211/tx.c if (WARN(test_bit(SCAN_SW_SCANNING, &tx->local->scanning) && assoc && local 868 net/mac80211/tx.c struct ieee80211_local *local = tx->local; local 886 net/mac80211/tx.c tmp = dev_alloc_skb(local->tx_headroom + local 896 net/mac80211/tx.c local->tx_headroom + tx->sdata->encrypt_headroom); local 930 net/mac80211/tx.c int frag_threshold = tx->local->hw.wiphy->frag_threshold; local 941 net/mac80211/tx.c if (ieee80211_hw_check(&tx->local->hw, SUPPORTS_TX_FRAG)) local 1144 net/mac80211/tx.c ieee80211_free_txskb(&tx->local->hw, purge_skb); local 1164 net/mac80211/tx.c struct ieee80211_local *local = sdata->local; local 1171 net/mac80211/tx.c tx->local = local; local 1203 net/mac80211/tx.c ieee80211_hw_check(&local->hw, AMPDU_AGGREGATION) && local 1204 net/mac80211/tx.c !ieee80211_hw_check(&local->hw, TX_AMPDU_SETUP_IN_HW)) { local 1229 net/mac80211/tx.c skb->len + FCS_LEN <= local->hw.wiphy->frag_threshold || local 1246 net/mac80211/tx.c static struct txq_info *ieee80211_get_txq(struct ieee80211_local *local, local 1308 net/mac80211/tx.c struct ieee80211_local *local; local 1314 net/mac80211/tx.c local = vif_to_sdata(txqi->txq.vif)->local; local 1315 net/mac80211/tx.c fq = &local->fq; local 1320 net/mac80211/tx.c flow = &fq->flows[cvars - local->cvars]; local 1328 net/mac80211/tx.c struct ieee80211_local *local; local 1333 net/mac80211/tx.c local = vif_to_sdata(txqi->txq.vif)->local; local 1334 net/mac80211/tx.c hw = &local->hw; local 1343 net/mac80211/tx.c struct ieee80211_local *local; local 1349 net/mac80211/tx.c local = container_of(fq, struct ieee80211_local, fq); local 1358 net/mac80211/tx.c cparams = &local->cparams; local 1364 net/mac80211/tx.c cvars = &local->cvars[flow - fq->flows]; local 1382 net/mac80211/tx.c struct ieee80211_local *local; local 1384 net/mac80211/tx.c local = container_of(fq, struct ieee80211_local, fq); local 1385 net/mac80211/tx.c ieee80211_free_txskb(&local->hw, skb); local 1399 net/mac80211/tx.c static void ieee80211_txq_enqueue(struct ieee80211_local *local, local 1403 net/mac80211/tx.c struct fq *fq = &local->fq; local 1425 net/mac80211/tx.c void ieee80211_txq_remove_vlan(struct ieee80211_local *local, local 1428 net/mac80211/tx.c struct fq *fq = &local->fq; local 1474 net/mac80211/tx.c if (!ieee80211_hw_check(&sdata->local->hw, local 1477 net/mac80211/tx.c } else if (!ieee80211_hw_check(&sdata->local->hw, local 1492 net/mac80211/tx.c void ieee80211_txq_purge(struct ieee80211_local *local, local 1495 net/mac80211/tx.c struct fq *fq = &local->fq; local 1500 net/mac80211/tx.c ieee80211_purge_tx_queue(&local->hw, &txqi->frags); local 1503 net/mac80211/tx.c spin_lock_bh(&local->active_txq_lock[txqi->txq.ac]); local 1505 net/mac80211/tx.c spin_unlock_bh(&local->active_txq_lock[txqi->txq.ac]); local 1508 net/mac80211/tx.c void ieee80211_txq_set_params(struct ieee80211_local *local) local 1510 net/mac80211/tx.c if (local->hw.wiphy->txq_limit) local 1511 net/mac80211/tx.c local->fq.limit = local->hw.wiphy->txq_limit; local 1513 net/mac80211/tx.c local->hw.wiphy->txq_limit = local->fq.limit; local 1515 net/mac80211/tx.c if (local->hw.wiphy->txq_memory_limit) local 1516 net/mac80211/tx.c local->fq.memory_limit = local->hw.wiphy->txq_memory_limit; local 1518 net/mac80211/tx.c local->hw.wiphy->txq_memory_limit = local->fq.memory_limit; local 1520 net/mac80211/tx.c if (local->hw.wiphy->txq_quantum) local 1521 net/mac80211/tx.c local->fq.quantum = local->hw.wiphy->txq_quantum; local 1523 net/mac80211/tx.c local->hw.wiphy->txq_quantum = local->fq.quantum; local 1526 net/mac80211/tx.c int ieee80211_txq_setup_flows(struct ieee80211_local *local) local 1528 net/mac80211/tx.c struct fq *fq = &local->fq; local 1534 net/mac80211/tx.c if (!local->ops->wake_tx_queue) local 1548 net/mac80211/tx.c sband = local->hw.wiphy->bands[band]; local 1558 net/mac80211/tx.c codel_params_init(&local->cparams); local 1559 net/mac80211/tx.c local->cparams.interval = MS2TIME(100); local 1560 net/mac80211/tx.c local->cparams.target = MS2TIME(20); local 1561 net/mac80211/tx.c local->cparams.ecn = true; local 1563 net/mac80211/tx.c local->cvars = kcalloc(fq->flows_cnt, sizeof(local->cvars[0]), local 1565 net/mac80211/tx.c if (!local->cvars) { local 1573 net/mac80211/tx.c codel_vars_init(&local->cvars[i]); local 1575 net/mac80211/tx.c ieee80211_txq_set_params(local); local 1580 net/mac80211/tx.c void ieee80211_txq_teardown_flows(struct ieee80211_local *local) local 1582 net/mac80211/tx.c struct fq *fq = &local->fq; local 1584 net/mac80211/tx.c if (!local->ops->wake_tx_queue) local 1587 net/mac80211/tx.c kfree(local->cvars); local 1588 net/mac80211/tx.c local->cvars = NULL; local 1595 net/mac80211/tx.c static bool ieee80211_queue_skb(struct ieee80211_local *local, local 1603 net/mac80211/tx.c if (!local->ops->wake_tx_queue || local 1612 net/mac80211/tx.c txqi = ieee80211_get_txq(local, vif, sta, skb); local 1617 net/mac80211/tx.c ieee80211_txq_enqueue(local, txqi, skb); local 1619 net/mac80211/tx.c schedule_and_wake_txq(local, txqi); local 1624 net/mac80211/tx.c static bool ieee80211_tx_frags(struct ieee80211_local *local, local 1639 net/mac80211/tx.c if (WARN_ON_ONCE(q >= local->hw.queues)) { local 1641 net/mac80211/tx.c ieee80211_free_txskb(&local->hw, skb); local 1646 net/mac80211/tx.c spin_lock_irqsave(&local->queue_stop_reason_lock, flags); local 1647 net/mac80211/tx.c if (local->queue_stop_reasons[q] || local 1648 net/mac80211/tx.c (!txpending && !skb_queue_empty(&local->pending[q]))) { local 1651 net/mac80211/tx.c if (local->queue_stop_reasons[q] & local 1660 net/mac80211/tx.c &local->queue_stop_reason_lock, local 1662 net/mac80211/tx.c ieee80211_purge_tx_queue(&local->hw, local 1675 net/mac80211/tx.c &local->pending[q]); local 1678 net/mac80211/tx.c &local->pending[q]); local 1680 net/mac80211/tx.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, local 1685 net/mac80211/tx.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); local 1691 net/mac80211/tx.c drv_tx(local, &control, skb); local 1700 net/mac80211/tx.c static bool __ieee80211_tx(struct ieee80211_local *local, local 1733 net/mac80211/tx.c sdata = rcu_dereference(local->monitor_sdata); local 1738 net/mac80211/tx.c } else if (ieee80211_hw_check(&local->hw, QUEUE_CONTROL)) { local 1739 net/mac80211/tx.c ieee80211_purge_tx_queue(&local->hw, skbs); local 1753 net/mac80211/tx.c result = ieee80211_tx_frags(local, vif, pubsta, skbs, local 1756 net/mac80211/tx.c ieee80211_tpt_led_trig_tx(local, fc, led_len); local 1787 net/mac80211/tx.c if (!ieee80211_hw_check(&tx->local->hw, HAS_RATE_CONTROL)) local 1792 net/mac80211/tx.c I802_DEBUG_INC(tx->local->tx_handlers_drop); local 1794 net/mac80211/tx.c ieee80211_free_txskb(&tx->local->hw, tx->skb); local 1796 net/mac80211/tx.c ieee80211_purge_tx_queue(&tx->local->hw, &tx->skbs); local 1799 net/mac80211/tx.c I802_DEBUG_INC(tx->local->tx_handlers_queued); local 1827 net/mac80211/tx.c if (!ieee80211_hw_check(&tx->local->hw, HAS_RATE_CONTROL)) local 1833 net/mac80211/tx.c I802_DEBUG_INC(tx->local->tx_handlers_drop); local 1835 net/mac80211/tx.c ieee80211_free_txskb(&tx->local->hw, tx->skb); local 1837 net/mac80211/tx.c ieee80211_purge_tx_queue(&tx->local->hw, &tx->skbs); local 1840 net/mac80211/tx.c I802_DEBUG_INC(tx->local->tx_handlers_queued); local 1901 net/mac80211/tx.c struct ieee80211_local *local = sdata->local; local 1920 net/mac80211/tx.c ieee80211_free_txskb(&local->hw, skb); local 1928 net/mac80211/tx.c !ieee80211_hw_check(&local->hw, QUEUE_CONTROL)) local 1935 net/mac80211/tx.c if (ieee80211_queue_skb(local, sdata, tx.sta, tx.skb)) local 1939 net/mac80211/tx.c result = __ieee80211_tx(local, &tx.skbs, led_len, local 1951 net/mac80211/tx.c struct ieee80211_local *local = sdata->local; local 1968 net/mac80211/tx.c (!ieee80211_hw_check(&local->hw, SUPPORTS_CLONED_SKBS) || local 1970 net/mac80211/tx.c I802_DEBUG_INC(local->tx_expand_skb_head_cloned); local 1972 net/mac80211/tx.c I802_DEBUG_INC(local->tx_expand_skb_head); local 1977 net/mac80211/tx.c wiphy_debug(local->hw.wiphy, local 1989 net/mac80211/tx.c struct ieee80211_local *local = sdata->local; local 1997 net/mac80211/tx.c headroom = local->tx_headroom; local 2004 net/mac80211/tx.c ieee80211_free_txskb(&local->hw, skb); local 2025 net/mac80211/tx.c static bool ieee80211_parse_tx_radiotap(struct ieee80211_local *local, local 2033 net/mac80211/tx.c local->hw.wiphy->bands[info->band]; local 2194 net/mac80211/tx.c local->hw.max_rate_tries); local 2210 net/mac80211/tx.c struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr); local 2298 net/mac80211/tx.c list_for_each_entry_rcu(tmp_sdata, &local->interfaces, list) { local 2313 net/mac80211/tx.c tmp_sdata = rcu_dereference(local->monitor_sdata); local 2321 net/mac80211/tx.c else if (!local->use_chanctx) local 2322 net/mac80211/tx.c chandef = &local->_oper_chandef; local 2342 net/mac80211/tx.c if (!cfg80211_reg_can_beacon(local->hw.wiphy, chandef, local 2349 net/mac80211/tx.c if (!ieee80211_parse_tx_radiotap(local, skb)) local 2465 net/mac80211/tx.c struct ieee80211_local *local = sdata->local; local 2488 net/mac80211/tx.c if (local->force_tx_status) local 2548 net/mac80211/tx.c band = local->hw.conf.chandef.chan->band; local 2728 net/mac80211/tx.c I802_DEBUG_INC(local->tx_handlers_drop_unauth_port); local 2742 net/mac80211/tx.c spin_lock_irqsave(&local->ack_status_lock, flags); local 2743 net/mac80211/tx.c id = idr_alloc(&local->ack_status_frames, ack_skb, local 2745 net/mac80211/tx.c spin_unlock_irqrestore(&local->ack_status_lock, flags); local 2809 net/mac80211/tx.c head_need += local->tx_headroom; local 2812 net/mac80211/tx.c ieee80211_free_txskb(&local->hw, skb); local 2879 net/mac80211/tx.c struct ieee80211_local *local = sta->local; local 2885 net/mac80211/tx.c if (!ieee80211_hw_check(&local->hw, SUPPORT_FAST_XMIT)) local 2901 net/mac80211/tx.c if (ieee80211_hw_check(&local->hw, SUPPORTS_PS) && local 2902 net/mac80211/tx.c !ieee80211_hw_check(&local->hw, SUPPORTS_DYNAMIC_PS) && local 2919 net/mac80211/tx.c if (local->hw.wiphy->frag_threshold != (u32)-1 && local 2920 net/mac80211/tx.c !ieee80211_hw_check(&local->hw, SUPPORTS_TX_FRAG)) local 3104 net/mac80211/tx.c void ieee80211_check_fast_xmit_all(struct ieee80211_local *local) local 3109 net/mac80211/tx.c list_for_each_entry_rcu(sta, &local->sta_list, list) local 3116 net/mac80211/tx.c struct ieee80211_local *local = sdata->local; local 3121 net/mac80211/tx.c list_for_each_entry_rcu(sta, &local->sta_list, list) { local 3145 net/mac80211/tx.c static bool ieee80211_amsdu_realloc_pad(struct ieee80211_local *local, local 3149 net/mac80211/tx.c I802_DEBUG_INC(local->tx_expand_skb_head); local 3152 net/mac80211/tx.c wiphy_debug(local->hw.wiphy, local 3165 net/mac80211/tx.c struct ieee80211_local *local = sdata->local; local 3181 net/mac80211/tx.c if (!ieee80211_amsdu_realloc_pad(local, skb, sizeof(*amsdu_hdr))) local 3231 net/mac80211/tx.c struct ieee80211_local *local = sdata->local; local 3232 net/mac80211/tx.c struct fq *fq = &local->fq; local 3241 net/mac80211/tx.c int max_frags = local->hw.max_tx_fragments; local 3252 net/mac80211/tx.c if (!ieee80211_hw_check(&local->hw, TX_AMSDU)) local 3309 net/mac80211/tx.c if (!drv_can_aggregate_in_amsdu(local, head, skb)) local 3326 net/mac80211/tx.c if (!ieee80211_amsdu_realloc_pad(local, skb, sizeof(rfc1042_header) + local 3427 net/mac80211/tx.c struct ieee80211_local *local = sdata->local; local 3430 net/mac80211/tx.c int hw_headroom = sdata->local->hw.extra_tx_headroom; local 3506 net/mac80211/tx.c if (local->force_tx_status) local 3518 net/mac80211/tx.c tx.local = local; local 3523 net/mac80211/tx.c if (!ieee80211_hw_check(&local->hw, HAS_RATE_CONTROL)) { local 3536 net/mac80211/tx.c if (ieee80211_queue_skb(local, sdata, sta, skb)) local 3547 net/mac80211/tx.c ieee80211_tx_frags(local, &sdata->vif, &sta->sta, &tx.skbs, false); local 3554 net/mac80211/tx.c struct ieee80211_local *local = hw_to_local(hw); local 3558 net/mac80211/tx.c struct fq *fq = &local->fq; local 3595 net/mac80211/tx.c tx.local = local; local 3614 net/mac80211/tx.c I802_DEBUG_INC(local->tx_handlers_drop_unauth_port); local 3615 net/mac80211/tx.c ieee80211_free_txskb(&local->hw, skb); local 3626 net/mac80211/tx.c ieee80211_free_txskb(&local->hw, skb); local 3660 net/mac80211/tx.c !ieee80211_hw_check(&local->hw, TX_FRAG_LIST)) { local 3662 net/mac80211/tx.c ieee80211_free_txskb(&local->hw, skb); local 3673 net/mac80211/tx.c tx.sdata = rcu_dereference(local->monitor_sdata); local 3678 net/mac80211/tx.c } else if (ieee80211_hw_check(&local->hw, QUEUE_CONTROL)) { local 3679 net/mac80211/tx.c ieee80211_free_txskb(&local->hw, skb); local 3706 net/mac80211/tx.c struct ieee80211_local *local = hw_to_local(hw); local 3710 net/mac80211/tx.c spin_lock_bh(&local->active_txq_lock[ac]); local 3713 net/mac80211/tx.c txqi = list_first_entry_or_null(&local->active_txqs[ac], local 3727 net/mac80211/tx.c &local->active_txqs[txqi->txq.ac]); local 3733 net/mac80211/tx.c if (txqi->schedule_round == local->schedule_round[ac]) local 3737 net/mac80211/tx.c txqi->schedule_round = local->schedule_round[ac]; local 3741 net/mac80211/tx.c spin_unlock_bh(&local->active_txq_lock[ac]); local 3750 net/mac80211/tx.c struct ieee80211_local *local = hw_to_local(hw); local 3753 net/mac80211/tx.c spin_lock_bh(&local->active_txq_lock[txq->ac]); local 3766 net/mac80211/tx.c wiphy_ext_feature_isset(local->hw.wiphy, local 3769 net/mac80211/tx.c &local->active_txqs[txq->ac]); local 3772 net/mac80211/tx.c &local->active_txqs[txq->ac]); local 3775 net/mac80211/tx.c spin_unlock_bh(&local->active_txq_lock[txq->ac]); local 3782 net/mac80211/tx.c struct ieee80211_local *local = hw_to_local(hw); local 3787 net/mac80211/tx.c spin_lock_bh(&local->active_txq_lock[ac]); local 3795 net/mac80211/tx.c list_for_each_entry_safe(iter, tmp, &local->active_txqs[ac], local 3802 net/mac80211/tx.c &local->active_txqs[ac]); local 3808 net/mac80211/tx.c list_move_tail(&iter->schedule_order, &local->active_txqs[ac]); local 3816 net/mac80211/tx.c list_move_tail(&txqi->schedule_order, &local->active_txqs[ac]); local 3817 net/mac80211/tx.c spin_unlock_bh(&local->active_txq_lock[ac]); local 3823 net/mac80211/tx.c spin_unlock_bh(&local->active_txq_lock[ac]); local 3831 net/mac80211/tx.c struct ieee80211_local *local = hw_to_local(hw); local 3833 net/mac80211/tx.c spin_lock_bh(&local->active_txq_lock[ac]); local 3834 net/mac80211/tx.c local->schedule_round[ac]++; local 3835 net/mac80211/tx.c spin_unlock_bh(&local->active_txq_lock[ac]); local 3845 net/mac80211/tx.c struct ieee80211_local *local = sdata->local; local 3862 net/mac80211/tx.c if (local->ops->wake_tx_queue) { local 3870 net/mac80211/tx.c sk_pacing_shift_update(skb->sk, sdata->local->hw.tx_sk_pacing_shift); local 3995 net/mac80211/tx.c struct ieee80211_local *local = sdata->local; local 4002 net/mac80211/tx.c list_for_each_entry_rcu(sta, &local->sta_list, list) { local 4071 net/mac80211/tx.c .local = sdata->local, local 4107 net/mac80211/tx.c void ieee80211_clear_tx_pending(struct ieee80211_local *local) local 4112 net/mac80211/tx.c for (i = 0; i < local->hw.queues; i++) { local 4113 net/mac80211/tx.c while ((skb = skb_dequeue(&local->pending[i])) != NULL) local 4114 net/mac80211/tx.c ieee80211_free_txskb(&local->hw, skb); local 4123 net/mac80211/tx.c static bool ieee80211_tx_pending_skb(struct ieee80211_local *local, local 4152 net/mac80211/tx.c result = __ieee80211_tx(local, &skbs, skb->len, sta, true); local 4163 net/mac80211/tx.c struct ieee80211_local *local = (struct ieee80211_local *)data; local 4170 net/mac80211/tx.c spin_lock_irqsave(&local->queue_stop_reason_lock, flags); local 4171 net/mac80211/tx.c for (i = 0; i < local->hw.queues; i++) { local 4176 net/mac80211/tx.c if (local->queue_stop_reasons[i] || local 4177 net/mac80211/tx.c skb_queue_empty(&local->pending[i])) local 4180 net/mac80211/tx.c while (!skb_queue_empty(&local->pending[i])) { local 4181 net/mac80211/tx.c struct sk_buff *skb = __skb_dequeue(&local->pending[i]); local 4185 net/mac80211/tx.c ieee80211_free_txskb(&local->hw, skb); local 4189 net/mac80211/tx.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, local 4192 net/mac80211/tx.c txok = ieee80211_tx_pending_skb(local, skb); local 4193 net/mac80211/tx.c spin_lock_irqsave(&local->queue_stop_reason_lock, local 4199 net/mac80211/tx.c if (skb_queue_empty(&local->pending[i])) local 4200 net/mac80211/tx.c ieee80211_propagate_queue_wake(local, i); local 4202 net/mac80211/tx.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); local 4278 net/mac80211/tx.c struct ieee80211_local *local = sdata->local; local 4287 net/mac80211/tx.c if (local->tim_in_locked_section) { local 4290 net/mac80211/tx.c spin_lock_bh(&local->tim_lock); local 4292 net/mac80211/tx.c spin_unlock_bh(&local->tim_lock); local 4469 net/mac80211/tx.c struct ieee80211_local *local = hw_to_local(hw); local 4506 net/mac80211/tx.c skb = dev_alloc_skb(local->tx_headroom + local 4509 net/mac80211/tx.c local->hw.extra_beacon_tailroom); local 4513 net/mac80211/tx.c skb_reserve(skb, local->tx_headroom); local 4547 net/mac80211/tx.c skb = dev_alloc_skb(local->tx_headroom + beacon->head_len + local 4548 net/mac80211/tx.c local->hw.extra_beacon_tailroom); local 4551 net/mac80211/tx.c skb_reserve(skb, local->tx_headroom); local 4579 net/mac80211/tx.c skb = dev_alloc_skb(local->tx_headroom + local 4583 net/mac80211/tx.c local->hw.extra_beacon_tailroom); local 4586 net/mac80211/tx.c skb_reserve(skb, local->tx_headroom); local 4625 net/mac80211/tx.c txrc.sband = local->hw.wiphy->bands[band]; local 4733 net/mac80211/tx.c struct ieee80211_local *local; local 4741 net/mac80211/tx.c local = sdata->local; local 4743 net/mac80211/tx.c skb = dev_alloc_skb(local->hw.extra_tx_headroom + sizeof(*pspoll)); local 4747 net/mac80211/tx.c skb_reserve(skb, local->hw.extra_tx_headroom); local 4771 net/mac80211/tx.c struct ieee80211_local *local; local 4780 net/mac80211/tx.c local = sdata->local; local 4791 net/mac80211/tx.c skb = dev_alloc_skb(local->hw.extra_tx_headroom + local 4796 net/mac80211/tx.c skb_reserve(skb, local->hw.extra_tx_headroom); local 4828 net/mac80211/tx.c struct ieee80211_local *local = hw_to_local(hw); local 4836 net/mac80211/tx.c skb = dev_alloc_skb(local->hw.extra_tx_headroom + sizeof(*hdr) + local 4841 net/mac80211/tx.c skb_reserve(skb, local->hw.extra_tx_headroom); local 4896 net/mac80211/tx.c struct ieee80211_local *local = hw_to_local(hw); local 4933 net/mac80211/tx.c local->total_ps_buffered--; local 4970 net/mac80211/tx.c struct ieee80211_local *local = sdata->local; local 4974 net/mac80211/tx.c lockdep_assert_held(&local->sta_mtx); local 5001 net/mac80211/tx.c ieee80211_stop_vif_queues(sdata->local, sdata, local 5007 net/mac80211/tx.c if (ieee80211_hw_check(&local->hw, AMPDU_AGGREGATION)) { local 5014 net/mac80211/tx.c __ieee80211_flush_queues(local, sdata, queues, false); local 5018 net/mac80211/tx.c ieee80211_wake_vif_queues(local, sdata, local 5021 net/mac80211/tx.c if (ieee80211_hw_check(&local->hw, AMPDU_AGGREGATION)) local 5035 net/mac80211/tx.c lockdep_assert_held(&sdata->local->sta_mtx); local 5085 net/mac80211/tx.c struct ieee80211_local *local = sdata->local; local 5106 net/mac80211/tx.c skb = dev_alloc_skb(local->hw.extra_tx_headroom + local 5111 net/mac80211/tx.c skb_reserve(skb, local->hw.extra_tx_headroom + sizeof(struct ethhdr)); local 5136 net/mac80211/tx.c struct ieee80211_local *local = sdata->local; local 5139 net/mac80211/tx.c skb = dev_alloc_skb(local->hw.extra_tx_headroom + len + local 5145 net/mac80211/tx.c skb_reserve(skb, local->hw.extra_tx_headroom); local 41 net/mac80211/util.c struct ieee80211_local *local; local 44 net/mac80211/util.c local = wiphy_priv(wiphy); local 45 net/mac80211/util.c return &local->hw; local 159 net/mac80211/util.c struct ieee80211_local *local = hw_to_local(hw); local 167 net/mac80211/util.c sband = local->hw.wiphy->bands[frame_txctl->band]; local 203 net/mac80211/util.c struct ieee80211_local *local = hw_to_local(hw); local 211 net/mac80211/util.c sband = local->hw.wiphy->bands[frame_txctl->band]; local 242 net/mac80211/util.c struct ieee80211_local *local = sdata->local; local 244 net/mac80211/util.c struct fq *fq = &local->fq; local 258 net/mac80211/util.c list_for_each_entry_rcu(sta, &local->sta_list, list) { local 278 net/mac80211/util.c drv_wake_tx_queue(local, txqi); local 294 net/mac80211/util.c drv_wake_tx_queue(local, txqi); local 303 net/mac80211/util.c __releases(&local->queue_stop_reason_lock) local 304 net/mac80211/util.c __acquires(&local->queue_stop_reason_lock) local 305 net/mac80211/util.c _ieee80211_wake_txqs(struct ieee80211_local *local, unsigned long *flags) local 313 net/mac80211/util.c if (local->hw.queues < IEEE80211_NUM_ACS) local 316 net/mac80211/util.c for (i = 0; i < local->hw.queues; i++) { local 317 net/mac80211/util.c if (local->queue_stop_reasons[i]) local 320 net/mac80211/util.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, *flags); local 321 net/mac80211/util.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 332 net/mac80211/util.c spin_lock_irqsave(&local->queue_stop_reason_lock, *flags); local 340 net/mac80211/util.c struct ieee80211_local *local = (struct ieee80211_local *)data; local 343 net/mac80211/util.c spin_lock_irqsave(&local->queue_stop_reason_lock, flags); local 344 net/mac80211/util.c _ieee80211_wake_txqs(local, &flags); local 345 net/mac80211/util.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); local 348 net/mac80211/util.c void ieee80211_propagate_queue_wake(struct ieee80211_local *local, int queue) local 353 net/mac80211/util.c if (local->ops->wake_tx_queue) local 356 net/mac80211/util.c if (local->hw.queues < IEEE80211_NUM_ACS) local 359 net/mac80211/util.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 366 net/mac80211/util.c local->queue_stop_reasons[sdata->vif.cab_queue] != 0) local 374 net/mac80211/util.c local->queue_stop_reasons[ac_queue] == 0 && local 375 net/mac80211/util.c skb_queue_empty(&local->pending[ac_queue]))) local 386 net/mac80211/util.c struct ieee80211_local *local = hw_to_local(hw); local 388 net/mac80211/util.c trace_wake_queue(local, queue, reason); local 393 net/mac80211/util.c if (!test_bit(reason, &local->queue_stop_reasons[queue])) local 397 net/mac80211/util.c local->q_stop_reasons[queue][reason] = 0; local 399 net/mac80211/util.c local->q_stop_reasons[queue][reason]--; local 400 net/mac80211/util.c if (WARN_ON(local->q_stop_reasons[queue][reason] < 0)) local 401 net/mac80211/util.c local->q_stop_reasons[queue][reason] = 0; local 404 net/mac80211/util.c if (local->q_stop_reasons[queue][reason] == 0) local 405 net/mac80211/util.c __clear_bit(reason, &local->queue_stop_reasons[queue]); local 407 net/mac80211/util.c if (local->queue_stop_reasons[queue] != 0) local 411 net/mac80211/util.c if (skb_queue_empty(&local->pending[queue])) { local 413 net/mac80211/util.c ieee80211_propagate_queue_wake(local, queue); local 416 net/mac80211/util.c tasklet_schedule(&local->tx_pending_tasklet); local 425 net/mac80211/util.c if (local->ops->wake_tx_queue) { local 427 net/mac80211/util.c tasklet_schedule(&local->wake_txqs_tasklet); local 429 net/mac80211/util.c _ieee80211_wake_txqs(local, flags); local 437 net/mac80211/util.c struct ieee80211_local *local = hw_to_local(hw); local 440 net/mac80211/util.c spin_lock_irqsave(&local->queue_stop_reason_lock, flags); local 442 net/mac80211/util.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); local 457 net/mac80211/util.c struct ieee80211_local *local = hw_to_local(hw); local 461 net/mac80211/util.c trace_stop_queue(local, queue, reason); local 467 net/mac80211/util.c local->q_stop_reasons[queue][reason] = 1; local 469 net/mac80211/util.c local->q_stop_reasons[queue][reason]++; local 471 net/mac80211/util.c if (__test_and_set_bit(reason, &local->queue_stop_reasons[queue])) local 474 net/mac80211/util.c if (local->hw.queues < IEEE80211_NUM_ACS) local 478 net/mac80211/util.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 487 net/mac80211/util.c if (!local->ops->wake_tx_queue) { local 491 net/mac80211/util.c spin_lock(&local->fq.lock); local 493 net/mac80211/util.c spin_unlock(&local->fq.lock); local 504 net/mac80211/util.c struct ieee80211_local *local = hw_to_local(hw); local 507 net/mac80211/util.c spin_lock_irqsave(&local->queue_stop_reason_lock, flags); local 509 net/mac80211/util.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); local 520 net/mac80211/util.c void ieee80211_add_pending_skb(struct ieee80211_local *local, local 523 net/mac80211/util.c struct ieee80211_hw *hw = &local->hw; local 529 net/mac80211/util.c ieee80211_free_txskb(&local->hw, skb); local 533 net/mac80211/util.c spin_lock_irqsave(&local->queue_stop_reason_lock, flags); local 536 net/mac80211/util.c __skb_queue_tail(&local->pending[queue], skb); local 539 net/mac80211/util.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); local 542 net/mac80211/util.c void ieee80211_add_pending_skbs(struct ieee80211_local *local, local 545 net/mac80211/util.c struct ieee80211_hw *hw = &local->hw; local 550 net/mac80211/util.c spin_lock_irqsave(&local->queue_stop_reason_lock, flags); local 555 net/mac80211/util.c ieee80211_free_txskb(&local->hw, skb); local 565 net/mac80211/util.c __skb_queue_tail(&local->pending[queue], skb); local 572 net/mac80211/util.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); local 580 net/mac80211/util.c struct ieee80211_local *local = hw_to_local(hw); local 584 net/mac80211/util.c spin_lock_irqsave(&local->queue_stop_reason_lock, flags); local 589 net/mac80211/util.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); local 602 net/mac80211/util.c struct ieee80211_local *local = hw_to_local(hw); local 609 net/mac80211/util.c spin_lock_irqsave(&local->queue_stop_reason_lock, flags); local 611 net/mac80211/util.c &local->queue_stop_reasons[queue]); local 612 net/mac80211/util.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); local 622 net/mac80211/util.c struct ieee80211_local *local = hw_to_local(hw); local 626 net/mac80211/util.c spin_lock_irqsave(&local->queue_stop_reason_lock, flags); local 631 net/mac80211/util.c spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); local 643 net/mac80211/util.c ieee80211_get_vif_queues(struct ieee80211_local *local, local 648 net/mac80211/util.c if (sdata && ieee80211_hw_check(&local->hw, QUEUE_CONTROL)) { local 659 net/mac80211/util.c queues = BIT(local->hw.queues) - 1; local 665 net/mac80211/util.c void __ieee80211_flush_queues(struct ieee80211_local *local, local 669 net/mac80211/util.c if (!local->ops->flush) local 676 net/mac80211/util.c if (!queues || !ieee80211_hw_check(&local->hw, QUEUE_CONTROL)) local 677 net/mac80211/util.c queues = ieee80211_get_vif_queues(local, sdata); local 679 net/mac80211/util.c ieee80211_stop_queues_by_reason(&local->hw, queues, local 683 net/mac80211/util.c drv_flush(local, sdata, queues, drop); local 685 net/mac80211/util.c ieee80211_wake_queues_by_reason(&local->hw, queues, local 690 net/mac80211/util.c void ieee80211_flush_queues(struct ieee80211_local *local, local 693 net/mac80211/util.c __ieee80211_flush_queues(local, sdata, 0, drop); local 696 net/mac80211/util.c void ieee80211_stop_vif_queues(struct ieee80211_local *local, local 700 net/mac80211/util.c ieee80211_stop_queues_by_reason(&local->hw, local 701 net/mac80211/util.c ieee80211_get_vif_queues(local, sdata), local 705 net/mac80211/util.c void ieee80211_wake_vif_queues(struct ieee80211_local *local, local 709 net/mac80211/util.c ieee80211_wake_queues_by_reason(&local->hw, local 710 net/mac80211/util.c ieee80211_get_vif_queues(local, sdata), local 714 net/mac80211/util.c static void __iterate_interfaces(struct ieee80211_local *local, local 723 net/mac80211/util.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 742 net/mac80211/util.c sdata = rcu_dereference_check(local->monitor_sdata, local 743 net/mac80211/util.c lockdep_is_held(&local->iflist_mtx) || local 757 net/mac80211/util.c struct ieee80211_local *local = hw_to_local(hw); local 759 net/mac80211/util.c mutex_lock(&local->iflist_mtx); local 760 net/mac80211/util.c __iterate_interfaces(local, iter_flags, iterator, data); local 761 net/mac80211/util.c mutex_unlock(&local->iflist_mtx); local 771 net/mac80211/util.c struct ieee80211_local *local = hw_to_local(hw); local 774 net/mac80211/util.c __iterate_interfaces(local, iter_flags | IEEE80211_IFACE_ITER_ACTIVE, local 786 net/mac80211/util.c struct ieee80211_local *local = hw_to_local(hw); local 790 net/mac80211/util.c __iterate_interfaces(local, iter_flags | IEEE80211_IFACE_ITER_ACTIVE, local 795 net/mac80211/util.c static void __iterate_stations(struct ieee80211_local *local, local 802 net/mac80211/util.c list_for_each_entry_rcu(sta, &local->sta_list, list) { local 815 net/mac80211/util.c struct ieee80211_local *local = hw_to_local(hw); local 818 net/mac80211/util.c __iterate_stations(local, iterator, data); local 860 net/mac80211/util.c static bool ieee80211_can_queue_work(struct ieee80211_local *local) local 862 net/mac80211/util.c if (local->quiescing || (local->suspended && !local->resuming)) { local 872 net/mac80211/util.c struct ieee80211_local *local = hw_to_local(hw); local 874 net/mac80211/util.c if (!ieee80211_can_queue_work(local)) local 877 net/mac80211/util.c queue_work(local->workqueue, work); local 885 net/mac80211/util.c struct ieee80211_local *local = hw_to_local(hw); local 887 net/mac80211/util.c if (!ieee80211_can_queue_work(local)) local 890 net/mac80211/util.c queue_delayed_work(local->workqueue, dwork, delay); local 1444 net/mac80211/util.c struct ieee80211_local *local = sdata->local; local 1452 net/mac80211/util.c if (!local->ops->conf_tx) local 1455 net/mac80211/util.c if (local->hw.queues < IEEE80211_NUM_ACS) local 1539 net/mac80211/util.c drv_conf_tx(local, sdata, ac, &qparam); local 1558 net/mac80211/util.c struct ieee80211_local *local = sdata->local; local 1564 net/mac80211/util.c skb = dev_alloc_skb(local->hw.extra_tx_headroom + IEEE80211_WEP_IV_LEN + local 1569 net/mac80211/util.c skb_reserve(skb, local->hw.extra_tx_headroom + IEEE80211_WEP_IV_LEN); local 1585 net/mac80211/util.c err = ieee80211_wep_encrypt(local, skb, key, key_len, key_idx); local 1599 net/mac80211/util.c struct ieee80211_local *local = sdata->local; local 1614 net/mac80211/util.c skb = dev_alloc_skb(local->hw.extra_tx_headroom + local 1619 net/mac80211/util.c skb_reserve(skb, local->hw.extra_tx_headroom); local 1633 net/mac80211/util.c static int ieee80211_build_preq_ies_band(struct ieee80211_local *local, local 1655 net/mac80211/util.c sband = local->hw.wiphy->bands[band]; local 1832 net/mac80211/util.c int ieee80211_build_preq_ies(struct ieee80211_local *local, u8 *buffer, local 1847 net/mac80211/util.c pos += ieee80211_build_preq_ies_band(local, local 1884 net/mac80211/util.c struct ieee80211_local *local = sdata->local; local 1903 net/mac80211/util.c skb = ieee80211_probereq_get(&local->hw, src, ssid, ssid_len, local 1909 net/mac80211/util.c ies_len = ieee80211_build_preq_ies(local, skb_tail_pointer(skb), local 1935 net/mac80211/util.c sband = sdata->local->hw.wiphy->bands[band]; local 1979 net/mac80211/util.c void ieee80211_stop_device(struct ieee80211_local *local) local 1981 net/mac80211/util.c ieee80211_led_radio(local, false); local 1982 net/mac80211/util.c ieee80211_mod_tpt_led_trig(local, 0, IEEE80211_TPT_LEDTRIG_FL_RADIO); local 1984 net/mac80211/util.c cancel_work_sync(&local->reconfig_filter); local 1986 net/mac80211/util.c flush_workqueue(local->workqueue); local 1987 net/mac80211/util.c drv_stop(local); local 1990 net/mac80211/util.c static void ieee80211_flush_completed_scan(struct ieee80211_local *local, local 2000 net/mac80211/util.c if (test_bit(SCAN_COMPLETED, &local->scanning)) { local 2007 net/mac80211/util.c set_bit(SCAN_ABORTED, &local->scanning); local 2008 net/mac80211/util.c ieee80211_queue_delayed_work(&local->hw, &local->scan_work, 0); local 2009 net/mac80211/util.c flush_delayed_work(&local->scan_work); local 2013 net/mac80211/util.c static void ieee80211_handle_reconfig_failure(struct ieee80211_local *local) local 2028 net/mac80211/util.c local->resuming = false; local 2029 net/mac80211/util.c local->suspended = false; local 2030 net/mac80211/util.c local->in_reconfig = false; local 2032 net/mac80211/util.c ieee80211_flush_completed_scan(local, true); local 2037 net/mac80211/util.c ieee80211_sched_scan_end(local); local 2039 net/mac80211/util.c list_for_each_entry(sdata, &local->interfaces, list) local 2045 net/mac80211/util.c mutex_lock(&local->chanctx_mtx); local 2046 net/mac80211/util.c list_for_each_entry(ctx, &local->chanctx_list, list) local 2048 net/mac80211/util.c mutex_unlock(&local->chanctx_mtx); local 2050 net/mac80211/util.c cfg80211_shutdown_all_interfaces(local->hw.wiphy); local 2053 net/mac80211/util.c static void ieee80211_assign_chanctx(struct ieee80211_local *local, local 2059 net/mac80211/util.c if (!local->use_chanctx) local 2062 net/mac80211/util.c mutex_lock(&local->chanctx_mtx); local 2064 net/mac80211/util.c lockdep_is_held(&local->chanctx_mtx)); local 2067 net/mac80211/util.c drv_assign_vif_chanctx(local, sdata, ctx); local 2069 net/mac80211/util.c mutex_unlock(&local->chanctx_mtx); local 2074 net/mac80211/util.c struct ieee80211_local *local = sdata->local; local 2078 net/mac80211/util.c mutex_lock(&local->sta_mtx); local 2079 net/mac80211/util.c list_for_each_entry(sta, &local->sta_list, list) { local 2087 net/mac80211/util.c WARN_ON(drv_sta_state(local, sta->sdata, sta, state, local 2090 net/mac80211/util.c mutex_unlock(&local->sta_mtx); local 2098 net/mac80211/util.c res = drv_start_nan(sdata->local, sdata, local 2103 net/mac80211/util.c funcs = kcalloc(sdata->local->hw.max_nan_de_entries + 1, local 2121 net/mac80211/util.c res = drv_add_nan_func(sdata->local, sdata, funcs[i]); local 2134 net/mac80211/util.c int ieee80211_reconfig(struct ieee80211_local *local) local 2136 net/mac80211/util.c struct ieee80211_hw *hw = &local->hw; local 2145 net/mac80211/util.c bool suspended = local->suspended; local 2148 net/mac80211/util.c if (!local->open_count) local 2153 net/mac80211/util.c local->resuming = true; local 2155 net/mac80211/util.c if (local->wowlan) { local 2162 net/mac80211/util.c local->suspended = false; local 2163 net/mac80211/util.c res = drv_resume(local); local 2164 net/mac80211/util.c local->wowlan = false; local 2166 net/mac80211/util.c local->resuming = false; local 2178 net/mac80211/util.c local->suspended = true; local 2189 net/mac80211/util.c if (suspended && local->in_reconfig && !reconfig_due_to_wowlan) local 2190 net/mac80211/util.c cancel_work_sync(&local->restart_work); local 2192 net/mac80211/util.c local->started = false; local 2200 net/mac80211/util.c res = drv_start(local); local 2206 net/mac80211/util.c ieee80211_handle_reconfig_failure(local); local 2211 net/mac80211/util.c drv_set_frag_threshold(local, hw->wiphy->frag_threshold); local 2214 net/mac80211/util.c drv_set_rts_threshold(local, hw->wiphy->rts_threshold); local 2217 net/mac80211/util.c drv_set_coverage_class(local, hw->wiphy->coverage_class); local 2219 net/mac80211/util.c ieee80211_led_radio(local, true); local 2220 net/mac80211/util.c ieee80211_mod_tpt_led_trig(local, local 2224 net/mac80211/util.c sdata = rtnl_dereference(local->monitor_sdata); local 2227 net/mac80211/util.c WARN_ON(local->resuming); local 2228 net/mac80211/util.c res = drv_add_interface(local, sdata); local 2230 net/mac80211/util.c RCU_INIT_POINTER(local->monitor_sdata, NULL); local 2236 net/mac80211/util.c list_for_each_entry(sdata, &local->interfaces, list) { local 2240 net/mac80211/util.c res = drv_add_interface(local, sdata); local 2250 net/mac80211/util.c list_for_each_entry_continue_reverse(sdata, &local->interfaces, local 2255 net/mac80211/util.c drv_remove_interface(local, sdata); local 2256 net/mac80211/util.c ieee80211_handle_reconfig_failure(local); local 2261 net/mac80211/util.c if (local->use_chanctx) { local 2262 net/mac80211/util.c mutex_lock(&local->chanctx_mtx); local 2263 net/mac80211/util.c list_for_each_entry(ctx, &local->chanctx_list, list) local 2266 net/mac80211/util.c WARN_ON(drv_add_chanctx(local, ctx)); local 2267 net/mac80211/util.c mutex_unlock(&local->chanctx_mtx); local 2269 net/mac80211/util.c sdata = rtnl_dereference(local->monitor_sdata); local 2271 net/mac80211/util.c ieee80211_assign_chanctx(local, sdata); local 2275 net/mac80211/util.c ieee80211_hw_config(local, ~0); local 2277 net/mac80211/util.c ieee80211_configure_filter(local); local 2280 net/mac80211/util.c list_for_each_entry(sdata, &local->interfaces, list) { local 2286 net/mac80211/util.c ieee80211_assign_chanctx(local, sdata); local 2294 net/mac80211/util.c WARN_ON(drv_join_ibss(local, sdata)); local 2301 net/mac80211/util.c drv_conf_tx(local, sdata, i, local 2352 net/mac80211/util.c wiphy_ext_feature_isset(sdata->local->hw.wiphy, local 2360 net/mac80211/util.c drv_start_ap(local, sdata); local 2374 net/mac80211/util.c ieee80211_handle_reconfig_failure(local); local 2393 net/mac80211/util.c ieee80211_recalc_ps(local); local 2401 net/mac80211/util.c if (!(local->hw.conf.flags & IEEE80211_CONF_PS)) { local 2402 net/mac80211/util.c list_for_each_entry(sdata, &local->interfaces, list) { local 2408 net/mac80211/util.c ieee80211_send_nullfunc(local, sdata, false); local 2413 net/mac80211/util.c mutex_lock(&local->sta_mtx); local 2414 net/mac80211/util.c list_for_each_entry(sta, &local->sta_list, list) { local 2426 net/mac80211/util.c WARN_ON(drv_sta_state(local, sta->sdata, sta, state, local 2429 net/mac80211/util.c mutex_unlock(&local->sta_mtx); local 2432 net/mac80211/util.c list_for_each_entry(sdata, &local->interfaces, list) local 2436 net/mac80211/util.c mutex_lock(&local->mtx); local 2437 net/mac80211/util.c sched_scan_sdata = rcu_dereference_protected(local->sched_scan_sdata, local 2438 net/mac80211/util.c lockdep_is_held(&local->mtx)); local 2439 net/mac80211/util.c sched_scan_req = rcu_dereference_protected(local->sched_scan_req, local 2440 net/mac80211/util.c lockdep_is_held(&local->mtx)); local 2452 net/mac80211/util.c RCU_INIT_POINTER(local->sched_scan_sdata, NULL); local 2453 net/mac80211/util.c RCU_INIT_POINTER(local->sched_scan_req, NULL); local 2456 net/mac80211/util.c mutex_unlock(&local->mtx); local 2459 net/mac80211/util.c cfg80211_sched_scan_stopped_rtnl(local->hw.wiphy, 0); local 2463 net/mac80211/util.c if (local->monitors == local->open_count && local->monitors > 0) local 2464 net/mac80211/util.c ieee80211_add_virtual_monitor(local); local 2477 net/mac80211/util.c mutex_lock(&local->sta_mtx); local 2479 net/mac80211/util.c list_for_each_entry(sta, &local->sta_list, list) { local 2480 net/mac80211/util.c if (!local->resuming) local 2486 net/mac80211/util.c mutex_unlock(&local->sta_mtx); local 2489 net/mac80211/util.c if (local->in_reconfig) { local 2490 net/mac80211/util.c local->in_reconfig = false; local 2494 net/mac80211/util.c mutex_lock(&local->mtx); local 2495 net/mac80211/util.c ieee80211_start_next_roc(local); local 2496 net/mac80211/util.c mutex_unlock(&local->mtx); local 2499 net/mac80211/util.c list_for_each_entry(sdata, &local->interfaces, list) local 2500 net/mac80211/util.c ieee80211_queue_work(&local->hw, &sdata->work); local 2511 net/mac80211/util.c if (local->open_count && (!suspended || reconfig_due_to_wowlan)) local 2512 net/mac80211/util.c drv_reconfig_complete(local, IEEE80211_RECONFIG_TYPE_RESTART); local 2519 net/mac80211/util.c local->suspended = false; local 2521 net/mac80211/util.c local->resuming = false; local 2523 net/mac80211/util.c ieee80211_flush_completed_scan(local, false); local 2525 net/mac80211/util.c if (local->open_count && !reconfig_due_to_wowlan) local 2526 net/mac80211/util.c drv_reconfig_complete(local, IEEE80211_RECONFIG_TYPE_SUSPEND); local 2528 net/mac80211/util.c list_for_each_entry(sdata, &local->interfaces, list) { local 2535 net/mac80211/util.c mod_timer(&local->sta_cleanup, jiffies + 1); local 2546 net/mac80211/util.c struct ieee80211_local *local; local 2553 net/mac80211/util.c local = sdata->local; local 2555 net/mac80211/util.c if (WARN_ON(!local->resuming)) local 2563 net/mac80211/util.c mutex_lock(&local->key_mtx); local 2566 net/mac80211/util.c mutex_unlock(&local->key_mtx); local 2572 net/mac80211/util.c struct ieee80211_local *local = sdata->local; local 2576 net/mac80211/util.c mutex_lock(&local->chanctx_mtx); local 2579 net/mac80211/util.c lockdep_is_held(&local->chanctx_mtx)); local 2591 net/mac80211/util.c ieee80211_recalc_smps_chanctx(local, chanctx); local 2593 net/mac80211/util.c mutex_unlock(&local->chanctx_mtx); local 2598 net/mac80211/util.c struct ieee80211_local *local = sdata->local; local 2602 net/mac80211/util.c mutex_lock(&local->chanctx_mtx); local 2605 net/mac80211/util.c lockdep_is_held(&local->chanctx_mtx)); local 2611 net/mac80211/util.c ieee80211_recalc_chanctx_min_def(local, chanctx); local 2613 net/mac80211/util.c mutex_unlock(&local->chanctx_mtx); local 3104 net/mac80211/util.c struct ieee80211_local *local = sdata->local; local 3113 net/mac80211/util.c sband = local->hw.wiphy->bands[band]; local 3148 net/mac80211/util.c struct ieee80211_local *local = sdata->local; local 3158 net/mac80211/util.c sband = local->hw.wiphy->bands[band]; local 3233 net/mac80211/util.c u64 ieee80211_calculate_rx_timestamp(struct ieee80211_local *local, local 3281 net/mac80211/util.c sband = local->hw.wiphy->bands[status->band]; local 3316 net/mac80211/util.c void ieee80211_dfs_cac_cancel(struct ieee80211_local *local) local 3324 net/mac80211/util.c mutex_lock(&local->mtx); local 3325 net/mac80211/util.c list_for_each_entry(sdata, &local->interfaces, list) { local 3341 net/mac80211/util.c mutex_unlock(&local->mtx); local 3346 net/mac80211/util.c struct ieee80211_local *local = local 3348 net/mac80211/util.c struct cfg80211_chan_def chandef = local->hw.conf.chandef; local 3352 net/mac80211/util.c mutex_lock(&local->chanctx_mtx); local 3353 net/mac80211/util.c list_for_each_entry(ctx, &local->chanctx_list, list) { local 3360 net/mac80211/util.c mutex_unlock(&local->chanctx_mtx); local 3363 net/mac80211/util.c ieee80211_dfs_cac_cancel(local); local 3370 net/mac80211/util.c cfg80211_radar_event(local->hw.wiphy, &chandef, GFP_KERNEL); local 3375 net/mac80211/util.c struct ieee80211_local *local = hw_to_local(hw); local 3377 net/mac80211/util.c trace_api_radar_detected(local); local 3379 net/mac80211/util.c schedule_work(&local->radar_detected_work); local 3473 net/mac80211/util.c struct ieee80211_local *local = sdata->local; local 3483 net/mac80211/util.c skb = dev_alloc_skb(local->tx_headroom + hdr_len + local 3491 net/mac80211/util.c skb_reserve(skb, local->tx_headroom); local 3579 net/mac80211/util.c ieee80211_cs_get(struct ieee80211_local *local, u32 cipher, local 3582 net/mac80211/util.c const struct ieee80211_cipher_scheme *l = local->hw.cipher_schemes; local 3583 net/mac80211/util.c int n = local->hw.n_cipher_schemes; local 3600 net/mac80211/util.c int ieee80211_cs_headroom(struct ieee80211_local *local, local 3609 net/mac80211/util.c cs = ieee80211_cs_get(local, crypto->ciphers_pairwise[i], local 3616 net/mac80211/util.c cs = ieee80211_cs_get(local, crypto->cipher_group, iftype); local 3770 net/mac80211/util.c void ieee80211_recalc_dtim(struct ieee80211_local *local, local 3773 net/mac80211/util.c u64 tsf = drv_get_tsf(local, sdata); local 3811 net/mac80211/util.c static u8 ieee80211_chanctx_radar_detect(struct ieee80211_local *local, local 3817 net/mac80211/util.c lockdep_assert_held(&local->chanctx_mtx); local 3845 net/mac80211/util.c struct ieee80211_local *local = sdata->local; local 3854 net/mac80211/util.c lockdep_assert_held(&local->chanctx_mtx); local 3877 net/mac80211/util.c if (cfg80211_iftype_allowed(local->hw.wiphy, iftype, 0, 1)) { local 3889 net/mac80211/util.c list_for_each_entry(ctx, &local->chanctx_list, list) { local 3893 net/mac80211/util.c ieee80211_chanctx_radar_detect(local, ctx); local 3905 net/mac80211/util.c list_for_each_entry_rcu(sdata_iter, &local->interfaces, list) { local 3912 net/mac80211/util.c cfg80211_iftype_allowed(local->hw.wiphy, local 3923 net/mac80211/util.c return cfg80211_check_combinations(local->hw.wiphy, ¶ms); local 3936 net/mac80211/util.c int ieee80211_max_num_channels(struct ieee80211_local *local) local 3944 net/mac80211/util.c lockdep_assert_held(&local->chanctx_mtx); local 3946 net/mac80211/util.c list_for_each_entry(ctx, &local->chanctx_list, list) { local 3953 net/mac80211/util.c ieee80211_chanctx_radar_detect(local, ctx); local 3956 net/mac80211/util.c list_for_each_entry_rcu(sdata, &local->interfaces, list) local 3959 net/mac80211/util.c err = cfg80211_iter_combinations(local->hw.wiphy, ¶ms, local 233 net/mac80211/vht.c if (ieee80211_hw_check(&sdata->local->hw, SUPPORTS_VHT_EXT_NSS_BW)) local 595 net/mac80211/vht.c struct ieee80211_local *local = sdata->local; local 596 net/mac80211/vht.c struct ieee80211_supported_band *sband = local->hw.wiphy->bands[band]; local 602 net/mac80211/vht.c rate_control_rate_update(local, sband, sta, changed); local 25 net/mac80211/wep.c int ieee80211_wep_init(struct ieee80211_local *local) local 28 net/mac80211/wep.c get_random_bytes(&local->wep_iv, IEEE80211_WEP_IV_LEN); local 49 net/mac80211/wep.c static void ieee80211_wep_get_iv(struct ieee80211_local *local, local 52 net/mac80211/wep.c local->wep_iv++; local 53 net/mac80211/wep.c if (ieee80211_wep_weak_iv(local->wep_iv, keylen)) local 54 net/mac80211/wep.c local->wep_iv += 0x0100; local 59 net/mac80211/wep.c *iv++ = (local->wep_iv >> 16) & 0xff; local 60 net/mac80211/wep.c *iv++ = (local->wep_iv >> 8) & 0xff; local 61 net/mac80211/wep.c *iv++ = local->wep_iv & 0xff; local 66 net/mac80211/wep.c static u8 *ieee80211_wep_add_iv(struct ieee80211_local *local, local 89 net/mac80211/wep.c ieee80211_wep_get_iv(local, keylen, keyidx, newhdr + hdrlen); local 94 net/mac80211/wep.c static void ieee80211_wep_remove_iv(struct ieee80211_local *local, local 133 net/mac80211/wep.c int ieee80211_wep_encrypt(struct ieee80211_local *local, local 144 net/mac80211/wep.c iv = ieee80211_wep_add_iv(local, skb, keylen, keyidx); local 159 net/mac80211/wep.c return ieee80211_wep_encrypt_data(&local->wep_tx_ctx, rc4key, keylen + 3, local 193 net/mac80211/wep.c static int ieee80211_wep_decrypt(struct ieee80211_local *local, local 227 net/mac80211/wep.c if (ieee80211_wep_decrypt_data(&local->wep_rx_ctx, rc4key, klen, local 256 net/mac80211/wep.c if (ieee80211_wep_decrypt(rx->local, rx->skb, rx->key)) local 262 net/mac80211/wep.c ieee80211_wep_remove_iv(rx->local, rx->skb, rx->key); local 278 net/mac80211/wep.c if (ieee80211_wep_encrypt(tx->local, skb, tx->key->conf.key, local 284 net/mac80211/wep.c if (!ieee80211_wep_add_iv(tx->local, skb, local 302 net/mac80211/wep.c I802_DEBUG_INC(tx->local->tx_handlers_drop_wep); local 16 net/mac80211/wep.h int ieee80211_wep_init(struct ieee80211_local *local); local 19 net/mac80211/wep.h int ieee80211_wep_encrypt(struct ieee80211_local *local, local 120 net/mac80211/wme.c struct ieee80211_local *local = sdata->local; local 123 net/mac80211/wme.c if (local->hw.queues < IEEE80211_NUM_ACS) local 181 net/mac80211/wme.c struct ieee80211_local *local = sdata->local; local 187 net/mac80211/wme.c if (local->ops->wake_tx_queue) local 190 net/mac80211/wme.c if (local->hw.queues < IEEE80211_NUM_ACS || skb->len < 6) { local 58 net/mac80211/wpa.c ieee80211_hw_check(&tx->local->hw, SUPPORTS_TX_FRAG)) && local 242 net/mac80211/wpa.c return ieee80211_tkip_encrypt_data(&tx->local->wep_tx_ctx, local 293 net/mac80211/wpa.c res = ieee80211_tkip_decrypt_data(&rx->local->wep_rx_ctx, local 22 net/mac802154/cfg.c struct ieee802154_local *local = wpan_phy_priv(wpan_phy); local 26 net/mac802154/cfg.c dev = ieee802154_if_add(local, name, name_assign_type, type, local 44 net/mac802154/cfg.c struct ieee802154_local *local = wpan_phy_priv(wpan_phy); local 46 net/mac802154/cfg.c if (!local->open_count) local 49 net/mac802154/cfg.c ieee802154_stop_queue(&local->hw); local 53 net/mac802154/cfg.c ieee802154_stop_device(local); local 56 net/mac802154/cfg.c local->suspended = true; local 62 net/mac802154/cfg.c struct ieee802154_local *local = wpan_phy_priv(wpan_phy); local 66 net/mac802154/cfg.c if (!local->open_count) local 70 net/mac802154/cfg.c ret = drv_start(local); local 75 net/mac802154/cfg.c ieee802154_wake_queue(&local->hw); local 76 net/mac802154/cfg.c local->suspended = false; local 89 net/mac802154/cfg.c struct ieee802154_local *local = wpan_phy_priv(phy); local 92 net/mac802154/cfg.c err = ieee802154_if_add(local, name, name_assign_type, type, local 108 net/mac802154/cfg.c struct ieee802154_local *local = wpan_phy_priv(wpan_phy); local 117 net/mac802154/cfg.c ret = drv_set_channel(local, page, channel); local 130 net/mac802154/cfg.c struct ieee802154_local *local = wpan_phy_priv(wpan_phy); local 138 net/mac802154/cfg.c ret = drv_set_cca_mode(local, cca); local 148 net/mac802154/cfg.c struct ieee802154_local *local = wpan_phy_priv(wpan_phy); local 156 net/mac802154/cfg.c ret = drv_set_cca_ed_level(local, ed_level); local 166 net/mac802154/cfg.c struct ieee802154_local *local = wpan_phy_priv(wpan_phy); local 174 net/mac802154/cfg.c ret = drv_set_tx_power(local, power); local 14 net/mac802154/driver-ops.h drv_xmit_async(struct ieee802154_local *local, struct sk_buff *skb) local 16 net/mac802154/driver-ops.h return local->ops->xmit_async(&local->hw, skb); local 20 net/mac802154/driver-ops.h drv_xmit_sync(struct ieee802154_local *local, struct sk_buff *skb) local 24 net/mac802154/driver-ops.h return local->ops->xmit_sync(&local->hw, skb); local 27 net/mac802154/driver-ops.h static inline int drv_start(struct ieee802154_local *local) local 33 net/mac802154/driver-ops.h trace_802154_drv_start(local); local 34 net/mac802154/driver-ops.h local->started = true; local 36 net/mac802154/driver-ops.h ret = local->ops->start(&local->hw); local 37 net/mac802154/driver-ops.h trace_802154_drv_return_int(local, ret); local 41 net/mac802154/driver-ops.h static inline void drv_stop(struct ieee802154_local *local) local 45 net/mac802154/driver-ops.h trace_802154_drv_stop(local); local 46 net/mac802154/driver-ops.h local->ops->stop(&local->hw); local 47 net/mac802154/driver-ops.h trace_802154_drv_return_void(local); local 50 net/mac802154/driver-ops.h tasklet_disable(&local->tasklet); local 51 net/mac802154/driver-ops.h tasklet_enable(&local->tasklet); local 55 net/mac802154/driver-ops.h local->started = false; local 59 net/mac802154/driver-ops.h drv_set_channel(struct ieee802154_local *local, u8 page, u8 channel) local 65 net/mac802154/driver-ops.h trace_802154_drv_set_channel(local, page, channel); local 66 net/mac802154/driver-ops.h ret = local->ops->set_channel(&local->hw, page, channel); local 67 net/mac802154/driver-ops.h trace_802154_drv_return_int(local, ret); local 71 net/mac802154/driver-ops.h static inline int drv_set_tx_power(struct ieee802154_local *local, s32 mbm) local 77 net/mac802154/driver-ops.h if (!local->ops->set_txpower) { local 82 net/mac802154/driver-ops.h trace_802154_drv_set_tx_power(local, mbm); local 83 net/mac802154/driver-ops.h ret = local->ops->set_txpower(&local->hw, mbm); local 84 net/mac802154/driver-ops.h trace_802154_drv_return_int(local, ret); local 88 net/mac802154/driver-ops.h static inline int drv_set_cca_mode(struct ieee802154_local *local, local 95 net/mac802154/driver-ops.h if (!local->ops->set_cca_mode) { local 100 net/mac802154/driver-ops.h trace_802154_drv_set_cca_mode(local, cca); local 101 net/mac802154/driver-ops.h ret = local->ops->set_cca_mode(&local->hw, cca); local 102 net/mac802154/driver-ops.h trace_802154_drv_return_int(local, ret); local 106 net/mac802154/driver-ops.h static inline int drv_set_lbt_mode(struct ieee802154_local *local, bool mode) local 112 net/mac802154/driver-ops.h if (!local->ops->set_lbt) { local 117 net/mac802154/driver-ops.h trace_802154_drv_set_lbt_mode(local, mode); local 118 net/mac802154/driver-ops.h ret = local->ops->set_lbt(&local->hw, mode); local 119 net/mac802154/driver-ops.h trace_802154_drv_return_int(local, ret); local 124 net/mac802154/driver-ops.h drv_set_cca_ed_level(struct ieee802154_local *local, s32 mbm) local 130 net/mac802154/driver-ops.h if (!local->ops->set_cca_ed_level) { local 135 net/mac802154/driver-ops.h trace_802154_drv_set_cca_ed_level(local, mbm); local 136 net/mac802154/driver-ops.h ret = local->ops->set_cca_ed_level(&local->hw, mbm); local 137 net/mac802154/driver-ops.h trace_802154_drv_return_int(local, ret); local 141 net/mac802154/driver-ops.h static inline int drv_set_pan_id(struct ieee802154_local *local, __le16 pan_id) local 148 net/mac802154/driver-ops.h if (!local->ops->set_hw_addr_filt) { local 155 net/mac802154/driver-ops.h trace_802154_drv_set_pan_id(local, pan_id); local 156 net/mac802154/driver-ops.h ret = local->ops->set_hw_addr_filt(&local->hw, &filt, local 158 net/mac802154/driver-ops.h trace_802154_drv_return_int(local, ret); local 163 net/mac802154/driver-ops.h drv_set_extended_addr(struct ieee802154_local *local, __le64 extended_addr) local 170 net/mac802154/driver-ops.h if (!local->ops->set_hw_addr_filt) { local 177 net/mac802154/driver-ops.h trace_802154_drv_set_extended_addr(local, extended_addr); local 178 net/mac802154/driver-ops.h ret = local->ops->set_hw_addr_filt(&local->hw, &filt, local 180 net/mac802154/driver-ops.h trace_802154_drv_return_int(local, ret); local 185 net/mac802154/driver-ops.h drv_set_short_addr(struct ieee802154_local *local, __le16 short_addr) local 192 net/mac802154/driver-ops.h if (!local->ops->set_hw_addr_filt) { local 199 net/mac802154/driver-ops.h trace_802154_drv_set_short_addr(local, short_addr); local 200 net/mac802154/driver-ops.h ret = local->ops->set_hw_addr_filt(&local->hw, &filt, local 202 net/mac802154/driver-ops.h trace_802154_drv_return_int(local, ret); local 207 net/mac802154/driver-ops.h drv_set_pan_coord(struct ieee802154_local *local, bool is_coord) local 214 net/mac802154/driver-ops.h if (!local->ops->set_hw_addr_filt) { local 221 net/mac802154/driver-ops.h trace_802154_drv_set_pan_coord(local, is_coord); local 222 net/mac802154/driver-ops.h ret = local->ops->set_hw_addr_filt(&local->hw, &filt, local 224 net/mac802154/driver-ops.h trace_802154_drv_return_int(local, ret); local 229 net/mac802154/driver-ops.h drv_set_csma_params(struct ieee802154_local *local, u8 min_be, u8 max_be, local 236 net/mac802154/driver-ops.h if (!local->ops->set_csma_params) { local 241 net/mac802154/driver-ops.h trace_802154_drv_set_csma_params(local, min_be, max_be, local 243 net/mac802154/driver-ops.h ret = local->ops->set_csma_params(&local->hw, min_be, max_be, local 245 net/mac802154/driver-ops.h trace_802154_drv_return_int(local, ret); local 250 net/mac802154/driver-ops.h drv_set_max_frame_retries(struct ieee802154_local *local, s8 max_frame_retries) local 256 net/mac802154/driver-ops.h if (!local->ops->set_frame_retries) { local 261 net/mac802154/driver-ops.h trace_802154_drv_set_max_frame_retries(local, max_frame_retries); local 262 net/mac802154/driver-ops.h ret = local->ops->set_frame_retries(&local->hw, max_frame_retries); local 263 net/mac802154/driver-ops.h trace_802154_drv_return_int(local, ret); local 268 net/mac802154/driver-ops.h drv_set_promiscuous_mode(struct ieee802154_local *local, bool on) local 274 net/mac802154/driver-ops.h if (!local->ops->set_promiscuous_mode) { local 279 net/mac802154/driver-ops.h trace_802154_drv_set_promiscuous_mode(local, on); local 280 net/mac802154/driver-ops.h ret = local->ops->set_promiscuous_mode(&local->hw, on); local 281 net/mac802154/driver-ops.h trace_802154_drv_return_int(local, ret); local 80 net/mac802154/ieee802154_i.h struct ieee802154_local *local; local 123 net/mac802154/ieee802154_i.h void ieee802154_rx(struct ieee802154_local *local, struct sk_buff *skb); local 174 net/mac802154/ieee802154_i.h ieee802154_if_add(struct ieee802154_local *local, const char *name, local 177 net/mac802154/ieee802154_i.h void ieee802154_remove_interfaces(struct ieee802154_local *local); local 178 net/mac802154/ieee802154_i.h void ieee802154_stop_device(struct ieee802154_local *local); local 147 net/mac802154/iface.c struct ieee802154_local *local = sdata->local; local 151 net/mac802154/iface.c if (local->hw.flags & IEEE802154_HW_PROMISCUOUS) { local 152 net/mac802154/iface.c ret = drv_set_promiscuous_mode(local, local 158 net/mac802154/iface.c if (local->hw.flags & IEEE802154_HW_AFILT) { local 159 net/mac802154/iface.c ret = drv_set_pan_id(local, wpan_dev->pan_id); local 163 net/mac802154/iface.c ret = drv_set_extended_addr(local, wpan_dev->extended_addr); local 167 net/mac802154/iface.c ret = drv_set_short_addr(local, wpan_dev->short_addr); local 172 net/mac802154/iface.c if (local->hw.flags & IEEE802154_HW_LBT) { local 173 net/mac802154/iface.c ret = drv_set_lbt_mode(local, wpan_dev->lbt); local 178 net/mac802154/iface.c if (local->hw.flags & IEEE802154_HW_CSMA_PARAMS) { local 179 net/mac802154/iface.c ret = drv_set_csma_params(local, wpan_dev->min_be, local 186 net/mac802154/iface.c if (local->hw.flags & IEEE802154_HW_FRAME_RETRIES) { local 187 net/mac802154/iface.c ret = drv_set_max_frame_retries(local, wpan_dev->frame_retries); local 198 net/mac802154/iface.c struct ieee802154_local *local = sdata->local; local 205 net/mac802154/iface.c if (!local->open_count) { local 210 net/mac802154/iface.c res = drv_start(local); local 215 net/mac802154/iface.c local->open_count++; local 226 net/mac802154/iface.c ieee802154_check_mac_settings(struct ieee802154_local *local, local 232 net/mac802154/iface.c if (local->hw.flags & IEEE802154_HW_PROMISCUOUS) { local 237 net/mac802154/iface.c if (local->hw.flags & IEEE802154_HW_AFILT) { local 244 net/mac802154/iface.c if (local->hw.flags & IEEE802154_HW_CSMA_PARAMS) { local 251 net/mac802154/iface.c if (local->hw.flags & IEEE802154_HW_FRAME_RETRIES) { local 256 net/mac802154/iface.c if (local->hw.flags & IEEE802154_HW_LBT) { local 268 net/mac802154/iface.c struct ieee802154_local *local = sdata->local; local 273 net/mac802154/iface.c list_for_each_entry(nsdata, &local->interfaces, list) { local 289 net/mac802154/iface.c ret = ieee802154_check_mac_settings(local, wpan_dev, local 315 net/mac802154/iface.c struct ieee802154_local *local = sdata->local; local 320 net/mac802154/iface.c local->open_count--; local 324 net/mac802154/iface.c if (!local->open_count) local 325 net/mac802154/iface.c ieee802154_stop_device(local); local 614 net/mac802154/iface.c ieee802154_if_add(struct ieee802154_local *local, const char *name, local 629 net/mac802154/iface.c ndev->needed_headroom = local->hw.extra_tx_headroom + local 637 net/mac802154/iface.c &local->hw.phy->perm_extended_addr); local 656 net/mac802154/iface.c SET_NETDEV_DEV(ndev, &local->phy->dev); local 657 net/mac802154/iface.c dev_net_set(ndev, wpan_phy_net(local->hw.phy)); local 662 net/mac802154/iface.c sdata->wpan_dev.wpan_phy = local->hw.phy; local 663 net/mac802154/iface.c sdata->local = local; local 674 net/mac802154/iface.c mutex_lock(&local->iflist_mtx); local 675 net/mac802154/iface.c list_add_tail_rcu(&sdata->list, &local->interfaces); local 676 net/mac802154/iface.c mutex_unlock(&local->iflist_mtx); local 689 net/mac802154/iface.c mutex_lock(&sdata->local->iflist_mtx); local 691 net/mac802154/iface.c mutex_unlock(&sdata->local->iflist_mtx); local 697 net/mac802154/iface.c void ieee802154_remove_interfaces(struct ieee802154_local *local) local 701 net/mac802154/iface.c mutex_lock(&local->iflist_mtx); local 702 net/mac802154/iface.c list_for_each_entry_safe(sdata, tmp, &local->interfaces, list) { local 707 net/mac802154/iface.c mutex_unlock(&local->iflist_mtx); local 61 net/mac802154/mac_cmd.c struct ieee802154_local *local = sdata->local; local 79 net/mac802154/mac_cmd.c if (local->hw.phy->flags & WPAN_PHY_FLAG_TXPOWER) { local 80 net/mac802154/mac_cmd.c ret = drv_set_tx_power(local, params->transmit_power); local 85 net/mac802154/mac_cmd.c if (local->hw.phy->flags & WPAN_PHY_FLAG_CCA_MODE) { local 86 net/mac802154/mac_cmd.c ret = drv_set_cca_mode(local, ¶ms->cca); local 91 net/mac802154/mac_cmd.c if (local->hw.phy->flags & WPAN_PHY_FLAG_CCA_ED_LEVEL) { local 92 net/mac802154/mac_cmd.c ret = drv_set_cca_ed_level(local, params->cca_ed_level); local 25 net/mac802154/main.c struct ieee802154_local *local = (struct ieee802154_local *)data; local 28 net/mac802154/main.c while ((skb = skb_dequeue(&local->skb_queue))) { local 35 net/mac802154/main.c ieee802154_rx(local, skb); local 50 net/mac802154/main.c struct ieee802154_local *local; local 75 net/mac802154/main.c priv_size = ALIGN(sizeof(*local), NETDEV_ALIGN) + priv_data_len; local 85 net/mac802154/main.c local = wpan_phy_priv(phy); local 86 net/mac802154/main.c local->phy = phy; local 87 net/mac802154/main.c local->hw.phy = local->phy; local 88 net/mac802154/main.c local->hw.priv = (char *)local + ALIGN(sizeof(*local), NETDEV_ALIGN); local 89 net/mac802154/main.c local->ops = ops; local 91 net/mac802154/main.c INIT_LIST_HEAD(&local->interfaces); local 92 net/mac802154/main.c mutex_init(&local->iflist_mtx); local 94 net/mac802154/main.c tasklet_init(&local->tasklet, local 96 net/mac802154/main.c (unsigned long)local); local 98 net/mac802154/main.c skb_queue_head_init(&local->skb_queue); local 100 net/mac802154/main.c INIT_WORK(&local->tx_work, ieee802154_xmit_worker); local 114 net/mac802154/main.c return &local->hw; local 120 net/mac802154/main.c struct ieee802154_local *local = hw_to_local(hw); local 122 net/mac802154/main.c BUG_ON(!list_empty(&local->interfaces)); local 124 net/mac802154/main.c mutex_destroy(&local->iflist_mtx); local 126 net/mac802154/main.c wpan_phy_free(local->phy); local 144 net/mac802154/main.c struct ieee802154_local *local = hw_to_local(hw); local 148 net/mac802154/main.c local->workqueue = local 149 net/mac802154/main.c create_singlethread_workqueue(wpan_phy_name(local->phy)); local 150 net/mac802154/main.c if (!local->workqueue) { local 155 net/mac802154/main.c hrtimer_init(&local->ifs_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); local 156 net/mac802154/main.c local->ifs_timer.function = ieee802154_xmit_ifs_timer; local 158 net/mac802154/main.c wpan_phy_set_dev(local->phy, local->hw.parent); local 160 net/mac802154/main.c ieee802154_setup_wpan_phy_pib(local->phy); local 163 net/mac802154/main.c local->phy->supported.min_csma_backoffs = 4; local 164 net/mac802154/main.c local->phy->supported.max_csma_backoffs = 4; local 165 net/mac802154/main.c local->phy->supported.min_maxbe = 5; local 166 net/mac802154/main.c local->phy->supported.max_maxbe = 5; local 167 net/mac802154/main.c local->phy->supported.min_minbe = 3; local 168 net/mac802154/main.c local->phy->supported.max_minbe = 3; local 172 net/mac802154/main.c local->phy->supported.min_frame_retries = 3; local 173 net/mac802154/main.c local->phy->supported.max_frame_retries = 3; local 177 net/mac802154/main.c local->phy->supported.iftypes |= BIT(NL802154_IFTYPE_MONITOR); local 179 net/mac802154/main.c rc = wpan_phy_register(local->phy); local 185 net/mac802154/main.c dev = ieee802154_if_add(local, "wpan%d", NET_NAME_ENUM, local 199 net/mac802154/main.c wpan_phy_unregister(local->phy); local 201 net/mac802154/main.c destroy_workqueue(local->workqueue); local 209 net/mac802154/main.c struct ieee802154_local *local = hw_to_local(hw); local 211 net/mac802154/main.c tasklet_kill(&local->tasklet); local 212 net/mac802154/main.c flush_workqueue(local->workqueue); local 216 net/mac802154/main.c ieee802154_remove_interfaces(local); local 220 net/mac802154/main.c destroy_workqueue(local->workqueue); local 221 net/mac802154/main.c wpan_phy_unregister(local->phy); local 24 net/mac802154/mib.c struct ieee802154_local *local = sdata->local; local 31 net/mac802154/mib.c res = drv_set_channel(local, page, chan); local 35 net/mac802154/mib.c local->phy->current_channel = chan; local 36 net/mac802154/mib.c local->phy->current_page = page; local 191 net/mac802154/rx.c __ieee802154_rx_handle_packet(struct ieee802154_local *local, local 205 net/mac802154/rx.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 221 net/mac802154/rx.c ieee802154_monitors_rx(struct ieee802154_local *local, struct sk_buff *skb) local 231 net/mac802154/rx.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 249 net/mac802154/rx.c void ieee802154_rx(struct ieee802154_local *local, struct sk_buff *skb) local 255 net/mac802154/rx.c if (local->suspended) local 262 net/mac802154/rx.c if (local->hw.flags & IEEE802154_HW_RX_OMIT_CKSUM) { local 269 net/mac802154/rx.c ieee802154_monitors_rx(local, skb); local 274 net/mac802154/rx.c if (local->hw.flags & IEEE802154_HW_RX_DROP_BAD_CKSUM) { local 284 net/mac802154/rx.c __ieee802154_rx_handle_packet(local, skb); local 296 net/mac802154/rx.c struct ieee802154_local *local = hw_to_local(hw); local 300 net/mac802154/rx.c skb_queue_tail(&local->skb_queue, skb); local 301 net/mac802154/rx.c tasklet_schedule(&local->tasklet); local 18 net/mac802154/trace.h wpan_phy_name(local->hw.phy), MAXNAME) local 37 net/mac802154/trace.h TP_PROTO(struct ieee802154_local *local), local 38 net/mac802154/trace.h TP_ARGS(local), local 49 net/mac802154/trace.h TP_PROTO(struct ieee802154_local *local), local 50 net/mac802154/trace.h TP_ARGS(local) local 54 net/mac802154/trace.h TP_PROTO(struct ieee802154_local *local, int ret), local 55 net/mac802154/trace.h TP_ARGS(local, ret), local 69 net/mac802154/trace.h TP_PROTO(struct ieee802154_local *local), local 70 net/mac802154/trace.h TP_ARGS(local) local 74 net/mac802154/trace.h TP_PROTO(struct ieee802154_local *local), local 75 net/mac802154/trace.h TP_ARGS(local) local 79 net/mac802154/trace.h TP_PROTO(struct ieee802154_local *local, u8 page, u8 channel), local 80 net/mac802154/trace.h TP_ARGS(local, page, channel), local 96 net/mac802154/trace.h TP_PROTO(struct ieee802154_local *local, local 98 net/mac802154/trace.h TP_ARGS(local, cca), local 112 net/mac802154/trace.h TP_PROTO(struct ieee802154_local *local, s32 mbm), local 113 net/mac802154/trace.h TP_ARGS(local, mbm), local 127 net/mac802154/trace.h TP_PROTO(struct ieee802154_local *local, s32 power), local 128 net/mac802154/trace.h TP_ARGS(local, power), local 142 net/mac802154/trace.h TP_PROTO(struct ieee802154_local *local, bool mode), local 143 net/mac802154/trace.h TP_ARGS(local, mode), local 157 net/mac802154/trace.h TP_PROTO(struct ieee802154_local *local, __le16 short_addr), local 158 net/mac802154/trace.h TP_ARGS(local, short_addr), local 172 net/mac802154/trace.h TP_PROTO(struct ieee802154_local *local, __le16 pan_id), local 173 net/mac802154/trace.h TP_ARGS(local, pan_id), local 187 net/mac802154/trace.h TP_PROTO(struct ieee802154_local *local, __le64 extended_addr), local 188 net/mac802154/trace.h TP_ARGS(local, extended_addr), local 202 net/mac802154/trace.h TP_PROTO(struct ieee802154_local *local, bool is_coord), local 203 net/mac802154/trace.h TP_ARGS(local, is_coord), local 217 net/mac802154/trace.h TP_PROTO(struct ieee802154_local *local, u8 min_be, u8 max_be, local 219 net/mac802154/trace.h TP_ARGS(local, min_be, max_be, max_csma_backoffs), local 238 net/mac802154/trace.h TP_PROTO(struct ieee802154_local *local, s8 max_frame_retries), local 239 net/mac802154/trace.h TP_ARGS(local, max_frame_retries), local 253 net/mac802154/trace.h TP_PROTO(struct ieee802154_local *local, bool on), local 254 net/mac802154/trace.h TP_ARGS(local, on), local 27 net/mac802154/tx.c struct ieee802154_local *local = local 29 net/mac802154/tx.c struct sk_buff *skb = local->tx_skb; local 33 net/mac802154/tx.c res = drv_xmit_sync(local, skb); local 37 net/mac802154/tx.c ieee802154_xmit_complete(&local->hw, skb, false); local 46 net/mac802154/tx.c ieee802154_wake_queue(&local->hw); local 52 net/mac802154/tx.c ieee802154_tx(struct ieee802154_local *local, struct sk_buff *skb) local 57 net/mac802154/tx.c if (!(local->hw.flags & IEEE802154_HW_TX_OMIT_CKSUM)) { local 77 net/mac802154/tx.c ieee802154_stop_queue(&local->hw); local 80 net/mac802154/tx.c if (local->ops->xmit_async) { local 81 net/mac802154/tx.c ret = drv_xmit_async(local, skb); local 83 net/mac802154/tx.c ieee802154_wake_queue(&local->hw); local 90 net/mac802154/tx.c local->tx_skb = skb; local 91 net/mac802154/tx.c queue_work(local->workqueue, &local->tx_work); local 108 net/mac802154/tx.c return ieee802154_tx(sdata->local, skb); local 130 net/mac802154/tx.c return ieee802154_tx(sdata->local, skb); local 18 net/mac802154/util.c struct ieee802154_local *local = hw_to_local(hw); local 22 net/mac802154/util.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 34 net/mac802154/util.c struct ieee802154_local *local = hw_to_local(hw); local 38 net/mac802154/util.c list_for_each_entry_rcu(sdata, &local->interfaces, list) { local 50 net/mac802154/util.c struct ieee802154_local *local = local 53 net/mac802154/util.c ieee802154_wake_queue(&local->hw); local 62 net/mac802154/util.c struct ieee802154_local *local = hw_to_local(hw); local 76 net/mac802154/util.c hrtimer_start(&local->ifs_timer, local 80 net/mac802154/util.c hrtimer_start(&local->ifs_timer, local 91 net/mac802154/util.c void ieee802154_stop_device(struct ieee802154_local *local) local 93 net/mac802154/util.c flush_workqueue(local->workqueue); local 94 net/mac802154/util.c hrtimer_cancel(&local->ifs_timer); local 95 net/mac802154/util.c drv_stop(local); local 1076 net/mpls/af_mpls.c struct mpls_link_stats local; local 1082 net/mpls/af_mpls.c local = p->stats; local 1085 net/mpls/af_mpls.c stats->rx_packets += local.rx_packets; local 1086 net/mpls/af_mpls.c stats->rx_bytes += local.rx_bytes; local 1087 net/mpls/af_mpls.c stats->tx_packets += local.tx_packets; local 1088 net/mpls/af_mpls.c stats->tx_bytes += local.tx_bytes; local 1089 net/mpls/af_mpls.c stats->rx_errors += local.rx_errors; local 1090 net/mpls/af_mpls.c stats->tx_errors += local.tx_errors; local 1091 net/mpls/af_mpls.c stats->rx_dropped += local.rx_dropped; local 1092 net/mpls/af_mpls.c stats->tx_dropped += local.tx_dropped; local 1093 net/mpls/af_mpls.c stats->rx_noroute += local.rx_noroute; local 316 net/netfilter/ipvs/ip_vs_xmit.c int local, noref = 1; local 362 net/netfilter/ipvs/ip_vs_xmit.c local = (rt->rt_flags & RTCF_LOCAL) ? 1 : 0; local 364 net/netfilter/ipvs/ip_vs_xmit.c local))) { local 370 net/netfilter/ipvs/ip_vs_xmit.c if (unlikely(local)) { local 374 net/netfilter/ipvs/ip_vs_xmit.c return local; local 411 net/netfilter/ipvs/ip_vs_xmit.c if (!local) local 418 net/netfilter/ipvs/ip_vs_xmit.c return local; local 482 net/netfilter/ipvs/ip_vs_xmit.c int local, noref = 1; local 526 net/netfilter/ipvs/ip_vs_xmit.c local = __ip_vs_is_local_route6(rt); local 529 net/netfilter/ipvs/ip_vs_xmit.c local))) { local 535 net/netfilter/ipvs/ip_vs_xmit.c if (unlikely(local)) { local 539 net/netfilter/ipvs/ip_vs_xmit.c return local; local 578 net/netfilter/ipvs/ip_vs_xmit.c if (!local) local 585 net/netfilter/ipvs/ip_vs_xmit.c return local; local 639 net/netfilter/ipvs/ip_vs_xmit.c struct ip_vs_conn *cp, int local) local 652 net/netfilter/ipvs/ip_vs_xmit.c if (!local || cp->vport != cp->dport || local 656 net/netfilter/ipvs/ip_vs_xmit.c if (!local) { local 668 net/netfilter/ipvs/ip_vs_xmit.c struct ip_vs_conn *cp, int local) local 675 net/netfilter/ipvs/ip_vs_xmit.c if (!local) { local 769 net/netfilter/ipvs/ip_vs_xmit.c int local, rc, was_input; local 785 net/netfilter/ipvs/ip_vs_xmit.c local = __ip_vs_get_out_rt(cp->ipvs, cp->af, skb, cp->dest, cp->daddr.ip, local 789 net/netfilter/ipvs/ip_vs_xmit.c if (local < 0) local 797 net/netfilter/ipvs/ip_vs_xmit.c if (cp->flags & IP_VS_CONN_F_SYNC && local) { local 811 net/netfilter/ipvs/ip_vs_xmit.c if (local && ipv4_is_loopback(cp->daddr.ip) && was_input) { local 840 net/netfilter/ipvs/ip_vs_xmit.c rc = ip_vs_nat_send_or_cont(NFPROTO_IPV4, skb, cp, local); local 857 net/netfilter/ipvs/ip_vs_xmit.c int local, rc; local 871 net/netfilter/ipvs/ip_vs_xmit.c local = __ip_vs_get_out_rt_v6(cp->ipvs, cp->af, skb, cp->dest, local 877 net/netfilter/ipvs/ip_vs_xmit.c if (local < 0) local 885 net/netfilter/ipvs/ip_vs_xmit.c if (cp->flags & IP_VS_CONN_F_SYNC && local) { local 899 net/netfilter/ipvs/ip_vs_xmit.c if (local && skb->dev && !(skb->dev->flags & IFF_LOOPBACK) && local 928 net/netfilter/ipvs/ip_vs_xmit.c rc = ip_vs_nat_send_or_cont(NFPROTO_IPV6, skb, cp, local); local 1148 net/netfilter/ipvs/ip_vs_xmit.c int ret, local; local 1154 net/netfilter/ipvs/ip_vs_xmit.c local = __ip_vs_get_out_rt(ipvs, cp->af, skb, cp->dest, cp->daddr.ip, local 1159 net/netfilter/ipvs/ip_vs_xmit.c if (local < 0) local 1161 net/netfilter/ipvs/ip_vs_xmit.c if (local) local 1297 net/netfilter/ipvs/ip_vs_xmit.c int ret, local; local 1303 net/netfilter/ipvs/ip_vs_xmit.c local = __ip_vs_get_out_rt_v6(ipvs, cp->af, skb, cp->dest, local 1309 net/netfilter/ipvs/ip_vs_xmit.c if (local < 0) local 1311 net/netfilter/ipvs/ip_vs_xmit.c if (local) local 1438 net/netfilter/ipvs/ip_vs_xmit.c int local; local 1442 net/netfilter/ipvs/ip_vs_xmit.c local = __ip_vs_get_out_rt(cp->ipvs, cp->af, skb, cp->dest, cp->daddr.ip, local 1446 net/netfilter/ipvs/ip_vs_xmit.c if (local < 0) local 1448 net/netfilter/ipvs/ip_vs_xmit.c if (local) local 1472 net/netfilter/ipvs/ip_vs_xmit.c int local; local 1476 net/netfilter/ipvs/ip_vs_xmit.c local = __ip_vs_get_out_rt_v6(cp->ipvs, cp->af, skb, cp->dest, local 1482 net/netfilter/ipvs/ip_vs_xmit.c if (local < 0) local 1484 net/netfilter/ipvs/ip_vs_xmit.c if (local) local 1514 net/netfilter/ipvs/ip_vs_xmit.c int local; local 1541 net/netfilter/ipvs/ip_vs_xmit.c local = __ip_vs_get_out_rt(cp->ipvs, cp->af, skb, cp->dest, cp->daddr.ip, rt_mode, local 1543 net/netfilter/ipvs/ip_vs_xmit.c if (local < 0) local 1552 net/netfilter/ipvs/ip_vs_xmit.c if (cp->flags & IP_VS_CONN_F_SYNC && local) { local 1566 net/netfilter/ipvs/ip_vs_xmit.c if (local && ipv4_is_loopback(cp->daddr.ip) && was_input) { local 1585 net/netfilter/ipvs/ip_vs_xmit.c rc = ip_vs_nat_send_or_cont(NFPROTO_IPV4, skb, cp, local); local 1604 net/netfilter/ipvs/ip_vs_xmit.c int local; local 1630 net/netfilter/ipvs/ip_vs_xmit.c local = __ip_vs_get_out_rt_v6(cp->ipvs, cp->af, skb, cp->dest, local 1632 net/netfilter/ipvs/ip_vs_xmit.c if (local < 0) local 1640 net/netfilter/ipvs/ip_vs_xmit.c if (cp->flags & IP_VS_CONN_F_SYNC && local) { local 1654 net/netfilter/ipvs/ip_vs_xmit.c if (local && skb->dev && !(skb->dev->flags & IFF_LOOPBACK) && local 1674 net/netfilter/ipvs/ip_vs_xmit.c rc = ip_vs_nat_send_or_cont(NFPROTO_IPV6, skb, cp, local); local 188 net/netlabel/netlabel_cipso_v4.c doi_def->map.std->lvl.local = kcalloc(doi_def->map.std->lvl.local_size, local 191 net/netlabel/netlabel_cipso_v4.c if (doi_def->map.std->lvl.local == NULL) { local 203 net/netlabel/netlabel_cipso_v4.c doi_def->map.std->lvl.local[iter] = CIPSO_V4_INV_LVL; local 219 net/netlabel/netlabel_cipso_v4.c doi_def->map.std->lvl.local[nla_get_u32(lvl_loc)] = local 263 net/netlabel/netlabel_cipso_v4.c doi_def->map.std->cat.local = kcalloc( local 267 net/netlabel/netlabel_cipso_v4.c if (doi_def->map.std->cat.local == NULL) { local 280 net/netlabel/netlabel_cipso_v4.c doi_def->map.std->cat.local[iter] = CIPSO_V4_INV_CAT; local 296 net/netlabel/netlabel_cipso_v4.c doi_def->map.std->cat.local[ local 519 net/netlabel/netlabel_cipso_v4.c if (doi_def->map.std->lvl.local[iter] == local 536 net/netlabel/netlabel_cipso_v4.c doi_def->map.std->lvl.local[iter]); local 552 net/netlabel/netlabel_cipso_v4.c if (doi_def->map.std->cat.local[iter] == local 569 net/netlabel/netlabel_cipso_v4.c doi_def->map.std->cat.local[iter]); local 106 net/nfc/llcp.h struct nfc_llcp_local *local; local 205 net/nfc/llcp.h struct nfc_llcp_local *nfc_llcp_local_get(struct nfc_llcp_local *local); local 206 net/nfc/llcp.h int nfc_llcp_local_put(struct nfc_llcp_local *local); local 207 net/nfc/llcp.h u8 nfc_llcp_get_sdp_ssap(struct nfc_llcp_local *local, local 209 net/nfc/llcp.h u8 nfc_llcp_get_local_ssap(struct nfc_llcp_local *local); local 210 net/nfc/llcp.h void nfc_llcp_put_ssap(struct nfc_llcp_local *local, u8 ssap); local 212 net/nfc/llcp.h void nfc_llcp_send_to_raw_sock(struct nfc_llcp_local *local, local 223 net/nfc/llcp.h int nfc_llcp_parse_gb_tlv(struct nfc_llcp_local *local, local 240 net/nfc/llcp.h int nfc_llcp_send_snl_sdres(struct nfc_llcp_local *local, local 242 net/nfc/llcp.h int nfc_llcp_send_snl_sdreq(struct nfc_llcp_local *local, local 244 net/nfc/llcp.h int nfc_llcp_send_dm(struct nfc_llcp_local *local, u8 ssap, u8 dsap, u8 reason); local 192 net/nfc/llcp_commands.c int nfc_llcp_parse_gb_tlv(struct nfc_llcp_local *local, local 199 net/nfc/llcp_commands.c if (local == NULL) local 210 net/nfc/llcp_commands.c local->remote_version = llcp_tlv_version(tlv); local 213 net/nfc/llcp_commands.c local->remote_miu = llcp_tlv_miux(tlv) + 128; local 216 net/nfc/llcp_commands.c local->remote_wks = llcp_tlv_wks(tlv); local 219 net/nfc/llcp_commands.c local->remote_lto = llcp_tlv_lto(tlv) * 10; local 222 net/nfc/llcp_commands.c local->remote_opt = llcp_tlv_opt(tlv); local 234 net/nfc/llcp_commands.c local->remote_version, local->remote_miu, local 235 net/nfc/llcp_commands.c local->remote_lto, local->remote_opt, local 236 net/nfc/llcp_commands.c local->remote_wks); local 336 net/nfc/llcp_commands.c struct nfc_llcp_local *local; local 340 net/nfc/llcp_commands.c local = sock->local; local 341 net/nfc/llcp_commands.c if (local == NULL) local 352 net/nfc/llcp_commands.c skb_queue_tail(&local->tx_queue, skb); local 360 net/nfc/llcp_commands.c struct nfc_llcp_local *local; local 365 net/nfc/llcp_commands.c local = nfc_llcp_find_local(dev); local 366 net/nfc/llcp_commands.c if (local == NULL) local 382 net/nfc/llcp_commands.c nfc_llcp_send_to_raw_sock(local, skb, NFC_DIRECTION_TX); local 384 net/nfc/llcp_commands.c return nfc_data_exchange(dev, local->target_idx, skb, local 385 net/nfc/llcp_commands.c nfc_llcp_recv, local); local 390 net/nfc/llcp_commands.c struct nfc_llcp_local *local; local 401 net/nfc/llcp_commands.c local = sock->local; local 402 net/nfc/llcp_commands.c if (local == NULL) local 419 net/nfc/llcp_commands.c local->miux : sock->miux; local 420 net/nfc/llcp_commands.c rw = sock->rw > LLCP_MAX_RW ? local->rw : sock->rw; local 449 net/nfc/llcp_commands.c skb_queue_tail(&local->tx_queue, skb); local 466 net/nfc/llcp_commands.c struct nfc_llcp_local *local; local 476 net/nfc/llcp_commands.c local = sock->local; local 477 net/nfc/llcp_commands.c if (local == NULL) local 482 net/nfc/llcp_commands.c local->miux : sock->miux; local 483 net/nfc/llcp_commands.c rw = sock->rw > LLCP_MAX_RW ? local->rw : sock->rw; local 509 net/nfc/llcp_commands.c skb_queue_tail(&local->tx_queue, skb); local 523 net/nfc/llcp_commands.c static struct sk_buff *nfc_llcp_allocate_snl(struct nfc_llcp_local *local, local 530 net/nfc/llcp_commands.c if (local == NULL) local 533 net/nfc/llcp_commands.c dev = local->dev; local 552 net/nfc/llcp_commands.c int nfc_llcp_send_snl_sdres(struct nfc_llcp_local *local, local 559 net/nfc/llcp_commands.c skb = nfc_llcp_allocate_snl(local, tlvs_len); local 571 net/nfc/llcp_commands.c skb_queue_tail(&local->tx_queue, skb); local 576 net/nfc/llcp_commands.c int nfc_llcp_send_snl_sdreq(struct nfc_llcp_local *local, local 583 net/nfc/llcp_commands.c skb = nfc_llcp_allocate_snl(local, tlvs_len); local 587 net/nfc/llcp_commands.c mutex_lock(&local->sdreq_lock); local 589 net/nfc/llcp_commands.c if (hlist_empty(&local->pending_sdreqs)) local 590 net/nfc/llcp_commands.c mod_timer(&local->sdreq_timer, local 591 net/nfc/llcp_commands.c jiffies + msecs_to_jiffies(3 * local->remote_lto)); local 600 net/nfc/llcp_commands.c hlist_add_head(&sdreq->node, &local->pending_sdreqs); local 603 net/nfc/llcp_commands.c mutex_unlock(&local->sdreq_lock); local 605 net/nfc/llcp_commands.c skb_queue_tail(&local->tx_queue, skb); local 610 net/nfc/llcp_commands.c int nfc_llcp_send_dm(struct nfc_llcp_local *local, u8 ssap, u8 dsap, u8 reason) local 618 net/nfc/llcp_commands.c if (local == NULL) local 621 net/nfc/llcp_commands.c dev = local->dev; local 638 net/nfc/llcp_commands.c skb_queue_head(&local->tx_queue, skb); local 648 net/nfc/llcp_commands.c struct nfc_llcp_local *local; local 655 net/nfc/llcp_commands.c local = sock->local; local 656 net/nfc/llcp_commands.c if (local == NULL) local 730 net/nfc/llcp_commands.c struct nfc_llcp_local *local; local 738 net/nfc/llcp_commands.c local = sock->local; local 739 net/nfc/llcp_commands.c if (local == NULL) local 756 net/nfc/llcp_commands.c local->remote_miu : sock->remote_miu; local 779 net/nfc/llcp_commands.c skb_queue_tail(&local->tx_queue, pdu); local 793 net/nfc/llcp_commands.c struct nfc_llcp_local *local; local 797 net/nfc/llcp_commands.c local = sock->local; local 798 net/nfc/llcp_commands.c if (local == NULL) local 809 net/nfc/llcp_commands.c skb_queue_head(&local->tx_queue, skb); local 21 net/nfc/llcp_core.c static void nfc_llcp_rx_skb(struct nfc_llcp_local *local, struct sk_buff *skb); local 45 net/nfc/llcp_core.c struct nfc_llcp_local *local = sock->local; local 53 net/nfc/llcp_core.c if (local == NULL) local 57 net/nfc/llcp_core.c skb_queue_walk_safe(&local->tx_queue, s, tmp) { local 61 net/nfc/llcp_core.c skb_unlink(s, &local->tx_queue); local 66 net/nfc/llcp_core.c static void nfc_llcp_socket_release(struct nfc_llcp_local *local, bool device, local 73 net/nfc/llcp_core.c skb_queue_purge(&local->tx_queue); local 75 net/nfc/llcp_core.c write_lock(&local->sockets.lock); local 77 net/nfc/llcp_core.c sk_for_each_safe(sk, tmp, &local->sockets.head) { local 118 net/nfc/llcp_core.c write_unlock(&local->sockets.lock); local 124 net/nfc/llcp_core.c write_lock(&local->raw_sockets.lock); local 126 net/nfc/llcp_core.c sk_for_each_safe(sk, tmp, &local->raw_sockets.head) { local 143 net/nfc/llcp_core.c write_unlock(&local->raw_sockets.lock); local 146 net/nfc/llcp_core.c struct nfc_llcp_local *nfc_llcp_local_get(struct nfc_llcp_local *local) local 148 net/nfc/llcp_core.c kref_get(&local->ref); local 150 net/nfc/llcp_core.c return local; local 153 net/nfc/llcp_core.c static void local_cleanup(struct nfc_llcp_local *local) local 155 net/nfc/llcp_core.c nfc_llcp_socket_release(local, false, ENXIO); local 156 net/nfc/llcp_core.c del_timer_sync(&local->link_timer); local 157 net/nfc/llcp_core.c skb_queue_purge(&local->tx_queue); local 158 net/nfc/llcp_core.c cancel_work_sync(&local->tx_work); local 159 net/nfc/llcp_core.c cancel_work_sync(&local->rx_work); local 160 net/nfc/llcp_core.c cancel_work_sync(&local->timeout_work); local 161 net/nfc/llcp_core.c kfree_skb(local->rx_pending); local 162 net/nfc/llcp_core.c del_timer_sync(&local->sdreq_timer); local 163 net/nfc/llcp_core.c cancel_work_sync(&local->sdreq_timeout_work); local 164 net/nfc/llcp_core.c nfc_llcp_free_sdp_tlv_list(&local->pending_sdreqs); local 169 net/nfc/llcp_core.c struct nfc_llcp_local *local; local 171 net/nfc/llcp_core.c local = container_of(ref, struct nfc_llcp_local, ref); local 173 net/nfc/llcp_core.c list_del(&local->list); local 174 net/nfc/llcp_core.c local_cleanup(local); local 175 net/nfc/llcp_core.c kfree(local); local 178 net/nfc/llcp_core.c int nfc_llcp_local_put(struct nfc_llcp_local *local) local 180 net/nfc/llcp_core.c if (local == NULL) local 183 net/nfc/llcp_core.c return kref_put(&local->ref, local_release); local 186 net/nfc/llcp_core.c static struct nfc_llcp_sock *nfc_llcp_sock_get(struct nfc_llcp_local *local, local 197 net/nfc/llcp_core.c read_lock(&local->sockets.lock); local 201 net/nfc/llcp_core.c sk_for_each(sk, &local->sockets.head) { local 210 net/nfc/llcp_core.c read_unlock(&local->sockets.lock); local 227 net/nfc/llcp_core.c struct nfc_llcp_local *local = container_of(work, struct nfc_llcp_local, local 230 net/nfc/llcp_core.c nfc_dep_link_down(local->dev); local 235 net/nfc/llcp_core.c struct nfc_llcp_local *local = from_timer(local, t, link_timer); local 239 net/nfc/llcp_core.c schedule_work(&local->timeout_work); local 248 net/nfc/llcp_core.c struct nfc_llcp_local *local = container_of(work, struct nfc_llcp_local, local 251 net/nfc/llcp_core.c mutex_lock(&local->sdreq_lock); local 253 net/nfc/llcp_core.c time = jiffies - msecs_to_jiffies(3 * local->remote_lto); local 255 net/nfc/llcp_core.c hlist_for_each_entry_safe(sdp, n, &local->pending_sdreqs, node) { local 266 net/nfc/llcp_core.c if (!hlist_empty(&local->pending_sdreqs)) local 267 net/nfc/llcp_core.c mod_timer(&local->sdreq_timer, local 268 net/nfc/llcp_core.c jiffies + msecs_to_jiffies(3 * local->remote_lto)); local 270 net/nfc/llcp_core.c mutex_unlock(&local->sdreq_lock); local 273 net/nfc/llcp_core.c nfc_genl_llc_send_sdres(local->dev, &nl_sdres_list); local 278 net/nfc/llcp_core.c struct nfc_llcp_local *local = from_timer(local, t, sdreq_timer); local 280 net/nfc/llcp_core.c schedule_work(&local->sdreq_timeout_work); local 285 net/nfc/llcp_core.c struct nfc_llcp_local *local; local 287 net/nfc/llcp_core.c list_for_each_entry(local, &llcp_devices, list) local 288 net/nfc/llcp_core.c if (local->dev == dev) local 289 net/nfc/llcp_core.c return local; local 327 net/nfc/llcp_core.c struct nfc_llcp_sock *nfc_llcp_sock_from_sn(struct nfc_llcp_local *local, local 338 net/nfc/llcp_core.c read_lock(&local->sockets.lock); local 342 net/nfc/llcp_core.c sk_for_each(sk, &local->sockets.head) { local 368 net/nfc/llcp_core.c read_unlock(&local->sockets.lock); local 375 net/nfc/llcp_core.c u8 nfc_llcp_get_sdp_ssap(struct nfc_llcp_local *local, local 378 net/nfc/llcp_core.c mutex_lock(&local->sdp_lock); local 388 net/nfc/llcp_core.c if (local->local_wks & BIT(ssap)) { local 389 net/nfc/llcp_core.c mutex_unlock(&local->sdp_lock); local 394 net/nfc/llcp_core.c set_bit(ssap, &local->local_wks); local 395 net/nfc/llcp_core.c mutex_unlock(&local->sdp_lock); local 404 net/nfc/llcp_core.c if (nfc_llcp_sock_from_sn(local, sock->service_name, local 406 net/nfc/llcp_core.c mutex_unlock(&local->sdp_lock); local 411 net/nfc/llcp_core.c mutex_unlock(&local->sdp_lock); local 416 net/nfc/llcp_core.c if (!test_bit(sock->ssap, &local->local_wks)) { local 417 net/nfc/llcp_core.c set_bit(sock->ssap, &local->local_wks); local 418 net/nfc/llcp_core.c mutex_unlock(&local->sdp_lock); local 424 net/nfc/llcp_core.c mutex_unlock(&local->sdp_lock); local 429 net/nfc/llcp_core.c u8 nfc_llcp_get_local_ssap(struct nfc_llcp_local *local) local 433 net/nfc/llcp_core.c mutex_lock(&local->sdp_lock); local 435 net/nfc/llcp_core.c local_ssap = find_first_zero_bit(&local->local_sap, LLCP_LOCAL_NUM_SAP); local 437 net/nfc/llcp_core.c mutex_unlock(&local->sdp_lock); local 441 net/nfc/llcp_core.c set_bit(local_ssap, &local->local_sap); local 443 net/nfc/llcp_core.c mutex_unlock(&local->sdp_lock); local 448 net/nfc/llcp_core.c void nfc_llcp_put_ssap(struct nfc_llcp_local *local, u8 ssap) local 455 net/nfc/llcp_core.c sdp = &local->local_wks; local 460 net/nfc/llcp_core.c sdp = &local->local_sdp; local 461 net/nfc/llcp_core.c client_cnt = &local->local_sdp_cnt[local_ssap]; local 465 net/nfc/llcp_core.c mutex_lock(&local->sdp_lock); local 475 net/nfc/llcp_core.c l_sock = nfc_llcp_sock_get(local, ssap, LLCP_SAP_SDP); local 482 net/nfc/llcp_core.c mutex_unlock(&local->sdp_lock); local 487 net/nfc/llcp_core.c sdp = &local->local_sap; local 492 net/nfc/llcp_core.c mutex_lock(&local->sdp_lock); local 496 net/nfc/llcp_core.c mutex_unlock(&local->sdp_lock); local 499 net/nfc/llcp_core.c static u8 nfc_llcp_reserve_sdp_ssap(struct nfc_llcp_local *local) local 503 net/nfc/llcp_core.c mutex_lock(&local->sdp_lock); local 505 net/nfc/llcp_core.c ssap = find_first_zero_bit(&local->local_sdp, LLCP_SDP_NUM_SAP); local 507 net/nfc/llcp_core.c mutex_unlock(&local->sdp_lock); local 514 net/nfc/llcp_core.c set_bit(ssap, &local->local_sdp); local 516 net/nfc/llcp_core.c mutex_unlock(&local->sdp_lock); local 521 net/nfc/llcp_core.c static int nfc_llcp_build_gb(struct nfc_llcp_local *local) local 527 net/nfc/llcp_core.c __be16 wks = cpu_to_be16(local->local_wks); local 540 net/nfc/llcp_core.c lto_tlv = nfc_llcp_build_tlv(LLCP_TLV_LTO, &local->lto, 1, <o_length); local 547 net/nfc/llcp_core.c pr_debug("Local wks 0x%lx\n", local->local_wks); local 555 net/nfc/llcp_core.c miux_tlv = nfc_llcp_build_tlv(LLCP_TLV_MIUX, (u8 *)&local->miux, 0, local 570 net/nfc/llcp_core.c gb_cur = local->gb; local 587 net/nfc/llcp_core.c local->gb_len = gb_len; local 600 net/nfc/llcp_core.c struct nfc_llcp_local *local; local 602 net/nfc/llcp_core.c local = nfc_llcp_find_local(dev); local 603 net/nfc/llcp_core.c if (local == NULL) { local 608 net/nfc/llcp_core.c nfc_llcp_build_gb(local); local 610 net/nfc/llcp_core.c *general_bytes_len = local->gb_len; local 612 net/nfc/llcp_core.c return local->gb; local 617 net/nfc/llcp_core.c struct nfc_llcp_local *local; local 622 net/nfc/llcp_core.c local = nfc_llcp_find_local(dev); local 623 net/nfc/llcp_core.c if (local == NULL) { local 628 net/nfc/llcp_core.c memset(local->remote_gb, 0, NFC_MAX_GT_LEN); local 629 net/nfc/llcp_core.c memcpy(local->remote_gb, gb, gb_len); local 630 net/nfc/llcp_core.c local->remote_gb_len = gb_len; local 632 net/nfc/llcp_core.c if (memcmp(local->remote_gb, llcp_magic, 3)) { local 637 net/nfc/llcp_core.c return nfc_llcp_parse_gb_tlv(local, local 638 net/nfc/llcp_core.c &local->remote_gb[3], local 639 net/nfc/llcp_core.c local->remote_gb_len - 3); local 674 net/nfc/llcp_core.c void nfc_llcp_send_to_raw_sock(struct nfc_llcp_local *local, local 681 net/nfc/llcp_core.c read_lock(&local->raw_sockets.lock); local 683 net/nfc/llcp_core.c sk_for_each(sk, &local->raw_sockets.head) { local 696 net/nfc/llcp_core.c data[0] = local->dev ? local->dev->idx : 0xFF; local 709 net/nfc/llcp_core.c read_unlock(&local->raw_sockets.lock); local 716 net/nfc/llcp_core.c struct nfc_llcp_local *local = container_of(work, struct nfc_llcp_local, local 722 net/nfc/llcp_core.c skb = skb_dequeue(&local->tx_queue); local 729 net/nfc/llcp_core.c nfc_llcp_send_symm(local->dev); local 731 net/nfc/llcp_core.c skb_queue_head(&local->tx_queue, skb); local 732 net/nfc/llcp_core.c nfc_llcp_send_symm(local->dev); local 744 net/nfc/llcp_core.c nfc_llcp_sock_unlink(&local->sockets, sk); local 754 net/nfc/llcp_core.c nfc_llcp_send_to_raw_sock(local, skb, local 757 net/nfc/llcp_core.c ret = nfc_data_exchange(local->dev, local->target_idx, local 758 net/nfc/llcp_core.c skb, nfc_llcp_recv, local); local 770 net/nfc/llcp_core.c nfc_llcp_send_symm(local->dev); local 774 net/nfc/llcp_core.c mod_timer(&local->link_timer, local 775 net/nfc/llcp_core.c jiffies + msecs_to_jiffies(2 * local->remote_lto)); local 778 net/nfc/llcp_core.c static struct nfc_llcp_sock *nfc_llcp_connecting_sock_get(struct nfc_llcp_local *local, local 784 net/nfc/llcp_core.c read_lock(&local->connecting_sockets.lock); local 786 net/nfc/llcp_core.c sk_for_each(sk, &local->connecting_sockets.head) { local 798 net/nfc/llcp_core.c read_unlock(&local->connecting_sockets.lock); local 803 net/nfc/llcp_core.c static struct nfc_llcp_sock *nfc_llcp_sock_get_sn(struct nfc_llcp_local *local, local 808 net/nfc/llcp_core.c llcp_sock = nfc_llcp_sock_from_sn(local, sn, sn_len); local 841 net/nfc/llcp_core.c static void nfc_llcp_recv_ui(struct nfc_llcp_local *local, local 858 net/nfc/llcp_core.c llcp_sock = nfc_llcp_sock_get(local, dsap, LLCP_SAP_SDP); local 877 net/nfc/llcp_core.c static void nfc_llcp_recv_connect(struct nfc_llcp_local *local, local 890 net/nfc/llcp_core.c sock = nfc_llcp_sock_get(local, dsap, LLCP_SAP_SDP); local 907 net/nfc/llcp_core.c sock = nfc_llcp_sock_get_sn(local, sn, sn_len); local 926 net/nfc/llcp_core.c u8 ssap = nfc_llcp_reserve_sdp_ssap(local); local 949 net/nfc/llcp_core.c new_sock->dev = local->dev; local 950 net/nfc/llcp_core.c new_sock->local = nfc_llcp_local_get(local); local 955 net/nfc/llcp_core.c new_sock->target_idx = local->target_idx; local 964 net/nfc/llcp_core.c &local->local_sdp_cnt[sock->ssap - LLCP_WKS_NUM_SAP]; local 975 net/nfc/llcp_core.c nfc_llcp_sock_link(&local->sockets, new_sk); local 979 net/nfc/llcp_core.c nfc_get_device(local->dev->idx); local 996 net/nfc/llcp_core.c nfc_llcp_send_dm(local, dsap, ssap, reason); local 1002 net/nfc/llcp_core.c struct nfc_llcp_local *local = sock->local; local 1020 net/nfc/llcp_core.c skb_queue_tail(&local->tx_queue, pdu); local 1027 net/nfc/llcp_core.c static void nfc_llcp_recv_hdlc(struct nfc_llcp_local *local, local 1042 net/nfc/llcp_core.c llcp_sock = nfc_llcp_sock_get(local, dsap, ssap); local 1044 net/nfc/llcp_core.c nfc_llcp_send_dm(local, dsap, ssap, LLCP_DM_NOCONN); local 1098 net/nfc/llcp_core.c skb_queue_head(&local->tx_queue, s); local 1114 net/nfc/llcp_core.c static void nfc_llcp_recv_disc(struct nfc_llcp_local *local, local 1126 net/nfc/llcp_core.c nfc_dep_link_down(local->dev); local 1130 net/nfc/llcp_core.c llcp_sock = nfc_llcp_sock_get(local, dsap, ssap); local 1132 net/nfc/llcp_core.c nfc_llcp_send_dm(local, dsap, ssap, LLCP_DM_NOCONN); local 1147 net/nfc/llcp_core.c nfc_put_device(local->dev); local 1152 net/nfc/llcp_core.c nfc_llcp_send_dm(local, dsap, ssap, LLCP_DM_DISC); local 1158 net/nfc/llcp_core.c static void nfc_llcp_recv_cc(struct nfc_llcp_local *local, struct sk_buff *skb) local 1167 net/nfc/llcp_core.c llcp_sock = nfc_llcp_connecting_sock_get(local, dsap); local 1170 net/nfc/llcp_core.c nfc_llcp_send_dm(local, dsap, ssap, LLCP_DM_NOCONN); local 1178 net/nfc/llcp_core.c nfc_llcp_sock_unlink(&local->connecting_sockets, sk); local 1179 net/nfc/llcp_core.c nfc_llcp_sock_link(&local->sockets, sk); local 1191 net/nfc/llcp_core.c static void nfc_llcp_recv_dm(struct nfc_llcp_local *local, struct sk_buff *skb) local 1206 net/nfc/llcp_core.c llcp_sock = nfc_llcp_connecting_sock_get(local, dsap); local 1210 net/nfc/llcp_core.c llcp_sock = nfc_llcp_sock_get(local, dsap, ssap); local 1228 net/nfc/llcp_core.c static void nfc_llcp_recv_snl(struct nfc_llcp_local *local, local 1275 net/nfc/llcp_core.c llcp_sock = nfc_llcp_sock_from_sn(local, service_name, local 1290 net/nfc/llcp_core.c sap = nfc_llcp_reserve_sdp_ssap(local); local 1300 net/nfc/llcp_core.c &local->local_sdp_cnt[sap - local 1323 net/nfc/llcp_core.c mutex_lock(&local->sdreq_lock); local 1327 net/nfc/llcp_core.c hlist_for_each_entry(sdp, &local->pending_sdreqs, node) { local 1343 net/nfc/llcp_core.c mutex_unlock(&local->sdreq_lock); local 1357 net/nfc/llcp_core.c nfc_genl_llc_send_sdres(local->dev, &nl_sdres_list); local 1360 net/nfc/llcp_core.c nfc_llcp_send_snl_sdres(local, &llc_sdres_list, sdres_tlvs_len); local 1363 net/nfc/llcp_core.c static void nfc_llcp_recv_agf(struct nfc_llcp_local *local, struct sk_buff *skb) local 1399 net/nfc/llcp_core.c nfc_llcp_rx_skb(local, new_skb); local 1407 net/nfc/llcp_core.c static void nfc_llcp_rx_skb(struct nfc_llcp_local *local, struct sk_buff *skb) local 1428 net/nfc/llcp_core.c nfc_llcp_recv_ui(local, skb); local 1433 net/nfc/llcp_core.c nfc_llcp_recv_connect(local, skb); local 1438 net/nfc/llcp_core.c nfc_llcp_recv_disc(local, skb); local 1443 net/nfc/llcp_core.c nfc_llcp_recv_cc(local, skb); local 1448 net/nfc/llcp_core.c nfc_llcp_recv_dm(local, skb); local 1453 net/nfc/llcp_core.c nfc_llcp_recv_snl(local, skb); local 1460 net/nfc/llcp_core.c nfc_llcp_recv_hdlc(local, skb); local 1465 net/nfc/llcp_core.c nfc_llcp_recv_agf(local, skb); local 1472 net/nfc/llcp_core.c struct nfc_llcp_local *local = container_of(work, struct nfc_llcp_local, local 1476 net/nfc/llcp_core.c skb = local->rx_pending; local 1484 net/nfc/llcp_core.c nfc_llcp_send_to_raw_sock(local, skb, NFC_DIRECTION_RX); local 1486 net/nfc/llcp_core.c nfc_llcp_rx_skb(local, skb); local 1488 net/nfc/llcp_core.c schedule_work(&local->tx_work); local 1489 net/nfc/llcp_core.c kfree_skb(local->rx_pending); local 1490 net/nfc/llcp_core.c local->rx_pending = NULL; local 1493 net/nfc/llcp_core.c static void __nfc_llcp_recv(struct nfc_llcp_local *local, struct sk_buff *skb) local 1495 net/nfc/llcp_core.c local->rx_pending = skb; local 1496 net/nfc/llcp_core.c del_timer(&local->link_timer); local 1497 net/nfc/llcp_core.c schedule_work(&local->rx_work); local 1502 net/nfc/llcp_core.c struct nfc_llcp_local *local = (struct nfc_llcp_local *) data; local 1510 net/nfc/llcp_core.c __nfc_llcp_recv(local, skb); local 1515 net/nfc/llcp_core.c struct nfc_llcp_local *local; local 1517 net/nfc/llcp_core.c local = nfc_llcp_find_local(dev); local 1518 net/nfc/llcp_core.c if (local == NULL) { local 1523 net/nfc/llcp_core.c __nfc_llcp_recv(local, skb); local 1530 net/nfc/llcp_core.c struct nfc_llcp_local *local; local 1532 net/nfc/llcp_core.c local = nfc_llcp_find_local(dev); local 1533 net/nfc/llcp_core.c if (local == NULL) local 1536 net/nfc/llcp_core.c local->remote_miu = LLCP_DEFAULT_MIU; local 1537 net/nfc/llcp_core.c local->remote_lto = LLCP_DEFAULT_LTO; local 1540 net/nfc/llcp_core.c nfc_llcp_socket_release(local, true, 0); local 1546 net/nfc/llcp_core.c struct nfc_llcp_local *local; local 1550 net/nfc/llcp_core.c local = nfc_llcp_find_local(dev); local 1551 net/nfc/llcp_core.c if (local == NULL) local 1554 net/nfc/llcp_core.c local->target_idx = target_idx; local 1555 net/nfc/llcp_core.c local->comm_mode = comm_mode; local 1556 net/nfc/llcp_core.c local->rf_mode = rf_mode; local 1561 net/nfc/llcp_core.c schedule_work(&local->tx_work); local 1563 net/nfc/llcp_core.c mod_timer(&local->link_timer, local 1564 net/nfc/llcp_core.c jiffies + msecs_to_jiffies(local->remote_lto)); local 1570 net/nfc/llcp_core.c struct nfc_llcp_local *local; local 1572 net/nfc/llcp_core.c local = kzalloc(sizeof(struct nfc_llcp_local), GFP_KERNEL); local 1573 net/nfc/llcp_core.c if (local == NULL) local 1576 net/nfc/llcp_core.c local->dev = ndev; local 1577 net/nfc/llcp_core.c INIT_LIST_HEAD(&local->list); local 1578 net/nfc/llcp_core.c kref_init(&local->ref); local 1579 net/nfc/llcp_core.c mutex_init(&local->sdp_lock); local 1580 net/nfc/llcp_core.c timer_setup(&local->link_timer, nfc_llcp_symm_timer, 0); local 1582 net/nfc/llcp_core.c skb_queue_head_init(&local->tx_queue); local 1583 net/nfc/llcp_core.c INIT_WORK(&local->tx_work, nfc_llcp_tx_work); local 1585 net/nfc/llcp_core.c local->rx_pending = NULL; local 1586 net/nfc/llcp_core.c INIT_WORK(&local->rx_work, nfc_llcp_rx_work); local 1588 net/nfc/llcp_core.c INIT_WORK(&local->timeout_work, nfc_llcp_timeout_work); local 1590 net/nfc/llcp_core.c rwlock_init(&local->sockets.lock); local 1591 net/nfc/llcp_core.c rwlock_init(&local->connecting_sockets.lock); local 1592 net/nfc/llcp_core.c rwlock_init(&local->raw_sockets.lock); local 1594 net/nfc/llcp_core.c local->lto = 150; /* 1500 ms */ local 1595 net/nfc/llcp_core.c local->rw = LLCP_MAX_RW; local 1596 net/nfc/llcp_core.c local->miux = cpu_to_be16(LLCP_MAX_MIUX); local 1597 net/nfc/llcp_core.c local->local_wks = 0x1; /* LLC Link Management */ local 1599 net/nfc/llcp_core.c nfc_llcp_build_gb(local); local 1601 net/nfc/llcp_core.c local->remote_miu = LLCP_DEFAULT_MIU; local 1602 net/nfc/llcp_core.c local->remote_lto = LLCP_DEFAULT_LTO; local 1604 net/nfc/llcp_core.c mutex_init(&local->sdreq_lock); local 1605 net/nfc/llcp_core.c INIT_HLIST_HEAD(&local->pending_sdreqs); local 1606 net/nfc/llcp_core.c timer_setup(&local->sdreq_timer, nfc_llcp_sdreq_timer, 0); local 1607 net/nfc/llcp_core.c INIT_WORK(&local->sdreq_timeout_work, nfc_llcp_sdreq_timeout_work); local 1609 net/nfc/llcp_core.c list_add(&local->list, &llcp_devices); local 1616 net/nfc/llcp_core.c struct nfc_llcp_local *local = nfc_llcp_find_local(dev); local 1618 net/nfc/llcp_core.c if (local == NULL) { local 1623 net/nfc/llcp_core.c local_cleanup(local); local 1625 net/nfc/llcp_core.c nfc_llcp_local_put(local); local 63 net/nfc/llcp_sock.c struct nfc_llcp_local *local; local 95 net/nfc/llcp_sock.c local = nfc_llcp_find_local(dev); local 96 net/nfc/llcp_sock.c if (local == NULL) { local 102 net/nfc/llcp_sock.c llcp_sock->local = nfc_llcp_local_get(local); local 114 net/nfc/llcp_sock.c llcp_sock->ssap = nfc_llcp_get_sdp_ssap(local, llcp_sock); local 124 net/nfc/llcp_sock.c nfc_llcp_sock_link(&local->sockets, sk); local 143 net/nfc/llcp_sock.c struct nfc_llcp_local *local; local 171 net/nfc/llcp_sock.c local = nfc_llcp_find_local(dev); local 172 net/nfc/llcp_sock.c if (local == NULL) { local 178 net/nfc/llcp_sock.c llcp_sock->local = nfc_llcp_local_get(local); local 181 net/nfc/llcp_sock.c nfc_llcp_sock_link(&local->raw_sockets, sk); local 296 net/nfc/llcp_sock.c struct nfc_llcp_local *local; local 311 net/nfc/llcp_sock.c local = llcp_sock->local; local 312 net/nfc/llcp_sock.c if (!local) local 321 net/nfc/llcp_sock.c rw = llcp_sock->rw > LLCP_MAX_RW ? local->rw : llcp_sock->rw; local 329 net/nfc/llcp_sock.c be16_to_cpu(local->miux) : be16_to_cpu(llcp_sock->miux); local 338 net/nfc/llcp_sock.c local->remote_miu : llcp_sock->remote_miu; local 346 net/nfc/llcp_sock.c if (put_user(local->remote_lto / 10, (u32 __user *) optval)) local 586 net/nfc/llcp_sock.c struct nfc_llcp_local *local; local 595 net/nfc/llcp_sock.c local = llcp_sock->local; local 596 net/nfc/llcp_sock.c if (local == NULL) { local 624 net/nfc/llcp_sock.c nfc_llcp_put_ssap(llcp_sock->local, llcp_sock->ssap); local 636 net/nfc/llcp_sock.c nfc_llcp_sock_unlink(&local->raw_sockets, sk); local 638 net/nfc/llcp_sock.c nfc_llcp_sock_unlink(&local->sockets, sk); local 654 net/nfc/llcp_sock.c struct nfc_llcp_local *local; local 681 net/nfc/llcp_sock.c local = nfc_llcp_find_local(dev); local 682 net/nfc/llcp_sock.c if (local == NULL) { local 695 net/nfc/llcp_sock.c if (local->rf_mode == NFC_RF_INITIATOR && local 696 net/nfc/llcp_sock.c addr->target_idx != local->target_idx) { local 702 net/nfc/llcp_sock.c llcp_sock->local = nfc_llcp_local_get(local); local 703 net/nfc/llcp_sock.c llcp_sock->ssap = nfc_llcp_get_local_ssap(local); local 727 net/nfc/llcp_sock.c nfc_llcp_sock_link(&local->connecting_sockets, sk); local 745 net/nfc/llcp_sock.c nfc_llcp_sock_unlink(&local->connecting_sockets, sk); local 748 net/nfc/llcp_sock.c nfc_llcp_put_ssap(local, llcp_sock->ssap); local 997 net/nfc/llcp_sock.c nfc_llcp_local_put(sock->local); local 994 net/nfc/netlink.c struct nfc_llcp_local *local, local 1004 net/nfc/netlink.c if (nla_put_u32(msg, NFC_ATTR_DEVICE_INDEX, local->dev->idx) || local 1005 net/nfc/netlink.c nla_put_u8(msg, NFC_ATTR_LLC_PARAM_LTO, local->lto) || local 1006 net/nfc/netlink.c nla_put_u8(msg, NFC_ATTR_LLC_PARAM_RW, local->rw) || local 1007 net/nfc/netlink.c nla_put_u16(msg, NFC_ATTR_LLC_PARAM_MIUX, be16_to_cpu(local->miux))) local 1021 net/nfc/netlink.c struct nfc_llcp_local *local; local 1038 net/nfc/netlink.c local = nfc_llcp_find_local(dev); local 1039 net/nfc/netlink.c if (!local) { local 1050 net/nfc/netlink.c rc = nfc_genl_send_params(msg, local, info->snd_portid, info->snd_seq); local 1070 net/nfc/netlink.c struct nfc_llcp_local *local; local 1104 net/nfc/netlink.c local = nfc_llcp_find_local(dev); local 1105 net/nfc/netlink.c if (!local) { local 1116 net/nfc/netlink.c local->lto = nla_get_u8(info->attrs[NFC_ATTR_LLC_PARAM_LTO]); local 1120 net/nfc/netlink.c local->rw = rw; local 1123 net/nfc/netlink.c local->miux = cpu_to_be16(miux); local 1136 net/nfc/netlink.c struct nfc_llcp_local *local; local 1163 net/nfc/netlink.c local = nfc_llcp_find_local(dev); local 1164 net/nfc/netlink.c if (!local) { local 1194 net/nfc/netlink.c tid = local->sdreq_next_tid++; local 1212 net/nfc/netlink.c rc = nfc_llcp_send_snl_sdreq(local, &sdreq_list, tlvs_len); local 142 net/openvswitch/datapath.c struct vport *local; local 147 net/openvswitch/datapath.c local = ovs_vport_rcu(dp, OVSP_LOCAL); local 148 net/openvswitch/datapath.c if (local) local 149 net/openvswitch/datapath.c ifindex = local->dev->ifindex; local 71 net/openvswitch/vport-netdev.c struct vport *local; local 73 net/openvswitch/vport-netdev.c local = ovs_vport_ovsl(dp, OVSP_LOCAL); local 74 net/openvswitch/vport-netdev.c return local->dev; local 132 net/rxrpc/af_rxrpc.c struct rxrpc_local *local; local 149 net/rxrpc/af_rxrpc.c local = rxrpc_lookup_local(sock_net(&rx->sk), &rx->srx); local 150 net/rxrpc/af_rxrpc.c if (IS_ERR(local)) { local 151 net/rxrpc/af_rxrpc.c ret = PTR_ERR(local); local 156 net/rxrpc/af_rxrpc.c write_lock(&local->services_lock); local 157 net/rxrpc/af_rxrpc.c if (rcu_access_pointer(local->service)) local 159 net/rxrpc/af_rxrpc.c rx->local = local; local 160 net/rxrpc/af_rxrpc.c rcu_assign_pointer(local->service, rx); local 161 net/rxrpc/af_rxrpc.c write_unlock(&local->services_lock); local 165 net/rxrpc/af_rxrpc.c rx->local = local; local 195 net/rxrpc/af_rxrpc.c write_unlock(&local->services_lock); local 196 net/rxrpc/af_rxrpc.c rxrpc_unuse_local(local); local 197 net/rxrpc/af_rxrpc.c rxrpc_put_local(local); local 226 net/rxrpc/af_rxrpc.c ASSERT(rx->local != NULL); local 316 net/rxrpc/af_rxrpc.c cp.local = rx->local; local 501 net/rxrpc/af_rxrpc.c struct rxrpc_local *local; local 540 net/rxrpc/af_rxrpc.c local = rxrpc_lookup_local(sock_net(sock->sk), &rx->srx); local 541 net/rxrpc/af_rxrpc.c if (IS_ERR(local)) { local 542 net/rxrpc/af_rxrpc.c ret = PTR_ERR(local); local 546 net/rxrpc/af_rxrpc.c rx->local = local; local 855 net/rxrpc/af_rxrpc.c rx->local->service_closed = true; local 863 net/rxrpc/af_rxrpc.c if (rx->local && rcu_access_pointer(rx->local->service) == rx) { local 864 net/rxrpc/af_rxrpc.c write_lock(&rx->local->services_lock); local 865 net/rxrpc/af_rxrpc.c rcu_assign_pointer(rx->local->service, NULL); local 866 net/rxrpc/af_rxrpc.c write_unlock(&rx->local->services_lock); local 875 net/rxrpc/af_rxrpc.c rxrpc_unuse_local(rx->local); local 876 net/rxrpc/af_rxrpc.c rxrpc_put_local(rx->local); local 877 net/rxrpc/af_rxrpc.c rx->local = NULL; local 135 net/rxrpc/ar-internal.h struct rxrpc_local *local; /* local endpoint */ local 297 net/rxrpc/ar-internal.h struct rxrpc_local *local; local 341 net/rxrpc/ar-internal.h struct rxrpc_local *local; /* Representation of local endpoint */ local 1028 net/rxrpc/ar-internal.h static inline bool __rxrpc_unuse_local(struct rxrpc_local *local) local 1030 net/rxrpc/ar-internal.h return atomic_dec_return(&local->active_users) == 0; local 1033 net/rxrpc/ar-internal.h static inline bool __rxrpc_use_local(struct rxrpc_local *local) local 1035 net/rxrpc/ar-internal.h return atomic_fetch_add_unless(&local->active_users, 1, 0) != 0; local 67 net/rxrpc/call_accept.c struct rxrpc_peer *peer = rxrpc_alloc_peer(rx->local, gfp); local 263 net/rxrpc/call_accept.c struct rxrpc_local *local, local 304 net/rxrpc/call_accept.c rxrpc_new_incoming_peer(rx, local, peer); local 312 net/rxrpc/call_accept.c conn->params.local = rxrpc_get_local(local); local 349 net/rxrpc/call_accept.c struct rxrpc_call *rxrpc_new_incoming_call(struct rxrpc_local *local, local 377 net/rxrpc/call_accept.c conn = rxrpc_find_connection_rcu(local, skb, &peer); local 379 net/rxrpc/call_accept.c if (!conn && !rxrpc_look_up_server_security(local, rx, &sec, &key, skb)) local 382 net/rxrpc/call_accept.c call = rxrpc_alloc_incoming_call(rx, local, peer, conn, sec, key, skb); local 103 net/rxrpc/conn_client.c struct rxrpc_net *rxnet = conn->params.local->rxnet; local 171 net/rxrpc/conn_client.c struct rxrpc_net *rxnet = cp->local->rxnet; local 212 net/rxrpc/conn_client.c rxrpc_get_local(conn->params.local); local 237 net/rxrpc/conn_client.c struct rxrpc_net *rxnet = conn->params.local->rxnet; local 282 net/rxrpc/conn_client.c struct rxrpc_local *local = cp->local; local 289 net/rxrpc/conn_client.c cp->peer = rxrpc_lookup_peer(rx, cp->local, srx, gfp); local 304 net/rxrpc/conn_client.c spin_lock(&local->client_conns_lock); local 305 net/rxrpc/conn_client.c p = local->client_conns.rb_node; local 331 net/rxrpc/conn_client.c spin_unlock(&local->client_conns_lock); local 368 net/rxrpc/conn_client.c spin_lock(&local->client_conns_lock); local 370 net/rxrpc/conn_client.c pp = &local->client_conns.rb_node; local 395 net/rxrpc/conn_client.c &local->client_conns); local 403 net/rxrpc/conn_client.c rb_insert_color(&candidate->client_node, &local->client_conns); local 411 net/rxrpc/conn_client.c spin_unlock(&local->client_conns_lock); local 421 net/rxrpc/conn_client.c spin_unlock(&local->client_conns_lock); local 700 net/rxrpc/conn_client.c struct rxrpc_net *rxnet = cp->local->rxnet; local 790 net/rxrpc/conn_client.c struct rxrpc_net *rxnet = conn->params.local->rxnet; local 948 net/rxrpc/conn_client.c struct rxrpc_local *local = conn->params.local; local 949 net/rxrpc/conn_client.c struct rxrpc_net *rxnet = local->rxnet; local 955 net/rxrpc/conn_client.c spin_lock(&local->client_conns_lock); local 958 net/rxrpc/conn_client.c rb_erase(&conn->client_node, &local->client_conns); local 959 net/rxrpc/conn_client.c spin_unlock(&local->client_conns_lock); local 1112 net/rxrpc/conn_client.c if (conn->params.local->service_closed) local 1180 net/rxrpc/conn_client.c void rxrpc_clean_up_local_conns(struct rxrpc_local *local) local 1183 net/rxrpc/conn_client.c struct rxrpc_net *rxnet = local->rxnet; local 1194 net/rxrpc/conn_client.c if (conn->params.local == local) { local 136 net/rxrpc/conn_event.c ret = kernel_sendmsg(conn->params.local->socket, &msg, iov, ioc, len); local 247 net/rxrpc/conn_event.c ret = kernel_sendmsg(conn->params.local->socket, &msg, iov, 2, len); local 494 net/rxrpc/conn_event.c if (__rxrpc_use_local(conn->params.local)) { local 496 net/rxrpc/conn_event.c rxrpc_unuse_local(conn->params.local); local 73 net/rxrpc/conn_object.c struct rxrpc_connection *rxrpc_find_connection_rcu(struct rxrpc_local *local, local 88 net/rxrpc/conn_object.c if (srx.transport.family != local->srx.transport.family && local 90 net/rxrpc/conn_object.c local->srx.transport.family != AF_INET6)) { local 93 net/rxrpc/conn_object.c local->srx.transport.family); local 105 net/rxrpc/conn_object.c peer = rxrpc_lookup_peer_rcu(local, &srx); local 126 net/rxrpc/conn_object.c conn->params.local != local) local 235 net/rxrpc/conn_object.c struct rxrpc_net *rxnet = conn->params.local->rxnet; local 342 net/rxrpc/conn_object.c rxrpc_set_service_reap_timer(conn->params.local->rxnet, local 368 net/rxrpc/conn_object.c if (atomic_dec_and_test(&conn->params.local->rxnet->nr_conns)) local 369 net/rxrpc/conn_object.c wake_up_var(&conn->params.local->rxnet->nr_conns); local 370 net/rxrpc/conn_object.c rxrpc_put_local(conn->params.local); local 401 net/rxrpc/conn_object.c if (rxnet->live && !conn->params.local->dead) { local 404 net/rxrpc/conn_object.c if (conn->params.local->service_closed) local 1126 net/rxrpc/input.c static void rxrpc_post_packet_to_local(struct rxrpc_local *local, local 1129 net/rxrpc/input.c _enter("%p,%p", local, skb); local 1131 net/rxrpc/input.c if (rxrpc_get_local_maybe(local)) { local 1132 net/rxrpc/input.c skb_queue_tail(&local->event_queue, skb); local 1133 net/rxrpc/input.c rxrpc_queue_local(local); local 1142 net/rxrpc/input.c static void rxrpc_reject_packet(struct rxrpc_local *local, struct sk_buff *skb) local 1144 net/rxrpc/input.c CHECK_SLAB_OKAY(&local->usage); local 1146 net/rxrpc/input.c if (rxrpc_get_local_maybe(local)) { local 1147 net/rxrpc/input.c skb_queue_tail(&local->reject_queue, skb); local 1148 net/rxrpc/input.c rxrpc_queue_local(local); local 1196 net/rxrpc/input.c struct rxrpc_local *local = rcu_dereference_sk_user_data(udp_sk); local 1207 net/rxrpc/input.c if (unlikely(!local)) { local 1244 net/rxrpc/input.c rxrpc_post_packet_to_local(local, skb); local 1313 net/rxrpc/input.c rx = rcu_dereference(local->service); local 1323 net/rxrpc/input.c conn = rxrpc_find_connection_rcu(local, skb, &peer); local 1409 net/rxrpc/input.c call = rxrpc_new_incoming_call(local, rx, skb); local 1452 net/rxrpc/input.c rxrpc_reject_packet(local, skb); local 24 net/rxrpc/local_event.c static void rxrpc_send_version_request(struct rxrpc_local *local, local 68 net/rxrpc/local_event.c ret = kernel_sendmsg(local->socket, &msg, iov, 2, len); local 70 net/rxrpc/local_event.c trace_rxrpc_tx_fail(local->debug_id, 0, ret, local 73 net/rxrpc/local_event.c trace_rxrpc_tx_packet(local->debug_id, &whdr, local 82 net/rxrpc/local_event.c void rxrpc_process_local_events(struct rxrpc_local *local) local 89 net/rxrpc/local_event.c skb = skb_dequeue(&local->event_queue); local 94 net/rxrpc/local_event.c _debug("{%d},{%u}", local->debug_id, sp->hdr.type); local 103 net/rxrpc/local_event.c rxrpc_send_version_request(local, &sp->hdr, skb); local 34 net/rxrpc/local_object.c static long rxrpc_local_cmp_key(const struct rxrpc_local *local, local 39 net/rxrpc/local_object.c diff = ((local->srx.transport_type - srx->transport_type) ?: local 40 net/rxrpc/local_object.c (local->srx.transport_len - srx->transport_len) ?: local 41 net/rxrpc/local_object.c (local->srx.transport.family - srx->transport.family)); local 50 net/rxrpc/local_object.c return ((u16 __force)local->srx.transport.sin.sin_port - local 52 net/rxrpc/local_object.c memcmp(&local->srx.transport.sin.sin_addr, local 60 net/rxrpc/local_object.c return ((u16 __force)local->srx.transport.sin6.sin6_port - local 62 net/rxrpc/local_object.c memcmp(&local->srx.transport.sin6.sin6_addr, local 77 net/rxrpc/local_object.c struct rxrpc_local *local; local 79 net/rxrpc/local_object.c local = kzalloc(sizeof(struct rxrpc_local), GFP_KERNEL); local 80 net/rxrpc/local_object.c if (local) { local 81 net/rxrpc/local_object.c atomic_set(&local->usage, 1); local 82 net/rxrpc/local_object.c atomic_set(&local->active_users, 1); local 83 net/rxrpc/local_object.c local->rxnet = rxnet; local 84 net/rxrpc/local_object.c INIT_LIST_HEAD(&local->link); local 85 net/rxrpc/local_object.c INIT_WORK(&local->processor, rxrpc_local_processor); local 86 net/rxrpc/local_object.c init_rwsem(&local->defrag_sem); local 87 net/rxrpc/local_object.c skb_queue_head_init(&local->reject_queue); local 88 net/rxrpc/local_object.c skb_queue_head_init(&local->event_queue); local 89 net/rxrpc/local_object.c local->client_conns = RB_ROOT; local 90 net/rxrpc/local_object.c spin_lock_init(&local->client_conns_lock); local 91 net/rxrpc/local_object.c spin_lock_init(&local->lock); local 92 net/rxrpc/local_object.c rwlock_init(&local->services_lock); local 93 net/rxrpc/local_object.c local->debug_id = atomic_inc_return(&rxrpc_debug_id); local 94 net/rxrpc/local_object.c memcpy(&local->srx, srx, sizeof(*srx)); local 95 net/rxrpc/local_object.c local->srx.srx_service = 0; local 96 net/rxrpc/local_object.c trace_rxrpc_local(local->debug_id, rxrpc_local_new, 1, NULL); local 99 net/rxrpc/local_object.c _leave(" = %p", local); local 100 net/rxrpc/local_object.c return local; local 107 net/rxrpc/local_object.c static int rxrpc_open_socket(struct rxrpc_local *local, struct net *net) local 113 net/rxrpc/local_object.c local, local->srx.transport_type, local->srx.transport.family); local 116 net/rxrpc/local_object.c ret = sock_create_kern(net, local->srx.transport.family, local 117 net/rxrpc/local_object.c local->srx.transport_type, 0, &local->socket); local 124 net/rxrpc/local_object.c usk = local->socket->sk; local 130 net/rxrpc/local_object.c rcu_assign_sk_user_data(usk, local); local 140 net/rxrpc/local_object.c if (local->srx.transport.family == AF_INET6) local 146 net/rxrpc/local_object.c if (local->srx.transport_len > sizeof(sa_family_t)) { local 148 net/rxrpc/local_object.c ret = kernel_bind(local->socket, local 149 net/rxrpc/local_object.c (struct sockaddr *)&local->srx.transport, local 150 net/rxrpc/local_object.c local->srx.transport_len); local 157 net/rxrpc/local_object.c switch (local->srx.transport.family) { local 161 net/rxrpc/local_object.c ret = kernel_setsockopt(local->socket, SOL_IPV6, IPV6_RECVERR, local 175 net/rxrpc/local_object.c ret = kernel_setsockopt(local->socket, SOL_IP, IP_RECVERR, local 184 net/rxrpc/local_object.c ret = kernel_setsockopt(local->socket, SOL_IP, IP_MTU_DISCOVER, local 193 net/rxrpc/local_object.c ret = kernel_setsockopt(local->socket, SOL_SOCKET, SO_TIMESTAMPNS_OLD, local 209 net/rxrpc/local_object.c kernel_sock_shutdown(local->socket, SHUT_RDWR); local 210 net/rxrpc/local_object.c local->socket->sk->sk_user_data = NULL; local 211 net/rxrpc/local_object.c sock_release(local->socket); local 212 net/rxrpc/local_object.c local->socket = NULL; local 224 net/rxrpc/local_object.c struct rxrpc_local *local; local 239 net/rxrpc/local_object.c local = list_entry(cursor, struct rxrpc_local, link); local 241 net/rxrpc/local_object.c diff = rxrpc_local_cmp_key(local, srx); local 253 net/rxrpc/local_object.c local = NULL; local 261 net/rxrpc/local_object.c if (!rxrpc_use_local(local)) local 268 net/rxrpc/local_object.c local = rxrpc_alloc_local(rxnet, srx); local 269 net/rxrpc/local_object.c if (!local) local 272 net/rxrpc/local_object.c ret = rxrpc_open_socket(local, net); local 277 net/rxrpc/local_object.c list_replace_init(cursor, &local->link); local 279 net/rxrpc/local_object.c list_add_tail(&local->link, cursor); local 286 net/rxrpc/local_object.c age, local->debug_id, &local->srx.transport); local 288 net/rxrpc/local_object.c _leave(" = %p", local); local 289 net/rxrpc/local_object.c return local; local 295 net/rxrpc/local_object.c if (local) local 296 net/rxrpc/local_object.c call_rcu(&local->rcu, rxrpc_local_rcu); local 309 net/rxrpc/local_object.c struct rxrpc_local *rxrpc_get_local(struct rxrpc_local *local) local 314 net/rxrpc/local_object.c n = atomic_inc_return(&local->usage); local 315 net/rxrpc/local_object.c trace_rxrpc_local(local->debug_id, rxrpc_local_got, n, here); local 316 net/rxrpc/local_object.c return local; local 322 net/rxrpc/local_object.c struct rxrpc_local *rxrpc_get_local_maybe(struct rxrpc_local *local) local 326 net/rxrpc/local_object.c if (local) { local 327 net/rxrpc/local_object.c int n = atomic_fetch_add_unless(&local->usage, 1, 0); local 329 net/rxrpc/local_object.c trace_rxrpc_local(local->debug_id, rxrpc_local_got, local 332 net/rxrpc/local_object.c local = NULL; local 334 net/rxrpc/local_object.c return local; local 340 net/rxrpc/local_object.c void rxrpc_queue_local(struct rxrpc_local *local) local 343 net/rxrpc/local_object.c unsigned int debug_id = local->debug_id; local 344 net/rxrpc/local_object.c int n = atomic_read(&local->usage); local 346 net/rxrpc/local_object.c if (rxrpc_queue_work(&local->processor)) local 349 net/rxrpc/local_object.c rxrpc_put_local(local); local 355 net/rxrpc/local_object.c void rxrpc_put_local(struct rxrpc_local *local) local 361 net/rxrpc/local_object.c if (local) { local 362 net/rxrpc/local_object.c debug_id = local->debug_id; local 364 net/rxrpc/local_object.c n = atomic_dec_return(&local->usage); local 368 net/rxrpc/local_object.c call_rcu(&local->rcu, rxrpc_local_rcu); local 375 net/rxrpc/local_object.c struct rxrpc_local *rxrpc_use_local(struct rxrpc_local *local) local 377 net/rxrpc/local_object.c local = rxrpc_get_local_maybe(local); local 378 net/rxrpc/local_object.c if (!local) local 381 net/rxrpc/local_object.c if (!__rxrpc_use_local(local)) { local 382 net/rxrpc/local_object.c rxrpc_put_local(local); local 386 net/rxrpc/local_object.c return local; local 393 net/rxrpc/local_object.c void rxrpc_unuse_local(struct rxrpc_local *local) local 395 net/rxrpc/local_object.c if (local) { local 396 net/rxrpc/local_object.c if (__rxrpc_unuse_local(local)) { local 397 net/rxrpc/local_object.c rxrpc_get_local(local); local 398 net/rxrpc/local_object.c rxrpc_queue_local(local); local 410 net/rxrpc/local_object.c static void rxrpc_local_destroyer(struct rxrpc_local *local) local 412 net/rxrpc/local_object.c struct socket *socket = local->socket; local 413 net/rxrpc/local_object.c struct rxrpc_net *rxnet = local->rxnet; local 415 net/rxrpc/local_object.c _enter("%d", local->debug_id); local 417 net/rxrpc/local_object.c local->dead = true; local 420 net/rxrpc/local_object.c list_del_init(&local->link); local 423 net/rxrpc/local_object.c rxrpc_clean_up_local_conns(local); local 425 net/rxrpc/local_object.c ASSERT(!local->service); local 428 net/rxrpc/local_object.c local->socket = NULL; local 437 net/rxrpc/local_object.c rxrpc_purge_queue(&local->reject_queue); local 438 net/rxrpc/local_object.c rxrpc_purge_queue(&local->event_queue); local 447 net/rxrpc/local_object.c struct rxrpc_local *local = local 451 net/rxrpc/local_object.c trace_rxrpc_local(local->debug_id, rxrpc_local_processing, local 452 net/rxrpc/local_object.c atomic_read(&local->usage), NULL); local 456 net/rxrpc/local_object.c if (!__rxrpc_use_local(local)) { local 457 net/rxrpc/local_object.c rxrpc_local_destroyer(local); local 461 net/rxrpc/local_object.c if (!skb_queue_empty(&local->reject_queue)) { local 462 net/rxrpc/local_object.c rxrpc_reject_packets(local); local 466 net/rxrpc/local_object.c if (!skb_queue_empty(&local->event_queue)) { local 467 net/rxrpc/local_object.c rxrpc_process_local_events(local); local 471 net/rxrpc/local_object.c __rxrpc_unuse_local(local); local 474 net/rxrpc/local_object.c rxrpc_put_local(local); local 482 net/rxrpc/local_object.c struct rxrpc_local *local = container_of(rcu, struct rxrpc_local, rcu); local 484 net/rxrpc/local_object.c _enter("%d", local->debug_id); local 486 net/rxrpc/local_object.c ASSERT(!work_pending(&local->processor)); local 488 net/rxrpc/local_object.c _net("DESTROY LOCAL %d", local->debug_id); local 489 net/rxrpc/local_object.c kfree(local); local 498 net/rxrpc/local_object.c struct rxrpc_local *local; local 506 net/rxrpc/local_object.c list_for_each_entry(local, &rxnet->local_endpoints, link) { local 508 net/rxrpc/local_object.c local, atomic_read(&local->usage)); local 212 net/rxrpc/output.c ret = kernel_sendmsg(conn->params.local->socket, &msg, iov, 2, len); local 298 net/rxrpc/output.c ret = kernel_sendmsg(conn->params.local->socket, local 395 net/rxrpc/output.c down_read(&conn->params.local->defrag_sem); local 407 net/rxrpc/output.c ret = kernel_sendmsg(conn->params.local->socket, &msg, iov, 2, len); local 410 net/rxrpc/output.c up_read(&conn->params.local->defrag_sem); local 467 net/rxrpc/output.c down_write(&conn->params.local->defrag_sem); local 473 net/rxrpc/output.c switch (conn->params.local->srx.transport.family) { local 477 net/rxrpc/output.c kernel_setsockopt(conn->params.local->socket, local 480 net/rxrpc/output.c ret = kernel_sendmsg(conn->params.local->socket, &msg, local 485 net/rxrpc/output.c kernel_setsockopt(conn->params.local->socket, local 502 net/rxrpc/output.c up_write(&conn->params.local->defrag_sem); local 509 net/rxrpc/output.c void rxrpc_reject_packets(struct rxrpc_local *local) local 521 net/rxrpc/output.c _enter("%d", local->debug_id); local 535 net/rxrpc/output.c while ((skb = skb_dequeue(&local->reject_queue))) { local 567 net/rxrpc/output.c ret = kernel_sendmsg(local->socket, &msg, local 570 net/rxrpc/output.c trace_rxrpc_tx_fail(local->debug_id, 0, ret, local 573 net/rxrpc/output.c trace_rxrpc_tx_packet(local->debug_id, &whdr, local 602 net/rxrpc/output.c whdr.epoch = htonl(peer->local->rxnet->epoch); local 623 net/rxrpc/output.c ret = kernel_sendmsg(peer->local->socket, &msg, iov, 2, len); local 28 net/rxrpc/peer_event.c static struct rxrpc_peer *rxrpc_lookup_peer_icmp_rcu(struct rxrpc_local *local, local 37 net/rxrpc/peer_event.c srx->transport_type = local->srx.transport_type; local 38 net/rxrpc/peer_event.c srx->transport_len = local->srx.transport_len; local 39 net/rxrpc/peer_event.c srx->transport.family = local->srx.transport.family; local 101 net/rxrpc/peer_event.c return rxrpc_lookup_peer_rcu(local, srx); local 150 net/rxrpc/peer_event.c struct rxrpc_local *local; local 155 net/rxrpc/peer_event.c local = rcu_dereference_sk_user_data(sk); local 156 net/rxrpc/peer_event.c if (unlikely(!local)) { local 160 net/rxrpc/peer_event.c _enter("%p{%d}", sk, local->debug_id); local 182 net/rxrpc/peer_event.c peer = rxrpc_lookup_peer_icmp_rcu(local, skb, &srx); local 321 net/rxrpc/peer_event.c if (__rxrpc_use_local(peer->local)) { local 344 net/rxrpc/peer_event.c rxrpc_unuse_local(peer->local); local 28 net/rxrpc/peer_object.c static unsigned long rxrpc_peer_hash_key(struct rxrpc_local *local, local 37 net/rxrpc/peer_object.c hash_key = (unsigned long)local / __alignof__(*local); local 77 net/rxrpc/peer_object.c struct rxrpc_local *local, local 84 net/rxrpc/peer_object.c ((unsigned long)peer->local - (unsigned long)local) ?: local 115 net/rxrpc/peer_object.c struct rxrpc_local *local, local 120 net/rxrpc/peer_object.c struct rxrpc_net *rxnet = local->rxnet; local 123 net/rxrpc/peer_object.c if (rxrpc_peer_cmp_key(peer, local, srx, hash_key) == 0 && local 134 net/rxrpc/peer_object.c struct rxrpc_peer *rxrpc_lookup_peer_rcu(struct rxrpc_local *local, local 138 net/rxrpc/peer_object.c unsigned long hash_key = rxrpc_peer_hash_key(local, srx); local 140 net/rxrpc/peer_object.c peer = __rxrpc_lookup_peer_rcu(local, srx, hash_key); local 210 net/rxrpc/peer_object.c struct rxrpc_peer *rxrpc_alloc_peer(struct rxrpc_local *local, gfp_t gfp) local 219 net/rxrpc/peer_object.c peer->local = rxrpc_get_local(local); local 281 net/rxrpc/peer_object.c struct rxrpc_local *local, local 290 net/rxrpc/peer_object.c peer = rxrpc_alloc_peer(local, gfp); local 305 net/rxrpc/peer_object.c void rxrpc_new_incoming_peer(struct rxrpc_sock *rx, struct rxrpc_local *local, local 308 net/rxrpc/peer_object.c struct rxrpc_net *rxnet = local->rxnet; local 311 net/rxrpc/peer_object.c hash_key = rxrpc_peer_hash_key(local, &peer->srx); local 324 net/rxrpc/peer_object.c struct rxrpc_local *local, local 328 net/rxrpc/peer_object.c struct rxrpc_net *rxnet = local->rxnet; local 329 net/rxrpc/peer_object.c unsigned long hash_key = rxrpc_peer_hash_key(local, srx); local 335 net/rxrpc/peer_object.c peer = __rxrpc_lookup_peer_rcu(local, srx, hash_key); local 344 net/rxrpc/peer_object.c candidate = rxrpc_create_peer(rx, local, srx, hash_key, gfp); local 353 net/rxrpc/peer_object.c peer = __rxrpc_lookup_peer_rcu(local, srx, hash_key); local 412 net/rxrpc/peer_object.c struct rxrpc_net *rxnet = peer->local->rxnet; local 421 net/rxrpc/peer_object.c rxrpc_put_local(peer->local); local 458 net/rxrpc/peer_object.c rxrpc_put_local(peer->local); local 57 net/rxrpc/proc.c struct rxrpc_local *local; local 79 net/rxrpc/proc.c local = READ_ONCE(rx->local); local 80 net/rxrpc/proc.c if (local) local 81 net/rxrpc/proc.c sprintf(lbuff, "%pISpc", &local->srx.transport); local 180 net/rxrpc/proc.c sprintf(lbuff, "%pISpc", &conn->params.local->srx.transport); local 232 net/rxrpc/proc.c sprintf(lbuff, "%pISpc", &peer->local->srx.transport); local 692 net/rxrpc/rxkad.c ret = kernel_sendmsg(conn->params.local->socket, &msg, iov, 2, len); local 750 net/rxrpc/rxkad.c ret = kernel_sendmsg(conn->params.local->socket, &msg, iov, 3, len); local 106 net/rxrpc/security.c bool rxrpc_look_up_server_security(struct rxrpc_local *local, struct rxrpc_sock *rx, local 618 net/rxrpc/sendmsg.c cp.local = rx->local; local 60 net/sctp/input.c const union sctp_addr *local, local 1029 net/sctp/input.c const union sctp_addr *local, local 1036 net/sctp/input.c t = sctp_addrs_lookup_transport(net, local, peer); local 213 net/smc/smc_cdc.h union smc_host_cursor *local, local 217 net/smc/smc_cdc.h smc_curs_copy(save, local, conn); local 227 net/smc/smc_cdc.h struct smc_host_cdc_msg *local = &conn->local_tx_ctrl; local 229 net/smc/smc_cdc.h peer->common.type = local->common.type; local 230 net/smc/smc_cdc.h peer->len = local->len; local 231 net/smc/smc_cdc.h peer->seqno = htons(local->seqno); local 232 net/smc/smc_cdc.h peer->token = htonl(local->token); local 233 net/smc/smc_cdc.h smc_host_cursor_to_cdc(&peer->prod, &local->prod, save, conn); local 234 net/smc/smc_cdc.h smc_host_cursor_to_cdc(&peer->cons, &local->cons, save, conn); local 235 net/smc/smc_cdc.h peer->prod_flags = local->prod_flags; local 236 net/smc/smc_cdc.h peer->conn_state_flags = local->conn_state_flags; local 239 net/smc/smc_cdc.h static inline void smc_cdc_cursor_to_host(union smc_host_cursor *local, local 246 net/smc/smc_cdc.h smc_curs_copy(&old, local, conn); local 255 net/smc/smc_cdc.h smc_curs_copy(local, &temp, conn); local 258 net/smc/smc_cdc.h static inline void smcr_cdc_msg_to_host(struct smc_host_cdc_msg *local, local 262 net/smc/smc_cdc.h local->common.type = peer->common.type; local 263 net/smc/smc_cdc.h local->len = peer->len; local 264 net/smc/smc_cdc.h local->seqno = ntohs(peer->seqno); local 265 net/smc/smc_cdc.h local->token = ntohl(peer->token); local 266 net/smc/smc_cdc.h smc_cdc_cursor_to_host(&local->prod, &peer->prod, conn); local 267 net/smc/smc_cdc.h smc_cdc_cursor_to_host(&local->cons, &peer->cons, conn); local 268 net/smc/smc_cdc.h local->prod_flags = peer->prod_flags; local 269 net/smc/smc_cdc.h local->conn_state_flags = peer->conn_state_flags; local 272 net/smc/smc_cdc.h static inline void smcd_cdc_msg_to_host(struct smc_host_cdc_msg *local, local 280 net/smc/smc_cdc.h smc_curs_copy(&local->prod, &temp, conn); local 284 net/smc/smc_cdc.h smc_curs_copy(&local->cons, &temp, conn); local 285 net/smc/smc_cdc.h local->prod_flags = peer->cons.prod_flags; local 286 net/smc/smc_cdc.h local->conn_state_flags = peer->cons.conn_state_flags; local 289 net/smc/smc_cdc.h static inline void smc_cdc_msg_to_host(struct smc_host_cdc_msg *local, local 294 net/smc/smc_cdc.h smcd_cdc_msg_to_host(local, (struct smcd_cdc_msg *)peer, conn); local 296 net/smc/smc_cdc.h smcr_cdc_msg_to_host(local, peer, conn); local 385 net/tipc/bcast.c if (dests->local && !tipc_msg_reassemble(pkts, &localq)) { local 415 net/tipc/bcast.c if (dests->local) { local 728 net/tipc/bcast.c nl->local = true; local 736 net/tipc/bcast.c nl->local = false; local 745 net/tipc/bcast.c nl->local = false; local 59 net/tipc/bcast.h bool local; local 798 net/tipc/socket.c if (!dsts.local && !dsts.remote) local 1041 net/tipc/socket.c if (!dsts->local && !dsts->remote) local 661 net/tipc/udp_media.c struct udp_media_addr local = {0}; local 686 net/tipc/udp_media.c err = tipc_parse_udp_addr(opts[TIPC_NLA_UDP_LOCAL], &local, local 695 net/tipc/udp_media.c if (remote.proto != local.proto) { local 705 net/tipc/udp_media.c memcpy(node_id, local.ipv6.in6_u.u6_addr8, 16); local 718 net/tipc/udp_media.c tipc_udp_media_addr_set(&b->addr, &local); local 719 net/tipc/udp_media.c if (local.proto == htons(ETH_P_IP)) { local 722 net/tipc/udp_media.c dev = __ip_dev_find(net, local.ipv4.s_addr, false); local 733 net/tipc/udp_media.c udp_conf.local_ip.s_addr = local.ipv4.s_addr; local 743 net/tipc/udp_media.c } else if (local.proto == htons(ETH_P_IPV6)) { local 750 net/tipc/udp_media.c udp_conf.local_ip6 = local.ipv6; local 757 net/tipc/udp_media.c udp_conf.local_udp_port = local.port; local 183 net/vmw_vsock/vmci_transport.c struct sockaddr_vm *local, local 186 net/vmw_vsock/vmci_transport.c vsock_addr_init(local, pkt->dg.dst.context, pkt->dst_port); local 2342 net/xfrm/xfrm_policy.c xfrm_get_saddr(struct net *net, int oif, xfrm_address_t *local, local 2350 net/xfrm/xfrm_policy.c err = afinfo->get_saddr(net, oif, local, remote, mark); local 2371 net/xfrm/xfrm_policy.c xfrm_address_t *local = saddr; local 2377 net/xfrm/xfrm_policy.c local = &tmpl->saddr; local 2378 net/xfrm/xfrm_policy.c if (xfrm_addr_any(local, tmpl->encap_family)) { local 2384 net/xfrm/xfrm_policy.c local = &tmp; local 2388 net/xfrm/xfrm_policy.c x = xfrm_state_find(remote, local, fl, tmpl, policy, &error, local 2394 net/xfrm/xfrm_policy.c saddr = local; local 2332 net/xfrm/xfrm_user.c memcpy(&k->local, &uk->local, sizeof(k->local)); local 2437 net/xfrm/xfrm_user.c memcpy(&uk.local, &k->local, sizeof(uk.local)); local 231 sound/isa/gus/gus_main.c int l, idx, local; local 241 sound/isa/gus/gus_main.c local = idx << 18; local 242 sound/isa/gus/gus_main.c snd_gf1_poke(gus, local, d); local 243 sound/isa/gus/gus_main.c snd_gf1_poke(gus, local + 1, d + 1); local 244 sound/isa/gus/gus_main.c if (snd_gf1_peek(gus, local) != d || local 245 sound/isa/gus/gus_main.c snd_gf1_peek(gus, local + 1) != d + 1 || local 254 sound/isa/gus/gus_main.c for (l = 0, local = gus->gf1.memory; l < 4; l++, local -= 256 * 1024) { local 258 sound/isa/gus/gus_main.c gus->gf1.mem_alloc.banks_16[l].size = local > 0 ? 256 * 1024 : 0; local 317 sound/isa/gus/interwave.c unsigned int local; local 323 sound/isa/gus/interwave.c for (local = idx << 22; local 324 sound/isa/gus/interwave.c local < (idx << 22) + 0x400000; local 325 sound/isa/gus/interwave.c local += 0x40000, d++) { local 326 sound/isa/gus/interwave.c snd_gf1_poke(gus, local, d); local 327 sound/isa/gus/interwave.c snd_gf1_poke(gus, local + 1, d + 1); local 332 sound/isa/gus/interwave.c snd_gf1_peek(gus, local), local 333 sound/isa/gus/interwave.c snd_gf1_peek(gus, local + 1), local 336 sound/isa/gus/interwave.c if (snd_gf1_peek(gus, local) != d || local 337 sound/isa/gus/interwave.c snd_gf1_peek(gus, local + 1) != d + 1 || local 338 sound/soc/intel/atom/sst/sst_pvt.c int local; local 342 sound/soc/intel/atom/sst/sst_pvt.c local = ffz(drv->pvt_id); local 343 sound/soc/intel/atom/sst/sst_pvt.c dev_dbg(drv->dev, "pvt_id assigned --> %d\n", local); local 344 sound/soc/intel/atom/sst/sst_pvt.c if (local >= SST_MAX_BLOCKS){ local 350 sound/soc/intel/atom/sst/sst_pvt.c change_bit(local, &drv->pvt_id); local 352 sound/soc/intel/atom/sst/sst_pvt.c return local; local 92 tools/accounting/getdelays.c struct sockaddr_nl local; local 106 tools/accounting/getdelays.c memset(&local, 0, sizeof(local)); local 107 tools/accounting/getdelays.c local.nl_family = AF_NETLINK; local 109 tools/accounting/getdelays.c if (bind(fd, (struct sockaddr *) &local, sizeof(local)) < 0) local 57 tools/include/uapi/linux/pkt_cls.h #define __TC_ACT_EXT(local) ((local) << __TC_ACT_EXT_SHIFT) local 248 tools/perf/util/s390-cpumsf.c struct hws_basic_entry local; local 251 tools/perf/util/s390-cpumsf.c memset(&local, 0, sizeof(local)); local 252 tools/perf/util/s390-cpumsf.c local.def = be16toh(basicp->def); local 253 tools/perf/util/s390-cpumsf.c local.prim_asn = word & 0xffff; local 254 tools/perf/util/s390-cpumsf.c local.CL = word >> 30 & 0x3; local 255 tools/perf/util/s390-cpumsf.c local.I = word >> 32 & 0x1; local 256 tools/perf/util/s390-cpumsf.c local.AS = word >> 33 & 0x3; local 257 tools/perf/util/s390-cpumsf.c local.P = word >> 35 & 0x1; local 258 tools/perf/util/s390-cpumsf.c local.W = word >> 36 & 0x1; local 259 tools/perf/util/s390-cpumsf.c local.T = word >> 37 & 0x1; local 260 tools/perf/util/s390-cpumsf.c local.U = word >> 40 & 0xf; local 261 tools/perf/util/s390-cpumsf.c local.ia = be64toh(basicp->ia); local 262 tools/perf/util/s390-cpumsf.c local.gpp = be64toh(basicp->gpp); local 263 tools/perf/util/s390-cpumsf.c local.hpp = be64toh(basicp->hpp); local 264 tools/perf/util/s390-cpumsf.c basic = &local; local 292 tools/perf/util/s390-cpumsf.c struct hws_diag_entry local; local 295 tools/perf/util/s390-cpumsf.c local.def = be16toh(diagp->def); local 296 tools/perf/util/s390-cpumsf.c local.I = word >> 32 & 0x1; local 297 tools/perf/util/s390-cpumsf.c diag = &local; local 326 tools/perf/util/s390-cpumsf.c struct hws_trailer_entry local; local 329 tools/perf/util/s390-cpumsf.c memset(&local, 0, sizeof(local)); local 330 tools/perf/util/s390-cpumsf.c local.f = flags >> 63 & 0x1; local 331 tools/perf/util/s390-cpumsf.c local.a = flags >> 62 & 0x1; local 332 tools/perf/util/s390-cpumsf.c local.t = flags >> 61 & 0x1; local 333 tools/perf/util/s390-cpumsf.c local.bsdes = be16toh((flags >> 16 & 0xffff)); local 334 tools/perf/util/s390-cpumsf.c local.dsdes = be16toh((flags & 0xffff)); local 335 tools/perf/util/s390-cpumsf.c memcpy(&local.timestamp, te->timestamp, sizeof(te->timestamp)); local 336 tools/perf/util/s390-cpumsf.c local.overflow = be64toh(te->overflow); local 337 tools/perf/util/s390-cpumsf.c local.clock_base = be64toh(te->progusage[0]) >> 63 & 1; local 338 tools/perf/util/s390-cpumsf.c local.progusage2 = be64toh(te->progusage2); local 339 tools/perf/util/s390-cpumsf.c te = &local; local 54 tools/testing/selftests/breakpoints/breakpoint_test.c int local, int global, int set) local 94 tools/testing/selftests/breakpoints/breakpoint_test.c if (local) { local 205 tools/testing/selftests/breakpoints/breakpoint_test.c int len, local, global, i; local 219 tools/testing/selftests/breakpoints/breakpoint_test.c for (local = 0; local < 2; local++) { local 221 tools/testing/selftests/breakpoints/breakpoint_test.c if (!local && !global) local 233 tools/testing/selftests/breakpoints/breakpoint_test.c for (local = 0; local < 2; local++) { local 235 tools/testing/selftests/breakpoints/breakpoint_test.c if (!local && !global) local 244 tools/testing/selftests/breakpoints/breakpoint_test.c for (local = 0; local < 2; local++) { local 246 tools/testing/selftests/breakpoints/breakpoint_test.c if (!local && !global) local 292 tools/testing/selftests/breakpoints/breakpoint_test.c static void launch_instruction_breakpoints(char *buf, int local, int global) local 298 tools/testing/selftests/breakpoints/breakpoint_test.c toggle_breakpoint(i, BP_X, 1, local, global, 1); local 301 tools/testing/selftests/breakpoints/breakpoint_test.c i, local, global); local 303 tools/testing/selftests/breakpoints/breakpoint_test.c toggle_breakpoint(i, BP_X, 1, local, global, 0); local 308 tools/testing/selftests/breakpoints/breakpoint_test.c int local, int global) local 320 tools/testing/selftests/breakpoints/breakpoint_test.c toggle_breakpoint(i, mode, len, local, global, 1); local 324 tools/testing/selftests/breakpoints/breakpoint_test.c mode_str, i, len, local, global); local 326 tools/testing/selftests/breakpoints/breakpoint_test.c toggle_breakpoint(i, mode, len, local, global, 0); local 335 tools/testing/selftests/breakpoints/breakpoint_test.c int len, local, global, i; local 344 tools/testing/selftests/breakpoints/breakpoint_test.c for (local = 0; local < 2; local++) { local 346 tools/testing/selftests/breakpoints/breakpoint_test.c if (!local && !global) local 348 tools/testing/selftests/breakpoints/breakpoint_test.c launch_instruction_breakpoints(buf, local, global); local 354 tools/testing/selftests/breakpoints/breakpoint_test.c for (local = 0; local < 2; local++) { local 356 tools/testing/selftests/breakpoints/breakpoint_test.c if (!local && !global) local 359 tools/testing/selftests/breakpoints/breakpoint_test.c local, global); local 366 tools/testing/selftests/breakpoints/breakpoint_test.c for (local = 0; local < 2; local++) { local 368 tools/testing/selftests/breakpoints/breakpoint_test.c if (!local && !global) local 371 tools/testing/selftests/breakpoints/breakpoint_test.c local, global); local 361 tools/testing/selftests/x86/fsgsbase.c static void set_gs_and_switch_to(unsigned long local, local 369 tools/testing/selftests/x86/fsgsbase.c if (local == HARD_ZERO) { local 371 tools/testing/selftests/x86/fsgsbase.c local = 0; local 375 tools/testing/selftests/x86/fsgsbase.c local, hard_zero ? " and clear gs" : "", remote); local 378 tools/testing/selftests/x86/fsgsbase.c if (syscall(SYS_arch_prctl, ARCH_SET_GS, local) != 0) local 383 tools/testing/selftests/x86/fsgsbase.c if (read_base(GS) != local) { local 391 tools/testing/selftests/x86/fsgsbase.c local = read_base(GS); local 410 tools/testing/selftests/x86/fsgsbase.c if (base == local && sel_pre_sched == sel_post_sched) { local 412 tools/testing/selftests/x86/fsgsbase.c sel_pre_sched, local); local 416 tools/testing/selftests/x86/fsgsbase.c sel_pre_sched, local, sel_post_sched, base); local 552 tools/testing/selftests/x86/fsgsbase.c for (int local = 0; local < 4; local++) { local 559 tools/testing/selftests/x86/fsgsbase.c bases_with_hard_zero[local], local 467 tools/testing/selftests/x86/test_vsyscall.c struct iovec local, remote; local 472 tools/testing/selftests/x86/test_vsyscall.c local.iov_base = buf; local 473 tools/testing/selftests/x86/test_vsyscall.c local.iov_len = 4096; local 476 tools/testing/selftests/x86/test_vsyscall.c ret = process_vm_readv(getpid(), &local, 1, &remote, 1, 0);