undefined4 RT5350_GetDesiredTSSI(int param_1,undefined1 *param_2)
{
code cVar1;
undefined4 *puVar2;
int iVar3;
char cVar4;
uint uVar5;
char *pcVar6;
undefined1 uVar7;
int iVar8;
uint uVar9;
uint uVar10;
uint uVar11;
byte bVar12;
undefined4 uVar13;
uVar5 = Status;
cVar1 = AsicRxAntEvalTimeout[param_1 + 5];
uVar10 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar11 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar11 = uVar5 & 1;
}
iVar8 = 0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) {
if (cVar4 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb2f00;
}
iVar3 = 0;
do {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
if ((uVar5 & 0x2ff00) == 0x2f00) {
uVar10 = uVar5 & 0xff;
goto LAB_000b7664;
}
}
iVar8 = iVar8 + 1;
if (iVar8 == 100) break;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar10 = 0;
LAB_000b7664:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",0,0x2f);
uVar10 = (uint)*(byte *)(param_1 + 0x4af8);
LAB_000b77f8:
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
else {
uVar11 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar11 = uVar5 & 1;
}
iVar8 = 0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) {
if (cVar4 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb2f00;
}
AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
RTMPusecDelay(1000);
iVar3 = 0;
do {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
} while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
if ((uVar5 & 0x2ff00) == 0x2f00) {
uVar10 = uVar5 & 0xff;
goto LAB_000b77a0;
}
}
iVar8 = iVar8 + 1;
if (iVar8 == 100) break;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar10 = 0;
LAB_000b77a0:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",1,0x2f);
uVar10 = (uint)*(byte *)(param_1 + 0x4af8);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
}
goto LAB_000b77f8;
}
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if ((cVar4 == '\x01') && (Status = Status & 0xfffffffe, uVar11 != 0)) {
Status = Status | 1;
}
if ((uVar10 & 4) != 0) {
if (RTDebugLevel == 0) {
return 0;
}
printk("%s: BBP TSSI INFO is not ready. (BbpR47 = 0x%X)\n","RT5350_GetDesiredTSSI",uVar10);
return 0;
}
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar5 = Status;
if (cVar4 == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar11 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar11 = uVar5 & 1;
}
iVar8 = 0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000b78b4:
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) != 0) {
LAB_000b793c:
iVar8 = iVar8 + 1;
if (iVar8 == 100) goto LAB_000b7944;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000b78b4;
}
if (cVar4 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb2f00;
}
iVar3 = 0;
do {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b793c;
uVar10 = uVar5 & 0xff;
LAB_000b7944:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",0,0x2f);
uVar10 = (uint)*(byte *)(param_1 + 0x4af8);
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar4 == '\x01') {
LAB_000b7afc:
Status = Status & 0xfffffffe;
if (uVar11 != 0) {
Status = Status | 1;
}
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
else {
uVar11 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar11 = uVar5 & 1;
}
iVar8 = 0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000b79c8:
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) != 0) {
LAB_000b7a88:
iVar8 = iVar8 + 1;
if (iVar8 == 100) goto LAB_000b7a90;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000b79c8;
}
if (cVar4 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb2f00;
}
AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
RTMPusecDelay(1000);
iVar3 = 0;
do {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
} while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b7a88;
uVar10 = uVar5 & 0xff;
LAB_000b7a90:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",1,0x2f);
uVar10 = (uint)*(byte *)(param_1 + 0x4af8);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
}
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar4 == '\x01') goto LAB_000b7afc;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
else {
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar5 = Status;
uVar10 = uVar10 & 0xfc;
if (cVar4 == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar11 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar11 = uVar5 & 1;
}
iVar8 = 1;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) break;
iVar8 = iVar8 + 1;
printk(&_LC5) //possible issue identified - semgrep
if (iVar8 == 100) goto LAB_000b7be0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar4 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar10 | 0xa2f00;
}
*(char *)(param_1 + 0x4af8) = (char)uVar10;
if (iVar8 != 100) goto LAB_000b7c00;
LAB_000b7be0:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",0x2f);
LAB_000b7c00:
if (*(char *)(param_1 + 0xad) == '\x01') {
LAB_000b7db4:
Status = Status & 0xfffffffe;
if (uVar11 != 0) {
Status = Status | 1;
}
goto LAB_000b7dc4;
}
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
uVar11 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar11 = uVar5 & 1;
}
iVar8 = 1;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) break;
if ((iVar8 % 0x14 == 0) && (cVar4 == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
}
iVar8 = iVar8 + 1;
printk(&_LC5) //possible issue identified - semgrep
if (iVar8 == 100) goto LAB_000b7d58;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar4 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar10 | 0xa2f00;
}
iVar3 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
if (*(char *)(param_1 + 0x16964) == '\x01') {
RTMPusecDelay(1000);
}
if ((iVar3 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar10 | 0x82f00;
}
*(char *)(param_1 + 0x4af8) = (char)uVar10;
if (iVar8 != 100) goto LAB_000b7da0;
LAB_000b7d58:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",0x2f);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
LAB_000b7da0:
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar4 == '\x01') goto LAB_000b7db4;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
else {
LAB_000b7dc4:
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar5 = Status;
uVar7 = 0;
if (cVar4 == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar11 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar11 = uVar5 & 1;
}
iVar8 = 0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) {
if (cVar4 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb3100;
}
iVar3 = 0;
do {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
if ((uVar5 & 0x2ff00) == 0x3100) {
uVar9 = uVar5 & 0xff;
goto LAB_000b7eac;
}
}
iVar8 = iVar8 + 1;
if (iVar8 == 100) break;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar9 = 0;
LAB_000b7eac:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",0,0x31);
uVar9 = (uint)*(byte *)(param_1 + 0x4afa);
LAB_000b8040:
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
else {
uVar11 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar11 = uVar5 & 1;
}
iVar8 = 0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) {
if (cVar4 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb3100;
}
AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
RTMPusecDelay(1000);
iVar3 = 0;
do {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
} while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
if ((uVar5 & 0x2ff00) == 0x3100) {
uVar9 = uVar5 & 0xff;
goto LAB_000b7fe8;
}
}
iVar8 = iVar8 + 1;
if (iVar8 == 100) break;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar9 = 0;
LAB_000b7fe8:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",1,0x31);
uVar9 = (uint)*(byte *)(param_1 + 0x4afa);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
}
goto LAB_000b8040;
}
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
uVar7 = (undefined1)uVar9;
if ((cVar4 == '\x01') && (Status = Status & 0xfffffffe, uVar11 != 0)) {
Status = Status | 1;
}
if (uVar9 < 0x7d) goto LAB_000b80a0;
if (2 < RTDebugLevel) {
printk("TSSI: BBP_R49=%X is native value\n");
}
*param_2 = 0;
}
else {
LAB_000b80a0:
*param_2 = uVar7;
}
uVar5 = Status;
if (*(char *)(param_1 + 0xec) == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar11 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar11 = uVar5 & 1;
}
iVar8 = 0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000b80fc:
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) != 0) {
LAB_000b8184:
iVar8 = iVar8 + 1;
if (iVar8 == 100) goto LAB_000b818c;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000b80fc;
}
if (cVar4 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb2f00;
}
iVar3 = 0;
do {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b8184;
uVar10 = uVar5 & 0xff;
LAB_000b818c:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",0,0x2f);
uVar10 = (uint)*(byte *)(param_1 + 0x4af8);
LAB_000b831c:
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
else {
uVar11 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar11 = uVar5 & 1;
}
iVar8 = 0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000b81fc:
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) != 0) {
LAB_000b82bc:
iVar8 = iVar8 + 1;
if (iVar8 == 100) goto LAB_000b82c4;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000b81fc;
}
if (cVar4 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb2f00;
}
AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
RTMPusecDelay(1000);
iVar3 = 0;
do {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
} while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b82bc;
uVar10 = uVar5 & 0xff;
LAB_000b82c4:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",1,0x2f);
uVar10 = (uint)*(byte *)(param_1 + 0x4af8);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
}
goto LAB_000b831c;
}
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar4 == '\x01') {
Status = Status & 0xfffffffe;
if (uVar11 != 0) {
Status = Status | 1;
}
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
else {
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar5 = Status;
uVar10 = uVar10 & 0xfc;
uVar11 = uVar10 | 1;
if (cVar4 == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar9 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar9 = uVar5 & 1;
}
iVar8 = 1;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) break;
iVar8 = iVar8 + 1;
printk(&_LC5) //possible issue identified - semgrep
if (iVar8 == 100) goto LAB_000b8418;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar4 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar10 | 0xa2f01;
}
*(char *)(param_1 + 0x4af8) = (char)uVar11;
if (iVar8 != 100) goto LAB_000b8438;
LAB_000b8418:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",0x2f);
LAB_000b8438:
if (*(char *)(param_1 + 0xad) == '\x01') {
LAB_000b85ec:
Status = Status & 0xfffffffe;
if (uVar9 != 0) {
Status = Status | 1;
}
goto LAB_000b85fc;
}
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
uVar9 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar9 = uVar5 & 1;
}
iVar8 = 1;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) break;
if ((iVar8 % 0x14 == 0) && (cVar4 == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
}
iVar8 = iVar8 + 1;
printk(&_LC5) //possible issue identified - semgrep
if (iVar8 == 100) goto LAB_000b8590;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar4 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar10 | 0xa2f01;
}
iVar3 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
if (*(char *)(param_1 + 0x16964) == '\x01') {
RTMPusecDelay(1000);
}
if ((iVar3 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar10 | 0x82f01;
}
*(char *)(param_1 + 0x4af8) = (char)uVar11;
if (iVar8 != 100) goto LAB_000b85d8;
LAB_000b8590:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",0x2f);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
LAB_000b85d8:
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar4 == '\x01') goto LAB_000b85ec;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
else {
LAB_000b85fc:
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar5 = Status;
uVar10 = 0;
if (cVar4 == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar9 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar9 = uVar5 & 1;
}
iVar8 = 0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) {
if (cVar4 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb3100;
}
iVar3 = 0;
do {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
if ((uVar5 & 0x2ff00) == 0x3100) {
uVar10 = uVar5 & 0xff;
goto LAB_000b86e4;
}
}
iVar8 = iVar8 + 1;
if (iVar8 == 100) break;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar10 = 0;
LAB_000b86e4:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",0,0x31);
uVar10 = (uint)*(byte *)(param_1 + 0x4afa);
LAB_000b8878:
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
else {
uVar9 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar9 = uVar5 & 1;
}
iVar8 = 0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) {
if (cVar4 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb3100;
}
AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
RTMPusecDelay(1000);
iVar3 = 0;
do {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
} while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
if ((uVar5 & 0x2ff00) == 0x3100) {
uVar10 = uVar5 & 0xff;
goto LAB_000b8820;
}
}
iVar8 = iVar8 + 1;
if (iVar8 == 100) break;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar10 = 0;
LAB_000b8820:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",1,0x31);
uVar10 = (uint)*(byte *)(param_1 + 0x4afa);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
}
goto LAB_000b8878;
}
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if ((cVar4 == '\x01') && (Status = Status & 0xfffffffe, uVar9 != 0)) {
Status = Status | 1;
}
}
uVar5 = uVar10 & 3;
if (uVar5 == 1) {
iVar8 = 6;
switch((uVar10 >> 4) - 9 & 0xff) {
case 0:
iVar8 = 4;
break;
case 1:
iVar8 = 2;
break;
case 2:
iVar8 = 0;
break;
case 3:
iVar8 = 7;
break;
case 4:
iVar8 = 5;
break;
case 5:
iVar8 = 3;
break;
case 6:
iVar8 = 1;
}
uVar13 = (&RT5350_desiredTSSIOverOFDM)[iVar8];
if (3 < RTDebugLevel) {
pcVar6 = "OFDM: desiredTSSI = %d, MCS = %d\n";
LAB_000b9234:
printk(pcVar6,uVar13);
}
}
else if (uVar5 == 2) {
if (RTDebugLevel < 4) {
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("mixed mode or green-field mode\n");
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar5 = Status;
if (cVar4 == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar10 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar10 = uVar5 & 1;
}
iVar8 = 0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000b8a34:
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) != 0) {
LAB_000b8abc:
iVar8 = iVar8 + 1;
if (iVar8 == 100) goto LAB_000b8ac4;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000b8a34;
}
if (cVar4 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb2f00;
}
iVar3 = 0;
do {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b8abc;
uVar11 = uVar5 & 0xff;
LAB_000b8ac4:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",0,0x2f);
uVar11 = (uint)*(byte *)(param_1 + 0x4af8);
LAB_000b8c54:
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
else {
uVar10 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar10 = uVar5 & 1;
}
iVar8 = 0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000b8b34:
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) != 0) {
LAB_000b8bf4:
iVar8 = iVar8 + 1;
if (iVar8 == 100) goto LAB_000b8bfc;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000b8b34;
}
if (cVar4 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb2f00;
}
AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
RTMPusecDelay(1000);
iVar3 = 0;
do {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
} while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b8bf4;
uVar11 = uVar5 & 0xff;
LAB_000b8bfc:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",1,0x2f);
uVar11 = (uint)*(byte *)(param_1 + 0x4af8);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
}
goto LAB_000b8c54;
}
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar4 == '\x01') {
Status = Status & 0xfffffffe;
if (uVar10 != 0) {
Status = Status | 1;
}
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
else {
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar5 = Status;
uVar10 = uVar11 & 0xfc;
uVar11 = uVar10 | 2;
if (cVar4 == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar9 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar9 = uVar5 & 1;
}
iVar8 = 1;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) break;
iVar8 = iVar8 + 1;
printk(&_LC5) //possible issue identified - semgrep
if (iVar8 == 100) goto LAB_000b8d50;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar4 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar10 | 0xa2f02;
}
*(char *)(param_1 + 0x4af8) = (char)uVar11;
if (iVar8 != 100) goto LAB_000b8d70;
LAB_000b8d50:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",0x2f);
LAB_000b8d70:
if (*(char *)(param_1 + 0xad) == '\x01') {
LAB_000b8f24:
Status = Status & 0xfffffffe;
if (uVar9 != 0) {
Status = Status | 1;
}
goto LAB_000b8f34;
}
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
uVar9 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar9 = uVar5 & 1;
}
iVar8 = 1;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) break;
if ((iVar8 % 0x14 == 0) && (cVar4 == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
}
iVar8 = iVar8 + 1;
printk(&_LC5) //possible issue identified - semgrep
if (iVar8 == 100) goto LAB_000b8ec8;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar4 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar10 | 0xa2f02;
}
iVar3 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
if (*(char *)(param_1 + 0x16964) == '\x01') {
RTMPusecDelay(1000);
}
if ((iVar3 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar10 | 0x82f02;
}
*(char *)(param_1 + 0x4af8) = (char)uVar11;
if (iVar8 != 100) goto LAB_000b8f10;
LAB_000b8ec8:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",0x2f);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
LAB_000b8f10:
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar4 == '\x01') goto LAB_000b8f24;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
else {
LAB_000b8f34:
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar5 = Status;
uVar10 = 0;
if (cVar4 == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar9 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar9 = uVar5 & 1;
}
iVar8 = 0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) {
if (cVar4 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb3100;
}
iVar3 = 0;
do {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
if ((uVar5 & 0x2ff00) == 0x3100) {
uVar10 = uVar5 & 0xff;
goto LAB_000b901c;
}
}
iVar8 = iVar8 + 1;
if (iVar8 == 100) break;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar10 = 0;
LAB_000b901c:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",0,0x31);
uVar10 = (uint)*(byte *)(param_1 + 0x4afa);
LAB_000b91b0:
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
else {
uVar9 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar9 = uVar5 & 1;
}
iVar8 = 0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) {
if (cVar4 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb3100;
}
AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
RTMPusecDelay(1000);
iVar3 = 0;
do {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
} while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
if ((uVar5 & 0x2ff00) == 0x3100) {
uVar10 = uVar5 & 0xff;
goto LAB_000b9158;
}
}
iVar8 = iVar8 + 1;
if (iVar8 == 100) break;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar10 = 0;
LAB_000b9158:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",1,0x31);
uVar10 = (uint)*(byte *)(param_1 + 0x4afa);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
}
goto LAB_000b91b0;
}
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if ((cVar4 == '\x01') && (Status = Status & 0xfffffffe, uVar9 != 0)) {
Status = Status | 1;
}
}
if ((cVar1 == (code)0x1) && (((uVar10 & 0x7f) - 5 & 0xff) < 3)) {
puVar2 = &RT5350_desiredTSSIOverHT40;
}
else {
puVar2 = &RT5350_desiredTSSIOverHT;
}
uVar13 = puVar2[uVar10 & 0x7f];
if (3 < RTDebugLevel) {
pcVar6 = "HT: desiredTSSI = %d, MCS = %d\n";
goto LAB_000b9234;
}
}
else {
uVar13 = 0;
if (uVar5 == 0) {
uVar10 = uVar10 >> 4;
iVar8 = 1;
if (uVar10 != 9) {
if (uVar10 < 9) {
iVar8 = 0;
}
else {
iVar8 = 2;
if ((uVar10 != 10) && (iVar8 = 3, uVar10 != 0xb)) {
iVar8 = 0;
}
}
}
uVar13 = (&RT5350_desiredTSSIOverCCK)[iVar8];
if (3 < RTDebugLevel) {
pcVar6 = "CCK: desiredTSSI = %d, MCS = %d\n";
goto LAB_000b9234;
}
}
}
uVar5 = Status;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
if (cVar4 != '\0') {
uVar11 = uVar11 & 0xf8;
goto LAB_000b979c;
}
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar10 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar10 = uVar5 & 1;
}
iVar8 = 0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000b9298:
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) != 0) {
LAB_000b9320:
iVar8 = iVar8 + 1;
if (iVar8 == 100) goto LAB_000b9328;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000b9298;
}
if (cVar4 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb2f00;
}
iVar3 = 0;
do {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b9320;
uVar11 = uVar5 & 0xff;
LAB_000b9328:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",0,0x2f);
uVar11 = (uint)*(byte *)(param_1 + 0x4af8);
LAB_000b94bc:
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
else {
uVar10 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar10 = uVar5 & 1;
}
iVar8 = 0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000b9394:
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) != 0) {
LAB_000b945c:
iVar8 = iVar8 + 1;
if (iVar8 == 100) goto LAB_000b9464;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000b9394;
}
if (cVar4 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb2f00;
}
AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
RTMPusecDelay(1000);
iVar3 = 0;
do {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
iVar3 = iVar3 + 1;
} while (((uVar5 & 0x20000) != 0) && (iVar3 != 100));
if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b945c;
uVar11 = uVar5 & 0xff;
LAB_000b9464:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",1,0x2f);
uVar11 = (uint)*(byte *)(param_1 + 0x4af8);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
}
goto LAB_000b94bc;
}
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar4 == '\x01') {
Status = Status & 0xfffffffe;
if (uVar10 != 0) {
Status = Status | 1;
}
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar5 = Status;
uVar11 = uVar11 & 0xf8;
if (cVar4 == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar10 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar10 = uVar5 & 1;
}
iVar8 = 1;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) break;
iVar8 = iVar8 + 1;
printk(&_LC5) //possible issue identified - semgrep
if (iVar8 == 100) goto LAB_000b95b4;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar4 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar11 | 0xa2f00;
}
*(char *)(param_1 + 0x4af8) = (char)uVar11;
if (iVar8 != 100) goto LAB_000b95d4;
LAB_000b95b4:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",0x2f);
LAB_000b95d4:
if (*(char *)(param_1 + 0xad) == '\x01') {
LAB_000b9788:
Status = Status & 0xfffffffe;
if (uVar10 != 0) {
Status = Status | 1;
}
goto LAB_000b9798;
}
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
uVar10 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar10 = uVar5 & 1;
}
iVar8 = 1;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) break;
if ((iVar8 % 0x14 == 0) && (cVar4 == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
}
iVar8 = iVar8 + 1;
printk(&_LC5) //possible issue identified - semgrep
if (iVar8 == 100) goto LAB_000b972c;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar4 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar11 | 0xa2f00;
}
iVar3 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
if (*(char *)(param_1 + 0x16964) == '\x01') {
RTMPusecDelay(1000);
}
if ((iVar3 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar11 | 0x82f00;
}
*(char *)(param_1 + 0x4af8) = (char)uVar11;
if (iVar8 != 100) goto LAB_000b9774;
LAB_000b972c:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",0x2f);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
LAB_000b9774:
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar4 == '\x01') goto LAB_000b9788;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
else {
LAB_000b9798:
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
LAB_000b979c:
uVar5 = Status;
if (cVar4 != '\0') {
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000b9a38;
}
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar10 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar10 = uVar5 & 1;
}
iVar8 = 0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000b97ec:
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) != 0) {
LAB_000b9874:
iVar8 = iVar8 + 1;
if (iVar8 == 100) goto LAB_000b987c;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000b97ec;
}
if (cVar4 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb2f00;
}
iVar3 = 0;
do {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b9874;
uVar11 = uVar5 & 0xff;
LAB_000b987c:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",0,0x2f);
uVar11 = (uint)*(byte *)(param_1 + 0x4af8);
LAB_000b9a10:
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
else {
uVar10 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar10 = uVar5 & 1;
}
iVar8 = 0;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000b98e8:
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) != 0) {
LAB_000b99b0:
iVar8 = iVar8 + 1;
if (iVar8 == 100) goto LAB_000b99b8;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000b98e8;
}
if (cVar4 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb2f00;
}
AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
RTMPusecDelay(1000);
iVar3 = 0;
do {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
iVar3 = iVar3 + 1;
} while (((uVar5 & 0x20000) != 0) && (iVar3 != 100));
if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b99b0;
uVar11 = uVar5 & 0xff;
LAB_000b99b8:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",1,0x2f);
uVar11 = (uint)*(byte *)(param_1 + 0x4af8);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
}
goto LAB_000b9a10;
}
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar4 == '\x01') {
Status = Status & 0xfffffffe;
if (uVar10 != 0) {
Status = Status | 1;
}
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
LAB_000b9a38:
uVar5 = Status;
if (cVar4 == '\0') {
bVar12 = (byte)uVar11 | 4;
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar10 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar10 = uVar5 & 1;
}
iVar8 = 1;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) break;
iVar8 = iVar8 + 1;
printk(&_LC5) //possible issue identified - semgrep
if (iVar8 == 100) goto LAB_000b9b0c;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar4 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar11 | 0xa2f04;
}
*(byte *)(param_1 + 0x4af8) = bVar12;
if (iVar8 != 100) goto LAB_000b9b2c;
LAB_000b9b0c:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",0x2f);
LAB_000b9b2c:
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
uVar10 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar10 = uVar5 & 1;
}
iVar8 = 1;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar4 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) break;
if ((iVar8 % 0x14 == 0) && (cVar4 == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
}
iVar8 = iVar8 + 1;
printk(&_LC5) //possible issue identified - semgrep
if (iVar8 == 100) goto LAB_000b9c84;
cVar4 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar4 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar11 | 0xa2f04;
}
iVar3 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
if (*(char *)(param_1 + 0x16964) == '\x01') {
RTMPusecDelay(1000);
}
if ((iVar3 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar11 | 0x82f04;
}
*(byte *)(param_1 + 0x4af8) = bVar12;
if (iVar8 != 100) goto LAB_000b9ccc;
LAB_000b9c84:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",0x2f);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
LAB_000b9ccc:
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar4 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
if ((cVar4 == '\x01') && (Status = Status & 0xfffffffe, uVar10 != 0)) {
Status = Status | 1;
}
}
return uVar13;
}