summaryrefslogtreecommitdiff
path: root/asm/SDK/BTE/rfc_l2cap_if.s
blob: 7b768b7d687ef01353ae0bbcef98417c66f9fab9 (plain)
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
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global rfcomm_l2cap_if_init
rfcomm_l2cap_if_init:
/* 802DD37C 002D8FDC  3C 60 80 2E */	lis r3, RFCOMM_ConnectInd@ha
/* 802DD380 002D8FE0  3C 80 80 57 */	lis r4, lbl_8056C428@ha
/* 802DD384 002D8FE4  38 63 D3 F8 */	addi r3, r3, RFCOMM_ConnectInd@l
/* 802DD388 002D8FE8  3D 60 80 2E */	lis r11, RFCOMM_ConnectCnf@ha
/* 802DD38C 002D8FEC  38 84 C4 28 */	addi r4, r4, lbl_8056C428@l
/* 802DD390 002D8FF0  3D 40 80 2E */	lis r10, RFCOMM_ConfigInd@ha
/* 802DD394 002D8FF4  3D 20 80 2E */	lis r9, RFCOMM_ConfigCnf@ha
/* 802DD398 002D8FF8  3D 00 80 2E */	lis r8, RFCOMM_DisconnectInd@ha
/* 802DD39C 002D8FFC  3C E0 80 2E */	lis r7, RFCOMM_QoSViolationInd@ha
/* 802DD3A0 002D9000  3C C0 80 2E */	lis r6, RFCOMM_BufDataInd@ha
/* 802DD3A4 002D9004  3C A0 80 2E */	lis r5, RFCOMM_CongestionStatusInd@ha
/* 802DD3A8 002D9008  94 64 00 14 */	stwu r3, 0x14(r4)
/* 802DD3AC 002D900C  38 00 00 00 */	li r0, 0
/* 802DD3B0 002D9010  39 6B D4 84 */	addi r11, r11, RFCOMM_ConnectCnf@l
/* 802DD3B4 002D9014  39 4A D5 88 */	addi r10, r10, RFCOMM_ConfigInd@l
/* 802DD3B8 002D9018  39 29 D6 90 */	addi r9, r9, RFCOMM_ConfigCnf@l
/* 802DD3BC 002D901C  39 08 D7 9C */	addi r8, r8, RFCOMM_DisconnectInd@l
/* 802DD3C0 002D9020  38 E7 D7 98 */	addi r7, r7, RFCOMM_QoSViolationInd@l
/* 802DD3C4 002D9024  38 C6 D8 C0 */	addi r6, r6, RFCOMM_BufDataInd@l
/* 802DD3C8 002D9028  38 A5 DB 60 */	addi r5, r5, RFCOMM_CongestionStatusInd@l
/* 802DD3CC 002D902C  91 64 00 04 */	stw r11, 4(r4)
/* 802DD3D0 002D9030  38 60 00 03 */	li r3, 3
/* 802DD3D4 002D9034  90 04 00 08 */	stw r0, 8(r4)
/* 802DD3D8 002D9038  91 44 00 0C */	stw r10, 0xc(r4)
/* 802DD3DC 002D903C  91 24 00 10 */	stw r9, 0x10(r4)
/* 802DD3E0 002D9040  91 04 00 14 */	stw r8, 0x14(r4)
/* 802DD3E4 002D9044  90 04 00 18 */	stw r0, 0x18(r4)
/* 802DD3E8 002D9048  90 E4 00 1C */	stw r7, 0x1c(r4)
/* 802DD3EC 002D904C  90 C4 00 20 */	stw r6, 0x20(r4)
/* 802DD3F0 002D9050  90 A4 00 24 */	stw r5, 0x24(r4)
/* 802DD3F4 002D9054  4B FF 84 3C */	b L2CA_Register

RFCOMM_ConnectInd:
/* 802DD3F8 002D9058  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802DD3FC 002D905C  7C 08 02 A6 */	mflr r0
/* 802DD400 002D9060  90 01 00 24 */	stw r0, 0x24(r1)
/* 802DD404 002D9064  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802DD408 002D9068  7C 9F 23 78 */	mr r31, r4
/* 802DD40C 002D906C  38 80 00 00 */	li r4, 0
/* 802DD410 002D9070  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802DD414 002D9074  7C 7E 1B 78 */	mr r30, r3
/* 802DD418 002D9078  98 C1 00 08 */	stb r6, 8(r1)
/* 802DD41C 002D907C  48 00 42 71 */	bl rfc_alloc_multiplexer_channel
/* 802DD420 002D9080  38 1F FF C0 */	addi r0, r31, -64
/* 802DD424 002D9084  3C 80 80 57 */	lis r4, lbl_8056C428@ha
/* 802DD428 002D9088  38 84 C4 28 */	addi r4, r4, lbl_8056C428@l
/* 802DD42C 002D908C  2C 03 00 00 */	cmpwi r3, 0
/* 802DD430 002D9090  54 00 10 3A */	slwi r0, r0, 2
/* 802DD434 002D9094  7C 84 02 14 */	add r4, r4, r0
/* 802DD438 002D9098  90 64 00 3C */	stw r3, 0x3c(r4)
/* 802DD43C 002D909C  40 82 00 20 */	bne lbl_802DD45C
/* 802DD440 002D90A0  88 81 00 08 */	lbz r4, 8(r1)
/* 802DD444 002D90A4  7F C3 F3 78 */	mr r3, r30
/* 802DD448 002D90A8  7F E5 FB 78 */	mr r5, r31
/* 802DD44C 002D90AC  38 C0 00 04 */	li r6, 4
/* 802DD450 002D90B0  38 E0 00 00 */	li r7, 0
/* 802DD454 002D90B4  4B FF 88 3D */	bl L2CA_ConnectRsp
/* 802DD458 002D90B8  48 00 00 14 */	b lbl_802DD46C
lbl_802DD45C:
/* 802DD45C 002D90BC  B3 E3 00 68 */	sth r31, 0x68(r3)
/* 802DD460 002D90C0  38 A1 00 08 */	addi r5, r1, 8
/* 802DD464 002D90C4  38 80 00 0A */	li r4, 0xa
/* 802DD468 002D90C8  48 00 08 49 */	bl rfc_mx_sm_execute
lbl_802DD46C:
/* 802DD46C 002D90CC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802DD470 002D90D0  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802DD474 002D90D4  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802DD478 002D90D8  7C 08 03 A6 */	mtlr r0
/* 802DD47C 002D90DC  38 21 00 20 */	addi r1, r1, 0x20
/* 802DD480 002D90E0  4E 80 00 20 */	blr

