	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_il3945_request_scan            ## -- Begin function il3945_request_scan
	.p2align	4, 0x90
_il3945_request_scan:                   ## @il3945_request_scan
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$56, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %r13
	movq	%rdi, %r15
	movl	$88, -96(%rbp)
	movq	$0, -88(%rbp)
	movq	_CMD_SIZE_HUGE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -80(%rbp)
	movq	_C_SCAN@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -76(%rbp)
	addq	$32, %rdi
	callq	_lockdep_assert_held
	movq	24(%r15), %r14
	testq	%r14, %r14
	jne	LBB0_3
## %bb.1:
	movq	_IL_MAX_SCAN_SIZE@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	addq	$88, %rdi
	movq	_GFP_KERNEL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_kmalloc
	movq	%rax, %r14
	movq	%rax, 24(%r15)
	testq	%rax, %rax
	je	LBB0_2
LBB0_3:
	movq	_IL_MAX_SCAN_SIZE@GOTPCREL(%rip), %rax
	movq	(%rax), %rdx
	addq	$88, %rdx
	movq	%r14, %rdi
	xorl	%esi, %esi
	callq	_memset
	movq	_IL_PLCP_QUIET_THRESH@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 84(%r14)
	movq	_IL_ACTIVE_QUIET_TIME@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 80(%r14)
	movq	%r15, %rdi
	callq	_il_is_associated
	testq	%rax, %rax
	je	LBB0_5
## %bb.4:
	leaq	L_.str.1(%rip), %rdi
	callq	_D_INFO
	movl	4(%r13), %r12d
	movq	$0, 64(%r14)
	movl	$204800, %edi                   ## imm = 0x32000
	callq	_cpu_to_le32
	movq	%rax, 72(%r14)
	testl	%r12d, %r12d
	movl	$100, %eax
	cmovel	%eax, %r12d
	movl	$100, %eax
	xorl	%edx, %edx
	idivl	%r12d
	movl	%edx, %ebx
	shll	$24, %eax
	shll	$10, %ebx
	orl	%eax, %ebx
	movl	%ebx, %edi
	callq	_cpu_to_le32
	movq	%rax, 64(%r14)
	leaq	L_.str.2(%rip), %rdi
	movl	%ebx, %esi
	movl	%r12d, %edx
	xorl	%eax, %eax
	callq	_D_SCAN
LBB0_5:
	movq	8(%r15), %rax
	movl	(%rax), %r12d
	testl	%r12d, %r12d
	movq	%r13, -64(%rbp)                 ## 8-byte Spill
	movl	%r12d, -52(%rbp)                ## 4-byte Spill
	je	LBB0_13
## %bb.6:
	leaq	L_.str.3(%rip), %rdi
	xorl	%ebx, %ebx
	xorl	%eax, %eax
	callq	_D_SCAN
	movq	8(%r15), %rax
	cmpl	$0, (%rax)
	jle	LBB0_7
## %bb.8:
	movl	$1, %ecx
	movq	%rcx, -48(%rbp)                 ## 8-byte Spill
	movq	%r14, -72(%rbp)                 ## 8-byte Spill
	movq	%r15, %r13
	movl	$8, %r14d
	xorl	%r15d, %r15d
	xorl	%r12d, %r12d
	jmp	LBB0_9
	.p2align	4, 0x90
LBB0_11:                                ##   in Loop: Header=BB0_9 Depth=1
	incq	%r15
	movslq	(%rax), %rcx
	addq	$16, %r14
	cmpq	%rcx, %r15
	jge	LBB0_12
LBB0_9:                                 ## =>This Inner Loop Header: Depth=1
	movq	16(%rax), %rcx
	movq	-8(%rcx,%r14), %rdx
	testq	%rdx, %rdx
	je	LBB0_11
