void RTMPSuspendMsduTransmission(int param_1)
{
char cVar1;
uint uVar2;
int iVar3;
int iVar4;
uint uVar5;
if (2 < RTDebugLevel) {
printk("SCANNING, suspend MSDU transmission ...\n");
}
uVar2 = Status;
if (*(char *)(param_1 + 0xec) != '\0') goto LAB_000253b8;
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar5 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar5 = uVar2 & 1;
}
iVar4 = 0;
cVar1 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_00025160:
uVar2 = 0;
if (cVar1 == '\0') {
uVar2 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar2 & 0x20000) != 0) {
LAB_000251ec:
iVar4 = iVar4 + 1;
if (iVar4 == 100) goto LAB_000251f4;
cVar1 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_00025160;
}
if (cVar1 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb4200;
}
iVar3 = 1;
while( true ) {
uVar2 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar2 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if (((uVar2 & 0x20000) == 0) || (iVar3 == 100)) break;
iVar3 = iVar3 + 1;
}
if ((uVar2 & 0x2ff00) != 0x4200) goto LAB_000251ec;
*(char *)(param_1 + 0x4bd1) = (char)uVar2;
LAB_000251f4:
if ((int)(uVar2 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",0,0x42);
*(undefined1 *)(param_1 + 0x4bd1) = *(undefined1 *)(param_1 + 0x4b0b);
LAB_00025390:
cVar1 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar1 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
else {
uVar5 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar5 = uVar2 & 1;
}
iVar4 = 0;
cVar1 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_0002526c:
uVar2 = 0;
if (cVar1 == '\0') {
uVar2 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar2 & 0x20000) != 0) {
LAB_0002532c:
iVar4 = iVar4 + 1;
if (iVar4 == 100) goto LAB_00025334;
cVar1 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_0002526c;
}
if (cVar1 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb4200;
}
AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
RTMPusecDelay(1000);
iVar3 = 1;
while( true ) {
uVar2 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar2 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if (((uVar2 & 0x20000) == 0) || (iVar3 == 100)) break;
iVar3 = iVar3 + 1;
}
if ((uVar2 & 0x2ff00) != 0x4200) goto LAB_0002532c;
*(char *)(param_1 + 0x4bd1) = (char)uVar2;
LAB_00025334:
if ((int)(uVar2 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",1,0x42);
*(undefined1 *)(param_1 + 0x4bd1) = *(undefined1 *)(param_1 + 0x4b0b);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
}
goto LAB_00025390;
}
cVar1 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if ((cVar1 == '\x01') && (Status = Status & 0xfffffffe, uVar5 != 0)) {
Status = Status | 1;
}
LAB_000253b8:
RTMPSetAGCInitValue(param_1,0);
*(uint *)(param_1 + 0x76904) = *(uint *)(param_1 + 0x76904) | 0x4000;
return;
}