RFCOMM_ConnectCnf:
/* 802DD484 002D90E4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802DD488 002D90E8  7C 08 02 A6 */	mflr r0
/* 802DD48C 002D90EC  90 01 00 24 */	stw r0, 0x24(r1)
/* 802DD490 002D90F0  38 03 FF C0 */	addi r0, r3, -64
/* 802DD494 002D90F4  2C 00 00 0A */	cmpwi r0, 0xa
/* 802DD498 002D90F8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802DD49C 002D90FC  3F E0 80 44 */	lis r31, lbl_804446D8@ha
/* 802DD4A0 002D9100  3B FF 46 D8 */	addi r31, r31, lbl_804446D8@l
/* 802DD4A4 002D9104  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802DD4A8 002D9108  7C 7E 1B 78 */	mr r30, r3
/* 802DD4AC 002D910C  B0 81 00 08 */	sth r4, 8(r1)
/* 802DD4B0 002D9110  41 80 00 30 */	blt lbl_802DD4E0
/* 802DD4B4 002D9114  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802DD4B8 002D9118  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802DD4BC 002D911C  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802DD4C0 002D9120  28 00 00 01 */	cmplwi r0, 1
/* 802DD4C4 002D9124  41 80 00 14 */	blt lbl_802DD4D8
/* 802DD4C8 002D9128  7F C5 F3 78 */	mr r5, r30
/* 802DD4CC 002D912C  38 9F 00 00 */	addi r4, r31, 0
/* 802DD4D0 002D9130  3C 60 00 09 */	lis r3, 9
/* 802DD4D4 002D9134  4B FD FA 55 */	bl LogMsg_1
lbl_802DD4D8:
/* 802DD4D8 002D9138  38 80 00 00 */	li r4, 0
/* 802DD4DC 002D913C  48 00 00 50 */	b lbl_802DD52C
lbl_802DD4E0:
/* 802DD4E0 002D9140  3C A0 80 57 */	lis r5, lbl_8056C428@ha
/* 802DD4E4 002D9144  54 00 10 3A */	slwi r0, r0, 2
/* 802DD4E8 002D9148  38 A5 C4 28 */	addi r5, r5, lbl_8056C428@l
/* 802DD4EC 002D914C  7C 85 02 14 */	add r4, r5, r0
/* 802DD4F0 002D9150  80 84 00 3C */	lwz r4, 0x3c(r4)
/* 802DD4F4 002D9154  2C 04 00 00 */	cmpwi r4, 0
/* 802DD4F8 002D9158  41 82 00 34 */	beq lbl_802DD52C
/* 802DD4FC 002D915C  A0 C4 00 68 */	lhz r6, 0x68(r4)
/* 802DD500 002D9160  7C 06 18 40 */	cmplw r6, r3
/* 802DD504 002D9164  41 82 00 28 */	beq lbl_802DD52C
/* 802DD508 002D9168  88 05 04 14 */	lbz r0, 0x414(r5)
/* 802DD50C 002D916C  28 00 00 02 */	cmplwi r0, 2
/* 802DD510 002D9170  41 80 00 18 */	blt lbl_802DD528
/* 802DD514 002D9174  3C 60 00 09 */	lis r3, 0x00090001@ha
/* 802DD518 002D9178  7F C5 F3 78 */	mr r5, r30
/* 802DD51C 002D917C  38 9F 00 1C */	addi r4, r31, 0x1c
/* 802DD520 002D9180  38 63 00 01 */	addi r3, r3, 0x00090001@l
/* 802DD524 002D9184  4B FD FA 1D */	bl LogMsg_2
lbl_802DD528:
/* 802DD528 002D9188  38 80 00 00 */	li r4, 0
lbl_802DD52C:
/* 802DD52C 002D918C  2C 04 00 00 */	cmpwi r4, 0
/* 802DD530 002D9190  40 82 00 2C */	bne lbl_802DD55C
/* 802DD534 002D9194  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802DD538 002D9198  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802DD53C 002D919C  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802DD540 002D91A0  28 00 00 01 */	cmplwi r0, 1
/* 802DD544 002D91A4  41 80 00 2C */	blt lbl_802DD570
/* 802DD548 002D91A8  7F C5 F3 78 */	mr r5, r30
/* 802DD54C 002D91AC  38 9F 00 54 */	addi r4, r31, 0x54
/* 802DD550 002D91B0  3C 60 00 09 */	lis r3, 9
/* 802DD554 002D91B4  4B FD F9 D5 */	bl LogMsg_1
/* 802DD558 002D91B8  48 00 00 18 */	b lbl_802DD570
lbl_802DD55C:
/* 802DD55C 002D91BC  B3 C4 00 68 */	sth r30, 0x68(r4)
/* 802DD560 002D91C0  7C 83 23 78 */	mr r3, r4
/* 802DD564 002D91C4  38 A1 00 08 */	addi r5, r1, 8
/* 802DD568 002D91C8  38 80 00 09 */	li r4, 9
/* 802DD56C 002D91CC  48 00 07 45 */	bl rfc_mx_sm_execute
lbl_802DD570:
/* 802DD570 002D91D0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802DD574 002D91D4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802DD578 002D91D8  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802DD57C 002D91DC  7C 08 03 A6 */	mtlr r0
/* 802DD580 002D91E0  38 21 00 20 */	addi r1, r1, 0x20
/* 802DD584 002D91E4  4E 80 00 20 */	blr