## %bb.10:                              ##   in Loop: Header=BB0_9 Depth=1
	movq	_WLAN_EID_SSID@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	-72(%rbp), %rsi                 ## 8-byte Reload
	movq	56(%rsi), %rsi
	movslq	%ebx, %rbx
	leaq	(%rbx,%rbx,2), %rdi
	movl	%eax, 16(%rsi,%rdi,8)
	movq	%rdx, 8(%rsi,%rdi,8)
	movl	(%rsi,%rdi,8), %edi
	movl	(%rcx,%r14), %esi
	callq	_memcpy
	incq	%r12
	incl	%ebx
	movq	8(%r13), %rax
	jmp	LBB0_11
LBB0_13:
	movq	%r13, %rbx
	leaq	L_.str.4(%rip), %rdi
	xorl	%eax, %eax
	movq	%rax, -48(%rbp)                 ## 8-byte Spill
	xorl	%eax, %eax
	callq	_D_SCAN
	jmp	LBB0_14
LBB0_12:
	movq	%r13, %r15
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
	movq	-72(%rbp), %r14                 ## 8-byte Reload
	jmp	LBB0_15
LBB0_7:
	movl	$1, %eax
	movq	%rax, -48(%rbp)                 ## 8-byte Spill
	movq	%r13, %rbx
LBB0_14:
	xorl	%r12d, %r12d
LBB0_15:
	movq	_TX_CMD_FLG_SEQ_CTL_MSK@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 36(%r14)
	movl	16(%r15), %eax
	movl	%eax, 32(%r14)
	movq	_TX_CMD_LIFE_TIME_INFINITE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 28(%r14)
	movl	(%r15), %r13d
	cmpl	$128, %r13d
	je	LBB0_16
## %bb.17:
	cmpl	$129, %r13d
	jne	LBB0_28
## %bb.18:
	movq	_RXON_FLG_BAND_24G_MSK@GOTPCREL(%rip), %rax
	movq	_RXON_FLG_AUTO_DETECT_MSK@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	orl	(%rax), %ecx
	movl	%ecx, (%r14)
	movq	_RATE_1M_PLCP@GOTPCREL(%rip), %rax
	jmp	LBB0_19
LBB0_16:
	movq	_RATE_6M_PLCP@GOTPCREL(%rip), %rax
LBB0_19:
	movl	(%rax), %eax
	movl	%eax, 24(%r14)
	cmpl	$0, -52(%rbp)                   ## 4-byte Folded Reload
	jne	LBB0_20
## %bb.21:
	movq	_IL_GOOD_CRC_TH_NEVER@GOTPCREL(%rip), %rax
	jmp	LBB0_22
LBB0_28:
	leaq	L_.str.5(%rip), %rdi
	callq	_IL_WARN
	movq	_EIO@GOTPCREL(%rip), %rax
	xorl	%ebx, %ebx
	subl	(%rax), %ebx
	jmp	LBB0_27
LBB0_20:
	movq	_IL_GOOD_CRC_TH_DEFAULT@GOTPCREL(%rip), %rax
LBB0_22:
	movl	(%rax), %eax
	movl	%eax, 48(%r14)
	movq	40(%r14), %rsi
	movl	(%rbx), %edx
	movq	8(%r15), %rax
	movl	4(%rax), %r8d
	movl	8(%rax), %ecx
	movq	_IL_MAX_SCAN_SIZE@GOTPCREL(%rip), %rax
	movq	(%rax), %r9
	addq	$-88, %r9
	movq	%r15, %rdi
	callq	_il_fill_probe_req
	movq	%r14, %rbx
	movl	%eax, %r14d
	movl	%eax, %edi
	callq	_cpu_to_le16
	movq	%rax, 16(%rbx)
	movq	%r15, %rdi
	callq	_il3945_get_antenna_flags
	orl	%eax, (%rbx)
	movslq	%r14d, %r8
	shlq	$2, %r8
	addq	40(%rbx), %r8
	movq	%r15, %rdi
	movl	%r13d, %esi
	movq	-48(%rbp), %rdx                 ## 8-byte Reload
                                        ## kill: def $edx killed $edx killed $rdx
	movq	%r12, %rcx
	movq	-64(%rbp), %r9                  ## 8-byte Reload
	callq	_il3945_get_channels_for_scan
	movl	%eax, 4(%rbx)
	testl	%eax, %eax
	je	LBB0_23
## %bb.24:
	movq	16(%rbx), %rdi
	callq	_le16_to_cpu
	movl	4(%rbx), %ecx
	leal	(%rax,%rcx,4), %edi
	addl	$88, %edi
	movl	%edi, -96(%rbp)
	movq	%rbx, -88(%rbp)
	callq	_cpu_to_le16
	movq	%rax, 8(%rbx)
	movq	%r15, %rbx
	movq	_S_SCAN_HW@GOTPCREL(%rip), %r15
	movl	(%r15), %edi
	leaq	4(%rbx), %r14
	movq	%r14, %rsi
	callq	_set_bit
	leaq	-96(%rbp), %rsi
	movq	%rbx, %rdi
	callq	_il_send_cmd_sync
	testl	%eax, %eax
	je	LBB0_25
## %bb.26:
	movl	%eax, %ebx
	movl	(%r15), %edi
	movq	%r14, %rsi
	callq	_clear_bit
	jmp	LBB0_27
LBB0_23:
	leaq	L_.str.6(%rip), %rdi
	xorl	%ebx, %ebx
	xorl	%esi, %esi
	xorl	%eax, %eax
	callq	_D_SCAN
	movq	_EIO@GOTPCREL(%rip), %rax
	subl	(%rax), %ebx
	jmp	LBB0_27
LBB0_2:
	leaq	L_.str(%rip), %rdi
	xorl	%ebx, %ebx
	xorl	%eax, %eax
	callq	_D_SCAN
	movq	_ENOMEM@GOTPCREL(%rip), %rax
	subl	(%rax), %ebx
	jmp	LBB0_27
LBB0_25:
	xorl	%ebx, %ebx
LBB0_27:
	movl	%ebx, %eax
	addq	$56, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_CMD_SIZE_HUGE,4,2              ## @CMD_SIZE_HUGE
	.comm	_C_SCAN,4,2                     ## @C_SCAN
	.comm	_IL_MAX_SCAN_SIZE,8,3           ## @IL_MAX_SCAN_SIZE
	.comm	_GFP_KERNEL,4,2                 ## @GFP_KERNEL
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Fail to allocate scan memory\n"

	.comm	_ENOMEM,4,2                     ## @ENOMEM
	.comm	_IL_PLCP_QUIET_THRESH,4,2       ## @IL_PLCP_QUIET_THRESH
	.comm	_IL_ACTIVE_QUIET_TIME,4,2       ## @IL_ACTIVE_QUIET_TIME
L_.str.1:                               ## @.str.1
	.asciz	"Scanning while associated...\n"

L_.str.2:                               ## @.str.2
	.asciz	"suspend_time 0x%X beacon interval %d\n"

L_.str.3:                               ## @.str.3
	.asciz	"Kicking off active scan\n"

	.comm	_WLAN_EID_SSID,4,2              ## @WLAN_EID_SSID
L_.str.4:                               ## @.str.4
	.asciz	"Kicking off passive scan.\n"

	.comm	_TX_CMD_FLG_SEQ_CTL_MSK,4,2     ## @TX_CMD_FLG_SEQ_CTL_MSK
	.comm	_TX_CMD_LIFE_TIME_INFINITE,4,2  ## @TX_CMD_LIFE_TIME_INFINITE
	.comm	_RXON_FLG_BAND_24G_MSK,4,2      ## @RXON_FLG_BAND_24G_MSK
	.comm	_RXON_FLG_AUTO_DETECT_MSK,4,2   ## @RXON_FLG_AUTO_DETECT_MSK
	.comm	_RATE_1M_PLCP,4,2               ## @RATE_1M_PLCP
	.comm	_RATE_6M_PLCP,4,2               ## @RATE_6M_PLCP
