	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function fs_close
_fs_close:                              ## @fs_close
	.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	%rbx
	pushq	%rax
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %rbx
	movl	12(%rdi), %edi
	callq	_FS_DEV
	movq	%rax, %r15
	movq	%rbx, %rdi
	callq	_FS_VCC
	movq	%rax, %r14
	xorl	%eax, %eax
	callq	_func_enter
	movq	_ATM_VF_READY@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	8(%rbx), %rsi
	callq	_clear_bit
	movq	_FS_DEBUG_QSIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	24(%r15), %rdx
	leaq	L_.str(%rip), %rsi
	callq	_fs_dprintk
	movq	8(%r14), %rdx
	testq	%rdx, %rdx
	je	LBB0_2
## %bb.1:
	movq	_FS_DEBUG_QUEUE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.1(%rip), %rsi
	callq	_fs_dprintk
	leaq	4(%r14), %rdi
	callq	_interruptible_sleep_on
LBB0_2:
	leaq	4(%rbx), %rdi
	callq	_DO_DIRECTION
	testq	%rax, %rax
	je	LBB0_4
## %bb.3:
	movq	_QE_CMD_TX_PURGE_INH@GOTPCREL(%rip), %rax
	movl	(%r14), %edx
	orl	(%rax), %edx
	movq	%r15, %rdi
	movq	%r15, %rsi
	xorl	%ecx, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	_submit_command
	movl	(%r14), %edi
	movq	16(%r15), %rsi
	callq	_clear_bit
LBB0_4:
	movq	%rbx, %rdi
	callq	_DO_DIRECTION
	testq	%rax, %rax
	je	LBB0_7
## %bb.5:
	movq	_QE_CMD_RX_PURGE_INH@GOTPCREL(%rip), %rax
	movq	_QE_CMD_IMM_INQ@GOTPCREL(%rip), %rbx
	movl	(%rbx), %edx
	orl	(%rax), %edx
	orl	(%r14), %edx
	movq	%r15, %rdi
	movq	%r15, %rsi
	xorl	%ecx, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	_submit_command
	movq	8(%r15), %rax
	movslq	(%r14), %rcx
	movq	$0, (%rax,%rcx,8)
	movq	%r15, %rdi
	callq	_IS_FS50
	testq	%rax, %rax
	je	LBB0_7
## %bb.6:
	movq	_QE_CMD_REG_WR@GOTPCREL(%rip), %rax
	movl	(%rbx), %edx
	orl	(%rax), %edx
	movl	(%r14), %ecx
	subl	$-128, %ecx
	movq	%r15, %rdi
	movq	%r15, %rsi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	_submit_command
LBB0_7:
	movq	_FS_DEBUG_ALLOC@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.2(%rip), %rsi
	movq	%r14, %rdx
	callq	_fs_dprintk
	movq	%r14, %rdi
	callq	_kfree
	xorl	%eax, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_func_exit                      ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_ATM_VF_READY,4,2               ## @ATM_VF_READY
	.comm	_FS_DEBUG_QSIZE,4,2             ## @FS_DEBUG_QSIZE
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"--==**[%d]**==--"

	.comm	_FS_DEBUG_QUEUE,4,2             ## @FS_DEBUG_QUEUE
L_.str.1:                               ## @.str.1
	.asciz	"Waiting for skb %p to be sent.\n"

	.comm	_QE_CMD_TX_PURGE_INH,4,2        ## @QE_CMD_TX_PURGE_INH
	.comm	_QE_CMD_RX_PURGE_INH,4,2        ## @QE_CMD_RX_PURGE_INH
	.comm	_QE_CMD_IMM_INQ,4,2             ## @QE_CMD_IMM_INQ
	.comm	_QE_CMD_REG_WR,4,2              ## @QE_CMD_REG_WR
	.comm	_FS_DEBUG_ALLOC,4,2             ## @FS_DEBUG_ALLOC