RFCOMM_ConfigInd:
/* 802DD588 002D91E8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802DD58C 002D91EC  7C 08 02 A6 */	mflr r0
/* 802DD590 002D91F0  90 01 00 24 */	stw r0, 0x24(r1)
/* 802DD594 002D91F4  38 03 FF C0 */	addi r0, r3, -64
/* 802DD598 002D91F8  2C 00 00 0A */	cmpwi r0, 0xa
/* 802DD59C 002D91FC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802DD5A0 002D9200  3F E0 80 44 */	lis r31, lbl_804446D8@ha
/* 802DD5A4 002D9204  3B FF 46 D8 */	addi r31, r31, lbl_804446D8@l
/* 802DD5A8 002D9208  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802DD5AC 002D920C  7C 9E 23 78 */	mr r30, r4
/* 802DD5B0 002D9210  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802DD5B4 002D9214  7C 7D 1B 78 */	mr r29, r3
/* 802DD5B8 002D9218  41 80 00 30 */	blt lbl_802DD5E8
/* 802DD5BC 002D921C  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802DD5C0 002D9220  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802DD5C4 002D9224  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802DD5C8 002D9228  28 00 00 01 */	cmplwi r0, 1
/* 802DD5CC 002D922C  41 80 00 14 */	blt lbl_802DD5E0
/* 802DD5D0 002D9230  7F A5 EB 78 */	mr r5, r29
/* 802DD5D4 002D9234  38 9F 00 00 */	addi r4, r31, 0
/* 802DD5D8 002D9238  3C 60 00 09 */	lis r3, 9
/* 802DD5DC 002D923C  4B FD F9 4D */	bl LogMsg_1
lbl_802DD5E0:
/* 802DD5E0 002D9240  38 80 00 00 */	li r4, 0
/* 802DD5E4 002D9244  48 00 00 50 */	b lbl_802DD634
lbl_802DD5E8:
/* 802DD5E8 002D9248  3C A0 80 57 */	lis r5, lbl_8056C428@ha
/* 802DD5EC 002D924C  54 00 10 3A */	slwi r0, r0, 2
/* 802DD5F0 002D9250  38 A5 C4 28 */	addi r5, r5, lbl_8056C428@l
/* 802DD5F4 002D9254  7C 85 02 14 */	add r4, r5, r0
/* 802DD5F8 002D9258  80 84 00 3C */	lwz r4, 0x3c(r4)
/* 802DD5FC 002D925C  2C 04 00 00 */	cmpwi r4, 0
/* 802DD600 002D9260  41 82 00 34 */	beq lbl_802DD634
/* 802DD604 002D9264  A0 C4 00 68 */	lhz r6, 0x68(r4)
/* 802DD608 002D9268  7C 06 18 40 */	cmplw r6, r3
/* 802DD60C 002D926C  41 82 00 28 */	beq lbl_802DD634
/* 802DD610 002D9270  88 05 04 14 */	lbz r0, 0x414(r5)
/* 802DD614 002D9274  28 00 00 02 */	cmplwi r0, 2
/* 802DD618 002D9278  41 80 00 18 */	blt lbl_802DD630
/* 802DD61C 002D927C  3C 60 00 09 */	lis r3, 0x00090001@ha
/* 802DD620 002D9280  7F A5 EB 78 */	mr r5, r29
/* 802DD624 002D9284  38 9F 00 1C */	addi r4, r31, 0x1c
/* 802DD628 002D9288  38 63 00 01 */	addi r3, r3, 0x00090001@l
/* 802DD62C 002D928C  4B FD F9 15 */	bl LogMsg_2
lbl_802DD630:
/* 802DD630 002D9290  38 80 00 00 */	li r4, 0
lbl_802DD634:
/* 802DD634 002D9294  2C 04 00 00 */	cmpwi r4, 0
/* 802DD638 002D9298  40 82 00 2C */	bne lbl_802DD664
/* 802DD63C 002D929C  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802DD640 002D92A0  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802DD644 002D92A4  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802DD648 002D92A8  28 00 00 01 */	cmplwi r0, 1
/* 802DD64C 002D92AC  41 80 00 28 */	blt lbl_802DD674
/* 802DD650 002D92B0  7F A5 EB 78 */	mr r5, r29
/* 802DD654 002D92B4  38 9F 00 70 */	addi r4, r31, 0x70
/* 802DD658 002D92B8  3C 60 00 09 */	lis r3, 9
/* 802DD65C 002D92BC  4B FD F8 CD */	bl LogMsg_1
/* 802DD660 002D92C0  48 00 00 14 */	b lbl_802DD674
lbl_802DD664:
/* 802DD664 002D92C4  7C 83 23 78 */	mr r3, r4
/* 802DD668 002D92C8  7F C5 F3 78 */	mr r5, r30
/* 802DD66C 002D92CC  38 80 00 0C */	li r4, 0xc
/* 802DD670 002D92D0  48 00 06 41 */	bl rfc_mx_sm_execute
lbl_802DD674:
/* 802DD674 002D92D4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802DD678 002D92D8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802DD67C 002D92DC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802DD680 002D92E0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802DD684 002D92E4  7C 08 03 A6 */	mtlr r0
/* 802DD688 002D92E8  38 21 00 20 */	addi r1, r1, 0x20
/* 802DD68C 002D92EC  4E 80 00 20 */	blr

