/* WARNING: Removing unreachable block (ram,0x000a9e6c) */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
undefined4 Set_ATE_Proc(int param_1,char *param_2)
{
bool bVar1;
char cVar2;
char cVar3;
byte bVar4;
undefined1 uVar5;
undefined4 uVar6;
code *pcVar7;
char cVar8;
char *pcVar9;
uint uVar10;
int iVar11;
undefined4 *puVar12;
uint uVar13;
char *pcVar14;
int iVar15;
uint uVar16;
int iVar17;
uint uVar18;
byte *pbVar19;
undefined1 *puVar20;
byte *pbVar21;
undefined1 *puVar22;
byte local_30 [8];
pcVar14 = "ATEACTIVE";
cVar8 = *param_2;
pcVar9 = param_2;
do {
cVar2 = *pcVar14;
pcVar9 = pcVar9 + 1;
pcVar14 = pcVar14 + 1;
cVar3 = cVar8;
if (cVar2 != cVar8) break;
bVar1 = cVar8 != '\0';
cVar8 = *pcVar9;
cVar3 = cVar2;
} while (bVar1);
if (cVar3 == cVar2) {
*(undefined1 *)(param_1 + 0x76a0d) = 0;
return 1;
}
pcVar14 = "ATEPASSIVE";
cVar8 = *param_2;
pcVar9 = param_2;
do {
cVar2 = *pcVar14;
pcVar9 = pcVar9 + 1;
pcVar14 = pcVar14 + 1;
cVar3 = cVar8;
if (cVar2 != cVar8) break;
bVar1 = cVar8 != '\0';
cVar8 = *pcVar9;
cVar3 = cVar2;
} while (bVar1);
if (cVar3 == cVar2) {
*(undefined1 *)(param_1 + 0x76a0d) = 1;
return 1;
}
if (*(char *)(param_1 + 0x76a0d) != '\0') {
return 1;
}
if (2 < RTDebugLevel) {
printk("===> %s\n","ATECmdHandler");
}
pcVar14 = "ATESTART";
cVar8 = *param_2;
pcVar9 = param_2;
do {
cVar2 = *pcVar14;
pcVar9 = pcVar9 + 1;
pcVar14 = pcVar14 + 1;
cVar3 = cVar8;
if (cVar2 != cVar8) break;
bVar1 = cVar8 != '\0';
cVar8 = *pcVar9;
cVar3 = cVar2;
} while (bVar1);
if (cVar3 == cVar2) {
pcVar7 = ATESTART;
goto LAB_000a9c3c;
}
pcVar14 = "ATESTOP";
cVar8 = *param_2;
pcVar9 = param_2;
do {
cVar2 = *pcVar14;
pcVar9 = pcVar9 + 1;
pcVar14 = pcVar14 + 1;
cVar3 = cVar8;
if (cVar2 != cVar8) break;
bVar1 = cVar8 != '\0';
cVar8 = *pcVar9;
cVar3 = cVar2;
} while (bVar1);
if (cVar3 == cVar2) {
cVar8 = *(char *)(param_1 + 0x4bd4) //possible issue identified - semgrep
if (2 < RTDebugLevel) {
printk("ATE : ===> %s\n","ATESTOP");
}
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) | 2;
}
RtmpOsMsDelay(10);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) & 0xfffffffd;
}
pbVar19 = &restore_BBP;
pbVar21 = (byte *)(param_1 + 0x4ac9);
uVar18 = 0;
do {
iVar15 = 0;
do {
uVar10 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar10 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar10 & 0x20000) == 0) {
bVar4 = *pbVar19;
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = bVar4 | 0xa0000 | (uVar18 & 0xff) << 8;
bVar4 = *pbVar19;
}
*pbVar21 = bVar4;
if (iVar15 != 100) goto LAB_000a7c78;
break;
}
iVar15 = iVar15 + 1;
} while (iVar15 != 100);
if (RTDebugLevel != 0) {
printk("BBP write R%d fail\n",uVar18);
}
LAB_000a7c78:
uVar18 = uVar18 + 1;
pbVar19 = pbVar19 + 1;
pbVar21 = pbVar21 + 1;
} while (uVar18 != 0xa8);
if (cVar8 == '\0') {
printk("<4>/home/eric/release/dir600b5/progs.priv/rt2860v2/build/rt2860v2_ap/../rt2860v2/common/rt_ate.c:%d assert RestoreRfICType != 0failed\n"
,0x1641);
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
*(char *)(param_1 + 0x4bd4) = cVar8;
iVar15 = 0;
do {
uVar18 = 0;
if (cVar2 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) == 0) {
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa1600;
}
*(undefined1 *)(param_1 + 0x4adf) = 0;
if (iVar15 != 100) goto LAB_000a7d58;
break;
}
iVar15 = iVar15 + 1;
} while (iVar15 != 100);
if (RTDebugLevel == 0) {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("BBP write R%d fail\n",0x16);
LAB_000a7d58:
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar8 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) & 0xffffffef;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar8 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) & 0xfffffff7;
}
RtmpDmaEnable(param_1,0);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) & 0xfffffffb;
}
*(undefined1 *)(param_1 + 0x76a0c) = 0x80;
BbpSoftReset(param_1);
if (*(char *)(param_1 + 0xec) == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x204) = 0;
}
*(uint *)(param_1 + 0x76904) = *(uint *)(param_1 + 0x76904) & 0xffffdfff;
NICInitializeAdapter(param_1,1);
iVar15 = 0;
do {
iVar11 = *(int *)(param_1 + iVar15 + 0x3a8c);
iVar15 = iVar15 + 0x20;
*(byte *)(iVar11 + 7) = *(byte *)(iVar11 + 7) & 0x7f;
} while (iVar15 != 0x1000);
NICReadEEPROMParameters(param_1,0);
NICInitAsicFromEEPROM(param_1);
AsicSwitchChannel(param_1,*(undefined1 *)(param_1 + 0x169ec),0);
AsicLockChannel(param_1,*(undefined1 *)(param_1 + 0x169ec));
if ((*(char *)(param_1 + 0xec) == '\0') &&
(*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x200) = 0xffffffff,
*(char *)(param_1 + 0xec) == '\0')) {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x204) = *(undefined4 *)(param_1 + 0xf0);
}
*(uint *)(param_1 + 0x76904) = *(uint *)(param_1 + 0x76904) | 0x2000;
if (*(char *)(param_1 + 0xec) == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x1400) = 0x15f97;
}
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) | 4;
}
RtmpDmaEnable(param_1,1);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) | 8;
}
APStartUp(param_1);
iVar15 = *(int *)(*(int *)(param_1 + 4) + 0x194);
if (_kill_pid << 0xf < 0) {
*(uint *)(iVar15 + 8) = *(uint *)(iVar15 + 8) & 0xfffffffe;
}
else {
uVar18 = Status & 1;
*(uint *)(iVar15 + 8) = *(uint *)(iVar15 + 8) & 0xfffffffe;
Status = Status & 0xfffffffe;
if (uVar18 != 0) {
Status = Status | 1;
}
}
if (RTDebugLevel < 3) {
iVar15 = 0;
goto LAB_000a9d9c;
}
pcVar9 = "ATESTOP";
goto LAB_000a9d58;
}
pcVar14 = "TXCARR";
cVar8 = *param_2;
pcVar9 = param_2;
do {
cVar2 = *pcVar14;
pcVar9 = pcVar9 + 1;
pcVar14 = pcVar14 + 1;
cVar3 = cVar8;
if (cVar2 != cVar8) break;
bVar1 = cVar8 != '\0';
cVar8 = *pcVar9;
cVar3 = cVar2;
} while (bVar1);
if (cVar3 == cVar2) {
ATEAsicSwitchChannel(param_1);
AsicLockChannel(param_1,*(undefined1 *)(param_1 + 0x76a38));
RtmpOsMsDelay(5);
if (2 < RTDebugLevel) {
printk("ATE : ===> %s\n","TXCARR");
}
*(undefined1 *)(param_1 + 0x76a0c) = 9;
puVar12 = (undefined4 *)&restore_BBP;
restore_BBP = 0;
while (puVar12 = (undefined4 *)((int)puVar12 + 1), puVar12 != &Default_TX_PIN_CFG) {
*(undefined1 *)puVar12 = 0;
}
puVar20 = &restore_BBP;
puVar22 = (undefined1 *)(param_1 + 0x4ac9);
uVar18 = 0;
do {
iVar15 = 0;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000a8120:
uVar10 = 0;
if (cVar8 == '\0') {
uVar10 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar10 & 0x20000) != 0) {
LAB_000a81b8:
iVar15 = iVar15 + 1;
if (iVar15 == 100) goto LAB_000a81c0;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000a8120;
}
if (cVar8 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = (uVar18 & 0xff) << 8 | 0xb0000;
}
iVar11 = 1;
while( true ) {
uVar10 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar10 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if (((uVar10 & 0x20000) == 0) || (iVar11 == 100)) break;
iVar11 = iVar11 + 1;
}
if (((uVar10 & 0x20000) != 0) || ((uVar10 << 0x10) >> 0x18 != uVar18)) goto LAB_000a81b8;
*puVar20 = (char)uVar10;
LAB_000a81c0:
if ((uVar10 & 0x20000) != 0) {
if (RTDebugLevel == 0) {
uVar5 = *puVar22;
}
else {
printk("BBP read R%d fail\n",uVar18);
uVar5 = *puVar22;
}
*puVar20 = uVar5;
}
uVar18 = uVar18 + 1;
puVar22 = puVar22 + 1;
puVar20 = puVar20 + 1;
} while (uVar18 != 0xa8);
if (*(char *)(param_1 + 0x76a52) == '\0') {
if ((*(int *)(param_1 + 0x4a94) == 0x28720200) &&
(((*(char *)(param_1 + 0x4bd4) == '\x05' || ((*(uint *)(param_1 + 0x4bf4) & 0xf0) == 0x20))
|| (*(char *)(param_1 + 0x4bd4) == '\v')))) {
BbpSoftReset(param_1);
}
iVar15 = 0;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
do {
uVar18 = 0;
if (cVar8 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb1600;
}
iVar11 = 1;
while( true ) {
uVar18 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if (((uVar18 & 0x20000) == 0) || (iVar11 == 100)) break;
iVar11 = iVar11 + 1;
}
if ((uVar18 & 0x2ff00) == 0x1600) goto LAB_000a8324;
}
iVar15 = iVar15 + 1;
if (iVar15 == 100) goto LAB_000a8324;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
} while( true );
}
goto LAB_000a842c;
}
pcVar14 = "TXCARS";
cVar8 = *param_2;
pcVar9 = param_2;
do {
cVar2 = *pcVar14;
pcVar9 = pcVar9 + 1;
pcVar14 = pcVar14 + 1;
cVar3 = cVar8;
if (cVar2 != cVar8) break;
bVar1 = cVar8 != '\0';
cVar8 = *pcVar9;
cVar3 = cVar2;
} while (bVar1);
if (cVar3 != cVar2) {
pcVar14 = "TXCONT";
cVar8 = *param_2;
pcVar9 = param_2;
do {
cVar2 = *pcVar14;
pcVar9 = pcVar9 + 1;
pcVar14 = pcVar14 + 1;
cVar3 = cVar8;
if (cVar2 != cVar8) break;
bVar1 = cVar8 != '\0';
cVar8 = *pcVar9;
cVar3 = cVar2;
} while (bVar1);
if (cVar3 == cVar2) {
ATEAsicSwitchChannel(param_1);
AsicLockChannel(param_1,*(undefined1 *)(param_1 + 0x76a38));
RtmpOsMsDelay(5);
pcVar7 = TXCONT;
}
else {
pcVar14 = "TXFRAME";
cVar8 = *param_2;
pcVar9 = param_2;
do {
cVar2 = *pcVar14;
pcVar9 = pcVar9 + 1;
pcVar14 = pcVar14 + 1;
cVar3 = cVar8;
if (cVar2 != cVar8) break;
bVar1 = cVar8 != '\0';
cVar8 = *pcVar9;
cVar3 = cVar2;
} while (bVar1);
if (cVar3 != cVar2) {
pcVar14 = "RXFRAME";
cVar8 = *param_2;
pcVar9 = param_2;
do {
cVar2 = *pcVar14;
pcVar9 = pcVar9 + 1;
pcVar14 = pcVar14 + 1;
cVar3 = cVar8;
if (cVar2 != cVar8) break;
bVar1 = cVar8 != '\0';
cVar8 = *pcVar9;
cVar3 = cVar2;
} while (bVar1);
if (cVar3 == cVar2) {
*(byte *)(param_1 + 0x76a0c) = *(byte *)(param_1 + 0x76a0c) | 2;
ATEAsicSwitchChannel(param_1);
AsicLockChannel(param_1,*(undefined1 *)(param_1 + 0x76a38));
RTMPusecDelay(5);
if (RTDebugLevel < 3) {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("ATE : ===> %s\n","RXFRAME");
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar8 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) & 0xfffffff7;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
iVar15 = 0;
do {
uVar18 = 0;
if (cVar8 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa1600;
}
*(undefined1 *)(param_1 + 0x4adf) = 0;
if (iVar15 != 100) goto LAB_000a8ca4;
break;
}
iVar15 = iVar15 + 1;
} while (iVar15 != 100);
if (RTDebugLevel == 0) {
uVar18 = *(uint *)(param_1 + 0x4a94);
}
else {
printk("BBP write R%d fail\n",0x16);
LAB_000a8ca4:
uVar18 = *(uint *)(param_1 + 0x4a94);
}
uVar18 = uVar18 & 0xffff0000;
if (((uVar18 == 0x38830000) || (uVar18 == 0x33520000)) || (uVar18 == 0x53500000)) {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
iVar15 = 0;
if ((*(uint *)(param_1 + 0x76a14) & 0x8000) == 0) {
LAB_000a8cf0:
uVar18 = 0;
if (cVar8 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) != 0) goto code_r0x000a8d08;
if (cVar8 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa67c0;
}
*(undefined1 *)(param_1 + 0x4b30) = 0xc0;
LAB_000a8dc4:
if (iVar15 == 100) goto LAB_000a8de4;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000a8e08;
}
do {
uVar18 = 0;
if (cVar8 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa6700;
*(undefined1 *)(param_1 + 0x4b30) = 0;
}
else {
*(undefined1 *)(param_1 + 0x4b30) = 0;
}
goto LAB_000a8dc4;
}
iVar15 = iVar15 + 1;
} while (iVar15 != 100);
LAB_000a8de4:
if (RTDebugLevel == 0) {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("BBP write R%d fail\n",0x67);
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
else {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
LAB_000a8e08:
if (cVar8 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) & 0xffffffef;
}
*(byte *)(param_1 + 0x76a0c) = *(byte *)(param_1 + 0x76a0c) | 2;
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) & 0xfffffffb;
}
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) | 8;
}
if (RTDebugLevel < 3) {
iVar15 = 0;
goto LAB_000a9d9c;
}
pcVar9 = "RXFRAME";
}
else {
pcVar14 = "ANTDIVCBA";
cVar8 = *param_2;
pcVar9 = param_2;
do {
cVar2 = *pcVar14;
pcVar9 = pcVar9 + 1;
pcVar14 = pcVar14 + 1;
cVar3 = cVar8;
if (cVar2 != cVar8) break;
bVar1 = cVar8 != '\0';
cVar8 = *pcVar9;
cVar3 = cVar2;
} while (bVar1);
if (cVar3 == cVar2) {
local_30[0] = 0;
RT30xxReadRFRegister(param_1,0x1d,local_30);
local_30[0] = local_30[0] & 0x3f | 0xc0;
RT30xxWriteRFRegister(param_1,0x1d,local_30[0]);
iVar15 = 0;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar18 = 0;
if (cVar8 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb2f00;
}
iVar11 = 1;
while( true ) {
uVar18 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if (((uVar18 & 0x20000) == 0) || (iVar11 == 100)) break;
iVar11 = iVar11 + 1;
}
if ((uVar18 & 0x2ff00) == 0x2f00) {
uVar10 = uVar18 & 0xff;
goto LAB_000a8fe0;
}
}
iVar15 = iVar15 + 1;
if (iVar15 == 100) break;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar10 = 0;
LAB_000a8fe0:
if ((int)(uVar18 << 0xe) < 0) {
if (RTDebugLevel == 0) {
bVar4 = *(byte *)(param_1 + 0x4af8);
}
else {
printk("BBP read R%d fail\n",0x2f);
bVar4 = *(byte *)(param_1 + 0x4af8);
}
uVar10 = (uint)bVar4;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
iVar15 = 0;
do {
uVar18 = 0;
if (cVar8 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar10 | 0xa2f80;
}
*(byte *)(param_1 + 0x4af8) = (byte)uVar10 | 0x80;
if (iVar15 != 100) goto LAB_000a90bc;
break;
}
iVar15 = iVar15 + 1;
} while (iVar15 != 100);
if (RTDebugLevel == 0) {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("BBP write R%d fail\n",0x2f);
LAB_000a90bc:
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
iVar15 = 0;
do {
uVar18 = 0;
if (cVar8 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa9681;
}
*(undefined1 *)(param_1 + 0x4b5f) = 0x81;
if (iVar15 != 100) goto LAB_000a9170;
break;
}
iVar15 = iVar15 + 1;
} while (iVar15 != 100);
if (RTDebugLevel != 0) {
printk("BBP write R%d fail\n",0x96);
}
LAB_000a9170:
iVar15 = 0;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar18 = 0;
if (cVar8 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb9a00;
}
iVar11 = 1;
while( true ) {
uVar18 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if (((uVar18 & 0x20000) == 0) || (iVar11 == 100)) break;
iVar11 = iVar11 + 1;
}
if ((uVar18 & 0x2ff00) == 0x9a00) {
uVar10 = uVar18 & 0xff;
goto LAB_000a9224;
}
}
iVar15 = iVar15 + 1;
if (iVar15 == 100) break;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar10 = 0x81;
LAB_000a9224:
if ((int)(uVar18 << 0xe) < 0) {
if (RTDebugLevel == 0) {
bVar4 = *(byte *)(param_1 + 0x4b63);
}
else {
printk("BBP read R%d fail\n",0x9a);
bVar4 = *(byte *)(param_1 + 0x4b63);
}
uVar10 = (uint)bVar4;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar10 = uVar10 & 0xef;
iVar15 = 0;
do {
uVar18 = 0;
if (cVar8 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar10 | 0xa9a00;
}
*(char *)(param_1 + 0x4b63) = (char)uVar10;
if (iVar15 != 100) goto LAB_000a9bbc;
break;
}
iVar15 = iVar15 + 1;
} while (iVar15 != 100);
if (RTDebugLevel != 0) {
printk("BBP write R%d fail\n",0x9a);
}
LAB_000a9bbc:
uVar16 = 3;
uVar18 = 1;
LAB_000a9bd0:
iVar15 = 0;
if ((uVar18 & 0xff) < 2) {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000a931c:
uVar18 = 0;
if (cVar8 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb9800;
}
iVar11 = 1;
do {
uVar18 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar18 & 0x20000) != 0) &&
(bVar1 = iVar11 != 100, iVar11 = iVar11 + 1, bVar1));
if ((uVar18 & 0x2ff00) == 0x9800) {
uVar10 = uVar18 & 0xff;
LAB_000a93b8:
if ((uVar18 & 0x20000) == 0) {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
if (RTDebugLevel == 0) {
bVar4 = *(byte *)(param_1 + 0x4b61);
}
else {
printk("BBP read R%d fail\n",0x98);
bVar4 = *(byte *)(param_1 + 0x4b61);
}
uVar10 = (uint)bVar4;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar18 = uVar10 | 0x80;
iVar15 = 0;
do {
uVar13 = 0;
if (cVar8 == '\0') {
uVar13 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar13 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar10 | 0xa9880;
}
*(char *)(param_1 + 0x4b61) = (char)uVar18;
if (iVar15 != 100) goto LAB_000a947c;
break;
}
iVar15 = iVar15 + 1;
} while (iVar15 != 100);
if (RTDebugLevel != 0) {
printk("BBP write R%d fail\n",0x98);
}
LAB_000a947c:
iVar15 = 0;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000a9490:
uVar10 = 0;
if (cVar8 == '\0') {
uVar10 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar10 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb3c00;
}
iVar11 = 1;
while( true ) {
uVar10 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar10 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if (((uVar10 & 0x20000) == 0) || (iVar11 == 100)) break;
iVar11 = iVar11 + 1;
}
if ((uVar10 & 0x2ff00) == 0x3c00) {
uVar18 = uVar10 & 0xff;
LAB_000a952c:
if ((uVar10 & 0x20000) == 0) {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
if (RTDebugLevel == 0) {
bVar4 = *(byte *)(param_1 + 0x4b05);
}
else {
printk("BBP read R%d fail\n",0x3c);
bVar4 = *(byte *)(param_1 + 0x4b05);
}
uVar18 = (uint)bVar4;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar10 = uVar18 | 0x40;
iVar15 = 0;
do {
uVar13 = 0;
if (cVar8 == '\0') {
uVar13 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar13 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar18 | 0xa3c40;
}
*(char *)(param_1 + 0x4b05) = (char)uVar10;
if (iVar15 != 100) goto LAB_000a95f0;
break;
}
iVar15 = iVar15 + 1;
} while (iVar15 != 100);
if (RTDebugLevel != 0) {
printk("BBP write R%d fail\n",0x3c);
}
LAB_000a95f0:
iVar15 = 0;
do {
iVar11 = 0;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000a9600:
uVar18 = 0;
if (cVar8 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) != 0) {
LAB_000a969c:
iVar11 = iVar11 + 1;
if (iVar11 == 100) goto LAB_000a96a4;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000a9600;
}
if (cVar8 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb3c00;
}
iVar17 = 1;
do {
uVar18 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar18 & 0x20000) != 0) &&
(bVar1 = iVar17 != 100, iVar17 = iVar17 + 1, bVar1));
if ((uVar18 & 0x2ff00) != 0x3c00) goto LAB_000a969c;
uVar10 = uVar18 & 0xff;
LAB_000a96a4:
if ((uVar18 & 0x20000) != 0) {
if (RTDebugLevel == 0) {
bVar4 = *(byte *)(param_1 + 0x4b05);
}
else {
printk("BBP read R%d fail\n",0x3c);
bVar4 = *(byte *)(param_1 + 0x4b05);
}
uVar10 = (uint)bVar4;
}
uVar10 = uVar10 & 0x3f;
if (1 < uVar10) {
uVar18 = uVar16 - 1;
uVar16 = uVar18 & 0xff;
RT30xxReadRFRegister(param_1,0x1d,local_30);
uVar18 = (uVar18 & 3) << 6 | (uint)local_30[0];
local_30[0] = (byte)uVar18;
RT30xxWriteRFRegister(param_1,0x1d,uVar18);
uVar18 = uVar16 - 2;
if (iVar15 != 100) goto LAB_000a9bd0;
break;
}
iVar15 = iVar15 + 1;
RtmpOsMsDelay(1);
} while (iVar15 != 100);
iVar15 = 0;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000a9774:
uVar18 = 0;
if (cVar8 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb9800;
}
iVar11 = 1;
do {
uVar18 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar18 & 0x20000) != 0) &&
(bVar1 = iVar11 != 100, iVar11 = iVar11 + 1, bVar1));
if ((uVar18 & 0x2ff00) == 0x9800) {
uVar10 = uVar18 & 0xff;
LAB_000a9810:
if ((uVar18 & 0x20000) == 0) {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
if (RTDebugLevel == 0) {
bVar4 = *(byte *)(param_1 + 0x4b61);
}
else {
printk("BBP read R%d fail\n",0x98);
bVar4 = *(byte *)(param_1 + 0x4b61);
}
uVar10 = (uint)bVar4;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar10 = uVar10 & 0x7f;
iVar15 = 0;
do {
uVar18 = 0;
if (cVar8 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar10 | 0xa9800;
}
*(char *)(param_1 + 0x4b61) = (char)uVar10;
if (iVar15 != 100) goto LAB_000a98d4;
break;
}
iVar15 = iVar15 + 1;
} while (iVar15 != 100);
if (RTDebugLevel != 0) {
printk("BBP write R%d fail\n",0x98);
}
LAB_000a98d4:
iVar15 = 0;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000a98e8:
uVar18 = 0;
if (cVar8 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb3c00;
}
iVar11 = 1;
while( true ) {
uVar18 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if (((uVar18 & 0x20000) == 0) || (iVar11 == 100)) break;
iVar11 = iVar11 + 1;
}
if ((uVar18 & 0x2ff00) == 0x3c00) {
uVar10 = uVar18 & 0xff;
LAB_000a9984:
if ((uVar18 & 0x20000) == 0) {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
if (RTDebugLevel == 0) {
bVar4 = *(byte *)(param_1 + 0x4b05);
}
else {
printk("BBP read R%d fail\n",0x3c);
bVar4 = *(byte *)(param_1 + 0x4b05);
}
uVar10 = (uint)bVar4;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar10 = uVar10 & 0xbf;
iVar15 = 0;
do {
uVar18 = 0;
if (cVar8 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar10 | 0xa3c00;
}
*(char *)(param_1 + 0x4b05) = (char)uVar10;
if (iVar15 != 100) goto LAB_000a9a48;
break;
}
iVar15 = iVar15 + 1;
} while (iVar15 != 100);
if (RTDebugLevel != 0) {
printk("BBP write R%d fail\n",0x3c);
}
LAB_000a9a48:
iVar15 = 0;
do {
iVar11 = 0;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000a9a58:
uVar18 = 0;
if (cVar8 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) != 0) {
LAB_000a9af4:
iVar11 = iVar11 + 1;
if (iVar11 == 100) goto LAB_000a9afc;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000a9a58;
}
if (cVar8 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb3c00;
}
iVar17 = 1;
do {
uVar18 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar18 & 0x20000) != 0) &&
(bVar1 = iVar17 != 100, iVar17 = iVar17 + 1, bVar1));
if ((uVar18 & 0x2ff00) != 0x3c00) goto LAB_000a9af4;
uVar10 = uVar18 & 0xff;
LAB_000a9afc:
if ((uVar18 & 0x20000) != 0) {
if (RTDebugLevel == 0) {
bVar4 = *(byte *)(param_1 + 0x4b05);
}
else {
printk("BBP read R%d fail\n",0x3c);
bVar4 = *(byte *)(param_1 + 0x4b05);
}
uVar10 = (uint)bVar4;
}
uVar10 = uVar10 & 0x3f;
if (1 < uVar10) goto code_r0x000a9b38;
iVar15 = iVar15 + 1;
RtmpOsMsDelay(1);
if (iVar15 == 100) {
pcVar7 = *(code **)(param_1 + 0x14);
goto LAB_000a9be4;
}
} while( true );
}
}
iVar15 = iVar15 + 1;
if (iVar15 == 100) goto LAB_000a9984;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000a98e8;
}
}
iVar15 = iVar15 + 1;
if (iVar15 == 100) goto LAB_000a9810;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000a9774;
}
}
iVar15 = iVar15 + 1;
if (iVar15 == 100) goto LAB_000a952c;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000a9490;
}
}
iVar15 = iVar15 + 1;
if (iVar15 == 100) goto LAB_000a93b8;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000a931c;
}
pcVar7 = *(code **)(param_1 + 0x14);
LAB_000a9be4:
(*pcVar7)(param_1,0x120,uVar16);
iVar15 = 0;
goto LAB_000a9d9c;
}
pcVar14 = "TXSTOP";
cVar8 = *param_2;
pcVar9 = param_2;
do {
cVar2 = *pcVar14;
pcVar9 = pcVar9 + 1;
pcVar14 = pcVar14 + 1;
cVar3 = cVar8;
if (cVar2 != cVar8) break;
bVar1 = cVar8 != '\0';
cVar8 = *pcVar9;
cVar3 = cVar2;
} while (bVar1);
if (cVar3 == cVar2) {
pcVar7 = TXSTOP;
goto LAB_000a9c3c;
}
pcVar9 = "RXSTOP";
cVar8 = *param_2;
do {
cVar2 = *pcVar9;
param_2 = param_2 + 1;
pcVar9 = pcVar9 + 1;
cVar3 = cVar8;
if (cVar2 != cVar8) break;
bVar1 = cVar8 != '\0';
cVar8 = *param_2;
cVar3 = cVar2;
} while (bVar1);
if (cVar3 != cVar2) {
iVar15 = 2;
if (2 < RTDebugLevel) {
printk("ATE : Invalid arg !\n");
iVar15 = 2;
}
goto LAB_000a9d9c;
}
if (RTDebugLevel < 3) {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("ATE : ===> %s\n","RXSTOP");
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar8 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) & 0xfffffff7;
}
*(byte *)(param_1 + 0x76a0c) = *(byte *)(param_1 + 0x76a0c) & 0xfd;
*(undefined1 *)(param_1 + 0x76a53) = 0;
if ((*(int *)(param_1 + 0x4a94) == 0x28720200) &&
(((*(char *)(param_1 + 0x4bd4) == '\x05' ||
((*(uint *)(param_1 + 0x4bf4) & 0xf0) == 0x20)) ||
(*(char *)(param_1 + 0x4bd4) == '\v')))) {
BbpSoftReset(param_1);
}
if (RTDebugLevel < 3) {
iVar15 = 0;
goto LAB_000a9d9c;
}
pcVar9 = "RXSTOP";
}
goto LAB_000a9d58;
}
ATEAsicSwitchChannel(param_1);
AsicLockChannel(param_1,*(undefined1 *)(param_1 + 0x76a38));
RtmpOsMsDelay(5);
pcVar7 = TXFRAME;
}
LAB_000a9c3c:
iVar15 = (*pcVar7)(param_1);
goto LAB_000a9d9c;
}
ATEAsicSwitchChannel(param_1);
AsicLockChannel(param_1,*(undefined1 *)(param_1 + 0x76a38));
RtmpOsMsDelay(5);
if (2 < RTDebugLevel) {
printk("ATE : ===> %s\n","TXCARS");
}
*(undefined1 *)(param_1 + 0x76a0c) = 0x11;
puVar12 = (undefined4 *)&restore_BBP;
restore_BBP = 0;
while (puVar12 = (undefined4 *)((int)puVar12 + 1), puVar12 != &Default_TX_PIN_CFG) {
*(undefined1 *)puVar12 = 0;
}
puVar20 = &restore_BBP;
puVar22 = (undefined1 *)(param_1 + 0x4ac9);
uVar18 = 0;
do {
iVar15 = 0;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000a854c:
uVar10 = 0;
if (cVar8 == '\0') {
uVar10 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar10 & 0x20000) != 0) {
LAB_000a85e4:
iVar15 = iVar15 + 1;
if (iVar15 == 100) goto LAB_000a85ec;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000a854c;
}
if (cVar8 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = (uVar18 & 0xff) << 8 | 0xb0000;
}
iVar11 = 1;
while( true ) {
uVar10 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar10 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if (((uVar10 & 0x20000) == 0) || (iVar11 == 100)) break;
iVar11 = iVar11 + 1;
}
if (((uVar10 & 0x20000) != 0) || ((uVar10 << 0x10) >> 0x18 != uVar18)) goto LAB_000a85e4;
*puVar20 = (char)uVar10;
LAB_000a85ec:
if ((uVar10 & 0x20000) != 0) {
if (RTDebugLevel == 0) {
uVar5 = *puVar22;
}
else {
printk("BBP read R%d fail\n",uVar18);
uVar5 = *puVar22;
}
*puVar20 = uVar5;
}
uVar18 = uVar18 + 1;
puVar22 = puVar22 + 1;
puVar20 = puVar20 + 1;
} while (uVar18 != 0xa8);
if (*(char *)(param_1 + 0x76a52) == '\0') {
BbpSoftReset(param_1);
if (*(char *)(param_1 + 0xec) == '\0') {
Default_TX_PIN_CFG = *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x1328);
}
else {
Default_TX_PIN_CFG = 0;
}
if (*(byte *)(param_1 + 0x76a38) < 0xe) {
if (*(char *)(param_1 + 0xec) == '\0') {
iVar15 = *(int *)(param_1 + 0xdc);
uVar6 = 0x80c00a0;
LAB_000a86d8:
*(undefined4 *)(iVar15 + 0x1328) = uVar6;
}
}
else if (*(char *)(param_1 + 0xec) == '\0') {
iVar15 = *(int *)(param_1 + 0xdc);
uVar6 = 0x40c0050;
goto LAB_000a86d8;
}
iVar15 = 0;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar18 = 0;
if (cVar8 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb1600;
}
iVar11 = 1;
while( true ) {
uVar18 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if (((uVar18 & 0x20000) == 0) || (iVar11 == 100)) break;
iVar11 = iVar11 + 1;
}
if ((uVar18 & 0x2ff00) == 0x1600) {
uVar10 = uVar18 & 0xff;
goto LAB_000a8794;
}
}
iVar15 = iVar15 + 1;
if (iVar15 == 100) break;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar10 = 0;
LAB_000a8794:
if ((int)(uVar18 << 0xe) < 0) {
if (RTDebugLevel == 0) {
bVar4 = *(byte *)(param_1 + 0x4adf);
}
else {
printk("BBP read R%d fail\n",0x16);
bVar4 = *(byte *)(param_1 + 0x4adf);
}
uVar10 = (uint)bVar4;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar18 = uVar10 | 0x80;
iVar15 = 0;
do {
uVar16 = 0;
if (cVar8 == '\0') {
uVar16 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar16 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar10 | 0xa1680;
}
*(char *)(param_1 + 0x4adf) = (char)uVar18;
if (iVar15 != 100) goto LAB_000a8878;
break;
}
iVar15 = iVar15 + 1;
} while (iVar15 != 100);
if (RTDebugLevel != 0) {
printk("BBP write R%d fail\n",0x16);
}
LAB_000a8878:
iVar15 = 0;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_000a8894:
uVar10 = 0;
if (cVar8 == '\0') {
uVar10 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar10 & 0x20000) != 0) {
LAB_000a8920:
iVar15 = iVar15 + 1;
if (iVar15 == 100) goto LAB_000a8928;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000a8894;
}
if (cVar8 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb1800;
}
iVar11 = 1;
while( true ) {
uVar10 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar10 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if (((uVar10 & 0x20000) == 0) || (iVar11 == 100)) break;
iVar11 = iVar11 + 1;
}
if ((uVar10 & 0x2ff00) != 0x1800) goto LAB_000a8920;
uVar18 = uVar10 & 0xff;
LAB_000a8928:
if ((int)(uVar10 << 0xe) < 0) {
if (RTDebugLevel == 0) {
bVar4 = *(byte *)(param_1 + 0x4ae1);
}
else {
printk("BBP read R%d fail\n",0x18);
bVar4 = *(byte *)(param_1 + 0x4ae1);
}
uVar18 = (uint)bVar4;
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
iVar15 = 0;
do {
uVar10 = 0;
if (cVar8 == '\0') {
uVar10 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar10 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar18 | 0xa1801;
}
*(byte *)(param_1 + 0x4ae1) = (byte)uVar18 | 1;
if (iVar15 != 100) goto LAB_000a8a08;
break;
}
iVar15 = iVar15 + 1;
} while (iVar15 != 100);
if (RTDebugLevel != 0) {
printk("BBP write R%d fail\n",0x18);
}
}
LAB_000a8a08:
if (RTDebugLevel < 3) {
iVar15 = 0;
goto LAB_000a9d9c;
}
pcVar9 = "TXCARS";
goto LAB_000a9d58;
code_r0x000a8d08:
iVar15 = iVar15 + 1;
if (iVar15 == 100) goto LAB_000a8de4;
goto LAB_000a8cf0;
code_r0x000a9b38:
uVar18 = uVar16 - 1;
uVar16 = uVar18 & 0xff;
RT30xxReadRFRegister(param_1,0x1d,local_30);
uVar18 = (uVar18 & 3) << 6 | (uint)local_30[0];
local_30[0] = (byte)uVar18;
RT30xxWriteRFRegister(param_1,0x1d,uVar18);
if (iVar15 == 100) {
pcVar7 = *(code **)(param_1 + 0x14);
goto LAB_000a9be4;
}
uVar18 = uVar16 - 2;
goto LAB_000a9bd0;
LAB_000a8324:
if ((int)(uVar18 << 0xe) < 0) {
if (RTDebugLevel == 0) {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("BBP read R%d fail\n",0x16);
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
else {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
iVar15 = 0;
do {
uVar18 = 0;
if (cVar8 == '\0') {
uVar18 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar18 & 0x20000) == 0) {
if (cVar8 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa16c1;
}
*(undefined1 *)(param_1 + 0x4adf) = 0xc1;
if (iVar15 != 100) {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_000a8408;
}
break;
}
iVar15 = iVar15 + 1;
} while (iVar15 != 100);
if (RTDebugLevel == 0) {
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("BBP write R%d fail\n",0x16);
cVar8 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
LAB_000a8408:
if (cVar8 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1004) | 0x10;
}
LAB_000a842c:
if (RTDebugLevel < 3) {
iVar15 = 0;
goto LAB_000a9d9c;
}
pcVar9 = "TXCARR";
LAB_000a9d58:
iVar15 = 0;
printk("ATE : <=== %s\n",pcVar9);
LAB_000a9d9c:
RtmpOsMsDelay(5);
if (2 < RTDebugLevel) {
printk("<=== %s\n","ATECmdHandler");
}
if (iVar15 != 0) {
if (2 < RTDebugLevel) {
printk("Set_ATE_Proc Failed\n");
return 0;
}
return 0;
}
if (2 < RTDebugLevel) {
printk("Set_ATE_Proc Success\n");
return 1;
}
return 1;
}