// File: /workspace/github_c_makefile_star2_O3/seuscq[P]rtk_hciattach/hciattach_rtk.c
// Function: h5_complete_rx_pkt
static void h5_complete_rx_pkt(rtk_hw_cfg_t * h5)
{
	int pass_up = 1;
	uint8_t *h5_hdr = NULL;

	h5_hdr = (uint8_t *) (h5->rx_skb->data);
	if (H5_HDR_RELIABLE(h5_hdr)) {
		RS_DBG("Received reliable seqno %u from card", h5->rxseq_txack);
		h5->rxseq_txack = H5_HDR_SEQ(h5_hdr) + 1;
		h5->rxseq_txack %= 8;
		h5->is_txack_req = 1;
	}

	h5->rxack = H5_HDR_ACK(h5_hdr);

	switch (H5_HDR_PKT_TYPE(h5_hdr)) {
	case HCI_ACLDATA_PKT:
	case HCI_EVENT_PKT:
	case HCI_SCODATA_PKT:
	case HCI_COMMAND_PKT:
	case H5_LINK_CTL_PKT:
		pass_up = 1;
		break;

	default:
		pass_up = 0;
		break;
	}

	h5_remove_acked_pkt(h5);

	if (pass_up) {
		skb_pull(h5->rx_skb, H5_HDR_SIZE);
		hci_recv_frame(h5->rx_skb);
	} else {
		skb_free(h5->rx_skb);
	}

	h5->rx_state = H5_W4_PKT_DELIMITER;
	h5->rx_skb = NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq 0x7488(%rip), %rbx      # 0xf6f8
movb 0x8(%rbx), %al
testb %al, %al
jns 0x8297
cmpb $0x0, 0x7062(%rip)      # 0xf2e0
jne 0x8583
leal 0x1(%rax), %ecx
andb $0x7, %cl
movb %cl, 0x7450(%rip)       # 0xf6e0
movb $0x1, 0x744c(%rip)      # 0xf6e3
shrb $0x3, %al
andb $0x7, %al
movb %al, 0x743f(%rip)       # 0xf6e1
movzbl 0x9(%rbx), %eax
andl $0xf, %eax
leal -0x1(%rax), %ecx
cmpl $0x4, %ecx
jb 0x82ba
cmpl $0xf, %eax
jne 0x8477
callq 0x883b
movq 0x7432(%rip), %rsi      # 0xf6f8
movl 0x4(%rsi), %edx
addl $-0x4, %edx
movl %edx, 0x4(%rsi)
leaq 0x8(%rsi), %rdi
addq $0xc, %rsi
callq 0x21d0
movq 0x7415(%rip), %rbx      # 0xf6f8
movl 0x740b(%rip), %eax      # 0xf6f4
cmpq $0x3, %rax
ja 0x8674
leaq 0x10ea(%rip), %rcx      # 0x93e4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpw $0x7e01, 0x8(%rbx)      # imm = 0x7E01
je 0x84ad
cmpw $0x7d02, 0x8(%rbx)      # imm = 0x7D02
jne 0x86d8
cmpb $0x0, 0x6fbe(%rip)      # 0xf2e0
jne 0x8787
movl $0x1, 0x73c2(%rip)      # 0xf6f4
jmp 0x86d8
cmpb $0xe, 0x8(%rbx)
jne 0x86a3
leaq 0x8(%rbx), %r15
movl 0x4(%rbx), %r13d
addl $-0x2, %r13d
movl %r13d, 0x4(%rbx)
leaq 0xa(%rbx), %rsi
movq %r15, %rdi
movq %r13, %rdx
callq 0x21d0
movzwl 0x9(%rbx), %r12d
cmpb $0x0, 0x6f74(%rip)      # 0xf2e0
jne 0x8704
leaq 0x9(%rbx), %r14
addl $-0x3, %r13d
movl %r13d, 0x4(%rbx)
leaq 0xb(%rbx), %rsi
movq %r15, %rdi
movq %r13, %rdx
callq 0x21d0
cmpl $0xfc16, %r12d          # imm = 0xFC16
jle 0x8532
cmpl $0xfc6d, %r12d          # imm = 0xFC6D
je 0x85b1
cmpl $0xfc61, %r12d          # imm = 0xFC61
je 0x85ed
cmpl $0xfc17, %r12d          # imm = 0xFC17
jne 0x86a3
cmpb $0x0, 0x6f18(%rip)      # 0xf2e0
jne 0x8824
movq 0x732b(%rip), %rdi      # 0xf700
callq 0x2030
movq $0x0, 0x731b(%rip) # 0xf700
movl $0x3, 0x7305(%rip)      # 0xf6f4
jmp 0x869c
movzbl 0x8(%rbx), %ecx
cmpl $0xe, %ecx
jne 0x8488
movzbl 0xe(%rbx), %ecx
movl %ecx, 0x732d(%rip)      # 0xf738
cmpb $0x0, 0x6ece(%rip)      # 0xf2e0
jne 0x872f
testb %cl, %cl
jns 0x86d8
andl $0xffffff7f, %ecx       # imm = 0xFFFFFF7F
movl %ecx, 0x730c(%rip)      # 0xf738
movl $0x4, 0x72be(%rip)      # 0xf6f4
jmp 0x86d8
cmpw $0x7e01, 0x8(%rbx)      # imm = 0x7E01
je 0x84d6
cmpw $0xfc03, 0x8(%rbx)      # imm = 0xFC03
je 0x8504
cmpw $0x7b04, 0x8(%rbx)      # imm = 0x7B04
movb 0x6e81(%rip), %al       # 0xf2e0
je 0x856c
testb %al, %al
je 0x86cd
callq 0x3ded
jmp 0x86cd
callq 0x883b
movq 0x7275(%rip), %rdi      # 0xf6f8
jmp 0x86db
cmpb $0x0, 0x6e51(%rip)      # 0xf2e0
jne 0x8759
movq %rbx, %rdi
callq 0x2030
movl 0x727d(%rip), %edi      # 0xf720
callq 0x6a11
jmp 0x86e0
cmpb $0x0, 0x6e2c(%rip)      # 0xf2e0
jne 0x877d
movl 0x7260(%rip), %edi      # 0xf720
leaq 0x2cf9(%rip), %rsi      # 0xb1c0
movl $0x8, %edx
callq 0x2070
jmp 0x86d8
movl 0x7244(%rip), %edi      # 0xf720
leaq 0x2cdd(%rip), %rsi      # 0xb1c0
movl $0x8, %edx
callq 0x2070
cmpb $0x0, 0x6dec(%rip)      # 0xf2e0
je 0x86d8
callq 0x3e59
jmp 0x86d8
movl 0x7216(%rip), %edi      # 0xf720
leaq 0x2cb7(%rip), %rsi      # 0xb1c8
movl $0x8, %edx
callq 0x2070
cmpb $0x0, 0x6dbe(%rip)      # 0xf2e0
je 0x86d8
callq 0x3e35
jmp 0x86d8
cmpl $0x1001, %r12d          # imm = 0x1001
je 0x861e
cmpl $0x1009, %r12d          # imm = 0x1009
jne 0x86a3
cmpb $0x0, 0x6d8d(%rip)      # 0xf2e0
je 0x869c
movq %r15, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x3d4f
jmp 0x869c
testb %al, %al
jne 0x8791
movl $0x2, 0x7176(%rip)      # 0xf6f4
jmp 0x86d8
movq 0x6a6e(%rip), %rax      # 0xeff8
movq (%rax), %rdi
movzbl 0x714c(%rip), %ecx      # 0xf6e0
leaq 0x1f9a(%rip), %rsi      # 0xa535
leaq 0xf97(%rip), %rdx       # 0x9539
xorl %eax, %eax
callq 0x2150
movb 0x8(%rbx), %al
jmp 0x8284
movl $0x2, 0x71a5(%rip)      # 0xf760
movzbl (%r15), %r15d
cmpb $0x0, 0x6d1a(%rip)      # 0xf2e0
jne 0x879b
cmpl $0x1, %r15d
je 0x867e
testl %r15d, %r15d
jne 0x8831
movb (%r14), %al
movb %al, 0x7127(%rip)       # 0xf70f
jmp 0x8685
movl $0x2, 0x7171(%rip)      # 0xf768
movzbl (%r15), %r15d
cmpb $0x0, 0x6cde(%rip)      # 0xf2e0
jne 0x87c2
testl %r15d, %r15d
jne 0x87e9
movb (%r14), %al
andb $0xf, %al
movb %al, 0x70f8(%rip)       # 0xf714
jmp 0x8685
movl $0x2, 0x713c(%rip)      # 0xf764
movzbl (%r15), %r14d
cmpb $0x0, 0x6cad(%rip)      # 0xf2e0
jne 0x87f3
testl %r14d, %r14d
jne 0x881a
movb 0x9(%rbx), %al
movb %al, 0x70c3(%rip)       # 0xf70e
movzwl 0xa(%rbx), %ecx
movw %cx, 0x70b6(%rip)       # 0xf70c
movzwl 0xf(%rbx), %ecx
movw %cx, 0x70a9(%rip)       # 0xf70a
cmpb $0x0, 0x6c78(%rip)      # 0xf2e0
je 0x8685
movzbl %al, %edi
callq 0x3cc6
jmp 0x8685
movq %rbx, %rdi
callq 0x3ec5
jmp 0x86e0
movb $0x0, 0x708a(%rip)      # 0xf70f
movq 0x7074(%rip), %rdi      # 0xf700
callq 0x2030
movq $0x0, 0x7064(%rip) # 0xf700
incw 0x7065(%rip)            # 0xf708
movl 0x7077(%rip), %edi      # 0xf720
callq 0x6a11
movl $0x2710, %edi           # imm = 0x2710
callq 0x22f0
movl 0x7062(%rip), %edi      # 0xf720
callq 0x6a11
movl $0x2710, %edi           # imm = 0x2710
callq 0x22f0
movl 0x704d(%rip), %edi      # 0xf720
callq 0x6a11
movq %rbx, %rdi
callq 0x2030
movl $0x0, 0x7002(%rip)      # 0xf6ec
movq $0x0, 0x7003(%rip) # 0xf6f8
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x68ed(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x1f78(%rip), %rsi      # 0xa68d
leaq 0xe1d(%rip), %rdx       # 0x9539
movl %r12d, %ecx
xorl %eax, %eax
callq 0x2150
movl 0x4(%rbx), %r13d
jmp 0x8372
movq 0x68c2(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x1f05(%rip), %rsi      # 0xa645
leaq 0xdf2(%rip), %rdx       # 0x9539
xorl %eax, %eax
callq 0x2150
movl 0x6fe4(%rip), %ecx      # 0xf738
jmp 0x8418
movq 0x6898(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x1ec1(%rip), %rsi      # 0xa62b
leaq 0xdc8(%rip), %rdx       # 0x9539
xorl %eax, %eax
callq 0x2150
jmp 0x8495
callq 0x3ea1
jmp 0x84ba
callq 0x3e7d
jmp 0x8328
callq 0x3e11
jmp 0x8574
movq 0x6856(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x2029(%rip), %rsi      # 0xa7d5
leaq 0xd86(%rip), %rdx       # 0x9539
movl %r15d, %ecx
xorl %eax, %eax
callq 0x2150
jmp 0x85cc
movq 0x682f(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x2061(%rip), %rsi      # 0xa834
leaq 0xd5f(%rip), %rdx       # 0x9539
movl %r15d, %ecx
xorl %eax, %eax
callq 0x2150
jmp 0x8608
callq 0x3c5a
jmp 0x8685
movq 0x67fe(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x1f21(%rip), %rsi      # 0xa725
leaq 0xd2e(%rip), %rdx       # 0x9539
movl %r14d, %ecx
xorl %eax, %eax
callq 0x2150
jmp 0x8639
callq 0x3ca2
jmp 0x8685
movq %r15, %rdi
callq 0x3dc6
jmp 0x83ce
callq 0x3c7e
jmp 0x8685