RFCOMM_ConfigCnf:
/* 802DD690 002D92F0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802DD694 002D92F4  7C 08 02 A6 */	mflr r0
/* 802DD698 002D92F8  90 01 00 24 */	stw r0, 0x24(r1)
/* 802DD69C 002D92FC  38 03 FF C0 */	addi r0, r3, -64
/* 802DD6A0 002D9300  2C 00 00 0A */	cmpwi r0, 0xa
/* 802DD6A4 002D9304  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802DD6A8 002D9308  3F E0 80 44 */	lis r31, lbl_804446D8@ha
/* 802DD6AC 002D930C  3B FF 46 D8 */	addi r31, r31, lbl_804446D8@l
/* 802DD6B0 002D9310  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802DD6B4 002D9314  7C 9E 23 78 */	mr r30, r4
/* 802DD6B8 002D9318  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802DD6BC 002D931C  7C 7D 1B 78 */	mr r29, r3
/* 802DD6C0 002D9320  41 80 00 30 */	blt lbl_802DD6F0
/* 802DD6C4 002D9324  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802DD6C8 002D9328  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802DD6CC 002D932C  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802DD6D0 002D9330  28 00 00 01 */	cmplwi r0, 1
/* 802DD6D4 002D9334  41 80 00 14 */	blt lbl_802DD6E8
/* 802DD6D8 002D9338  7F A5 EB 78 */	mr r5, r29
/* 802DD6DC 002D933C  38 9F 00 00 */	addi r4, r31, 0
/* 802DD6E0 002D9340  3C 60 00 09 */	lis r3, 9
/* 802DD6E4 002D9344  4B FD F8 45 */	bl LogMsg_1
lbl_802DD6E8:
/* 802DD6E8 002D9348  38 80 00 00 */	li r4, 0
/* 802DD6EC 002D934C  48 00 00 50 */	b lbl_802DD73C
lbl_802DD6F0:
/* 802DD6F0 002D9350  3C A0 80 57 */	lis r5, lbl_8056C428@ha
/* 802DD6F4 002D9354  54 00 10 3A */	slwi r0, r0, 2
/* 802DD6F8 002D9358  38 A5 C4 28 */	addi r5, r5, lbl_8056C428@l
/* 802DD6FC 002D935C  7C 85 02 14 */	add r4, r5, r0
/* 802DD700 002D9360  80 84 00 3C */	lwz r4, 0x3c(r4)
/* 802DD704 002D9364  2C 04 00 00 */	cmpwi r4, 0
/* 802DD708 002D9368  41 82 00 34 */	beq lbl_802DD73C
/* 802DD70C 002D936C  A0 C4 00 68 */	lhz r6, 0x68(r4)
/* 802DD710 002D9370  7C 06 18 40 */	cmplw r6, r3
/* 802DD714 002D9374  41 82 00 28 */	beq lbl_802DD73C
/* 802DD718 002D9378  88 05 04 14 */	lbz r0, 0x414(r5)
/* 802DD71C 002D937C  28 00 00 02 */	cmplwi r0, 2
/* 802DD720 002D9380  41 80 00 18 */	blt lbl_802DD738
/* 802DD724 002D9384  3C 60 00 09 */	lis r3, 0x00090001@ha
/* 802DD728 002D9388  7F A5 EB 78 */	mr r5, r29
/* 802DD72C 002D938C  38 9F 00 1C */	addi r4, r31, 0x1c
/* 802DD730 002D9390  38 63 00 01 */	addi r3, r3, 0x00090001@l
/* 802DD734 002D9394  4B FD F8 0D */	bl LogMsg_2
lbl_802DD738:
/* 802DD738 002D9398  38 80 00 00 */	li r4, 0
lbl_802DD73C:
/* 802DD73C 002D939C  2C 04 00 00 */	cmpwi r4, 0
/* 802DD740 002D93A0  40 82 00 2C */	bne lbl_802DD76C
/* 802DD744 002D93A4  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802DD748 002D93A8  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802DD74C 002D93AC  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802DD750 002D93B0  28 00 00 01 */	cmplwi r0, 1
/* 802DD754 002D93B4  41 80 00 28 */	blt lbl_802DD77C
/* 802DD758 002D93B8  7F A5 EB 78 */	mr r5, r29
/* 802DD75C 002D93BC  38 9F 00 8C */	addi r4, r31, 0x8c
/* 802DD760 002D93C0  3C 60 00 09 */	lis r3, 9
/* 802DD764 002D93C4  4B FD F7 C5 */	bl LogMsg_1
/* 802DD768 002D93C8  48 00 00 14 */	b lbl_802DD77C
lbl_802DD76C:
/* 802DD76C 002D93CC  7C 83 23 78 */	mr r3, r4
/* 802DD770 002D93D0  7F C5 F3 78 */	mr r5, r30
/* 802DD774 002D93D4  38 80 00 0B */	li r4, 0xb
/* 802DD778 002D93D8  48 00 05 39 */	bl rfc_mx_sm_execute
lbl_802DD77C:
/* 802DD77C 002D93DC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802DD780 002D93E0  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802DD784 002D93E4  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802DD788 002D93E8  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802DD78C 002D93EC  7C 08 03 A6 */	mtlr r0
/* 802DD790 002D93F0  38 21 00 20 */	addi r1, r1, 0x20
/* 802DD794 002D93F4  4E 80 00 20 */	blr

RFCOMM_QoSViolationInd:
/* 802DD798 002D93F8  4E 80 00 20 */	blr

