1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
|
.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
|