L_.str.5:                               ## @.str.5
	.asciz	"Invalid scan band\n"

	.comm	_EIO,4,2                        ## @EIO
	.comm	_IL_GOOD_CRC_TH_DEFAULT,4,2     ## @IL_GOOD_CRC_TH_DEFAULT
	.comm	_IL_GOOD_CRC_TH_NEVER,4,2       ## @IL_GOOD_CRC_TH_NEVER
L_.str.6:                               ## @.str.6
	.asciz	"channel count %d\n"

	.comm	_S_SCAN_HW,4,2                  ## @S_SCAN_HW
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_il3945_request_scan            ; -- Begin function il3945_request_scan
	.p2align	2
_il3945_request_scan:                   ; @il3945_request_scan
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #144
	.cfi_def_cfa_offset 144
	stp	x28, x27, [sp, #48]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #64]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #80]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #96]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #112]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #128]            ; 16-byte Folded Spill
	add	x29, sp, #128
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	mov	x20, x1
	mov	x19, x0
	mov	w8, #88
	str	w8, [sp, #24]
	str	xzr, [sp, #32]
Lloh0:
	adrp	x8, _CMD_SIZE_HUGE@GOTPAGE
Lloh1:
	ldr	x8, [x8, _CMD_SIZE_HUGE@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
Lloh3:
	adrp	x9, _C_SCAN@GOTPAGE
Lloh4:
	ldr	x9, [x9, _C_SCAN@GOTPAGEOFF]
Lloh5:
	ldr	w9, [x9]
	stp	w8, w9, [sp, #40]
	add	x0, x0, #32
	bl	_lockdep_assert_held
	ldr	x21, [x19, #24]
Lloh6:
	adrp	x25, _IL_MAX_SCAN_SIZE@GOTPAGE
Lloh7:
	ldr	x25, [x25, _IL_MAX_SCAN_SIZE@GOTPAGEOFF]
	cbnz	x21, LBB0_2
; %bb.1:
	ldr	x8, [x25]
	add	x0, x8, #88
Lloh8:
	adrp	x8, _GFP_KERNEL@GOTPAGE
Lloh9:
	ldr	x8, [x8, _GFP_KERNEL@GOTPAGEOFF]
Lloh10:
	ldr	w1, [x8]
	bl	_kmalloc
	mov	x21, x0
	str	x0, [x19, #24]
	cbz	x0, LBB0_23
LBB0_2:
	ldr	x8, [x25]
	add	x2, x8, #88
	mov	x0, x21
	mov	w1, #0
	bl	_memset
Lloh11:
	adrp	x8, _IL_PLCP_QUIET_THRESH@GOTPAGE
Lloh12:
	ldr	x8, [x8, _IL_PLCP_QUIET_THRESH@GOTPAGEOFF]
Lloh13:
	ldr	w8, [x8]
Lloh14:
	adrp	x9, _IL_ACTIVE_QUIET_TIME@GOTPAGE
Lloh15:
	ldr	x9, [x9, _IL_ACTIVE_QUIET_TIME@GOTPAGEOFF]
Lloh16:
	ldr	w9, [x9]
	stp	w9, w8, [x21, #80]
	mov	x0, x19
	bl	_il_is_associated
	cbz	x0, LBB0_4
; %bb.3:
Lloh17:
	adrp	x0, l_.str.1@PAGE
Lloh18:
	add	x0, x0, l_.str.1@PAGEOFF
	bl	_D_INFO
	ldr	w22, [x20, #4]
	str	xzr, [x21, #64]
	mov	w0, #8192
	movk	w0, #3, lsl #16
	bl	_cpu_to_le32
	str	x0, [x21, #72]
	mov	w8, #100
	cmp	w22, #0
	csel	w23, w8, w22, eq
	sdiv	w9, w8, w23
	msub	w8, w9, w23, w8
	mov	w10, #64512
	movk	w10, #32527, lsl #16
	and	w8, w10, w8, lsl #10
	orr	w22, w8, w9, lsl #24
	mov	x0, x22
	bl	_cpu_to_le32
	str	x0, [x21, #64]
	stp	x22, x23, [sp]
Lloh19:
	adrp	x0, l_.str.2@PAGE
Lloh20:
	add	x0, x0, l_.str.2@PAGEOFF
	bl	_D_SCAN
LBB0_4:
	ldr	x8, [x19, #8]
	ldr	w26, [x8]
	cbz	w26, LBB0_11
; %bb.5:
Lloh21:
	adrp	x0, l_.str.3@PAGE
Lloh22:
	add	x0, x0, l_.str.3@PAGEOFF
	bl	_D_SCAN
	ldr	x8, [x19, #8]
	ldr	w9, [x8]
	cmp	w9, #1
	b.lt	LBB0_12
; %bb.6:
	mov	x23, #0
	mov	x24, #0
	mov	w27, #0
	mov	x22, #0
Lloh23:
	adrp	x28, _WLAN_EID_SSID@GOTPAGE
Lloh24:
	ldr	x28, [x28, _WLAN_EID_SSID@GOTPAGEOFF]
	mov	w25, #24
	b	LBB0_8
LBB0_7:                                 ;   in Loop: Header=BB0_8 Depth=1
	add	x24, x24, #1
	ldrsw	x9, [x8]
	add	x23, x23, #16
	cmp	x24, x9
	b.ge	LBB0_10
LBB0_8:                                 ; =>This Inner Loop Header: Depth=1
	ldr	x9, [x8, #16]
	ldr	x2, [x9, x23]
	cbz	x2, LBB0_7
; %bb.9:                                ;   in Loop: Header=BB0_8 Depth=1
	ldr	w8, [x28]
	ldr	x10, [x21, #56]
	smaddl	x10, w27, w25, x10
	str	w8, [x10, #16]
	str	x2, [x10, #8]
	ldr	w0, [x10]
	add	x8, x9, x23
	ldr	w1, [x8, #8]
	bl	_memcpy
	add	x22, x22, #1
	add	w27, w27, #1
	ldr	x8, [x19, #8]
	b	LBB0_7
LBB0_10:
	mov	w23, #1
Lloh25:
	adrp	x25, _IL_MAX_SCAN_SIZE@GOTPAGE
Lloh26:
	ldr	x25, [x25, _IL_MAX_SCAN_SIZE@GOTPAGEOFF]
	b	LBB0_13
LBB0_11:
Lloh27:
	adrp	x0, l_.str.4@PAGE
Lloh28:
	add	x0, x0, l_.str.4@PAGEOFF
	bl	_D_SCAN
	mov	w23, #0
	mov	x22, #0
	b	LBB0_13
LBB0_12:
	mov	x22, #0
	mov	w23, #1
LBB0_13:
Lloh29:
	adrp	x8, _TX_CMD_FLG_SEQ_CTL_MSK@GOTPAGE
Lloh30:
	ldr	x8, [x8, _TX_CMD_FLG_SEQ_CTL_MSK@GOTPAGEOFF]
Lloh31:
	ldr	w8, [x8]
	str	w8, [x21, #36]
Lloh32:
	adrp	x8, _TX_CMD_LIFE_TIME_INFINITE@GOTPAGE
Lloh33:
	ldr	x8, [x8, _TX_CMD_LIFE_TIME_INFINITE@GOTPAGEOFF]
	ldr	w9, [x19, #16]
Lloh34:
	ldr	w8, [x8]
	stp	w8, w9, [x21, #28]
	ldr	w24, [x19]
	cmp	w24, #128
	b.eq	LBB0_16
; %bb.14:
	cmp	w24, #129
	b.ne	LBB0_20
; %bb.15:
Lloh35:
	adrp	x8, _RXON_FLG_BAND_24G_MSK@GOTPAGE
Lloh36:
	ldr	x8, [x8, _RXON_FLG_BAND_24G_MSK@GOTPAGEOFF]
Lloh37:
	adrp	x9, _RXON_FLG_AUTO_DETECT_MSK@GOTPAGE
Lloh38:
	ldr	x9, [x9, _RXON_FLG_AUTO_DETECT_MSK@GOTPAGEOFF]
Lloh39:
	ldr	w8, [x8]
Lloh40:
	ldr	w9, [x9]
	orr	w8, w9, w8
	str	w8, [x21]
Lloh41:
	adrp	x8, _RATE_1M_PLCP@GOTPAGE
Lloh42:
	ldr	x8, [x8, _RATE_1M_PLCP@GOTPAGEOFF]
	b	LBB0_17
LBB0_16:
Lloh43:
	adrp	x8, _RATE_6M_PLCP@GOTPAGE
Lloh44:
	ldr	x8, [x8, _RATE_6M_PLCP@GOTPAGEOFF]
LBB0_17:
	ldr	w8, [x8]
Lloh45:
	adrp	x9, _IL_GOOD_CRC_TH_DEFAULT@GOTPAGE
Lloh46:
	ldr	x9, [x9, _IL_GOOD_CRC_TH_DEFAULT@GOTPAGEOFF]
Lloh47:
	adrp	x10, _IL_GOOD_CRC_TH_NEVER@GOTPAGE
Lloh48:
	ldr	x10, [x10, _IL_GOOD_CRC_TH_NEVER@GOTPAGEOFF]
	str	w8, [x21, #24]
	cmp	w26, #0
	csel	x8, x10, x9, eq
	ldr	w8, [x8]
	str	w8, [x21, #48]
	ldr	x1, [x21, #40]
	ldr	w2, [x20]
	ldr	x8, [x19, #8]
	ldp	w4, w3, [x8, #4]
	ldr	x8, [x25]
	sub	x5, x8, #88
	mov	x0, x19
	bl	_il_fill_probe_req
	mov	x25, x0
	bl	_cpu_to_le16
	str	x0, [x21, #16]
	mov	x0, x19
	bl	_il3945_get_antenna_flags
	ldr	w8, [x21]
	orr	w8, w8, w0
	str	w8, [x21]
	ldr	x8, [x21, #40]
	add	x4, x8, w25, sxtw #2
	mov	x0, x19
	mov	x1, x24
	mov	x2, x23
	mov	x3, x22
	mov	x5, x20
	bl	_il3945_get_channels_for_scan
	str	w0, [x21, #4]
	cbz	w0, LBB0_21
; %bb.18:
	ldr	x0, [x21, #16]
	bl	_le16_to_cpu
	ldr	w8, [x21, #4]
	add	w8, w0, w8, lsl #2
	add	w0, w8, #88
	str	w0, [sp, #24]
	str	x21, [sp, #32]
	bl	_cpu_to_le16
	str	x0, [x21, #8]
Lloh49:
	adrp	x21, _S_SCAN_HW@GOTPAGE
Lloh50:
	ldr	x21, [x21, _S_SCAN_HW@GOTPAGEOFF]
	ldr	w0, [x21]
	add	x20, x19, #4
	mov	x1, x20
	bl	_set_bit
	add	x1, sp, #24
	mov	x0, x19
	bl	_il_send_cmd_sync
	mov	x19, x0
	cbz	w0, LBB0_25
; %bb.19:
	ldr	w0, [x21]
	mov	x1, x20
	bl	_clear_bit
	b	LBB0_25
LBB0_20:
Lloh51:
	adrp	x0, l_.str.5@PAGE
Lloh52:
	add	x0, x0, l_.str.5@PAGEOFF
	bl	_IL_WARN
	b	LBB0_22
LBB0_21:
	str	xzr, [sp]
Lloh53:
	adrp	x0, l_.str.6@PAGE
Lloh54:
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_D_SCAN
LBB0_22:
Lloh55:
	adrp	x8, _EIO@GOTPAGE
Lloh56:
	ldr	x8, [x8, _EIO@GOTPAGEOFF]
	b	LBB0_24
LBB0_23:
Lloh57:
	adrp	x0, l_.str@PAGE
Lloh58:
	add	x0, x0, l_.str@PAGEOFF
	bl	_D_SCAN
Lloh59:
	adrp	x8, _ENOMEM@GOTPAGE
Lloh60:
	ldr	x8, [x8, _ENOMEM@GOTPAGEOFF]
LBB0_24:
	ldr	w8, [x8]
	neg	w19, w8
LBB0_25:
	mov	x0, x19
	ldp	x29, x30, [sp, #128]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #112]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #96]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #80]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #64]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #48]             ; 16-byte Folded Reload
	add	sp, sp, #144
	ret
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpAdd	Lloh19, Lloh20
	.loh AdrpAdd	Lloh17, Lloh18
	.loh AdrpAdd	Lloh21, Lloh22
	.loh AdrpLdrGot	Lloh23, Lloh24
	.loh AdrpLdrGot	Lloh25, Lloh26
	.loh AdrpAdd	Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGot	Lloh41, Lloh42
	.loh AdrpLdrGotLdr	Lloh37, Lloh38, Lloh40
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh39
	.loh AdrpLdrGot	Lloh43, Lloh44
	.loh AdrpLdrGot	Lloh47, Lloh48
	.loh AdrpLdrGot	Lloh45, Lloh46
	.loh AdrpLdrGot	Lloh49, Lloh50
	.loh AdrpAdd	Lloh51, Lloh52
	.loh AdrpAdd	Lloh53, Lloh54
	.loh AdrpLdrGot	Lloh55, Lloh56
	.loh AdrpLdrGot	Lloh59, Lloh60
	.loh AdrpAdd	Lloh57, Lloh58
	.cfi_endproc
                                        ; -- End function
	.comm	_CMD_SIZE_HUGE,4,2              ; @CMD_SIZE_HUGE
	.comm	_C_SCAN,4,2                     ; @C_SCAN
	.comm	_IL_MAX_SCAN_SIZE,8,3           ; @IL_MAX_SCAN_SIZE
	.comm	_GFP_KERNEL,4,2                 ; @GFP_KERNEL
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Fail to allocate scan memory\n"

	.comm	_ENOMEM,4,2                     ; @ENOMEM
	.comm	_IL_PLCP_QUIET_THRESH,4,2       ; @IL_PLCP_QUIET_THRESH
	.comm	_IL_ACTIVE_QUIET_TIME,4,2       ; @IL_ACTIVE_QUIET_TIME
l_.str.1:                               ; @.str.1
	.asciz	"Scanning while associated...\n"

l_.str.2:                               ; @.str.2
	.asciz	"suspend_time 0x%X beacon interval %d\n"

l_.str.3:                               ; @.str.3
	.asciz	"Kicking off active scan\n"

	.comm	_WLAN_EID_SSID,4,2              ; @WLAN_EID_SSID
l_.str.4:                               ; @.str.4
	.asciz	"Kicking off passive scan.\n"

	.comm	_TX_CMD_FLG_SEQ_CTL_MSK,4,2     ; @TX_CMD_FLG_SEQ_CTL_MSK
	.comm	_TX_CMD_LIFE_TIME_INFINITE,4,2  ; @TX_CMD_LIFE_TIME_INFINITE
	.comm	_RXON_FLG_BAND_24G_MSK,4,2      ; @RXON_FLG_BAND_24G_MSK
	.comm	_RXON_FLG_AUTO_DETECT_MSK,4,2   ; @RXON_FLG_AUTO_DETECT_MSK
	.comm	_RATE_1M_PLCP,4,2               ; @RATE_1M_PLCP
	.comm	_RATE_6M_PLCP,4,2               ; @RATE_6M_PLCP
l_.str.5:                               ; @.str.5
	.asciz	"Invalid scan band\n"

	.comm	_EIO,4,2                        ; @EIO
	.comm	_IL_GOOD_CRC_TH_DEFAULT,4,2     ; @IL_GOOD_CRC_TH_DEFAULT
	.comm	_IL_GOOD_CRC_TH_NEVER,4,2       ; @IL_GOOD_CRC_TH_NEVER
l_.str.6:                               ; @.str.6
	.asciz	"channel count %d\n"

	.comm	_S_SCAN_HW,4,2                  ; @S_SCAN_HW
.subsections_via_symbols