RFCOMM_DisconnectInd:
/* 802DD79C 002D93FC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802DD7A0 002D9400  7C 08 02 A6 */	mflr r0
/* 802DD7A4 002D9404  90 01 00 24 */	stw r0, 0x24(r1)
/* 802DD7A8 002D9408  38 03 FF C0 */	addi r0, r3, -64
/* 802DD7AC 002D940C  2C 00 00 0A */	cmpwi r0, 0xa
/* 802DD7B0 002D9410  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802DD7B4 002D9414  3F E0 80 44 */	lis r31, lbl_804446D8@ha
/* 802DD7B8 002D9418  3B FF 46 D8 */	addi r31, r31, lbl_804446D8@l
/* 802DD7BC 002D941C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802DD7C0 002D9420  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802DD7C4 002D9424  7C 9D 23 78 */	mr r29, r4
/* 802DD7C8 002D9428  93 81 00 10 */	stw r28, 0x10(r1)
/* 802DD7CC 002D942C  7C 7C 1B 78 */	mr r28, r3
/* 802DD7D0 002D9430  41 80 00 30 */	blt lbl_802DD800
/* 802DD7D4 002D9434  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802DD7D8 002D9438  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802DD7DC 002D943C  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802DD7E0 002D9440  28 00 00 01 */	cmplwi r0, 1
/* 802DD7E4 002D9444  41 80 00 14 */	blt lbl_802DD7F8
/* 802DD7E8 002D9448  7F 85 E3 78 */	mr r5, r28
/* 802DD7EC 002D944C  38 9F 00 00 */	addi r4, r31, 0
/* 802DD7F0 002D9450  3C 60 00 09 */	lis r3, 9
/* 802DD7F4 002D9454  4B FD F7 35 */	bl LogMsg_1
lbl_802DD7F8:
/* 802DD7F8 002D9458  3B C0 00 00 */	li r30, 0
/* 802DD7FC 002D945C  48 00 00 50 */	b lbl_802DD84C
lbl_802DD800:
/* 802DD800 002D9460  3C A0 80 57 */	lis r5, lbl_8056C428@ha
/* 802DD804 002D9464  54 00 10 3A */	slwi r0, r0, 2
/* 802DD808 002D9468  38 A5 C4 28 */	addi r5, r5, lbl_8056C428@l
/* 802DD80C 002D946C  7C 85 02 14 */	add r4, r5, r0
/* 802DD810 002D9470  83 C4 00 3C */	lwz r30, 0x3c(r4)
/* 802DD814 002D9474  2C 1E 00 00 */	cmpwi r30, 0
/* 802DD818 002D9478  41 82 00 34 */	beq lbl_802DD84C
/* 802DD81C 002D947C  A0 DE 00 68 */	lhz r6, 0x68(r30)
/* 802DD820 002D9480  7C 06 18 40 */	cmplw r6, r3
/* 802DD824 002D9484  41 82 00 28 */	beq lbl_802DD84C
/* 802DD828 002D9488  88 05 04 14 */	lbz r0, 0x414(r5)
/* 802DD82C 002D948C  28 00 00 02 */	cmplwi r0, 2
/* 802DD830 002D9490  41 80 00 18 */	blt lbl_802DD848
/* 802DD834 002D9494  3C 60 00 09 */	lis r3, 0x00090001@ha
/* 802DD838 002D9498  7F 85 E3 78 */	mr r5, r28
/* 802DD83C 002D949C  38 9F 00 1C */	addi r4, r31, 0x1c
/* 802DD840 002D94A0  38 63 00 01 */	addi r3, r3, 0x00090001@l
/* 802DD844 002D94A4  4B FD F6 FD */	bl LogMsg_2
lbl_802DD848:
/* 802DD848 002D94A8  3B C0 00 00 */	li r30, 0
lbl_802DD84C:
/* 802DD84C 002D94AC  2C 1D 00 00 */	cmpwi r29, 0
/* 802DD850 002D94B0  41 82 00 0C */	beq lbl_802DD85C
/* 802DD854 002D94B4  7F 83 E3 78 */	mr r3, r28
/* 802DD858 002D94B8  4B FF 87 F5 */	bl L2CA_DisconnectRsp
lbl_802DD85C:
/* 802DD85C 002D94BC  2C 1E 00 00 */	cmpwi r30, 0
/* 802DD860 002D94C0  40 82 00 30 */	bne lbl_802DD890
/* 802DD864 002D94C4  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802DD868 002D94C8  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802DD86C 002D94CC  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802DD870 002D94D0  28 00 00 02 */	cmplwi r0, 2
/* 802DD874 002D94D4  41 80 00 2C */	blt lbl_802DD8A0
/* 802DD878 002D94D8  3C 60 00 09 */	lis r3, 0x00090001@ha
/* 802DD87C 002D94DC  7F 85 E3 78 */	mr r5, r28
/* 802DD880 002D94E0  38 63 00 01 */	addi r3, r3, 0x00090001@l
/* 802DD884 002D94E4  38 9F 00 A8 */	addi r4, r31, 0xa8
/* 802DD888 002D94E8  4B FD F6 A1 */	bl LogMsg_1
/* 802DD88C 002D94EC  48 00 00 14 */	b lbl_802DD8A0
lbl_802DD890:
/* 802DD890 002D94F0  7F C3 F3 78 */	mr r3, r30
/* 802DD894 002D94F4  38 80 00 0E */	li r4, 0xe
/* 802DD898 002D94F8  38 A0 00 00 */	li r5, 0
/* 802DD89C 002D94FC  48 00 04 15 */	bl rfc_mx_sm_execute
lbl_802DD8A0:
/* 802DD8A0 002D9500  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802DD8A4 002D9504  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802DD8A8 002D9508  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802DD8AC 002D950C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802DD8B0 002D9510  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802DD8B4 002D9514  7C 08 03 A6 */	mtlr r0
/* 802DD8B8 002D9518  38 21 00 20 */	addi r1, r1, 0x20
/* 802DD8BC 002D951C  4E 80 00 20 */	blr

