.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global l2c_link_hci_conn_req l2c_link_hci_conn_req: /* 802D78D8 002D3538 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802D78DC 002D353C 7C 08 02 A6 */ mflr r0 /* 802D78E0 002D3540 90 01 00 24 */ stw r0, 0x24(r1) /* 802D78E4 002D3544 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802D78E8 002D3548 93 C1 00 18 */ stw r30, 0x18(r1) /* 802D78EC 002D354C 93 A1 00 14 */ stw r29, 0x14(r1) /* 802D78F0 002D3550 7C 7D 1B 78 */ mr r29, r3 /* 802D78F4 002D3554 38 60 00 02 */ li r3, 2 /* 802D78F8 002D3558 4B FE 23 55 */ bl GKI_getpoolbuf /* 802D78FC 002D355C 2C 03 00 00 */ cmpwi r3, 0 /* 802D7900 002D3560 7C 7E 1B 78 */ mr r30, r3 /* 802D7904 002D3564 41 82 01 0C */ beq lbl_802D7A10 /* 802D7908 002D3568 7F A3 EB 78 */ mr r3, r29 /* 802D790C 002D356C 48 00 23 5D */ bl l2cu_find_lcb_by_bd_addr /* 802D7910 002D3570 2C 03 00 00 */ cmpwi r3, 0 /* 802D7914 002D3574 7C 7F 1B 78 */ mr r31, r3 /* 802D7918 002D3578 40 82 00 84 */ bne lbl_802D799C /* 802D791C 002D357C 7F A3 EB 78 */ mr r3, r29 /* 802D7920 002D3580 48 00 21 75 */ bl l2cu_allocate_lcb /* 802D7924 002D3584 2C 03 00 00 */ cmpwi r3, 0 /* 802D7928 002D3588 7C 7F 1B 78 */ mr r31, r3 /* 802D792C 002D358C 40 82 00 38 */ bne lbl_802D7964 /* 802D7930 002D3590 7F C3 F3 78 */ mr r3, r30 /* 802D7934 002D3594 7F A4 EB 78 */ mr r4, r29 /* 802D7938 002D3598 38 A0 00 14 */ li r5, 0x14 /* 802D793C 002D359C 4B FF 88 C9 */ bl btsnd_hcic_reject_conn /* 802D7940 002D35A0 3C 60 80 57 */ lis r3, lbl_8056BC40@ha /* 802D7944 002D35A4 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3) /* 802D7948 002D35A8 28 00 00 01 */ cmplwi r0, 1 /* 802D794C 002D35AC 41 80 00 C4 */ blt lbl_802D7A10 /* 802D7950 002D35B0 3C 80 80 44 */ lis r4, lbl_80443C08@ha /* 802D7954 002D35B4 3C 60 00 08 */ lis r3, 8 /* 802D7958 002D35B8 38 84 3C 08 */ addi r4, r4, lbl_80443C08@l /* 802D795C 002D35BC 4B FE 55 B5 */ bl LogMsg_0 /* 802D7960 002D35C0 48 00 00 B0 */ b lbl_802D7A10 lbl_802D7964: /* 802D7964 002D35C4 48 00 24 1D */ bl l2cu_get_conn_role /* 802D7968 002D35C8 7C 60 1B 78 */ mr r0, r3 /* 802D796C 002D35CC 98 7F 00 30 */ stb r3, 0x30(r31) /* 802D7970 002D35D0 7F C3 F3 78 */ mr r3, r30 /* 802D7974 002D35D4 7F A4 EB 78 */ mr r4, r29 /* 802D7978 002D35D8 54 05 06 3E */ clrlwi r5, r0, 0x18 /* 802D797C 002D35DC 4B FF 88 29 */ bl btsnd_hcic_accept_conn /* 802D7980 002D35E0 38 00 00 03 */ li r0, 3 /* 802D7984 002D35E4 38 7F 00 10 */ addi r3, r31, 0x10 /* 802D7988 002D35E8 90 1F 00 04 */ stw r0, 4(r31) /* 802D798C 002D35EC 38 80 00 02 */ li r4, 2 /* 802D7990 002D35F0 38 A0 00 3C */ li r5, 0x3c /* 802D7994 002D35F4 4B FE 5B 49 */ bl btu_start_timer /* 802D7998 002D35F8 48 00 00 78 */ b lbl_802D7A10 lbl_802D799C: /* 802D799C 002D35FC 80 03 00 04 */ lwz r0, 4(r3) /* 802D79A0 002D3600 2C 00 00 03 */ cmpwi r0, 3 /* 802D79A4 002D3604 41 82 00 0C */ beq lbl_802D79B0 /* 802D79A8 002D3608 2C 00 00 01 */ cmpwi r0, 1 /* 802D79AC 002D360C 40 82 00 20 */ bne lbl_802D79CC lbl_802D79B0: /* 802D79B0 002D3610 88 BF 00 30 */ lbz r5, 0x30(r31) /* 802D79B4 002D3614 7F C3 F3 78 */ mr r3, r30 /* 802D79B8 002D3618 7F A4 EB 78 */ mr r4, r29 /* 802D79BC 002D361C 4B FF 87 E9 */ bl btsnd_hcic_accept_conn /* 802D79C0 002D3620 38 00 00 03 */ li r0, 3 /* 802D79C4 002D3624 90 1F 00 04 */ stw r0, 4(r31) /* 802D79C8 002D3628 48 00 00 48 */ b lbl_802D7A10 lbl_802D79CC: /* 802D79CC 002D362C 2C 00 00 05 */ cmpwi r0, 5 /* 802D79D0 002D3630 40 82 00 18 */ bne lbl_802D79E8 /* 802D79D4 002D3634 7F C3 F3 78 */ mr r3, r30 /* 802D79D8 002D3638 7F A4 EB 78 */ mr r4, r29 /* 802D79DC 002D363C 38 A0 00 15 */ li r5, 0x15 /* 802D79E0 002D3640 4B FF 88 25 */ bl btsnd_hcic_reject_conn /* 802D79E4 002D3644 48 00 00 2C */ b lbl_802D7A10 lbl_802D79E8: /* 802D79E8 002D3648 3C 60 80 57 */ lis r3, lbl_8056BC40@ha /* 802D79EC 002D364C 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3) /* 802D79F0 002D3650 28 00 00 01 */ cmplwi r0, 1 /* 802D79F4 002D3654 41 80 00 14 */ blt lbl_802D7A08 /* 802D79F8 002D3658 3C 80 80 44 */ lis r4, lbl_80443C28@ha /* 802D79FC 002D365C 3C 60 00 08 */ lis r3, 8 /* 802D7A00 002D3660 38 84 3C 28 */ addi r4, r4, lbl_80443C28@l /* 802D7A04 002D3664 4B FE 55 0D */ bl LogMsg_0 lbl_802D7A08: /* 802D7A08 002D3668 7F C3 F3 78 */ mr r3, r30 /* 802D7A0C 002D366C 4B FE 23 29 */ bl GKI_freebuf lbl_802D7A10: /* 802D7A10 002D3670 80 01 00 24 */ lwz r0, 0x24(r1) /* 802D7A14 002D3674 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802D7A18 002D3678 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802D7A1C 002D367C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802D7A20 002D3680 7C 08 03 A6 */ mtlr r0 /* 802D7A24 002D3684 38 21 00 20 */ addi r1, r1, 0x20 /* 802D7A28 002D3688 4E 80 00 20 */ blr .global l2c_link_hci_conn_comp l2c_link_hci_conn_comp: /* 802D7A2C 002D368C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802D7A30 002D3690 7C 08 02 A6 */ mflr r0 /* 802D7A34 002D3694 90 01 00 34 */ stw r0, 0x34(r1) /* 802D7A38 002D3698 93 E1 00 2C */ stw r31, 0x2c(r1) /* 802D7A3C 002D369C 93 C1 00 28 */ stw r30, 0x28(r1) /* 802D7A40 002D36A0 7C BE 2B 78 */ mr r30, r5 /* 802D7A44 002D36A4 38 A0 00 06 */ li r5, 6 /* 802D7A48 002D36A8 93 A1 00 24 */ stw r29, 0x24(r1) /* 802D7A4C 002D36AC 7C 9D 23 78 */ mr r29, r4 /* 802D7A50 002D36B0 7F C4 F3 78 */ mr r4, r30 /* 802D7A54 002D36B4 93 81 00 20 */ stw r28, 0x20(r1) /* 802D7A58 002D36B8 7C 7C 1B 78 */ mr r28, r3 /* 802D7A5C 002D36BC 98 61 00 0E */ stb r3, 0xe(r1) /* 802D7A60 002D36C0 38 61 00 08 */ addi r3, r1, 8 /* 802D7A64 002D36C4 4B D2 C5 9D */ bl memcpy /* 802D7A68 002D36C8 38 61 00 08 */ addi r3, r1, 8 /* 802D7A6C 002D36CC 48 00 21 FD */ bl l2cu_find_lcb_by_bd_addr /* 802D7A70 002D36D0 2C 03 00 00 */ cmpwi r3, 0 /* 802D7A74 002D36D4 7C 7F 1B 78 */ mr r31, r3 /* 802D7A78 002D36D8 40 82 00 40 */ bne lbl_802D7AB8 /* 802D7A7C 002D36DC 7F A3 EB 78 */ mr r3, r29 /* 802D7A80 002D36E0 4B FF 4A 39 */ bl btm_sec_is_bonding /* 802D7A84 002D36E4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802D7A88 002D36E8 40 82 00 28 */ bne lbl_802D7AB0 /* 802D7A8C 002D36EC 3C 60 80 57 */ lis r3, lbl_8056BC40@ha /* 802D7A90 002D36F0 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3) /* 802D7A94 002D36F4 28 00 00 02 */ cmplwi r0, 2 /* 802D7A98 002D36F8 41 80 00 18 */ blt lbl_802D7AB0 /* 802D7A9C 002D36FC 3C 60 00 08 */ lis r3, 0x00080001@ha /* 802D7AA0 002D3700 3C 80 80 44 */ lis r4, lbl_80443C50@ha /* 802D7AA4 002D3704 38 63 00 01 */ addi r3, r3, 0x00080001@l /* 802D7AA8 002D3708 38 84 3C 50 */ addi r4, r4, lbl_80443C50@l /* 802D7AAC 002D370C 4B FE 54 65 */ bl LogMsg_0 lbl_802D7AB0: /* 802D7AB0 002D3710 38 60 00 00 */ li r3, 0 /* 802D7AB4 002D3714 48 00 01 90 */ b lbl_802D7C44 lbl_802D7AB8: /* 802D7AB8 002D3718 80 A3 00 04 */ lwz r5, 4(r3) /* 802D7ABC 002D371C 2C 05 00 03 */ cmpwi r5, 3 /* 802D7AC0 002D3720 41 82 00 44 */ beq lbl_802D7B04 /* 802D7AC4 002D3724 3C 60 80 57 */ lis r3, lbl_8056BC40@ha /* 802D7AC8 002D3728 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3) /* 802D7ACC 002D372C 28 00 00 01 */ cmplwi r0, 1 /* 802D7AD0 002D3730 41 80 00 18 */ blt lbl_802D7AE8 /* 802D7AD4 002D3734 3C 80 80 44 */ lis r4, lbl_80443C78@ha /* 802D7AD8 002D3738 7F 86 E3 78 */ mr r6, r28 /* 802D7ADC 002D373C 3C 60 00 08 */ lis r3, 8 /* 802D7AE0 002D3740 38 84 3C 78 */ addi r4, r4, lbl_80443C78@l /* 802D7AE4 002D3744 4B FE 54 5D */ bl LogMsg_2 lbl_802D7AE8: /* 802D7AE8 002D3748 2C 1C 00 00 */ cmpwi r28, 0 /* 802D7AEC 002D374C 41 82 00 10 */ beq lbl_802D7AFC /* 802D7AF0 002D3750 A0 7F 00 28 */ lhz r3, 0x28(r31) /* 802D7AF4 002D3754 7F 84 E3 78 */ mr r4, r28 /* 802D7AF8 002D3758 48 00 02 21 */ bl l2c_link_hci_disc_comp lbl_802D7AFC: /* 802D7AFC 002D375C 38 60 00 00 */ li r3, 0 /* 802D7B00 002D3760 48 00 01 44 */ b lbl_802D7C44 lbl_802D7B04: /* 802D7B04 002D3764 B3 A3 00 28 */ sth r29, 0x28(r3) /* 802D7B08 002D3768 88 01 00 0E */ lbz r0, 0xe(r1) /* 802D7B0C 002D376C 2C 00 00 00 */ cmpwi r0, 0 /* 802D7B10 002D3770 40 82 00 D8 */ bne lbl_802D7BE8 /* 802D7B14 002D3774 38 00 00 04 */ li r0, 4 /* 802D7B18 002D3778 90 03 00 04 */ stw r0, 4(r3) /* 802D7B1C 002D377C 7F C3 F3 78 */ mr r3, r30 /* 802D7B20 002D3780 4B FE DA FD */ bl btm_find_dev /* 802D7B24 002D3784 2C 03 00 00 */ cmpwi r3, 0 /* 802D7B28 002D3788 7C 65 1B 78 */ mr r5, r3 /* 802D7B2C 002D378C 41 82 00 20 */ beq lbl_802D7B4C /* 802D7B30 002D3790 88 FF 00 30 */ lbz r7, 0x30(r31) /* 802D7B34 002D3794 38 85 00 22 */ addi r4, r5, 0x22 /* 802D7B38 002D3798 7F A6 EB 78 */ mr r6, r29 /* 802D7B3C 002D379C 38 61 00 08 */ addi r3, r1, 8 /* 802D7B40 002D37A0 38 A5 00 35 */ addi r5, r5, 0x35 /* 802D7B44 002D37A4 4B FE B9 89 */ bl btm_acl_created /* 802D7B48 002D37A8 48 00 00 1C */ b lbl_802D7B64 lbl_802D7B4C: /* 802D7B4C 002D37AC 88 FF 00 30 */ lbz r7, 0x30(r31) /* 802D7B50 002D37B0 7F A6 EB 78 */ mr r6, r29 /* 802D7B54 002D37B4 38 61 00 08 */ addi r3, r1, 8 /* 802D7B58 002D37B8 38 80 00 00 */ li r4, 0 /* 802D7B5C 002D37BC 38 A0 00 00 */ li r5, 0 /* 802D7B60 002D37C0 4B FE B9 6D */ bl btm_acl_created lbl_802D7B64: /* 802D7B64 002D37C4 38 60 00 00 */ li r3, 0 /* 802D7B68 002D37C8 48 00 1E 01 */ bl l2c_process_held_packets /* 802D7B6C 002D37CC 38 7F 00 10 */ addi r3, r31, 0x10 /* 802D7B70 002D37D0 4B FE 59 DD */ bl btu_stop_timer /* 802D7B74 002D37D4 83 DF 00 08 */ lwz r30, 8(r31) /* 802D7B78 002D37D8 48 00 00 18 */ b lbl_802D7B90 lbl_802D7B7C: /* 802D7B7C 002D37DC 7F C3 F3 78 */ mr r3, r30 /* 802D7B80 002D37E0 38 A1 00 08 */ addi r5, r1, 8 /* 802D7B84 002D37E4 38 80 00 00 */ li r4, 0 /* 802D7B88 002D37E8 4B FF E8 75 */ bl l2c_csm_execute /* 802D7B8C 002D37EC 83 DE 00 08 */ lwz r30, 8(r30) lbl_802D7B90: /* 802D7B90 002D37F0 2C 1E 00 00 */ cmpwi r30, 0 /* 802D7B94 002D37F4 40 82 FF E8 */ bne lbl_802D7B7C /* 802D7B98 002D37F8 80 1F 00 54 */ lwz r0, 0x54(r31) /* 802D7B9C 002D37FC 2C 00 00 00 */ cmpwi r0, 0 /* 802D7BA0 002D3800 41 82 00 28 */ beq lbl_802D7BC8 /* 802D7BA4 002D3804 7F E3 FB 78 */ mr r3, r31 /* 802D7BA8 002D3808 38 80 00 00 */ li r4, 0 /* 802D7BAC 002D380C 38 A0 00 00 */ li r5, 0 /* 802D7BB0 002D3810 48 00 2F 35 */ bl l2cu_send_peer_echo_req /* 802D7BB4 002D3814 38 7F 00 10 */ addi r3, r31, 0x10 /* 802D7BB8 002D3818 38 80 00 02 */ li r4, 2 /* 802D7BBC 002D381C 38 A0 00 1E */ li r5, 0x1e /* 802D7BC0 002D3820 4B FE 59 1D */ bl btu_start_timer /* 802D7BC4 002D3824 48 00 00 7C */ b lbl_802D7C40 lbl_802D7BC8: /* 802D7BC8 002D3828 80 1F 00 08 */ lwz r0, 8(r31) /* 802D7BCC 002D382C 2C 00 00 00 */ cmpwi r0, 0 /* 802D7BD0 002D3830 40 82 00 70 */ bne lbl_802D7C40 /* 802D7BD4 002D3834 38 7F 00 10 */ addi r3, r31, 0x10 /* 802D7BD8 002D3838 38 80 00 02 */ li r4, 2 /* 802D7BDC 002D383C 38 A0 00 3C */ li r5, 0x3c /* 802D7BE0 002D3840 4B FE 58 FD */ bl btu_start_timer /* 802D7BE4 002D3844 48 00 00 5C */ b lbl_802D7C40 lbl_802D7BE8: /* 802D7BE8 002D3848 28 00 00 09 */ cmplwi r0, 9 /* 802D7BEC 002D384C 40 82 00 28 */ bne lbl_802D7C14 /* 802D7BF0 002D3850 48 00 3C 81 */ bl l2cu_lcb_disconnecting /* 802D7BF4 002D3854 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802D7BF8 002D3858 41 82 00 1C */ beq lbl_802D7C14 /* 802D7BFC 002D385C 38 00 00 01 */ li r0, 1 /* 802D7C00 002D3860 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 802D7C04 002D3864 90 1F 00 04 */ stw r0, 4(r31) /* 802D7C08 002D3868 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l /* 802D7C0C 002D386C B0 1F 00 28 */ sth r0, 0x28(r31) /* 802D7C10 002D3870 48 00 00 30 */ b lbl_802D7C40 lbl_802D7C14: /* 802D7C14 002D3874 80 7F 00 08 */ lwz r3, 8(r31) /* 802D7C18 002D3878 48 00 00 18 */ b lbl_802D7C30 lbl_802D7C1C: /* 802D7C1C 002D387C 83 C3 00 08 */ lwz r30, 8(r3) /* 802D7C20 002D3880 38 A1 00 08 */ addi r5, r1, 8 /* 802D7C24 002D3884 38 80 00 01 */ li r4, 1 /* 802D7C28 002D3888 4B FF E7 D5 */ bl l2c_csm_execute /* 802D7C2C 002D388C 7F C3 F3 78 */ mr r3, r30 lbl_802D7C30: /* 802D7C30 002D3890 2C 03 00 00 */ cmpwi r3, 0 /* 802D7C34 002D3894 40 82 FF E8 */ bne lbl_802D7C1C /* 802D7C38 002D3898 7F E3 FB 78 */ mr r3, r31 /* 802D7C3C 002D389C 48 00 1F 2D */ bl l2cu_release_lcb lbl_802D7C40: /* 802D7C40 002D38A0 38 60 00 01 */ li r3, 1 lbl_802D7C44: /* 802D7C44 002D38A4 80 01 00 34 */ lwz r0, 0x34(r1) /* 802D7C48 002D38A8 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802D7C4C 002D38AC 83 C1 00 28 */ lwz r30, 0x28(r1) /* 802D7C50 002D38B0 83 A1 00 24 */ lwz r29, 0x24(r1) /* 802D7C54 002D38B4 83 81 00 20 */ lwz r28, 0x20(r1) /* 802D7C58 002D38B8 7C 08 03 A6 */ mtlr r0 /* 802D7C5C 002D38BC 38 21 00 30 */ addi r1, r1, 0x30 /* 802D7C60 002D38C0 4E 80 00 20 */ blr .global l2c_link_sec_comp l2c_link_sec_comp: /* 802D7C64 002D38C4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802D7C68 002D38C8 7C 08 02 A6 */ mflr r0 /* 802D7C6C 002D38CC 90 01 00 24 */ stw r0, 0x24(r1) /* 802D7C70 002D38D0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802D7C74 002D38D4 7C 7F 1B 78 */ mr r31, r3 /* 802D7C78 002D38D8 38 61 00 08 */ addi r3, r1, 8 /* 802D7C7C 002D38DC 93 C1 00 18 */ stw r30, 0x18(r1) /* 802D7C80 002D38E0 7C BE 2B 78 */ mr r30, r5 /* 802D7C84 002D38E4 7F E4 FB 78 */ mr r4, r31 /* 802D7C88 002D38E8 98 A1 00 0E */ stb r5, 0xe(r1) /* 802D7C8C 002D38EC 38 A0 00 06 */ li r5, 6 /* 802D7C90 002D38F0 4B D2 C3 71 */ bl memcpy /* 802D7C94 002D38F4 7F E3 FB 78 */ mr r3, r31 /* 802D7C98 002D38F8 48 00 1F D1 */ bl l2cu_find_lcb_by_bd_addr /* 802D7C9C 002D38FC 2C 03 00 00 */ cmpwi r3, 0 /* 802D7CA0 002D3900 40 82 00 2C */ bne lbl_802D7CCC /* 802D7CA4 002D3904 3C 60 80 57 */ lis r3, lbl_8056BC40@ha /* 802D7CA8 002D3908 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3) /* 802D7CAC 002D390C 28 00 00 02 */ cmplwi r0, 2 /* 802D7CB0 002D3910 41 80 00 50 */ blt lbl_802D7D00 /* 802D7CB4 002D3914 3C 60 00 08 */ lis r3, 0x00080001@ha /* 802D7CB8 002D3918 3C 80 80 44 */ lis r4, lbl_80443CAC@ha /* 802D7CBC 002D391C 38 63 00 01 */ addi r3, r3, 0x00080001@l /* 802D7CC0 002D3920 38 84 3C AC */ addi r4, r4, lbl_80443CAC@l /* 802D7CC4 002D3924 4B FE 52 4D */ bl LogMsg_0 /* 802D7CC8 002D3928 48 00 00 38 */ b lbl_802D7D00 lbl_802D7CCC: /* 802D7CCC 002D392C 7F C0 00 34 */ cntlzw r0, r30 /* 802D7CD0 002D3930 80 63 00 08 */ lwz r3, 8(r3) /* 802D7CD4 002D3934 54 00 DF FE */ rlwinm r0, r0, 0x1b, 0x1f, 0x1f /* 802D7CD8 002D3938 7F E0 00 D0 */ neg r31, r0 /* 802D7CDC 002D393C 48 00 00 1C */ b lbl_802D7CF8 lbl_802D7CE0: /* 802D7CE0 002D3940 38 1F 00 08 */ addi r0, r31, 8 /* 802D7CE4 002D3944 83 C3 00 08 */ lwz r30, 8(r3) /* 802D7CE8 002D3948 54 04 06 3E */ clrlwi r4, r0, 0x18 /* 802D7CEC 002D394C 38 A1 00 08 */ addi r5, r1, 8 /* 802D7CF0 002D3950 4B FF E7 0D */ bl l2c_csm_execute /* 802D7CF4 002D3954 7F C3 F3 78 */ mr r3, r30 lbl_802D7CF8: /* 802D7CF8 002D3958 2C 03 00 00 */ cmpwi r3, 0 /* 802D7CFC 002D395C 40 82 FF E4 */ bne lbl_802D7CE0 lbl_802D7D00: /* 802D7D00 002D3960 80 01 00 24 */ lwz r0, 0x24(r1) /* 802D7D04 002D3964 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802D7D08 002D3968 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802D7D0C 002D396C 7C 08 03 A6 */ mtlr r0 /* 802D7D10 002D3970 38 21 00 20 */ addi r1, r1, 0x20 /* 802D7D14 002D3974 4E 80 00 20 */ blr .global l2c_link_hci_disc_comp l2c_link_hci_disc_comp: /* 802D7D18 002D3978 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802D7D1C 002D397C 7C 08 02 A6 */ mflr r0 /* 802D7D20 002D3980 90 01 00 24 */ stw r0, 0x24(r1) /* 802D7D24 002D3984 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802D7D28 002D3988 93 C1 00 18 */ stw r30, 0x18(r1) /* 802D7D2C 002D398C 3B C0 00 01 */ li r30, 1 /* 802D7D30 002D3990 93 A1 00 14 */ stw r29, 0x14(r1) /* 802D7D34 002D3994 98 81 00 08 */ stb r4, 8(r1) /* 802D7D38 002D3998 48 00 1F B9 */ bl l2cu_find_lcb_by_handle /* 802D7D3C 002D399C 2C 03 00 00 */ cmpwi r3, 0 /* 802D7D40 002D39A0 7C 7F 1B 78 */ mr r31, r3 /* 802D7D44 002D39A4 40 82 00 0C */ bne lbl_802D7D50 /* 802D7D48 002D39A8 3B C0 00 00 */ li r30, 0 /* 802D7D4C 002D39AC 48 00 00 54 */ b lbl_802D7DA0 lbl_802D7D50: /* 802D7D50 002D39B0 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802D7D54 002D39B4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802D7D58 002D39B8 88 04 27 BF */ lbz r0, 0x27bf(r4) /* 802D7D5C 002D39BC 28 00 00 0E */ cmplwi r0, 0xe /* 802D7D60 002D39C0 41 82 00 0C */ beq lbl_802D7D6C /* 802D7D64 002D39C4 88 01 00 08 */ lbz r0, 8(r1) /* 802D7D68 002D39C8 98 04 27 BF */ stb r0, 0x27bf(r4) lbl_802D7D6C: /* 802D7D6C 002D39CC 80 63 00 08 */ lwz r3, 8(r3) /* 802D7D70 002D39D0 48 00 00 18 */ b lbl_802D7D88 lbl_802D7D74: /* 802D7D74 002D39D4 83 A3 00 08 */ lwz r29, 8(r3) /* 802D7D78 002D39D8 38 A1 00 08 */ addi r5, r1, 8 /* 802D7D7C 002D39DC 38 80 00 03 */ li r4, 3 /* 802D7D80 002D39E0 4B FF E6 7D */ bl l2c_csm_execute /* 802D7D84 002D39E4 7F A3 EB 78 */ mr r3, r29 lbl_802D7D88: /* 802D7D88 002D39E8 2C 03 00 00 */ cmpwi r3, 0 /* 802D7D8C 002D39EC 40 82 FF E8 */ bne lbl_802D7D74 /* 802D7D90 002D39F0 38 7F 00 2A */ addi r3, r31, 0x2a /* 802D7D94 002D39F4 4B FF 26 69 */ bl btm_sco_acl_removed /* 802D7D98 002D39F8 7F E3 FB 78 */ mr r3, r31 /* 802D7D9C 002D39FC 48 00 1D CD */ bl l2cu_release_lcb lbl_802D7DA0: /* 802D7DA0 002D3A00 38 60 00 01 */ li r3, 1 /* 802D7DA4 002D3A04 48 00 3A 3D */ bl l2cu_find_lcb_by_state /* 802D7DA8 002D3A08 2C 03 00 00 */ cmpwi r3, 0 /* 802D7DAC 002D3A0C 41 82 00 08 */ beq lbl_802D7DB4 /* 802D7DB0 002D3A10 48 00 38 49 */ bl l2cu_create_conn lbl_802D7DB4: /* 802D7DB4 002D3A14 7F C3 F3 78 */ mr r3, r30 /* 802D7DB8 002D3A18 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802D7DBC 002D3A1C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802D7DC0 002D3A20 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802D7DC4 002D3A24 80 01 00 24 */ lwz r0, 0x24(r1) /* 802D7DC8 002D3A28 7C 08 03 A6 */ mtlr r0 /* 802D7DCC 002D3A2C 38 21 00 20 */ addi r1, r1, 0x20 /* 802D7DD0 002D3A30 4E 80 00 20 */ blr .global l2c_link_hci_qos_violation l2c_link_hci_qos_violation: /* 802D7DD4 002D3A34 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D7DD8 002D3A38 7C 08 02 A6 */ mflr r0 /* 802D7DDC 002D3A3C 90 01 00 14 */ stw r0, 0x14(r1) /* 802D7DE0 002D3A40 93 E1 00 0C */ stw r31, 0xc(r1) /* 802D7DE4 002D3A44 48 00 1F 0D */ bl l2cu_find_lcb_by_handle /* 802D7DE8 002D3A48 2C 03 00 00 */ cmpwi r3, 0 /* 802D7DEC 002D3A4C 40 82 00 0C */ bne lbl_802D7DF8 /* 802D7DF0 002D3A50 38 60 00 00 */ li r3, 0 /* 802D7DF4 002D3A54 48 00 00 3C */ b lbl_802D7E30 lbl_802D7DF8: /* 802D7DF8 002D3A58 83 E3 00 08 */ lwz r31, 8(r3) /* 802D7DFC 002D3A5C 48 00 00 28 */ b lbl_802D7E24 lbl_802D7E00: /* 802D7E00 002D3A60 80 7F 00 30 */ lwz r3, 0x30(r31) /* 802D7E04 002D3A64 80 03 00 20 */ lwz r0, 0x20(r3) /* 802D7E08 002D3A68 2C 00 00 00 */ cmpwi r0, 0 /* 802D7E0C 002D3A6C 41 82 00 14 */ beq lbl_802D7E20 /* 802D7E10 002D3A70 7F E3 FB 78 */ mr r3, r31 /* 802D7E14 002D3A74 38 80 00 06 */ li r4, 6 /* 802D7E18 002D3A78 38 A0 00 00 */ li r5, 0 /* 802D7E1C 002D3A7C 4B FF E5 E1 */ bl l2c_csm_execute lbl_802D7E20: /* 802D7E20 002D3A80 83 FF 00 08 */ lwz r31, 8(r31) lbl_802D7E24: /* 802D7E24 002D3A84 2C 1F 00 00 */ cmpwi r31, 0 /* 802D7E28 002D3A88 40 82 FF D8 */ bne lbl_802D7E00 /* 802D7E2C 002D3A8C 38 60 00 01 */ li r3, 1 lbl_802D7E30: /* 802D7E30 002D3A90 80 01 00 14 */ lwz r0, 0x14(r1) /* 802D7E34 002D3A94 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802D7E38 002D3A98 7C 08 03 A6 */ mtlr r0 /* 802D7E3C 002D3A9C 38 21 00 10 */ addi r1, r1, 0x10 /* 802D7E40 002D3AA0 4E 80 00 20 */ blr .global l2c_link_timeout l2c_link_timeout: /* 802D7E44 002D3AA4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D7E48 002D3AA8 7C 08 02 A6 */ mflr r0 /* 802D7E4C 002D3AAC 90 01 00 14 */ stw r0, 0x14(r1) /* 802D7E50 002D3AB0 93 E1 00 0C */ stw r31, 0xc(r1) /* 802D7E54 002D3AB4 93 C1 00 08 */ stw r30, 8(r1) /* 802D7E58 002D3AB8 7C 7E 1B 78 */ mr r30, r3 /* 802D7E5C 002D3ABC 80 03 00 04 */ lwz r0, 4(r3) /* 802D7E60 002D3AC0 2C 00 00 02 */ cmpwi r0, 2 /* 802D7E64 002D3AC4 41 82 00 1C */ beq lbl_802D7E80 /* 802D7E68 002D3AC8 2C 00 00 03 */ cmpwi r0, 3 /* 802D7E6C 002D3ACC 41 82 00 14 */ beq lbl_802D7E80 /* 802D7E70 002D3AD0 2C 00 00 01 */ cmpwi r0, 1 /* 802D7E74 002D3AD4 41 82 00 0C */ beq lbl_802D7E80 /* 802D7E78 002D3AD8 2C 00 00 05 */ cmpwi r0, 5 /* 802D7E7C 002D3ADC 40 82 00 30 */ bne lbl_802D7EAC lbl_802D7E80: /* 802D7E80 002D3AE0 80 63 00 08 */ lwz r3, 8(r3) /* 802D7E84 002D3AE4 48 00 00 18 */ b lbl_802D7E9C lbl_802D7E88: /* 802D7E88 002D3AE8 83 E3 00 08 */ lwz r31, 8(r3) /* 802D7E8C 002D3AEC 38 80 00 03 */ li r4, 3 /* 802D7E90 002D3AF0 38 A0 00 00 */ li r5, 0 /* 802D7E94 002D3AF4 4B FF E5 69 */ bl l2c_csm_execute /* 802D7E98 002D3AF8 7F E3 FB 78 */ mr r3, r31 lbl_802D7E9C: /* 802D7E9C 002D3AFC 2C 03 00 00 */ cmpwi r3, 0 /* 802D7EA0 002D3B00 40 82 FF E8 */ bne lbl_802D7E88 /* 802D7EA4 002D3B04 7F C3 F3 78 */ mr r3, r30 /* 802D7EA8 002D3B08 48 00 1C C1 */ bl l2cu_release_lcb lbl_802D7EAC: /* 802D7EAC 002D3B0C 80 1E 00 04 */ lwz r0, 4(r30) /* 802D7EB0 002D3B10 2C 00 00 04 */ cmpwi r0, 4 /* 802D7EB4 002D3B14 40 82 00 EC */ bne lbl_802D7FA0 /* 802D7EB8 002D3B18 81 9E 00 54 */ lwz r12, 0x54(r30) /* 802D7EBC 002D3B1C 2C 0C 00 00 */ cmpwi r12, 0 /* 802D7EC0 002D3B20 41 82 00 60 */ beq lbl_802D7F20 /* 802D7EC4 002D3B24 38 00 00 00 */ li r0, 0 /* 802D7EC8 002D3B28 38 60 00 02 */ li r3, 2 /* 802D7ECC 002D3B2C 90 1E 00 54 */ stw r0, 0x54(r30) /* 802D7ED0 002D3B30 7D 89 03 A6 */ mtctr r12 /* 802D7ED4 002D3B34 4E 80 04 21 */ bctrl /* 802D7ED8 002D3B38 3C 60 80 57 */ lis r3, lbl_8056BC40@ha /* 802D7EDC 002D3B3C 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3) /* 802D7EE0 002D3B40 28 00 00 02 */ cmplwi r0, 2 /* 802D7EE4 002D3B44 41 80 00 18 */ blt lbl_802D7EFC /* 802D7EE8 002D3B48 3C 60 00 08 */ lis r3, 0x00080001@ha /* 802D7EEC 002D3B4C 3C 80 80 44 */ lis r4, lbl_80443CD4@ha /* 802D7EF0 002D3B50 38 63 00 01 */ addi r3, r3, 0x00080001@l /* 802D7EF4 002D3B54 38 84 3C D4 */ addi r4, r4, lbl_80443CD4@l /* 802D7EF8 002D3B58 4B FE 50 19 */ bl LogMsg_0 lbl_802D7EFC: /* 802D7EFC 002D3B5C 80 7E 00 08 */ lwz r3, 8(r30) /* 802D7F00 002D3B60 48 00 00 18 */ b lbl_802D7F18 lbl_802D7F04: /* 802D7F04 002D3B64 83 E3 00 08 */ lwz r31, 8(r3) /* 802D7F08 002D3B68 38 80 00 03 */ li r4, 3 /* 802D7F0C 002D3B6C 38 A0 00 00 */ li r5, 0 /* 802D7F10 002D3B70 4B FF E4 ED */ bl l2c_csm_execute /* 802D7F14 002D3B74 7F E3 FB 78 */ mr r3, r31 lbl_802D7F18: /* 802D7F18 002D3B78 2C 03 00 00 */ cmpwi r3, 0 /* 802D7F1C 002D3B7C 40 82 FF E8 */ bne lbl_802D7F04 lbl_802D7F20: /* 802D7F20 002D3B80 80 1E 00 08 */ lwz r0, 8(r30) /* 802D7F24 002D3B84 2C 00 00 00 */ cmpwi r0, 0 /* 802D7F28 002D3B88 40 82 00 68 */ bne lbl_802D7F90 /* 802D7F2C 002D3B8C A0 7E 00 28 */ lhz r3, 0x28(r30) /* 802D7F30 002D3B90 38 80 00 13 */ li r4, 0x13 /* 802D7F34 002D3B94 4B FF 4A 45 */ bl btm_sec_disconnect /* 802D7F38 002D3B98 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802D7F3C 002D3B9C 28 00 00 01 */ cmplwi r0, 1 /* 802D7F40 002D3BA0 40 82 00 14 */ bne lbl_802D7F54 /* 802D7F44 002D3BA4 38 00 00 05 */ li r0, 5 /* 802D7F48 002D3BA8 38 60 00 1E */ li r3, 0x1e /* 802D7F4C 002D3BAC 90 1E 00 04 */ stw r0, 4(r30) /* 802D7F50 002D3BB0 48 00 00 24 */ b lbl_802D7F74 lbl_802D7F54: /* 802D7F54 002D3BB4 2C 00 00 00 */ cmpwi r0, 0 /* 802D7F58 002D3BB8 40 82 00 18 */ bne lbl_802D7F70 /* 802D7F5C 002D3BBC 38 00 00 05 */ li r0, 5 /* 802D7F60 002D3BC0 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 802D7F64 002D3BC4 90 1E 00 04 */ stw r0, 4(r30) /* 802D7F68 002D3BC8 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l /* 802D7F6C 002D3BCC 48 00 00 08 */ b lbl_802D7F74 lbl_802D7F70: /* 802D7F70 002D3BD0 38 60 00 01 */ li r3, 1 lbl_802D7F74: /* 802D7F74 002D3BD4 54 65 04 3E */ clrlwi r5, r3, 0x10 /* 802D7F78 002D3BD8 28 05 FF FF */ cmplwi r5, 0xffff /* 802D7F7C 002D3BDC 41 82 00 24 */ beq lbl_802D7FA0 /* 802D7F80 002D3BE0 38 7E 00 10 */ addi r3, r30, 0x10 /* 802D7F84 002D3BE4 38 80 00 02 */ li r4, 2 /* 802D7F88 002D3BE8 4B FE 55 55 */ bl btu_start_timer /* 802D7F8C 002D3BEC 48 00 00 14 */ b lbl_802D7FA0 lbl_802D7F90: /* 802D7F90 002D3BF0 7F C3 F3 78 */ mr r3, r30 /* 802D7F94 002D3BF4 38 80 00 00 */ li r4, 0 /* 802D7F98 002D3BF8 38 A0 00 00 */ li r5, 0 /* 802D7F9C 002D3BFC 48 00 01 25 */ bl l2c_link_check_send_pkts lbl_802D7FA0: /* 802D7FA0 002D3C00 80 01 00 14 */ lwz r0, 0x14(r1) /* 802D7FA4 002D3C04 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802D7FA8 002D3C08 83 C1 00 08 */ lwz r30, 8(r1) /* 802D7FAC 002D3C0C 7C 08 03 A6 */ mtlr r0 /* 802D7FB0 002D3C10 38 21 00 10 */ addi r1, r1, 0x10 /* 802D7FB4 002D3C14 4E 80 00 20 */ blr .global l2c_link_send_to_lower l2c_link_send_to_lower: /* 802D7FB8 002D3C18 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D7FBC 002D3C1C 7C 08 02 A6 */ mflr r0 /* 802D7FC0 002D3C20 3C C0 80 57 */ lis r6, lbl_80568650@ha /* 802D7FC4 002D3C24 90 01 00 14 */ stw r0, 0x14(r1) /* 802D7FC8 002D3C28 38 C6 86 50 */ addi r6, r6, lbl_80568650@l /* 802D7FCC 002D3C2C 7C 80 23 78 */ mr r0, r4 /* 802D7FD0 002D3C30 A0 E4 00 02 */ lhz r7, 2(r4) /* 802D7FD4 002D3C34 A0 A6 00 7E */ lhz r5, 0x7e(r6) /* 802D7FD8 002D3C38 7C 07 28 40 */ cmplw r7, r5 /* 802D7FDC 002D3C3C 41 81 00 40 */ bgt lbl_802D801C /* 802D7FE0 002D3C40 A0 83 00 36 */ lhz r4, 0x36(r3) /* 802D7FE4 002D3C44 3C C0 80 57 */ lis r6, lbl_8056BC40@ha /* 802D7FE8 002D3C48 A0 A3 00 38 */ lhz r5, 0x38(r3) /* 802D7FEC 002D3C4C 38 C6 BC 40 */ addi r6, r6, lbl_8056BC40@l /* 802D7FF0 002D3C50 38 E4 FF FF */ addi r7, r4, -1 /* 802D7FF4 002D3C54 38 80 21 00 */ li r4, 0x2100 /* 802D7FF8 002D3C58 38 A5 00 01 */ addi r5, r5, 1 /* 802D7FFC 002D3C5C B0 E3 00 36 */ sth r7, 0x36(r3) /* 802D8000 002D3C60 B0 A3 00 38 */ sth r5, 0x38(r3) /* 802D8004 002D3C64 7C 03 03 78 */ mr r3, r0 /* 802D8008 002D3C68 A0 A6 00 04 */ lhz r5, 4(r6) /* 802D800C 002D3C6C 38 05 FF FF */ addi r0, r5, -1 /* 802D8010 002D3C70 B0 06 00 04 */ sth r0, 4(r6) /* 802D8014 002D3C74 4B FE 4D 5D */ bl bte_hcisu_send /* 802D8018 002D3C78 48 00 00 94 */ b lbl_802D80AC lbl_802D801C: /* 802D801C 002D3C7C A1 06 00 7C */ lhz r8, 0x7c(r6) /* 802D8020 002D3C80 3C A0 80 57 */ lis r5, lbl_8056BC40@ha /* 802D8024 002D3C84 38 A5 BC 40 */ addi r5, r5, lbl_8056BC40@l /* 802D8028 002D3C88 7C C7 42 14 */ add r6, r7, r8 /* 802D802C 002D3C8C A0 E5 00 04 */ lhz r7, 4(r5) /* 802D8030 002D3C90 38 A6 FF FB */ addi r5, r6, -5 /* 802D8034 002D3C94 7C A5 43 D6 */ divw r5, r5, r8 /* 802D8038 002D3C98 54 A8 04 3E */ clrlwi r8, r5, 0x10 /* 802D803C 002D3C9C 7C 08 38 40 */ cmplw r8, r7 /* 802D8040 002D3CA0 40 81 00 14 */ ble lbl_802D8054 /* 802D8044 002D3CA4 B0 E4 00 06 */ sth r7, 6(r4) /* 802D8048 002D3CA8 38 A0 00 01 */ li r5, 1 /* 802D804C 002D3CAC 7C E8 3B 78 */ mr r8, r7 /* 802D8050 002D3CB0 98 A3 00 40 */ stb r5, 0x40(r3) lbl_802D8054: /* 802D8054 002D3CB4 A0 C3 00 36 */ lhz r6, 0x36(r3) /* 802D8058 002D3CB8 55 05 04 3E */ clrlwi r5, r8, 0x10 /* 802D805C 002D3CBC 7C 05 30 40 */ cmplw r5, r6 /* 802D8060 002D3CC0 40 81 00 14 */ ble lbl_802D8074 /* 802D8064 002D3CC4 B0 C4 00 06 */ sth r6, 6(r4) /* 802D8068 002D3CC8 38 80 00 01 */ li r4, 1 /* 802D806C 002D3CCC 7C C8 33 78 */ mr r8, r6 /* 802D8070 002D3CD0 98 83 00 40 */ stb r4, 0x40(r3) lbl_802D8074: /* 802D8074 002D3CD4 3C C0 80 57 */ lis r6, lbl_8056BC40@ha /* 802D8078 002D3CD8 38 80 21 00 */ li r4, 0x2100 /* 802D807C 002D3CDC 38 C6 BC 40 */ addi r6, r6, lbl_8056BC40@l /* 802D8080 002D3CE0 A0 A6 00 04 */ lhz r5, 4(r6) /* 802D8084 002D3CE4 7C A8 28 50 */ subf r5, r8, r5 /* 802D8088 002D3CE8 B0 A6 00 04 */ sth r5, 4(r6) /* 802D808C 002D3CEC A0 C3 00 36 */ lhz r6, 0x36(r3) /* 802D8090 002D3CF0 A0 A3 00 38 */ lhz r5, 0x38(r3) /* 802D8094 002D3CF4 7C C8 30 50 */ subf r6, r8, r6 /* 802D8098 002D3CF8 7C A5 42 14 */ add r5, r5, r8 /* 802D809C 002D3CFC B0 C3 00 36 */ sth r6, 0x36(r3) /* 802D80A0 002D3D00 B0 A3 00 38 */ sth r5, 0x38(r3) /* 802D80A4 002D3D04 7C 03 03 78 */ mr r3, r0 /* 802D80A8 002D3D08 4B FE 4C C9 */ bl bte_hcisu_send lbl_802D80AC: /* 802D80AC 002D3D0C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802D80B0 002D3D10 38 60 00 01 */ li r3, 1 /* 802D80B4 002D3D14 7C 08 03 A6 */ mtlr r0 /* 802D80B8 002D3D18 38 21 00 10 */ addi r1, r1, 0x10 /* 802D80BC 002D3D1C 4E 80 00 20 */ blr .global l2c_link_check_send_pkts l2c_link_check_send_pkts: /* 802D80C0 002D3D20 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802D80C4 002D3D24 7C 08 02 A6 */ mflr r0 /* 802D80C8 002D3D28 90 01 00 34 */ stw r0, 0x34(r1) /* 802D80CC 002D3D2C 39 61 00 30 */ addi r11, r1, 0x30 /* 802D80D0 002D3D30 4B EE F0 55 */ bl _savegpr_26 /* 802D80D4 002D3D34 2C 05 00 00 */ cmpwi r5, 0 /* 802D80D8 002D3D38 3F E0 80 44 */ lis r31, lbl_80443C08@ha /* 802D80DC 002D3D3C 7C 7D 1B 78 */ mr r29, r3 /* 802D80E0 002D3D40 7C BE 2B 78 */ mr r30, r5 /* 802D80E4 002D3D44 3B FF 3C 08 */ addi r31, r31, lbl_80443C08@l /* 802D80E8 002D3D48 41 82 00 F4 */ beq lbl_802D81DC /* 802D80EC 002D3D4C A0 83 00 4C */ lhz r4, 0x4c(r3) /* 802D80F0 002D3D50 A0 03 00 3A */ lhz r0, 0x3a(r3) /* 802D80F4 002D3D54 7C 04 00 40 */ cmplw r4, r0 /* 802D80F8 002D3D58 41 80 00 94 */ blt lbl_802D818C /* 802D80FC 002D3D5C 88 03 00 41 */ lbz r0, 0x41(r3) /* 802D8100 002D3D60 2C 00 00 00 */ cmpwi r0, 0 /* 802D8104 002D3D64 40 82 00 88 */ bne lbl_802D818C /* 802D8108 002D3D68 83 43 00 08 */ lwz r26, 8(r3) /* 802D810C 002D3D6C 3F 80 00 08 */ lis r28, 8 /* 802D8110 002D3D70 3F 60 80 57 */ lis r27, 0x8057 /* 802D8114 002D3D74 48 00 00 68 */ b lbl_802D817C lbl_802D8118: /* 802D8118 002D3D78 88 1B BC 40 */ lbz r0, -0x43c0(r27) /* 802D811C 002D3D7C 28 00 00 02 */ cmplwi r0, 2 /* 802D8120 002D3D80 41 80 00 14 */ blt lbl_802D8134 /* 802D8124 002D3D84 A0 BA 00 14 */ lhz r5, 0x14(r26) /* 802D8128 002D3D88 38 7C 00 01 */ addi r3, r28, 1 /* 802D812C 002D3D8C 38 9F 00 E4 */ addi r4, r31, 0xe4 /* 802D8130 002D3D90 4B FE 4D F9 */ bl LogMsg_1 lbl_802D8134: /* 802D8134 002D3D94 80 7A 00 30 */ lwz r3, 0x30(r26) /* 802D8138 002D3D98 80 03 00 28 */ lwz r0, 0x28(r3) /* 802D813C 002D3D9C 2C 00 00 00 */ cmpwi r0, 0 /* 802D8140 002D3DA0 41 82 00 38 */ beq lbl_802D8178 /* 802D8144 002D3DA4 88 1B BC 40 */ lbz r0, -0x43c0(r27) /* 802D8148 002D3DA8 28 00 00 03 */ cmplwi r0, 3 /* 802D814C 002D3DAC 41 80 00 14 */ blt lbl_802D8160 /* 802D8150 002D3DB0 A0 BA 00 14 */ lhz r5, 0x14(r26) /* 802D8154 002D3DB4 38 7C 00 02 */ addi r3, r28, 2 /* 802D8158 002D3DB8 38 9F 01 10 */ addi r4, r31, 0x110 /* 802D815C 002D3DBC 4B FE 4D CD */ bl LogMsg_1 lbl_802D8160: /* 802D8160 002D3DC0 80 BA 00 30 */ lwz r5, 0x30(r26) /* 802D8164 002D3DC4 38 80 00 01 */ li r4, 1 /* 802D8168 002D3DC8 A0 7A 00 14 */ lhz r3, 0x14(r26) /* 802D816C 002D3DCC 81 85 00 28 */ lwz r12, 0x28(r5) /* 802D8170 002D3DD0 7D 89 03 A6 */ mtctr r12 /* 802D8174 002D3DD4 4E 80 04 21 */ bctrl lbl_802D8178: /* 802D8178 002D3DD8 83 5A 00 08 */ lwz r26, 8(r26) lbl_802D817C: /* 802D817C 002D3DDC 2C 1A 00 00 */ cmpwi r26, 0 /* 802D8180 002D3DE0 40 82 FF 98 */ bne lbl_802D8118 /* 802D8184 002D3DE4 38 00 00 01 */ li r0, 1 /* 802D8188 002D3DE8 98 1D 00 41 */ stb r0, 0x41(r29) lbl_802D818C: /* 802D818C 002D3DEC A0 7D 00 4C */ lhz r3, 0x4c(r29) /* 802D8190 002D3DF0 A0 1D 00 3E */ lhz r0, 0x3e(r29) /* 802D8194 002D3DF4 7C 03 00 40 */ cmplw r3, r0 /* 802D8198 002D3DF8 41 81 00 1C */ bgt lbl_802D81B4 /* 802D819C 002D3DFC 38 00 00 00 */ li r0, 0 /* 802D81A0 002D3E00 7F C4 F3 78 */ mr r4, r30 /* 802D81A4 002D3E04 B0 1E 00 06 */ sth r0, 6(r30) /* 802D81A8 002D3E08 38 7D 00 44 */ addi r3, r29, 0x44 /* 802D81AC 002D3E0C 4B FE 1F A9 */ bl GKI_enqueue /* 802D81B0 002D3E10 48 00 00 2C */ b lbl_802D81DC lbl_802D81B4: /* 802D81B4 002D3E14 7F C3 F3 78 */ mr r3, r30 /* 802D81B8 002D3E18 4B FE 1B 7D */ bl GKI_freebuf /* 802D81BC 002D3E1C 3C 60 80 57 */ lis r3, lbl_8056BC40@ha /* 802D81C0 002D3E20 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3) /* 802D81C4 002D3E24 28 00 00 02 */ cmplwi r0, 2 /* 802D81C8 002D3E28 41 80 00 14 */ blt lbl_802D81DC /* 802D81CC 002D3E2C 3C 60 00 08 */ lis r3, 0x00080001@ha /* 802D81D0 002D3E30 38 9F 01 50 */ addi r4, r31, 0x150 /* 802D81D4 002D3E34 38 63 00 01 */ addi r3, r3, 0x00080001@l /* 802D81D8 002D3E38 4B FE 4D 39 */ bl LogMsg_0 lbl_802D81DC: /* 802D81DC 002D3E3C 88 1D 00 40 */ lbz r0, 0x40(r29) /* 802D81E0 002D3E40 2C 00 00 00 */ cmpwi r0, 0 /* 802D81E4 002D3E44 40 82 01 90 */ bne lbl_802D8374 /* 802D81E8 002D3E48 38 7D 00 2A */ addi r3, r29, 0x2a /* 802D81EC 002D3E4C 38 81 00 08 */ addi r4, r1, 8 /* 802D81F0 002D3E50 4B FF 0E 89 */ bl BTM_ReadPowerMode /* 802D81F4 002D3E54 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802D81F8 002D3E58 40 82 00 48 */ bne lbl_802D8240 /* 802D81FC 002D3E5C 88 01 00 08 */ lbz r0, 8(r1) /* 802D8200 002D3E60 28 00 00 03 */ cmplwi r0, 3 /* 802D8204 002D3E64 40 82 00 3C */ bne lbl_802D8240 /* 802D8208 002D3E68 A0 1D 00 4C */ lhz r0, 0x4c(r29) /* 802D820C 002D3E6C 2C 00 00 00 */ cmpwi r0, 0 /* 802D8210 002D3E70 41 82 00 30 */ beq lbl_802D8240 /* 802D8214 002D3E74 38 00 00 00 */ li r0, 0 /* 802D8218 002D3E78 38 9D 00 2A */ addi r4, r29, 0x2a /* 802D821C 002D3E7C 98 01 00 14 */ stb r0, 0x14(r1) /* 802D8220 002D3E80 38 A1 00 0C */ addi r5, r1, 0xc /* 802D8224 002D3E84 38 60 00 80 */ li r3, 0x80 /* 802D8228 002D3E88 4B FF 0C 81 */ bl BTM_SetPowerMode /* 802D822C 002D3E8C 38 7D 00 10 */ addi r3, r29, 0x10 /* 802D8230 002D3E90 38 80 00 02 */ li r4, 2 /* 802D8234 002D3E94 38 A0 00 01 */ li r5, 1 /* 802D8238 002D3E98 4B FE 52 A5 */ bl btu_start_timer /* 802D823C 002D3E9C 48 00 01 38 */ b lbl_802D8374 lbl_802D8240: /* 802D8240 002D3EA0 3F 80 80 57 */ lis r28, lbl_8056BC40@ha /* 802D8244 002D3EA4 3B 9C BC 40 */ addi r28, r28, lbl_8056BC40@l /* 802D8248 002D3EA8 48 00 00 50 */ b lbl_802D8298 lbl_802D824C: /* 802D824C 002D3EAC 80 7D 00 44 */ lwz r3, 0x44(r29) /* 802D8250 002D3EB0 2C 03 00 00 */ cmpwi r3, 0 /* 802D8254 002D3EB4 41 82 00 5C */ beq lbl_802D82B0 /* 802D8258 002D3EB8 A0 03 00 06 */ lhz r0, 6(r3) /* 802D825C 002D3EBC 2C 00 00 00 */ cmpwi r0, 0 /* 802D8260 002D3EC0 40 82 00 50 */ bne lbl_802D82B0 /* 802D8264 002D3EC4 88 1D 00 40 */ lbz r0, 0x40(r29) /* 802D8268 002D3EC8 2C 00 00 00 */ cmpwi r0, 0 /* 802D826C 002D3ECC 40 82 01 08 */ bne lbl_802D8374 /* 802D8270 002D3ED0 38 7D 00 44 */ addi r3, r29, 0x44 /* 802D8274 002D3ED4 4B FE 21 5D */ bl GKI_dequeue /* 802D8278 002D3ED8 2C 03 00 00 */ cmpwi r3, 0 /* 802D827C 002D3EDC 7C 7E 1B 78 */ mr r30, r3 /* 802D8280 002D3EE0 41 82 00 30 */ beq lbl_802D82B0 /* 802D8284 002D3EE4 7F A3 EB 78 */ mr r3, r29 /* 802D8288 002D3EE8 7F C4 F3 78 */ mr r4, r30 /* 802D828C 002D3EEC 4B FF FD 2D */ bl l2c_link_send_to_lower /* 802D8290 002D3EF0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802D8294 002D3EF4 41 82 00 1C */ beq lbl_802D82B0 lbl_802D8298: /* 802D8298 002D3EF8 A0 1C 00 04 */ lhz r0, 4(r28) /* 802D829C 002D3EFC 2C 00 00 00 */ cmpwi r0, 0 /* 802D82A0 002D3F00 41 82 00 10 */ beq lbl_802D82B0 /* 802D82A4 002D3F04 A0 1D 00 36 */ lhz r0, 0x36(r29) /* 802D82A8 002D3F08 2C 00 00 00 */ cmpwi r0, 0 /* 802D82AC 002D3F0C 40 82 FF A0 */ bne lbl_802D824C lbl_802D82B0: /* 802D82B0 002D3F10 88 1D 00 40 */ lbz r0, 0x40(r29) /* 802D82B4 002D3F14 2C 00 00 00 */ cmpwi r0, 0 /* 802D82B8 002D3F18 40 82 00 BC */ bne lbl_802D8374 /* 802D82BC 002D3F1C A0 1D 00 4C */ lhz r0, 0x4c(r29) /* 802D82C0 002D3F20 2C 00 00 00 */ cmpwi r0, 0 /* 802D82C4 002D3F24 41 82 00 20 */ beq lbl_802D82E4 /* 802D82C8 002D3F28 A0 1D 00 36 */ lhz r0, 0x36(r29) /* 802D82CC 002D3F2C 2C 00 00 00 */ cmpwi r0, 0 /* 802D82D0 002D3F30 41 82 00 14 */ beq lbl_802D82E4 /* 802D82D4 002D3F34 38 7D 00 10 */ addi r3, r29, 0x10 /* 802D82D8 002D3F38 38 80 00 02 */ li r4, 2 /* 802D82DC 002D3F3C 38 A0 00 02 */ li r5, 2 /* 802D82E0 002D3F40 4B FE 51 FD */ bl btu_start_timer lbl_802D82E4: /* 802D82E4 002D3F44 88 1D 00 41 */ lbz r0, 0x41(r29) /* 802D82E8 002D3F48 2C 00 00 00 */ cmpwi r0, 0 /* 802D82EC 002D3F4C 41 82 00 88 */ beq lbl_802D8374 /* 802D82F0 002D3F50 A0 7D 00 4C */ lhz r3, 0x4c(r29) /* 802D82F4 002D3F54 A0 1D 00 3C */ lhz r0, 0x3c(r29) /* 802D82F8 002D3F58 7C 03 00 40 */ cmplw r3, r0 /* 802D82FC 002D3F5C 41 81 00 78 */ bgt lbl_802D8374 /* 802D8300 002D3F60 38 00 00 00 */ li r0, 0 /* 802D8304 002D3F64 83 7D 00 08 */ lwz r27, 8(r29) /* 802D8308 002D3F68 98 1D 00 41 */ stb r0, 0x41(r29) /* 802D830C 002D3F6C 3F C0 00 08 */ lis r30, 8 /* 802D8310 002D3F70 3F 80 80 57 */ lis r28, 0x8057 /* 802D8314 002D3F74 48 00 00 58 */ b lbl_802D836C lbl_802D8318: /* 802D8318 002D3F78 80 7B 00 30 */ lwz r3, 0x30(r27) /* 802D831C 002D3F7C 80 03 00 28 */ lwz r0, 0x28(r3) /* 802D8320 002D3F80 2C 00 00 00 */ cmpwi r0, 0 /* 802D8324 002D3F84 41 82 00 44 */ beq lbl_802D8368 /* 802D8328 002D3F88 88 1C BC 40 */ lbz r0, -0x43c0(r28) /* 802D832C 002D3F8C 28 00 00 03 */ cmplwi r0, 3 /* 802D8330 002D3F90 41 80 00 14 */ blt lbl_802D8344 /* 802D8334 002D3F94 A0 BB 00 14 */ lhz r5, 0x14(r27) /* 802D8338 002D3F98 38 7E 00 02 */ addi r3, r30, 2 /* 802D833C 002D3F9C 38 9F 01 70 */ addi r4, r31, 0x170 /* 802D8340 002D3FA0 4B FE 4B E9 */ bl LogMsg_1 lbl_802D8344: /* 802D8344 002D3FA4 80 BB 00 30 */ lwz r5, 0x30(r27) /* 802D8348 002D3FA8 38 80 00 00 */ li r4, 0 /* 802D834C 002D3FAC A0 7B 00 14 */ lhz r3, 0x14(r27) /* 802D8350 002D3FB0 81 85 00 28 */ lwz r12, 0x28(r5) /* 802D8354 002D3FB4 7D 89 03 A6 */ mtctr r12 /* 802D8358 002D3FB8 4E 80 04 21 */ bctrl /* 802D835C 002D3FBC 88 1D 00 41 */ lbz r0, 0x41(r29) /* 802D8360 002D3FC0 2C 00 00 00 */ cmpwi r0, 0 /* 802D8364 002D3FC4 40 82 00 10 */ bne lbl_802D8374 lbl_802D8368: /* 802D8368 002D3FC8 83 7B 00 08 */ lwz r27, 8(r27) lbl_802D836C: /* 802D836C 002D3FCC 2C 1B 00 00 */ cmpwi r27, 0 /* 802D8370 002D3FD0 40 82 FF A8 */ bne lbl_802D8318 lbl_802D8374: /* 802D8374 002D3FD4 39 61 00 30 */ addi r11, r1, 0x30 /* 802D8378 002D3FD8 4B EE ED F9 */ bl _restgpr_26 /* 802D837C 002D3FDC 80 01 00 34 */ lwz r0, 0x34(r1) /* 802D8380 002D3FE0 7C 08 03 A6 */ mtlr r0 /* 802D8384 002D3FE4 38 21 00 30 */ addi r1, r1, 0x30 /* 802D8388 002D3FE8 4E 80 00 20 */ blr .global l2c_link_adjust_allocation l2c_link_adjust_allocation: /* 802D838C 002D3FEC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802D8390 002D3FF0 7C 08 02 A6 */ mflr r0 /* 802D8394 002D3FF4 90 01 00 34 */ stw r0, 0x34(r1) /* 802D8398 002D3FF8 39 61 00 30 */ addi r11, r1, 0x30 /* 802D839C 002D3FFC 4B EE ED 7D */ bl _savegpr_23 /* 802D83A0 002D4000 3C 60 80 57 */ lis r3, lbl_8056BC40@ha /* 802D83A4 002D4004 3B 40 00 00 */ li r26, 0 /* 802D83A8 002D4008 38 63 BC 40 */ addi r3, r3, lbl_8056BC40@l /* 802D83AC 002D400C A0 83 07 B8 */ lhz r4, 0x7b8(r3) /* 802D83B0 002D4010 2C 04 00 00 */ cmpwi r4, 0 /* 802D83B4 002D4014 41 82 01 58 */ beq lbl_802D850C /* 802D83B8 002D4018 88 03 00 08 */ lbz r0, 8(r3) /* 802D83BC 002D401C 2C 00 00 00 */ cmpwi r0, 0 /* 802D83C0 002D4020 41 82 00 14 */ beq lbl_802D83D4 /* 802D83C4 002D4024 88 03 00 62 */ lbz r0, 0x62(r3) /* 802D83C8 002D4028 28 00 00 01 */ cmplwi r0, 1 /* 802D83CC 002D402C 40 82 00 08 */ bne lbl_802D83D4 /* 802D83D0 002D4030 3B 40 00 01 */ li r26, 1 lbl_802D83D4: /* 802D83D4 002D4034 88 03 00 64 */ lbz r0, 0x64(r3) /* 802D83D8 002D4038 2C 00 00 00 */ cmpwi r0, 0 /* 802D83DC 002D403C 41 82 00 14 */ beq lbl_802D83F0 /* 802D83E0 002D4040 88 03 00 BE */ lbz r0, 0xbe(r3) /* 802D83E4 002D4044 28 00 00 01 */ cmplwi r0, 1 /* 802D83E8 002D4048 40 82 00 08 */ bne lbl_802D83F0 /* 802D83EC 002D404C 3B 5A 00 01 */ addi r26, r26, 1 lbl_802D83F0: /* 802D83F0 002D4050 88 03 00 C0 */ lbz r0, 0xc0(r3) /* 802D83F4 002D4054 2C 00 00 00 */ cmpwi r0, 0 /* 802D83F8 002D4058 41 82 00 14 */ beq lbl_802D840C /* 802D83FC 002D405C 88 03 01 1A */ lbz r0, 0x11a(r3) /* 802D8400 002D4060 28 00 00 01 */ cmplwi r0, 1 /* 802D8404 002D4064 40 82 00 08 */ bne lbl_802D840C /* 802D8408 002D4068 3B 5A 00 01 */ addi r26, r26, 1 lbl_802D840C: /* 802D840C 002D406C 88 03 01 1C */ lbz r0, 0x11c(r3) /* 802D8410 002D4070 2C 00 00 00 */ cmpwi r0, 0 /* 802D8414 002D4074 41 82 00 14 */ beq lbl_802D8428 /* 802D8418 002D4078 88 03 01 76 */ lbz r0, 0x176(r3) /* 802D841C 002D407C 28 00 00 01 */ cmplwi r0, 1 /* 802D8420 002D4080 40 82 00 08 */ bne lbl_802D8428 /* 802D8424 002D4084 3B 5A 00 01 */ addi r26, r26, 1 lbl_802D8428: /* 802D8428 002D4088 3F C0 80 57 */ lis r30, lbl_8056BC40@ha /* 802D842C 002D408C 3B A0 00 00 */ li r29, 0 /* 802D8430 002D4090 38 7E BC 40 */ addi r3, r30, lbl_8056BC40@l /* 802D8434 002D4094 3B E0 00 03 */ li r31, 3 /* 802D8438 002D4098 A0 03 00 02 */ lhz r0, 2(r3) /* 802D843C 002D409C 3B 83 00 08 */ addi r28, r3, 8 /* 802D8440 002D40A0 3F 00 00 08 */ lis r24, 8 /* 802D8444 002D40A4 3F 20 80 44 */ lis r25, 0x8044 /* 802D8448 002D40A8 7C 60 23 D6 */ divw r3, r0, r4 /* 802D844C 002D40AC 3E E0 51 EC */ lis r23, 0x51ec /* 802D8450 002D40B0 38 03 00 01 */ addi r0, r3, 1 /* 802D8454 002D40B4 54 1B 04 3E */ clrlwi r27, r0, 0x10 lbl_802D8458: /* 802D8458 002D40B8 88 1C 00 00 */ lbz r0, 0(r28) /* 802D845C 002D40BC 2C 00 00 00 */ cmpwi r0, 0 /* 802D8460 002D40C0 41 82 00 9C */ beq lbl_802D84FC /* 802D8464 002D40C4 2C 1A 00 00 */ cmpwi r26, 0 /* 802D8468 002D40C8 41 82 00 10 */ beq lbl_802D8478 /* 802D846C 002D40CC 88 1C 00 5A */ lbz r0, 0x5a(r28) /* 802D8470 002D40D0 28 00 00 01 */ cmplwi r0, 1 /* 802D8474 002D40D4 40 82 00 10 */ bne lbl_802D8484 lbl_802D8478: /* 802D8478 002D40D8 B3 7C 00 34 */ sth r27, 0x34(r28) /* 802D847C 002D40DC B3 7C 00 36 */ sth r27, 0x36(r28) /* 802D8480 002D40E0 48 00 00 0C */ b lbl_802D848C lbl_802D8484: /* 802D8484 002D40E4 B3 FC 00 34 */ sth r31, 0x34(r28) /* 802D8488 002D40E8 B3 FC 00 36 */ sth r31, 0x36(r28) lbl_802D848C: /* 802D848C 002D40EC A0 1C 00 34 */ lhz r0, 0x34(r28) /* 802D8490 002D40F0 38 77 85 1F */ addi r3, r23, -31457 /* 802D8494 002D40F4 1C 00 00 78 */ mulli r0, r0, 0x78 /* 802D8498 002D40F8 7C 03 00 96 */ mulhw r0, r3, r0 /* 802D849C 002D40FC 7C 00 2E 70 */ srawi r0, r0, 5 /* 802D84A0 002D4100 54 03 0F FE */ srwi r3, r0, 0x1f /* 802D84A4 002D4104 7C 00 1A 14 */ add r0, r0, r3 /* 802D84A8 002D4108 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 802D84AC 002D410C B0 1C 00 3A */ sth r0, 0x3a(r28) /* 802D84B0 002D4110 7C 04 F8 10 */ subfc r0, r4, r31 /* 802D84B4 002D4114 7C 60 01 10 */ subfe r3, r0, r0 /* 802D84B8 002D4118 38 04 FF FD */ addi r0, r4, -3 /* 802D84BC 002D411C 7C 03 18 38 */ and r3, r0, r3 /* 802D84C0 002D4120 B0 7C 00 3C */ sth r3, 0x3c(r28) /* 802D84C4 002D4124 38 04 00 02 */ addi r0, r4, 2 /* 802D84C8 002D4128 B0 1C 00 3E */ sth r0, 0x3e(r28) /* 802D84CC 002D412C 88 1E BC 40 */ lbz r0, -0x43c0(r30) /* 802D84D0 002D4130 28 00 00 05 */ cmplwi r0, 5 /* 802D84D4 002D4134 41 80 00 28 */ blt lbl_802D84FC /* 802D84D8 002D4138 88 DC 00 5A */ lbz r6, 0x5a(r28) /* 802D84DC 002D413C 38 78 00 04 */ addi r3, r24, 4 /* 802D84E0 002D4140 A0 FC 00 36 */ lhz r7, 0x36(r28) /* 802D84E4 002D4144 38 99 3D B8 */ addi r4, r25, 0x3db8 /* 802D84E8 002D4148 A1 1C 00 3A */ lhz r8, 0x3a(r28) /* 802D84EC 002D414C 57 A5 04 3E */ clrlwi r5, r29, 0x10 /* 802D84F0 002D4150 A1 3C 00 3C */ lhz r9, 0x3c(r28) /* 802D84F4 002D4154 A1 5C 00 3E */ lhz r10, 0x3e(r28) /* 802D84F8 002D4158 4B FE 4A A9 */ bl LogMsg_6 lbl_802D84FC: /* 802D84FC 002D415C 3B BD 00 01 */ addi r29, r29, 1 /* 802D8500 002D4160 3B 9C 00 5C */ addi r28, r28, 0x5c /* 802D8504 002D4164 28 1D 00 04 */ cmplwi r29, 4 /* 802D8508 002D4168 41 80 FF 50 */ blt lbl_802D8458 lbl_802D850C: /* 802D850C 002D416C 39 61 00 30 */ addi r11, r1, 0x30 /* 802D8510 002D4170 4B EE EC 55 */ bl _restgpr_23 /* 802D8514 002D4174 80 01 00 34 */ lwz r0, 0x34(r1) /* 802D8518 002D4178 7C 08 03 A6 */ mtlr r0 /* 802D851C 002D417C 38 21 00 30 */ addi r1, r1, 0x30 /* 802D8520 002D4180 4E 80 00 20 */ blr .global l2c_link_process_num_completed_pkts l2c_link_process_num_completed_pkts: /* 802D8524 002D4184 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802D8528 002D4188 7C 08 02 A6 */ mflr r0 /* 802D852C 002D418C 90 01 00 24 */ stw r0, 0x24(r1) /* 802D8530 002D4190 39 61 00 20 */ addi r11, r1, 0x20 /* 802D8534 002D4194 4B EE EB F1 */ bl _savegpr_26 /* 802D8538 002D4198 3F 80 80 57 */ lis r28, lbl_8056BC40@ha /* 802D853C 002D419C 8B E3 00 00 */ lbz r31, 0(r3) /* 802D8540 002D41A0 3B A3 00 01 */ addi r29, r3, 1 /* 802D8544 002D41A4 3B C0 00 00 */ li r30, 0 /* 802D8548 002D41A8 3B 9C BC 40 */ addi r28, r28, lbl_8056BC40@l /* 802D854C 002D41AC 3B 60 00 00 */ li r27, 0 /* 802D8550 002D41B0 48 00 00 94 */ b lbl_802D85E4 lbl_802D8554: /* 802D8554 002D41B4 88 7D 00 01 */ lbz r3, 1(r29) /* 802D8558 002D41B8 88 1D 00 03 */ lbz r0, 3(r29) /* 802D855C 002D41BC 54 64 40 2E */ slwi r4, r3, 8 /* 802D8560 002D41C0 88 BD 00 00 */ lbz r5, 0(r29) /* 802D8564 002D41C4 88 7D 00 02 */ lbz r3, 2(r29) /* 802D8568 002D41C8 54 00 40 2E */ slwi r0, r0, 8 /* 802D856C 002D41CC 7C 85 22 14 */ add r4, r5, r4 /* 802D8570 002D41D0 3B BD 00 04 */ addi r29, r29, 4 /* 802D8574 002D41D4 7C 03 02 14 */ add r0, r3, r0 /* 802D8578 002D41D8 54 83 04 3E */ clrlwi r3, r4, 0x10 /* 802D857C 002D41DC 54 1A 04 3E */ clrlwi r26, r0, 0x10 /* 802D8580 002D41E0 48 00 17 71 */ bl l2cu_find_lcb_by_handle /* 802D8584 002D41E4 2C 03 00 00 */ cmpwi r3, 0 /* 802D8588 002D41E8 41 82 00 58 */ beq lbl_802D85E0 /* 802D858C 002D41EC A0 03 00 36 */ lhz r0, 0x36(r3) /* 802D8590 002D41F0 7C 00 D2 14 */ add r0, r0, r26 /* 802D8594 002D41F4 B0 03 00 36 */ sth r0, 0x36(r3) /* 802D8598 002D41F8 54 00 04 3E */ clrlwi r0, r0, 0x10 /* 802D859C 002D41FC A0 83 00 34 */ lhz r4, 0x34(r3) /* 802D85A0 002D4200 7C 00 20 40 */ cmplw r0, r4 /* 802D85A4 002D4204 40 81 00 08 */ ble lbl_802D85AC /* 802D85A8 002D4208 B0 83 00 36 */ sth r4, 0x36(r3) lbl_802D85AC: /* 802D85AC 002D420C A0 03 00 38 */ lhz r0, 0x38(r3) /* 802D85B0 002D4210 7C 00 D0 40 */ cmplw r0, r26 /* 802D85B4 002D4214 40 81 00 10 */ ble lbl_802D85C4 /* 802D85B8 002D4218 7C 1A 00 50 */ subf r0, r26, r0 /* 802D85BC 002D421C B0 03 00 38 */ sth r0, 0x38(r3) /* 802D85C0 002D4220 48 00 00 08 */ b lbl_802D85C8 lbl_802D85C4: /* 802D85C4 002D4224 B3 63 00 38 */ sth r27, 0x38(r3) lbl_802D85C8: /* 802D85C8 002D4228 A0 1C 00 04 */ lhz r0, 4(r28) /* 802D85CC 002D422C 38 80 00 00 */ li r4, 0 /* 802D85D0 002D4230 38 A0 00 00 */ li r5, 0 /* 802D85D4 002D4234 7C 00 D2 14 */ add r0, r0, r26 /* 802D85D8 002D4238 B0 1C 00 04 */ sth r0, 4(r28) /* 802D85DC 002D423C 4B FF FA E5 */ bl l2c_link_check_send_pkts lbl_802D85E0: /* 802D85E0 002D4240 3B DE 00 01 */ addi r30, r30, 1 lbl_802D85E4: /* 802D85E4 002D4244 57 C0 06 3E */ clrlwi r0, r30, 0x18 /* 802D85E8 002D4248 7C 00 F8 40 */ cmplw r0, r31 /* 802D85EC 002D424C 41 80 FF 68 */ blt lbl_802D8554 /* 802D85F0 002D4250 39 61 00 20 */ addi r11, r1, 0x20 /* 802D85F4 002D4254 4B EE EB 7D */ bl _restgpr_26 /* 802D85F8 002D4258 80 01 00 24 */ lwz r0, 0x24(r1) /* 802D85FC 002D425C 7C 08 03 A6 */ mtlr r0 /* 802D8600 002D4260 38 21 00 20 */ addi r1, r1, 0x20 /* 802D8604 002D4264 4E 80 00 20 */ blr .global l2c_link_processs_num_bufs l2c_link_processs_num_bufs: /* 802D8608 002D4268 3C 80 80 57 */ lis r4, lbl_8056BC40@ha /* 802D860C 002D426C 38 84 BC 40 */ addi r4, r4, lbl_8056BC40@l /* 802D8610 002D4270 B0 64 00 02 */ sth r3, 2(r4) /* 802D8614 002D4274 B0 64 00 04 */ sth r3, 4(r4) /* 802D8618 002D4278 4E 80 00 20 */ blr .global l2cap_link_chk_pkt_start l2cap_link_chk_pkt_start: /* 802D861C 002D427C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802D8620 002D4280 7C 08 02 A6 */ mflr r0 /* 802D8624 002D4284 90 01 00 34 */ stw r0, 0x34(r1) /* 802D8628 002D4288 39 61 00 30 */ addi r11, r1, 0x30 /* 802D862C 002D428C 4B EE EA F1 */ bl _savegpr_24 /* 802D8630 002D4290 A0 03 00 04 */ lhz r0, 4(r3) /* 802D8634 002D4294 38 C0 00 00 */ li r6, 0 /* 802D8638 002D4298 B0 C3 00 06 */ sth r6, 6(r3) /* 802D863C 002D429C 3F 00 80 57 */ lis r24, lbl_8056BC40@ha /* 802D8640 002D42A0 7C E3 02 14 */ add r7, r3, r0 /* 802D8644 002D42A4 7C 7C 1B 78 */ mr r28, r3 /* 802D8648 002D42A8 88 67 00 09 */ lbz r3, 9(r7) /* 802D864C 002D42AC 3B 38 BC 40 */ addi r25, r24, lbl_8056BC40@l /* 802D8650 002D42B0 88 07 00 0B */ lbz r0, 0xb(r7) /* 802D8654 002D42B4 54 64 40 2E */ slwi r4, r3, 8 /* 802D8658 002D42B8 88 A7 00 08 */ lbz r5, 8(r7) /* 802D865C 002D42BC 88 67 00 0A */ lbz r3, 0xa(r7) /* 802D8660 002D42C0 54 00 40 2E */ slwi r0, r0, 8 /* 802D8664 002D42C4 7C 85 22 14 */ add r4, r5, r4 /* 802D8668 002D42C8 7C 03 02 14 */ add r0, r3, r0 /* 802D866C 002D42CC 90 D9 07 BC */ stw r6, 0x7bc(r25) /* 802D8670 002D42D0 54 1F 04 3E */ clrlwi r31, r0, 0x10 /* 802D8674 002D42D4 54 9B A7 BE */ rlwinm r27, r4, 0x14, 0x1e, 0x1f /* 802D8678 002D42D8 54 83 05 3E */ clrlwi r3, r4, 0x14 /* 802D867C 002D42DC 48 00 16 75 */ bl l2cu_find_lcb_by_handle /* 802D8680 002D42E0 2C 03 00 00 */ cmpwi r3, 0 /* 802D8684 002D42E4 7C 7A 1B 78 */ mr r26, r3 /* 802D8688 002D42E8 40 82 00 0C */ bne lbl_802D8694 /* 802D868C 002D42EC 7F 83 E3 78 */ mr r3, r28 /* 802D8690 002D42F0 48 00 01 44 */ b lbl_802D87D4 lbl_802D8694: /* 802D8694 002D42F4 28 1B 00 02 */ cmplwi r27, 2 /* 802D8698 002D42F8 40 82 00 50 */ bne lbl_802D86E8 /* 802D869C 002D42FC 80 03 00 50 */ lwz r0, 0x50(r3) /* 802D86A0 002D4300 2C 00 00 00 */ cmpwi r0, 0 /* 802D86A4 002D4304 41 82 00 2C */ beq lbl_802D86D0 /* 802D86A8 002D4308 88 18 BC 40 */ lbz r0, -0x43c0(r24) /* 802D86AC 002D430C 28 00 00 02 */ cmplwi r0, 2 /* 802D86B0 002D4310 41 80 00 18 */ blt lbl_802D86C8 /* 802D86B4 002D4314 3C 60 00 08 */ lis r3, 0x00080001@ha /* 802D86B8 002D4318 3C 80 80 44 */ lis r4, lbl_80443E00@ha /* 802D86BC 002D431C 38 63 00 01 */ addi r3, r3, 0x00080001@l /* 802D86C0 002D4320 38 84 3E 00 */ addi r4, r4, lbl_80443E00@l /* 802D86C4 002D4324 4B FE 48 4D */ bl LogMsg_0 lbl_802D86C8: /* 802D86C8 002D4328 80 7A 00 50 */ lwz r3, 0x50(r26) /* 802D86CC 002D432C 4B FE 16 69 */ bl GKI_freebuf lbl_802D86D0: /* 802D86D0 002D4330 3C 60 80 57 */ lis r3, lbl_8056BC40@ha /* 802D86D4 002D4334 93 9A 00 50 */ stw r28, 0x50(r26) /* 802D86D8 002D4338 38 63 BC 40 */ addi r3, r3, lbl_8056BC40@l /* 802D86DC 002D433C 7F 9E E3 78 */ mr r30, r28 /* 802D86E0 002D4340 93 43 07 BC */ stw r26, 0x7bc(r3) /* 802D86E4 002D4344 48 00 00 DC */ b lbl_802D87C0 lbl_802D86E8: /* 802D86E8 002D4348 83 C3 00 50 */ lwz r30, 0x50(r3) /* 802D86EC 002D434C 2C 1E 00 00 */ cmpwi r30, 0 /* 802D86F0 002D4350 41 82 00 CC */ beq lbl_802D87BC /* 802D86F4 002D4354 A0 1E 00 04 */ lhz r0, 4(r30) /* 802D86F8 002D4358 7F 7E 02 14 */ add r27, r30, r0 /* 802D86FC 002D435C 88 1B 00 0B */ lbz r0, 0xb(r27) /* 802D8700 002D4360 88 9B 00 0A */ lbz r4, 0xa(r27) /* 802D8704 002D4364 54 00 40 2E */ slwi r0, r0, 8 /* 802D8708 002D4368 7C 04 02 14 */ add r0, r4, r0 /* 802D870C 002D436C 54 1D 04 3E */ clrlwi r29, r0, 0x10 /* 802D8710 002D4370 7C 1D FA 14 */ add r0, r29, r31 /* 802D8714 002D4374 2C 00 06 9F */ cmpwi r0, 0x69f /* 802D8718 002D4378 41 81 00 6C */ bgt lbl_802D8784 /* 802D871C 002D437C 90 79 07 BC */ stw r3, 0x7bc(r25) /* 802D8720 002D4380 A0 7C 00 02 */ lhz r3, 2(r28) /* 802D8724 002D4384 28 03 00 04 */ cmplwi r3, 4 /* 802D8728 002D4388 40 81 00 40 */ ble lbl_802D8768 /* 802D872C 002D438C A0 9E 00 04 */ lhz r4, 4(r30) /* 802D8730 002D4390 38 A3 FF FC */ addi r5, r3, -4 /* 802D8734 002D4394 A0 1C 00 04 */ lhz r0, 4(r28) /* 802D8738 002D4398 7C DE 22 14 */ add r6, r30, r4 /* 802D873C 002D439C A0 7E 00 02 */ lhz r3, 2(r30) /* 802D8740 002D43A0 7C 9C 02 14 */ add r4, r28, r0 /* 802D8744 002D43A4 7C 66 1A 14 */ add r3, r6, r3 /* 802D8748 002D43A8 38 63 00 08 */ addi r3, r3, 8 /* 802D874C 002D43AC 38 84 00 0C */ addi r4, r4, 0xc /* 802D8750 002D43B0 4B D2 B8 B1 */ bl memcpy /* 802D8754 002D43B4 A0 7E 00 02 */ lhz r3, 2(r30) /* 802D8758 002D43B8 A0 1C 00 02 */ lhz r0, 2(r28) /* 802D875C 002D43BC 7C 60 1A 14 */ add r3, r0, r3 /* 802D8760 002D43C0 38 03 FF FC */ addi r0, r3, -4 /* 802D8764 002D43C4 B0 1E 00 02 */ sth r0, 2(r30) lbl_802D8768: /* 802D8768 002D43C8 7F 83 E3 78 */ mr r3, r28 /* 802D876C 002D43CC 4B FE 15 C9 */ bl GKI_freebuf /* 802D8770 002D43D0 7F BD FA 14 */ add r29, r29, r31 /* 802D8774 002D43D4 9B BB 00 0A */ stb r29, 0xa(r27) /* 802D8778 002D43D8 57 A0 C6 3E */ rlwinm r0, r29, 0x18, 0x18, 0x1f /* 802D877C 002D43DC 98 1B 00 0B */ stb r0, 0xb(r27) /* 802D8780 002D43E0 48 00 00 40 */ b lbl_802D87C0 lbl_802D8784: /* 802D8784 002D43E4 88 18 BC 40 */ lbz r0, -0x43c0(r24) /* 802D8788 002D43E8 28 00 00 02 */ cmplwi r0, 2 /* 802D878C 002D43EC 41 80 00 18 */ blt lbl_802D87A4 /* 802D8790 002D43F0 3C 60 00 08 */ lis r3, 0x00080001@ha /* 802D8794 002D43F4 3C 80 80 44 */ lis r4, lbl_80443E20@ha /* 802D8798 002D43F8 38 63 00 01 */ addi r3, r3, 0x00080001@l /* 802D879C 002D43FC 38 84 3E 20 */ addi r4, r4, lbl_80443E20@l /* 802D87A0 002D4400 4B FE 47 71 */ bl LogMsg_0 lbl_802D87A4: /* 802D87A4 002D4404 80 7A 00 50 */ lwz r3, 0x50(r26) /* 802D87A8 002D4408 4B FE 15 8D */ bl GKI_freebuf /* 802D87AC 002D440C 38 00 00 00 */ li r0, 0 /* 802D87B0 002D4410 3B C0 00 00 */ li r30, 0 /* 802D87B4 002D4414 90 1A 00 50 */ stw r0, 0x50(r26) /* 802D87B8 002D4418 48 00 00 08 */ b lbl_802D87C0 lbl_802D87BC: /* 802D87BC 002D441C 3B C0 00 00 */ li r30, 0 lbl_802D87C0: /* 802D87C0 002D4420 2C 1E 00 00 */ cmpwi r30, 0 /* 802D87C4 002D4424 40 82 00 0C */ bne lbl_802D87D0 /* 802D87C8 002D4428 7F 83 E3 78 */ mr r3, r28 /* 802D87CC 002D442C 4B FE 15 69 */ bl GKI_freebuf lbl_802D87D0: /* 802D87D0 002D4430 7F C3 F3 78 */ mr r3, r30 lbl_802D87D4: /* 802D87D4 002D4434 39 61 00 30 */ addi r11, r1, 0x30 /* 802D87D8 002D4438 4B EE E9 91 */ bl _restgpr_24 /* 802D87DC 002D443C 80 01 00 34 */ lwz r0, 0x34(r1) /* 802D87E0 002D4440 7C 08 03 A6 */ mtlr r0 /* 802D87E4 002D4444 38 21 00 30 */ addi r1, r1, 0x30 /* 802D87E8 002D4448 4E 80 00 20 */ blr .global l2cap_link_chk_pkt_end l2cap_link_chk_pkt_end: /* 802D87EC 002D444C 3C 60 80 57 */ lis r3, lbl_8056BC40@ha /* 802D87F0 002D4450 38 63 BC 40 */ addi r3, r3, lbl_8056BC40@l /* 802D87F4 002D4454 80 C3 07 BC */ lwz r6, 0x7bc(r3) /* 802D87F8 002D4458 2C 06 00 00 */ cmpwi r6, 0 /* 802D87FC 002D445C 41 82 00 10 */ beq lbl_802D880C /* 802D8800 002D4460 80 86 00 50 */ lwz r4, 0x50(r6) /* 802D8804 002D4464 2C 04 00 00 */ cmpwi r4, 0 /* 802D8808 002D4468 40 82 00 0C */ bne lbl_802D8814 lbl_802D880C: /* 802D880C 002D446C 38 60 00 01 */ li r3, 1 /* 802D8810 002D4470 4E 80 00 20 */ blr lbl_802D8814: /* 802D8814 002D4474 A0 04 00 04 */ lhz r0, 4(r4) /* 802D8818 002D4478 A0 64 00 02 */ lhz r3, 2(r4) /* 802D881C 002D447C 7C A4 02 14 */ add r5, r4, r0 /* 802D8820 002D4480 88 85 00 0D */ lbz r4, 0xd(r5) /* 802D8824 002D4484 38 03 FF F8 */ addi r0, r3, -8 /* 802D8828 002D4488 88 A5 00 0C */ lbz r5, 0xc(r5) /* 802D882C 002D448C 54 83 40 2E */ slwi r3, r4, 8 /* 802D8830 002D4490 7C 65 1A 14 */ add r3, r5, r3 /* 802D8834 002D4494 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 802D8838 002D4498 7C 03 00 00 */ cmpw r3, r0 /* 802D883C 002D449C 40 81 00 0C */ ble lbl_802D8848 /* 802D8840 002D44A0 38 60 00 00 */ li r3, 0 /* 802D8844 002D44A4 4E 80 00 20 */ blr lbl_802D8848: /* 802D8848 002D44A8 38 00 00 00 */ li r0, 0 /* 802D884C 002D44AC 38 60 00 01 */ li r3, 1 /* 802D8850 002D44B0 90 06 00 50 */ stw r0, 0x50(r6) /* 802D8854 002D44B4 4E 80 00 20 */ blr .global l2c_link_role_changed l2c_link_role_changed: /* 802D8858 002D44B8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D885C 002D44BC 7C 08 02 A6 */ mflr r0 /* 802D8860 002D44C0 90 01 00 14 */ stw r0, 0x14(r1) /* 802D8864 002D44C4 93 E1 00 0C */ stw r31, 0xc(r1) /* 802D8868 002D44C8 93 C1 00 08 */ stw r30, 8(r1) /* 802D886C 002D44CC 7C 9E 23 78 */ mr r30, r4 /* 802D8870 002D44D0 48 00 13 F9 */ bl l2cu_find_lcb_by_bd_addr /* 802D8874 002D44D4 2C 03 00 00 */ cmpwi r3, 0 /* 802D8878 002D44D8 41 82 00 08 */ beq lbl_802D8880 /* 802D887C 002D44DC 9B C3 00 30 */ stb r30, 0x30(r3) lbl_802D8880: /* 802D8880 002D44E0 3C 60 80 57 */ lis r3, lbl_8056BC40@ha /* 802D8884 002D44E4 3B C0 00 00 */ li r30, 0 /* 802D8888 002D44E8 38 63 BC 40 */ addi r3, r3, lbl_8056BC40@l /* 802D888C 002D44EC 3B E3 00 08 */ addi r31, r3, 8 lbl_802D8890: /* 802D8890 002D44F0 88 1F 00 00 */ lbz r0, 0(r31) /* 802D8894 002D44F4 2C 00 00 00 */ cmpwi r0, 0 /* 802D8898 002D44F8 41 82 00 18 */ beq lbl_802D88B0 /* 802D889C 002D44FC 80 1F 00 04 */ lwz r0, 4(r31) /* 802D88A0 002D4500 2C 00 00 02 */ cmpwi r0, 2 /* 802D88A4 002D4504 40 82 00 0C */ bne lbl_802D88B0 /* 802D88A8 002D4508 7F E3 FB 78 */ mr r3, r31 /* 802D88AC 002D450C 48 00 2E 65 */ bl l2cu_create_conn_after_switch lbl_802D88B0: /* 802D88B0 002D4510 3B DE 00 01 */ addi r30, r30, 1 /* 802D88B4 002D4514 3B FF 00 5C */ addi r31, r31, 0x5c /* 802D88B8 002D4518 2C 1E 00 04 */ cmpwi r30, 4 /* 802D88BC 002D451C 41 80 FF D4 */ blt lbl_802D8890 /* 802D88C0 002D4520 80 01 00 14 */ lwz r0, 0x14(r1) /* 802D88C4 002D4524 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802D88C8 002D4528 83 C1 00 08 */ lwz r30, 8(r1) /* 802D88CC 002D452C 7C 08 03 A6 */ mtlr r0 /* 802D88D0 002D4530 38 21 00 10 */ addi r1, r1, 0x10 /* 802D88D4 002D4534 4E 80 00 20 */ blr .global l2c_link_role_change_failed l2c_link_role_change_failed: /* 802D88D8 002D4538 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D88DC 002D453C 7C 08 02 A6 */ mflr r0 /* 802D88E0 002D4540 3C 60 80 57 */ lis r3, lbl_8056BC40@ha /* 802D88E4 002D4544 90 01 00 14 */ stw r0, 0x14(r1) /* 802D88E8 002D4548 38 63 BC 40 */ addi r3, r3, lbl_8056BC40@l /* 802D88EC 002D454C 93 E1 00 0C */ stw r31, 0xc(r1) /* 802D88F0 002D4550 3B E3 00 08 */ addi r31, r3, 8 /* 802D88F4 002D4554 93 C1 00 08 */ stw r30, 8(r1) /* 802D88F8 002D4558 3B C0 00 00 */ li r30, 0 lbl_802D88FC: /* 802D88FC 002D455C 88 1F 00 00 */ lbz r0, 0(r31) /* 802D8900 002D4560 2C 00 00 00 */ cmpwi r0, 0 /* 802D8904 002D4564 41 82 00 18 */ beq lbl_802D891C /* 802D8908 002D4568 80 1F 00 04 */ lwz r0, 4(r31) /* 802D890C 002D456C 2C 00 00 02 */ cmpwi r0, 2 /* 802D8910 002D4570 40 82 00 0C */ bne lbl_802D891C /* 802D8914 002D4574 7F E3 FB 78 */ mr r3, r31 /* 802D8918 002D4578 48 00 2D F9 */ bl l2cu_create_conn_after_switch lbl_802D891C: /* 802D891C 002D457C 3B DE 00 01 */ addi r30, r30, 1 /* 802D8920 002D4580 3B FF 00 5C */ addi r31, r31, 0x5c /* 802D8924 002D4584 2C 1E 00 04 */ cmpwi r30, 4 /* 802D8928 002D4588 41 80 FF D4 */ blt lbl_802D88FC /* 802D892C 002D458C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802D8930 002D4590 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802D8934 002D4594 83 C1 00 08 */ lwz r30, 8(r1) /* 802D8938 002D4598 7C 08 03 A6 */ mtlr r0 /* 802D893C 002D459C 38 21 00 10 */ addi r1, r1, 0x10 /* 802D8940 002D45A0 4E 80 00 20 */ blr .global l2c_link_segments_xmitted l2c_link_segments_xmitted: /* 802D8944 002D45A4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802D8948 002D45A8 7C 08 02 A6 */ mflr r0 /* 802D894C 002D45AC 90 01 00 24 */ stw r0, 0x24(r1) /* 802D8950 002D45B0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802D8954 002D45B4 93 C1 00 18 */ stw r30, 0x18(r1) /* 802D8958 002D45B8 93 A1 00 14 */ stw r29, 0x14(r1) /* 802D895C 002D45BC 7C 7D 1B 78 */ mr r29, r3 /* 802D8960 002D45C0 A0 03 00 04 */ lhz r0, 4(r3) /* 802D8964 002D45C4 7C 63 02 14 */ add r3, r3, r0 /* 802D8968 002D45C8 88 03 00 09 */ lbz r0, 9(r3) /* 802D896C 002D45CC 88 63 00 08 */ lbz r3, 8(r3) /* 802D8970 002D45D0 54 00 40 2E */ slwi r0, r0, 8 /* 802D8974 002D45D4 7C 03 02 14 */ add r0, r3, r0 /* 802D8978 002D45D8 54 1F 05 3E */ clrlwi r31, r0, 0x14 /* 802D897C 002D45DC 7F E3 FB 78 */ mr r3, r31 /* 802D8980 002D45E0 48 00 13 71 */ bl l2cu_find_lcb_by_handle /* 802D8984 002D45E4 2C 03 00 00 */ cmpwi r3, 0 /* 802D8988 002D45E8 7C 7E 1B 78 */ mr r30, r3 /* 802D898C 002D45EC 40 82 00 38 */ bne lbl_802D89C4 /* 802D8990 002D45F0 3C 60 80 57 */ lis r3, lbl_8056BC40@ha /* 802D8994 002D45F4 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3) /* 802D8998 002D45F8 28 00 00 02 */ cmplwi r0, 2 /* 802D899C 002D45FC 41 80 00 1C */ blt lbl_802D89B8 /* 802D89A0 002D4600 3C 60 00 08 */ lis r3, 0x00080001@ha /* 802D89A4 002D4604 3C 80 80 44 */ lis r4, lbl_80443E40@ha /* 802D89A8 002D4608 7F E5 FB 78 */ mr r5, r31 /* 802D89AC 002D460C 38 63 00 01 */ addi r3, r3, 0x00080001@l /* 802D89B0 002D4610 38 84 3E 40 */ addi r4, r4, lbl_80443E40@l /* 802D89B4 002D4614 4B FE 45 75 */ bl LogMsg_1 lbl_802D89B8: /* 802D89B8 002D4618 7F A3 EB 78 */ mr r3, r29 /* 802D89BC 002D461C 4B FE 13 79 */ bl GKI_freebuf /* 802D89C0 002D4620 48 00 00 44 */ b lbl_802D8A04 lbl_802D89C4: /* 802D89C4 002D4624 80 03 00 04 */ lwz r0, 4(r3) /* 802D89C8 002D4628 2C 00 00 04 */ cmpwi r0, 4 /* 802D89CC 002D462C 40 82 00 30 */ bne lbl_802D89FC /* 802D89D0 002D4630 3B E0 00 00 */ li r31, 0 /* 802D89D4 002D4634 7F A4 EB 78 */ mr r4, r29 /* 802D89D8 002D4638 B3 FD 00 06 */ sth r31, 6(r29) /* 802D89DC 002D463C 38 63 00 44 */ addi r3, r3, 0x44 /* 802D89E0 002D4640 4B FE 18 B1 */ bl GKI_enqueue_head /* 802D89E4 002D4644 9B FE 00 40 */ stb r31, 0x40(r30) /* 802D89E8 002D4648 7F C3 F3 78 */ mr r3, r30 /* 802D89EC 002D464C 38 80 00 00 */ li r4, 0 /* 802D89F0 002D4650 38 A0 00 00 */ li r5, 0 /* 802D89F4 002D4654 4B FF F6 CD */ bl l2c_link_check_send_pkts /* 802D89F8 002D4658 48 00 00 0C */ b lbl_802D8A04 lbl_802D89FC: /* 802D89FC 002D465C 7F A3 EB 78 */ mr r3, r29 /* 802D8A00 002D4660 4B FE 13 35 */ bl GKI_freebuf lbl_802D8A04: /* 802D8A04 002D4664 80 01 00 24 */ lwz r0, 0x24(r1) /* 802D8A08 002D4668 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802D8A0C 002D466C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802D8A10 002D4670 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802D8A14 002D4674 7C 08 03 A6 */ mtlr r0 /* 802D8A18 002D4678 38 21 00 20 */ addi r1, r1, 0x20 /* 802D8A1C 002D467C 4E 80 00 20 */ blr .global l2c_pin_code_request l2c_pin_code_request: /* 802D8A20 002D4680 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D8A24 002D4684 7C 08 02 A6 */ mflr r0 /* 802D8A28 002D4688 90 01 00 14 */ stw r0, 0x14(r1) /* 802D8A2C 002D468C 48 00 12 3D */ bl l2cu_find_lcb_by_bd_addr /* 802D8A30 002D4690 2C 03 00 00 */ cmpwi r3, 0 /* 802D8A34 002D4694 41 82 00 20 */ beq lbl_802D8A54 /* 802D8A38 002D4698 80 03 00 08 */ lwz r0, 8(r3) /* 802D8A3C 002D469C 2C 00 00 00 */ cmpwi r0, 0 /* 802D8A40 002D46A0 40 82 00 14 */ bne lbl_802D8A54 /* 802D8A44 002D46A4 38 80 00 02 */ li r4, 2 /* 802D8A48 002D46A8 38 A0 00 78 */ li r5, 0x78 /* 802D8A4C 002D46AC 38 63 00 10 */ addi r3, r3, 0x10 /* 802D8A50 002D46B0 4B FE 4A 8D */ bl btu_start_timer lbl_802D8A54: /* 802D8A54 002D46B4 80 01 00 14 */ lwz r0, 0x14(r1) /* 802D8A58 002D46B8 7C 08 03 A6 */ mtlr r0 /* 802D8A5C 002D46BC 38 21 00 10 */ addi r1, r1, 0x10 /* 802D8A60 002D46C0 4E 80 00 20 */ blr