L_.str.2:                               ## @.str.2
	.asciz	"Free vcc: %p\n"

	.no_dead_strip	_fs_close
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function fs_close
_fs_close:                              ; @fs_close
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-48]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.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
	mov	x21, x0
	ldr	w0, [x0, #12]
	bl	_FS_DEV
	mov	x20, x0
	mov	x0, x21
	bl	_FS_VCC
	mov	x19, x0
	bl	_func_enter
Lloh0:
	adrp	x8, _ATM_VF_READY@GOTPAGE
Lloh1:
	ldr	x8, [x8, _ATM_VF_READY@GOTPAGEOFF]
Lloh2:
	ldr	w0, [x8]
	add	x1, x21, #8
	bl	_clear_bit
Lloh3:
	adrp	x8, _FS_DEBUG_QSIZE@GOTPAGE
Lloh4:
	ldr	x8, [x8, _FS_DEBUG_QSIZE@GOTPAGEOFF]
Lloh5:
	ldr	w0, [x8]
	ldr	x2, [x20, #24]
Lloh6:
	adrp	x1, l_.str@PAGE
Lloh7:
	add	x1, x1, l_.str@PAGEOFF
	bl	_fs_dprintk
	ldr	x2, [x19, #8]
	cbz	x2, LBB0_2
; %bb.1:
Lloh8:
	adrp	x8, _FS_DEBUG_QUEUE@GOTPAGE
Lloh9:
	ldr	x8, [x8, _FS_DEBUG_QUEUE@GOTPAGEOFF]
Lloh10:
	ldr	w0, [x8]
Lloh11:
	adrp	x1, l_.str.1@PAGE
Lloh12:
	add	x1, x1, l_.str.1@PAGEOFF
	bl	_fs_dprintk
	add	x0, x19, #4
	bl	_interruptible_sleep_on
LBB0_2:
	add	x0, x21, #4
	bl	_DO_DIRECTION
	cbz	x0, LBB0_4
; %bb.3:
Lloh13:
	adrp	x8, _QE_CMD_TX_PURGE_INH@GOTPAGE
Lloh14:
	ldr	x8, [x8, _QE_CMD_TX_PURGE_INH@GOTPAGEOFF]
Lloh15:
	ldr	w8, [x8]
	ldr	w9, [x19]
	orr	w2, w9, w8
	mov	x0, x20
	mov	x1, x20
	mov	w3, #0
	mov	w4, #0
	mov	w5, #0
	bl	_submit_command
	ldr	w0, [x19]
	ldr	x1, [x20, #16]
	bl	_clear_bit
LBB0_4:
	mov	x0, x21
	bl	_DO_DIRECTION
	cbz	x0, LBB0_7
; %bb.5:
Lloh16:
	adrp	x8, _QE_CMD_RX_PURGE_INH@GOTPAGE
Lloh17:
	ldr	x8, [x8, _QE_CMD_RX_PURGE_INH@GOTPAGEOFF]
Lloh18:
	ldr	w8, [x8]
Lloh19:
	adrp	x21, _QE_CMD_IMM_INQ@GOTPAGE
Lloh20:
	ldr	x21, [x21, _QE_CMD_IMM_INQ@GOTPAGEOFF]
	ldr	w9, [x21]
	orr	w8, w9, w8
	ldr	w9, [x19]
	orr	w2, w8, w9
	mov	x0, x20
	mov	x1, x20
	mov	w3, #0
	mov	w4, #0
	mov	w5, #0
	bl	_submit_command
	ldr	x8, [x20, #8]
	ldrsw	x9, [x19]
	str	xzr, [x8, x9, lsl #3]
	mov	x0, x20
	bl	_IS_FS50
	cbz	x0, LBB0_7
; %bb.6:
Lloh21:
	adrp	x8, _QE_CMD_REG_WR@GOTPAGE
Lloh22:
	ldr	x8, [x8, _QE_CMD_REG_WR@GOTPAGEOFF]
Lloh23:
	ldr	w8, [x8]
	ldr	w9, [x21]
	orr	w2, w9, w8
	ldr	w8, [x19]
	add	w3, w8, #128
	mov	x0, x20
	mov	x1, x20
	mov	w4, #-1
	mov	w5, #0
	bl	_submit_command
LBB0_7:
Lloh24:
	adrp	x8, _FS_DEBUG_ALLOC@GOTPAGE
Lloh25:
	ldr	x8, [x8, _FS_DEBUG_ALLOC@GOTPAGEOFF]
Lloh26:
	ldr	w0, [x8]
Lloh27:
	adrp	x1, l_.str.2@PAGE
Lloh28:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x2, x19
	bl	_fs_dprintk
	mov	x0, x19
	bl	_kfree
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_func_exit
	.loh AdrpAdd	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpLdrGot	Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpAdd	Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.cfi_endproc
                                        ; -- End function
	.comm	_ATM_VF_READY,4,2               ; @ATM_VF_READY
	.comm	_FS_DEBUG_QSIZE,4,2             ; @FS_DEBUG_QSIZE
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"--==**[%d]**==--"

	.comm	_FS_DEBUG_QUEUE,4,2             ; @FS_DEBUG_QUEUE
l_.str.1:                               ; @.str.1
	.asciz	"Waiting for skb %p to be sent.\n"

	.comm	_QE_CMD_TX_PURGE_INH,4,2        ; @QE_CMD_TX_PURGE_INH
	.comm	_QE_CMD_RX_PURGE_INH,4,2        ; @QE_CMD_RX_PURGE_INH
	.comm	_QE_CMD_IMM_INQ,4,2             ; @QE_CMD_IMM_INQ
	.comm	_QE_CMD_REG_WR,4,2              ; @QE_CMD_REG_WR
	.comm	_FS_DEBUG_ALLOC,4,2             ; @FS_DEBUG_ALLOC
l_.str.2:                               ; @.str.2
	.asciz	"Free vcc: %p\n"

	.no_dead_strip	_fs_close
.subsections_via_symbols