RFCOMM_BufDataInd:
/* 802DD8C0 002D9520  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802DD8C4 002D9524  7C 08 02 A6 */	mflr r0
/* 802DD8C8 002D9528  90 01 00 24 */	stw r0, 0x24(r1)
/* 802DD8CC 002D952C  39 61 00 20 */	addi r11, r1, 0x20
/* 802DD8D0 002D9530  4B EE 98 59 */	bl _savegpr_27
/* 802DD8D4 002D9534  38 03 FF C0 */	addi r0, r3, -64
/* 802DD8D8 002D9538  3F A0 80 44 */	lis r29, lbl_804446D8@ha
/* 802DD8DC 002D953C  2C 00 00 0A */	cmpwi r0, 0xa
/* 802DD8E0 002D9540  7C 7B 1B 78 */	mr r27, r3
/* 802DD8E4 002D9544  7C 9F 23 78 */	mr r31, r4
/* 802DD8E8 002D9548  3B BD 46 D8 */	addi r29, r29, lbl_804446D8@l
/* 802DD8EC 002D954C  41 80 00 30 */	blt lbl_802DD91C
/* 802DD8F0 002D9550  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802DD8F4 002D9554  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802DD8F8 002D9558  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802DD8FC 002D955C  28 00 00 01 */	cmplwi r0, 1
/* 802DD900 002D9560  41 80 00 14 */	blt lbl_802DD914
/* 802DD904 002D9564  7F 65 DB 78 */	mr r5, r27
/* 802DD908 002D9568  38 9D 00 00 */	addi r4, r29, 0
/* 802DD90C 002D956C  3C 60 00 09 */	lis r3, 9
/* 802DD910 002D9570  4B FD F6 19 */	bl LogMsg_1
lbl_802DD914:
/* 802DD914 002D9574  3B 80 00 00 */	li r28, 0
/* 802DD918 002D9578  48 00 00 50 */	b lbl_802DD968
lbl_802DD91C:
/* 802DD91C 002D957C  3C A0 80 57 */	lis r5, lbl_8056C428@ha
/* 802DD920 002D9580  54 00 10 3A */	slwi r0, r0, 2
/* 802DD924 002D9584  38 A5 C4 28 */	addi r5, r5, lbl_8056C428@l
/* 802DD928 002D9588  7C 85 02 14 */	add r4, r5, r0
/* 802DD92C 002D958C  83 84 00 3C */	lwz r28, 0x3c(r4)
/* 802DD930 002D9590  2C 1C 00 00 */	cmpwi r28, 0
/* 802DD934 002D9594  41 82 00 34 */	beq lbl_802DD968
/* 802DD938 002D9598  A0 DC 00 68 */	lhz r6, 0x68(r28)
/* 802DD93C 002D959C  7C 06 18 40 */	cmplw r6, r3
/* 802DD940 002D95A0  41 82 00 28 */	beq lbl_802DD968
/* 802DD944 002D95A4  88 05 04 14 */	lbz r0, 0x414(r5)
/* 802DD948 002D95A8  28 00 00 02 */	cmplwi r0, 2
/* 802DD94C 002D95AC  41 80 00 18 */	blt lbl_802DD964
/* 802DD950 002D95B0  3C 60 00 09 */	lis r3, 0x00090001@ha
/* 802DD954 002D95B4  7F 65 DB 78 */	mr r5, r27
/* 802DD958 002D95B8  38 9D 00 1C */	addi r4, r29, 0x1c
/* 802DD95C 002D95BC  38 63 00 01 */	addi r3, r3, 0x00090001@l
/* 802DD960 002D95C0  4B FD F5 E1 */	bl LogMsg_2
lbl_802DD964:
/* 802DD964 002D95C4  3B 80 00 00 */	li r28, 0
lbl_802DD968:
/* 802DD968 002D95C8  2C 1C 00 00 */	cmpwi r28, 0
/* 802DD96C 002D95CC  40 82 00 38 */	bne lbl_802DD9A4
/* 802DD970 002D95D0  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802DD974 002D95D4  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802DD978 002D95D8  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802DD97C 002D95DC  28 00 00 02 */	cmplwi r0, 2
/* 802DD980 002D95E0  41 80 00 18 */	blt lbl_802DD998
/* 802DD984 002D95E4  3C 60 00 09 */	lis r3, 0x00090001@ha
/* 802DD988 002D95E8  7F 65 DB 78 */	mr r5, r27
/* 802DD98C 002D95EC  38 63 00 01 */	addi r3, r3, 0x00090001@l
/* 802DD990 002D95F0  38 9D 00 C8 */	addi r4, r29, 0xc8
/* 802DD994 002D95F4  4B FD F5 95 */	bl LogMsg_1
lbl_802DD998:
/* 802DD998 002D95F8  7F E3 FB 78 */	mr r3, r31
/* 802DD99C 002D95FC  4B FD C3 99 */	bl GKI_freebuf
/* 802DD9A0 002D9600  48 00 01 A8 */	b lbl_802DDB48
lbl_802DD9A4:
/* 802DD9A4 002D9604  3F C0 80 57 */	lis r30, lbl_8056C428@ha
/* 802DD9A8 002D9608  7F 83 E3 78 */	mr r3, r28
/* 802DD9AC 002D960C  7F E5 FB 78 */	mr r5, r31
/* 802DD9B0 002D9610  38 9E C4 28 */	addi r4, r30, lbl_8056C428@l
/* 802DD9B4 002D9614  48 00 30 BD */	bl rfc_parse_data
/* 802DD9B8 002D9618  54 64 06 3E */	clrlwi r4, r3, 0x18
/* 802DD9BC 002D961C  7C 7D 1B 78 */	mr r29, r3
/* 802DD9C0 002D9620  28 04 00 32 */	cmplwi r4, 0x32
/* 802DD9C4 002D9624  40 82 00 10 */	bne lbl_802DD9D4
/* 802DD9C8 002D9628  7F E3 FB 78 */	mr r3, r31
/* 802DD9CC 002D962C  4B FD C3 69 */	bl GKI_freebuf
/* 802DD9D0 002D9630  48 00 01 78 */	b lbl_802DDB48
lbl_802DD9D4:
/* 802DD9D4 002D9634  88 1E C4 28 */	lbz r0, -0x3bd8(r30)
/* 802DD9D8 002D9638  2C 00 00 00 */	cmpwi r0, 0
/* 802DD9DC 002D963C  40 82 00 34 */	bne lbl_802DDA10
/* 802DD9E0 002D9640  28 04 00 04 */	cmplwi r4, 4
/* 802DD9E4 002D9644  40 82 00 14 */	bne lbl_802DD9F8
/* 802DD9E8 002D9648  7F 83 E3 78 */	mr r3, r28
/* 802DD9EC 002D964C  7F E4 FB 78 */	mr r4, r31
/* 802DD9F0 002D9650  48 00 35 F5 */	bl rfc_process_mx_message
/* 802DD9F4 002D9654  48 00 01 54 */	b lbl_802DDB48
lbl_802DD9F8:
/* 802DD9F8 002D9658  7F 83 E3 78 */	mr r3, r28
/* 802DD9FC 002D965C  38 A0 00 00 */	li r5, 0
/* 802DDA00 002D9660  48 00 02 B1 */	bl rfc_mx_sm_execute
/* 802DDA04 002D9664  7F E3 FB 78 */	mr r3, r31
/* 802DDA08 002D9668  4B FD C3 2D */	bl GKI_freebuf
/* 802DDA0C 002D966C  48 00 01 3C */	b lbl_802DDB48
lbl_802DDA10:
/* 802DDA10 002D9670  7F 83 E3 78 */	mr r3, r28
/* 802DDA14 002D9674  7C 04 03 78 */	mr r4, r0
/* 802DDA18 002D9678  4B FF F5 E5 */	bl port_find_mcb_dlci_port
/* 802DDA1C 002D967C  2C 03 00 00 */	cmpwi r3, 0
/* 802DDA20 002D9680  7C 7B 1B 78 */	mr r27, r3
/* 802DDA24 002D9684  41 82 00 10 */	beq lbl_802DDA34
/* 802DDA28 002D9688  80 03 00 6C */	lwz r0, 0x6c(r3)
/* 802DDA2C 002D968C  2C 00 00 00 */	cmpwi r0, 0
/* 802DDA30 002D9690  40 82 00 B4 */	bne lbl_802DDAE4
lbl_802DDA34:
/* 802DDA34 002D9694  57 A0 06 3F */	clrlwi. r0, r29, 0x18
/* 802DDA38 002D9698  41 82 00 64 */	beq lbl_802DDA9C
/* 802DDA3C 002D969C  88 9C 00 6D */	lbz r4, 0x6d(r28)
/* 802DDA40 002D96A0  2C 04 00 00 */	cmpwi r4, 0
/* 802DDA44 002D96A4  41 82 00 18 */	beq lbl_802DDA5C
/* 802DDA48 002D96A8  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802DDA4C 002D96AC  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802DDA50 002D96B0  88 03 00 02 */	lbz r0, 2(r3)
/* 802DDA54 002D96B4  2C 00 00 00 */	cmpwi r0, 0
/* 802DDA58 002D96B8  41 82 00 20 */	beq lbl_802DDA78
lbl_802DDA5C:
/* 802DDA5C 002D96BC  2C 04 00 00 */	cmpwi r4, 0
/* 802DDA60 002D96C0  40 82 00 30 */	bne lbl_802DDA90
/* 802DDA64 002D96C4  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802DDA68 002D96C8  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802DDA6C 002D96CC  88 03 00 02 */	lbz r0, 2(r3)
/* 802DDA70 002D96D0  2C 00 00 00 */	cmpwi r0, 0
/* 802DDA74 002D96D4  41 82 00 1C */	beq lbl_802DDA90
lbl_802DDA78:
/* 802DDA78 002D96D8  3C 80 80 57 */	lis r4, lbl_8056C428@ha
/* 802DDA7C 002D96DC  7F 83 E3 78 */	mr r3, r28
/* 802DDA80 002D96E0  38 A4 C4 28 */	addi r5, r4, lbl_8056C428@l
/* 802DDA84 002D96E4  88 84 C4 28 */	lbz r4, -0x3bd8(r4)
/* 802DDA88 002D96E8  88 A5 00 04 */	lbz r5, 4(r5)
/* 802DDA8C 002D96EC  48 00 26 95 */	bl rfc_send_dm
lbl_802DDA90:
/* 802DDA90 002D96F0  7F E3 FB 78 */	mr r3, r31
/* 802DDA94 002D96F4  4B FD C2 A1 */	bl GKI_freebuf
/* 802DDA98 002D96F8  48 00 00 B0 */	b lbl_802DDB48
lbl_802DDA9C:
/* 802DDA9C 002D96FC  3F C0 80 57 */	lis r30, lbl_8056C428@ha
/* 802DDAA0 002D9700  88 7E C4 28 */	lbz r3, lbl_8056C428@l(r30)
/* 802DDAA4 002D9704  4B FF F5 AD */	bl port_find_dlci_port
/* 802DDAA8 002D9708  2C 03 00 00 */	cmpwi r3, 0
/* 802DDAAC 002D970C  7C 7B 1B 78 */	mr r27, r3
/* 802DDAB0 002D9710  40 82 00 20 */	bne lbl_802DDAD0
/* 802DDAB4 002D9714  88 9E C4 28 */	lbz r4, -0x3bd8(r30)
/* 802DDAB8 002D9718  7F 83 E3 78 */	mr r3, r28
/* 802DDABC 002D971C  38 A0 00 01 */	li r5, 1
/* 802DDAC0 002D9720  48 00 26 61 */	bl rfc_send_dm
/* 802DDAC4 002D9724  7F E3 FB 78 */	mr r3, r31
/* 802DDAC8 002D9728  4B FD C2 6D */	bl GKI_freebuf
/* 802DDACC 002D972C  48 00 00 7C */	b lbl_802DDB48
lbl_802DDAD0:
/* 802DDAD0 002D9730  88 1E C4 28 */	lbz r0, -0x3bd8(r30)
/* 802DDAD4 002D9734  88 A3 00 00 */	lbz r5, 0(r3)
/* 802DDAD8 002D9738  7C 9C 02 14 */	add r4, r28, r0
/* 802DDADC 002D973C  98 A4 00 24 */	stb r5, 0x24(r4)
/* 802DDAE0 002D9740  93 83 00 6C */	stw r28, 0x6c(r3)
lbl_802DDAE4:
/* 802DDAE4 002D9744  57 A4 06 3E */	clrlwi r4, r29, 0x18
/* 802DDAE8 002D9748  28 04 00 04 */	cmplwi r4, 4
/* 802DDAEC 002D974C  40 82 00 48 */	bne lbl_802DDB34
/* 802DDAF0 002D9750  A0 1F 00 02 */	lhz r0, 2(r31)
/* 802DDAF4 002D9754  2C 00 00 00 */	cmpwi r0, 0
/* 802DDAF8 002D9758  41 82 00 14 */	beq lbl_802DDB0C
/* 802DDAFC 002D975C  7F 63 DB 78 */	mr r3, r27
/* 802DDB00 002D9760  7F E5 FB 78 */	mr r5, r31
/* 802DDB04 002D9764  48 00 0D F1 */	bl rfc_port_sm_execute
/* 802DDB08 002D9768  48 00 00 0C */	b lbl_802DDB14
lbl_802DDB0C:
/* 802DDB0C 002D976C  7F E3 FB 78 */	mr r3, r31
/* 802DDB10 002D9770  4B FD C2 25 */	bl GKI_freebuf
lbl_802DDB14:
/* 802DDB14 002D9774  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802DDB18 002D9778  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802DDB1C 002D977C  88 83 00 05 */	lbz r4, 5(r3)
/* 802DDB20 002D9780  2C 04 00 00 */	cmpwi r4, 0
/* 802DDB24 002D9784  41 82 00 24 */	beq lbl_802DDB48
/* 802DDB28 002D9788  7F 63 DB 78 */	mr r3, r27
/* 802DDB2C 002D978C  48 00 41 91 */	bl rfc_inc_credit
/* 802DDB30 002D9790  48 00 00 18 */	b lbl_802DDB48
lbl_802DDB34:
/* 802DDB34 002D9794  7F 63 DB 78 */	mr r3, r27
/* 802DDB38 002D9798  38 A0 00 00 */	li r5, 0
/* 802DDB3C 002D979C  48 00 0D B9 */	bl rfc_port_sm_execute
/* 802DDB40 002D97A0  7F E3 FB 78 */	mr r3, r31
/* 802DDB44 002D97A4  4B FD C1 F1 */	bl GKI_freebuf
lbl_802DDB48:
/* 802DDB48 002D97A8  39 61 00 20 */	addi r11, r1, 0x20
/* 802DDB4C 002D97AC  4B EE 96 29 */	bl _restgpr_27
/* 802DDB50 002D97B0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802DDB54 002D97B4  7C 08 03 A6 */	mtlr r0
/* 802DDB58 002D97B8  38 21 00 20 */	addi r1, r1, 0x20
/* 802DDB5C 002D97BC  4E 80 00 20 */	blr

RFCOMM_CongestionStatusInd:
/* 802DDB60 002D97C0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802DDB64 002D97C4  7C 08 02 A6 */	mflr r0
/* 802DDB68 002D97C8  90 01 00 24 */	stw r0, 0x24(r1)
/* 802DDB6C 002D97CC  38 03 FF C0 */	addi r0, r3, -64
/* 802DDB70 002D97D0  2C 00 00 0A */	cmpwi r0, 0xa
/* 802DDB74 002D97D4  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802DDB78 002D97D8  3F E0 80 44 */	lis r31, lbl_804446D8@ha
/* 802DDB7C 002D97DC  3B FF 46 D8 */	addi r31, r31, lbl_804446D8@l
/* 802DDB80 002D97E0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802DDB84 002D97E4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802DDB88 002D97E8  7C 9D 23 78 */	mr r29, r4
/* 802DDB8C 002D97EC  93 81 00 10 */	stw r28, 0x10(r1)
/* 802DDB90 002D97F0  7C 7C 1B 78 */	mr r28, r3
/* 802DDB94 002D97F4  41 80 00 30 */	blt lbl_802DDBC4
/* 802DDB98 002D97F8  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802DDB9C 002D97FC  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802DDBA0 002D9800  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802DDBA4 002D9804  28 00 00 01 */	cmplwi r0, 1
/* 802DDBA8 002D9808  41 80 00 14 */	blt lbl_802DDBBC
/* 802DDBAC 002D980C  7F 85 E3 78 */	mr r5, r28
/* 802DDBB0 002D9810  38 9F 00 00 */	addi r4, r31, 0
/* 802DDBB4 002D9814  3C 60 00 09 */	lis r3, 9
/* 802DDBB8 002D9818  4B FD F3 71 */	bl LogMsg_1
lbl_802DDBBC:
/* 802DDBBC 002D981C  3B C0 00 00 */	li r30, 0
/* 802DDBC0 002D9820  48 00 00 50 */	b lbl_802DDC10
lbl_802DDBC4:
/* 802DDBC4 002D9824  3C A0 80 57 */	lis r5, lbl_8056C428@ha
/* 802DDBC8 002D9828  54 00 10 3A */	slwi r0, r0, 2
/* 802DDBCC 002D982C  38 A5 C4 28 */	addi r5, r5, lbl_8056C428@l
/* 802DDBD0 002D9830  7C 85 02 14 */	add r4, r5, r0
/* 802DDBD4 002D9834  83 C4 00 3C */	lwz r30, 0x3c(r4)
/* 802DDBD8 002D9838  2C 1E 00 00 */	cmpwi r30, 0
/* 802DDBDC 002D983C  41 82 00 34 */	beq lbl_802DDC10
/* 802DDBE0 002D9840  A0 DE 00 68 */	lhz r6, 0x68(r30)
/* 802DDBE4 002D9844  7C 06 18 40 */	cmplw r6, r3
/* 802DDBE8 002D9848  41 82 00 28 */	beq lbl_802DDC10
/* 802DDBEC 002D984C  88 05 04 14 */	lbz r0, 0x414(r5)
/* 802DDBF0 002D9850  28 00 00 02 */	cmplwi r0, 2
/* 802DDBF4 002D9854  41 80 00 18 */	blt lbl_802DDC0C
/* 802DDBF8 002D9858  3C 60 00 09 */	lis r3, 0x00090001@ha
/* 802DDBFC 002D985C  7F 85 E3 78 */	mr r5, r28
/* 802DDC00 002D9860  38 9F 00 1C */	addi r4, r31, 0x1c
/* 802DDC04 002D9864  38 63 00 01 */	addi r3, r3, 0x00090001@l
/* 802DDC08 002D9868  4B FD F3 39 */	bl LogMsg_2
lbl_802DDC0C:
/* 802DDC0C 002D986C  3B C0 00 00 */	li r30, 0
lbl_802DDC10:
/* 802DDC10 002D9870  2C 1E 00 00 */	cmpwi r30, 0
/* 802DDC14 002D9874  40 82 00 2C */	bne lbl_802DDC40
/* 802DDC18 002D9878  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802DDC1C 002D987C  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802DDC20 002D9880  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802DDC24 002D9884  28 00 00 01 */	cmplwi r0, 1
/* 802DDC28 002D9888  41 80 00 4C */	blt lbl_802DDC74
/* 802DDC2C 002D988C  7F 85 E3 78 */	mr r5, r28
/* 802DDC30 002D9890  38 9F 00 E4 */	addi r4, r31, 0xe4
/* 802DDC34 002D9894  3C 60 00 09 */	lis r3, 9
/* 802DDC38 002D9898  4B FD F2 F1 */	bl LogMsg_1
/* 802DDC3C 002D989C  48 00 00 38 */	b lbl_802DDC74
lbl_802DDC40:
/* 802DDC40 002D98A0  3C 60 80 57 */	lis r3, lbl_8056C428@ha
/* 802DDC44 002D98A4  38 63 C4 28 */	addi r3, r3, lbl_8056C428@l
/* 802DDC48 002D98A8  88 03 04 14 */	lbz r0, 0x414(r3)
/* 802DDC4C 002D98AC  28 00 00 04 */	cmplwi r0, 4
/* 802DDC50 002D98B0  41 80 00 18 */	blt lbl_802DDC68
/* 802DDC54 002D98B4  3C 60 00 09 */	lis r3, 0x00090003@ha
/* 802DDC58 002D98B8  7F 85 E3 78 */	mr r5, r28
/* 802DDC5C 002D98BC  38 63 00 03 */	addi r3, r3, 0x00090003@l
/* 802DDC60 002D98C0  38 9F 01 14 */	addi r4, r31, 0x114
/* 802DDC64 002D98C4  4B FD F2 C5 */	bl LogMsg_1
lbl_802DDC68:
/* 802DDC68 002D98C8  7F C3 F3 78 */	mr r3, r30
/* 802DDC6C 002D98CC  7F A4 EB 78 */	mr r4, r29
/* 802DDC70 002D98D0  48 00 1C F9 */	bl rfc_process_l2cap_congestion
lbl_802DDC74:
/* 802DDC74 002D98D4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802DDC78 002D98D8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802DDC7C 002D98DC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802DDC80 002D98E0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802DDC84 002D98E4  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802DDC88 002D98E8  7C 08 03 A6 */	mtlr r0
/* 802DDC8C 002D98EC  38 21 00 20 */	addi r1, r1, 0x20
/* 802DDC90 002D98F0  4E 80 00 20 */	blr

.global rfc_save_lcid_mcb
rfc_save_lcid_mcb:
/* 802DDC94 002D98F4  38 04 FF C0 */	addi r0, r4, -64
/* 802DDC98 002D98F8  3C 80 80 57 */	lis r4, lbl_8056C428@ha
/* 802DDC9C 002D98FC  38 84 C4 28 */	addi r4, r4, lbl_8056C428@l
/* 802DDCA0 002D9900  54 00 10 3A */	slwi r0, r0, 2
/* 802DDCA4 002D9904  7C 84 02 14 */	add r4, r4, r0
/* 802DDCA8 002D9908  90 64 00 3C */	stw r3, 0x3c(r4)
/* 802DDCAC 002D990C  4E 80 00 20 */	blr