// File: /workspace/github_c_makefile_star2_O2/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 %r12
pushq %rbx
movq 0x5460(%rip), %rbx      # 0xc6f8
movb 0x8(%rbx), %al
testb %al, %al
jns 0x72bf
cmpb $0x0, 0x503a(%rip)      # 0xc2e0
jne 0x75ae
leal 0x1(%rax), %ecx
andb $0x7, %cl
movb %cl, 0x5428(%rip)       # 0xc6e0
movb $0x1, 0x5424(%rip)      # 0xc6e3
shrb $0x3, %al
andb $0x7, %al
movb %al, 0x5417(%rip)       # 0xc6e1
movzbl 0x9(%rbx), %eax
andl $0xf, %eax
cmpl $0xf, %eax
ja 0x74ca
movl $0x801e, %ecx           # imm = 0x801E
btl %eax, %ecx
jae 0x74ca
callq 0x79f0
movq 0x5404(%rip), %rsi      # 0xc6f8
movl 0x4(%rsi), %edx
addl $-0x4, %edx
movl %edx, 0x4(%rsi)
leaq 0x8(%rsi), %rdi
addq $0xc, %rsi
callq 0x21d0
movq 0x53e7(%rip), %rbx      # 0xc6f8
movl 0x53dd(%rip), %eax      # 0xc6f4
cmpq $0x3, %rax
ja 0x7786
leaq 0x10bc(%rip), %rcx      # 0x83e4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpw $0x7e01, 0x8(%rbx)      # imm = 0x7E01
je 0x7500
leaq 0x8(%rbx), %rax
cmpw $0x7d02, (%rax)         # imm = 0x7D02
jne 0x79d0
cmpb $0x0, 0x4f8d(%rip)      # 0xc2e0
jne 0x7853
movl $0x1, 0x5391(%rip)      # 0xc6f4
jmp 0x79d0
cmpb $0xe, 0x8(%rbx)
jne 0x799b
leaq 0x8(%rbx), %r14
movl 0x4(%rbx), %r12d
addl $-0x2, %r12d
movl %r12d, 0x4(%rbx)
leaq 0xa(%rbx), %rsi
movq %r14, %rdi
movq %r12, %rdx
callq 0x21d0
movzwl 0x9(%rbx), %r15d
cmpb $0x0, 0x4f43(%rip)      # 0xc2e0
jne 0x77b6
addl $-0x3, %r12d
movl %r12d, 0x4(%rbx)
leaq 0xb(%rbx), %rsi
movq %r14, %rdi
movq %r12, %rdx
callq 0x21d0
cmpl $0x1001, %r15d          # imm = 0x1001
je 0x76b9
cmpl $0x1009, %r15d          # imm = 0x1009
je 0x75dc
cmpl $0xfc6d, %r15d          # imm = 0xFC6D
je 0x767d
cmpl $0xfc61, %r15d          # imm = 0xFC61
je 0x7649
cmpl $0xfc17, %r15d          # imm = 0xFC17
jne 0x799b
cmpb $0x0, 0x4ede(%rip)      # 0xc2e0
jne 0x78ff
movq 0x52f1(%rip), %rdi      # 0xc700
callq 0x2030
andq $0x0, 0x52e4(%rip)      # 0xc700
movl $0x3, 0x52ce(%rip)      # 0xc6f4
jmp 0x7994
movzbl 0x8(%rbx), %ecx
cmpl $0xe, %ecx
jne 0x74db
movzbl 0xe(%rbx), %ecx
movl %ecx, 0x52f6(%rip)      # 0xc738
cmpb $0x0, 0x4e97(%rip)      # 0xc2e0
jne 0x77e1
testb %cl, %cl
jns 0x79d0
andl $0xffffff7f, %ecx       # imm = 0xFFFFFF7F
movl %ecx, 0x52d5(%rip)      # 0xc738
movl $0x4, 0x5287(%rip)      # 0xc6f4
jmp 0x79d0
cmpw $0x7e01, 0x8(%rbx)      # imm = 0x7E01
je 0x7527
leaq 0x8(%rbx), %rax
cmpw $0xfc03, (%rax)         # imm = 0xFC03
je 0x755f
cmpw $0x7b04, (%rax)         # imm = 0x7B04
movb 0x4e48(%rip), %al       # 0xc2e0
je 0x7597
testb %al, %al
je 0x79c5
movq 0x4b4b(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x2156(%rip), %rsi      # 0x960d
leaq 0x107b(%rip), %rdx      # 0x8539
xorl %eax, %eax
callq 0x2150
jmp 0x79c5
callq 0x79f0
movq 0x5222(%rip), %rdi      # 0xc6f8
jmp 0x79d3
cmpb $0x0, 0x4dfe(%rip)      # 0xc2e0
jne 0x780b
movq %rbx, %rdi
callq 0x2030
movl 0x522a(%rip), %edi      # 0xc720
callq 0x51e2
jmp 0x79d8
cmpb $0x0, 0x4dd9(%rip)      # 0xc2e0
jne 0x782f
movl 0x520d(%rip), %edi      # 0xc720
leaq 0x2ca6(%rip), %rsi      # 0xa1c0
pushq $0x8
popq %rdx
callq 0x2070
jmp 0x79d0
movl 0x51f3(%rip), %edi      # 0xc720
leaq 0x2c8c(%rip), %rsi      # 0xa1c0
pushq $0x8
popq %rdx
callq 0x2070
cmpb $0x0, 0x4d9d(%rip)      # 0xc2e0
je 0x79d0
movq 0x4aa8(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x204f(%rip), %rsi      # 0x95a9
jmp 0x7797
movl 0x51bb(%rip), %edi      # 0xc720
leaq 0x2c5c(%rip), %rsi      # 0xa1c8
pushq $0x8
popq %rdx
callq 0x2070
cmpb $0x0, 0x4d65(%rip)      # 0xc2e0
je 0x79d0
movq 0x4a70(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x2036(%rip), %rsi      # 0x95c8
jmp 0x7797
testb %al, %al
jne 0x7877
movl $0x2, 0x514b(%rip)      # 0xc6f4
jmp 0x79d0
movq 0x4a43(%rip), %rax      # 0xbff8
movq (%rax), %rdi
movzbl 0x5121(%rip), %ecx      # 0xc6e0
leaq 0x1f6f(%rip), %rsi      # 0x9535
leaq 0xf6c(%rip), %rdx       # 0x8539
xorl %eax, %eax
callq 0x2150
movb 0x8(%rbx), %al
jmp 0x72ac
cmpb $0x0, 0x4cfd(%rip)      # 0xc2e0
je 0x7994
movzbl (%r14), %r14d
movq 0x4a04(%rip), %r15      # 0xbff8
movq (%r15), %rdi
leaq 0x20eb(%rip), %rsi      # 0x96e9
leaq 0xf34(%rip), %rdx       # 0x8539
movl %r14d, %ecx
xorl %eax, %eax
callq 0x2150
testl %r14d, %r14d
jne 0x7994
cmpb $0x0, 0x4cc1(%rip)      # 0xc2e0
je 0x7994
movq (%r15), %rdi
movl 0x9(%rbx), %ecx
movl 0xd(%rbx), %r8d
leaq 0x20d7(%rip), %rsi      # 0x970d
leaq 0xefc(%rip), %rdx       # 0x8539
xorl %eax, %eax
callq 0x2150
jmp 0x7994
movl $0x2, 0x5115(%rip)      # 0xc768
movzbl (%r14), %r14d
cmpb $0x0, 0x4c82(%rip)      # 0xc2e0
jne 0x789b
testl %r14d, %r14d
jne 0x78c2
movb 0x9(%rbx), %al
andb $0xf, %al
movb %al, 0x509c(%rip)       # 0xc714
jmp 0x7980
movl $0x2, 0x50d9(%rip)      # 0xc760
movzbl (%r14), %r14d
cmpb $0x0, 0x4c4e(%rip)      # 0xc2e0
jne 0x78d8
cmpl $0x1, %r14d
je 0x77aa
testl %r14d, %r14d
jne 0x7961
movb 0x9(%rbx), %al
movb %al, 0x505b(%rip)       # 0xc70f
jmp 0x7980
movl $0x2, 0x50a1(%rip)      # 0xc764
movzbl (%r14), %r14d
cmpb $0x0, 0x4c12(%rip)      # 0xc2e0
jne 0x7927
testl %r14d, %r14d
jne 0x794e
movzbl 0x9(%rbx), %ecx
movb %cl, 0x5027(%rip)       # 0xc70e
movzwl 0xa(%rbx), %eax
movw %ax, 0x501a(%rip)       # 0xc70c
movzwl 0xf(%rbx), %eax
movw %ax, 0x500d(%rip)       # 0xc70a
cmpb $0x0, 0x4bdc(%rip)      # 0xc2e0
je 0x7980
movq 0x48e7(%rip), %r14      # 0xbff8
movq (%r14), %rdi
leaq 0x203d(%rip), %rsi      # 0x9758
leaq 0xe17(%rip), %rdx       # 0x8539
xorl %eax, %eax
callq 0x2150
cmpb $0x0, 0x4bb0(%rip)      # 0xc2e0
je 0x7980
movq (%r14), %rdi
movzwl 0x4fcc(%rip), %ecx      # 0xc70c
leaq 0x2029(%rip), %rsi      # 0x9770
leaq 0xdeb(%rip), %rdx       # 0x8539
xorl %eax, %eax
callq 0x2150
cmpb $0x0, 0x4b84(%rip)      # 0xc2e0
je 0x7980
movq (%r14), %rdi
movzwl 0x4f9e(%rip), %ecx      # 0xc70a
leaq 0x2016(%rip), %rsi      # 0x9789
leaq 0xdbf(%rip), %rdx       # 0x8539
xorl %eax, %eax
callq 0x2150
jmp 0x7980
movq 0x486b(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x1ecb(%rip), %rsi      # 0x9662
leaq 0xd9b(%rip), %rdx       # 0x8539
xorl %eax, %eax
callq 0x2150
jmp 0x79d0
movb $0x0, 0x4f5e(%rip)      # 0xc70f
jmp 0x7980
movq 0x483b(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x1ec6(%rip), %rsi      # 0x968d
leaq 0xd6b(%rip), %rdx       # 0x8539
movl %r15d, %ecx
xorl %eax, %eax
callq 0x2150
movl 0x4(%rbx), %r12d
jmp 0x73a3
movq 0x4810(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x1e53(%rip), %rsi      # 0x9645
leaq 0xd40(%rip), %rdx       # 0x8539
xorl %eax, %eax
callq 0x2150
movl 0x4f32(%rip), %ecx      # 0xc738
jmp 0x744f
movq 0x47e6(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x1e0f(%rip), %rsi      # 0x962b
leaq 0xd16(%rip), %rdx       # 0x8539
xorl %eax, %eax
callq 0x2150
jmp 0x74e8
movq 0x47c2(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x1d3e(%rip), %rsi      # 0x957e
leaq 0xcf2(%rip), %rdx       # 0x8539
xorl %eax, %eax
callq 0x2150
jmp 0x750d
movq 0x479e(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x1d2d(%rip), %rsi      # 0x9591
leaq 0xcce(%rip), %rdx       # 0x8539
xorl %eax, %eax
callq 0x2150
jmp 0x7359
movq 0x477a(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x1d60(%rip), %rsi      # 0x95e8
leaq 0xcaa(%rip), %rdx       # 0x8539
xorl %eax, %eax
callq 0x2150
jmp 0x759f
movq 0x4756(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x1f88(%rip), %rsi      # 0x9834
leaq 0xc86(%rip), %rdx       # 0x8539
movl %r14d, %ecx
xorl %eax, %eax
callq 0x2150
jmp 0x7664
movq 0x472f(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x1f88(%rip), %rsi      # 0x985b
jmp 0x7972
movq 0x4719(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x1eec(%rip), %rsi      # 0x97d5
leaq 0xc49(%rip), %rdx       # 0x8539
movl %r14d, %ecx
xorl %eax, %eax
callq 0x2150
jmp 0x7698
movzbl (%r14), %ecx
movq 0x46ee(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x1db2(%rip), %rsi      # 0x96c6
leaq 0xc1e(%rip), %rdx       # 0x8539
xorl %eax, %eax
callq 0x2150
jmp 0x7408
movq 0x46ca(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x1ded(%rip), %rsi      # 0x9725
leaq 0xbfa(%rip), %rdx       # 0x8539
movl %r14d, %ecx
xorl %eax, %eax
callq 0x2150
jmp 0x76d4
movq 0x46a3(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x1e45(%rip), %rsi      # 0x97a4
jmp 0x7972
movq 0x4690(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x1e8c(%rip), %rsi      # 0x97fe
leaq 0xbc0(%rip), %rdx       # 0x8539
xorl %eax, %eax
callq 0x2150
movq 0x4d79(%rip), %rdi      # 0xc700
callq 0x2030
andq $0x0, 0x4d6c(%rip)      # 0xc700
incw 0x4d6d(%rip)            # 0xc708
movl 0x4d7f(%rip), %edi      # 0xc720
callq 0x51e2
movl $0x2710, %edi           # imm = 0x2710
callq 0x22f0
movl 0x4d6a(%rip), %edi      # 0xc720
callq 0x51e2
movl $0x2710, %edi           # imm = 0x2710
callq 0x22f0
movl 0x4d55(%rip), %edi      # 0xc720
callq 0x51e2
movq %rbx, %rdi
callq 0x2030
andl $0x0, 0x4d0d(%rip)      # 0xc6ec
andq $0x0, 0x4d11(%rip)      # 0xc6f8
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq