void ChannelSwitchAction(int param_1,uint param_2,char param_3,char param_4)
{
undefined1 uVar1;
char cVar2;
int iVar3;
int iVar4;
uint uVar5;
uint uVar6;
char *pcVar7;
uint uVar8;
uint uVar9;
byte bVar10;
param_2 = param_2 & 0xff;
if (2 < RTDebugLevel) {
printk("SPECTRUM - ChannelSwitchAction(NewChannel = %d , Secondary = %d) \n",param_3,param_4);
}
iVar3 = ChannelSwitchSanityCheck(param_1,param_2,param_3,param_4);
uVar5 = Status;
if (iVar3 == 0) {
return;
}
if (param_4 == '\0') {
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
uVar6 = 0;
if (cVar2 == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar8 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar8 = uVar5 & 1;
}
iVar3 = 0;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) {
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0400;
}
iVar4 = 1;
while( true ) {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if (((uVar5 & 0x20000) == 0) || (iVar4 == 100)) break;
iVar4 = iVar4 + 1;
}
if ((uVar5 & 0x2ff00) == 0x400) {
uVar6 = uVar5 & 0xff;
goto LAB_0001b508;
}
}
iVar3 = iVar3 + 1;
if (iVar3 == 100) break;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar6 = 0;
LAB_0001b508:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",0,4);
uVar6 = (uint)*(byte *)(param_1 + 0x4acd);
LAB_0001b6a0:
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
else {
uVar8 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar8 = uVar5 & 1;
}
iVar3 = 0;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) {
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb0400;
}
AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
RTMPusecDelay(1000);
iVar4 = 1;
while( true ) {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if (((uVar5 & 0x20000) == 0) || (iVar4 == 100)) break;
iVar4 = iVar4 + 1;
}
if ((uVar5 & 0x2ff00) == 0x400) {
uVar6 = uVar5 & 0xff;
goto LAB_0001b648;
}
}
iVar3 = iVar3 + 1;
if (iVar3 == 100) break;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar6 = 0;
LAB_0001b648:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",1,4);
uVar6 = (uint)*(byte *)(param_1 + 0x4acd);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
}
goto LAB_0001b6a0;
}
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar2 == '\x01') {
Status = Status & 0xfffffffe;
if (uVar8 != 0) {
Status = Status | 1;
}
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
uVar5 = Status;
if (cVar2 == '\0') {
uVar6 = uVar6 & 0xe7;
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar8 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar8 = uVar5 & 1;
}
iVar3 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) break;
iVar3 = iVar3 + 1;
printk(&_LC15) //possible issue identified - semgrep
if (iVar3 == 100) goto LAB_0001b79c;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar2 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar6 | 0xa0400;
}
*(char *)(param_1 + 0x4acd) = (char)uVar6;
if (iVar3 != 100) goto LAB_0001b7bc;
LAB_0001b79c:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",4);
LAB_0001b7bc:
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
uVar8 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar8 = uVar5 & 1;
}
iVar3 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) break;
iVar4 = iVar3 % 0x14;
iVar3 = iVar3 + 1;
if ((iVar4 == 0) && (cVar2 == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
}
printk(&_LC15) //possible issue identified - semgrep
if (iVar3 == 100) goto LAB_0001b918;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar2 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar6 | 0xa0400;
}
iVar4 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
if (*(char *)(param_1 + 0x16964) == '\x01') {
RTMPusecDelay(1000);
}
if ((iVar4 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar6 | 0x80400;
}
*(char *)(param_1 + 0x4acd) = (char)uVar6;
if (iVar3 != 100) goto LAB_0001b960;
LAB_0001b918:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",4);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
LAB_0001b960:
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
if ((cVar2 == '\x01') && (Status = Status & 0xfffffffe, uVar8 != 0)) {
Status = Status | 1;
}
}
uVar5 = Status;
if (*(int *)(param_1 + 0x4a94) != 0x28600100) goto LAB_0001c24c;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
if (cVar2 == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar5 & 1;
}
iVar3 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) break;
iVar3 = iVar3 + 1;
printk(&_LC15) //possible issue identified - semgrep
if (iVar3 == 100) goto LAB_0001ba78;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa4516;
}
*(undefined1 *)(param_1 + 0x4b0e) = 0x16;
if (iVar3 != 100) {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
goto LAB_0001ba9c;
}
LAB_0001ba78:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",0x45);
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
LAB_0001ba9c:
if (cVar2 == '\x01') {
LAB_0001bc60:
Status = Status & 0xfffffffe;
if (uVar6 != 0) {
Status = Status | 1;
}
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
else {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar5 & 1;
}
iVar3 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) break;
iVar4 = iVar3 % 0x14;
iVar3 = iVar3 + 1;
if ((iVar4 == 0) && (cVar2 == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
}
printk(&_LC15) //possible issue identified - semgrep
if (iVar3 == 100) goto LAB_0001bc04;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xa4516;
}
iVar4 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
if (*(char *)(param_1 + 0x16964) == '\x01') {
RTMPusecDelay(1000);
}
if ((iVar4 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0x84516;
}
*(undefined1 *)(param_1 + 0x4b0e) = 0x16;
if (iVar3 != 100) {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
goto LAB_0001bc50;
}
LAB_0001bc04:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",0x45);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
LAB_0001bc50:
if (cVar2 == '\x01') goto LAB_0001bc60;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar5 = Status;
if (cVar2 == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar5 & 1;
}
iVar3 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) break;
iVar3 = iVar3 + 1;
printk(&_LC15) //possible issue identified - semgrep
if (iVar3 == 100) goto LAB_0001bd50;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa4608;
}
*(undefined1 *)(param_1 + 0x4b0f) = 8;
if (iVar3 != 100) {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
goto LAB_0001bd74;
}
LAB_0001bd50:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",0x46);
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
LAB_0001bd74:
if (cVar2 == '\x01') {
LAB_0001bf38:
Status = Status & 0xfffffffe;
if (uVar6 != 0) {
Status = Status | 1;
}
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
else {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar5 & 1;
}
iVar3 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) break;
iVar4 = iVar3 % 0x14;
iVar3 = iVar3 + 1;
if ((iVar4 == 0) && (cVar2 == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
}
printk(&_LC15) //possible issue identified - semgrep
if (iVar3 == 100) goto LAB_0001bedc;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xa4608;
}
iVar4 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
if (*(char *)(param_1 + 0x16964) == '\x01') {
RTMPusecDelay(1000);
}
if ((iVar4 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0x84608;
}
*(undefined1 *)(param_1 + 0x4b0f) = 8;
if (iVar3 != 100) {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
goto LAB_0001bf28;
}
LAB_0001bedc:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",0x46);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
LAB_0001bf28:
if (cVar2 == '\x01') goto LAB_0001bf38;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
else {
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
uVar5 = Status;
if (cVar2 == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar5 & 1;
}
iVar3 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) break;
iVar3 = iVar3 + 1;
printk(&_LC15) //possible issue identified - semgrep
if (iVar3 == 100) goto LAB_0001c028;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa4911;
}
*(undefined1 *)(param_1 + 0x4b12) = 0x11;
if (iVar3 != 100) {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
goto joined_r0x0001c204;
}
LAB_0001c028:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",0x49);
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar5 & 1;
}
iVar3 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) break;
iVar4 = iVar3 % 0x14;
iVar3 = iVar3 + 1;
if ((iVar4 == 0) && (cVar2 == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
}
printk(&_LC15) //possible issue identified - semgrep
if (iVar3 == 100) goto LAB_0001c1b4;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xa4911;
}
iVar4 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
if (*(char *)(param_1 + 0x16964) == '\x01') {
RTMPusecDelay(1000);
}
if ((iVar4 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0x84911;
}
*(undefined1 *)(param_1 + 0x4b12) = 0x11;
if (iVar3 != 100) {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
goto joined_r0x0001c204;
}
LAB_0001c1b4:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",0x49);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
joined_r0x0001c204:
if ((cVar2 == '\x01') && (Status = Status & 0xfffffffe, uVar6 != 0)) {
Status = Status | 1;
}
}
if (2 < RTDebugLevel) {
printk("!!!rt2860C !!! \n");
}
LAB_0001c24c:
*(char *)(param_1 + 0x169ec) = param_3;
*(char *)(param_1 + 0x169ed) = param_3;
AsicRxAntEvalTimeout[param_1 + 5] = (code)0x0;
AsicSwitchChannel(param_1,param_3,0);
AsicLockChannel(param_1,*(undefined1 *)(param_1 + 0x169ec));
iVar3 = param_2 * 0xa20 + param_1;
*(uint *)(iVar3 + 0x5d350) = *(uint *)(iVar3 + 0x5d350) & 0xffffff7f;
*(uint *)(param_1 + 0x16b18) = *(uint *)(param_1 + 0x16b18) & 0xfffff8ff;
if (RTDebugLevel < 3) {
return;
}
printk("!!!20MHz !!! \n");
return;
}
if ((param_4 != '\x01') && (param_4 != '\x03')) {
return;
}
if (-1 < *(int *)(param_1 + 0x16afc) << 0xe) {
return;
}
*(char *)(param_1 + 0x169ec) = param_3;
if (param_4 == '\x01') {
*(char *)(param_1 + 0x169ed) = param_3 + '\x02';
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x132c) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x132c) & 0xfe;
}
uVar6 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar8 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar8 = uVar5 & 1;
}
iVar3 = 0;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) {
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0400;
}
iVar4 = 1;
while( true ) {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if (((uVar5 & 0x20000) == 0) || (iVar4 == 100)) break;
iVar4 = iVar4 + 1;
}
if ((uVar5 & 0x2ff00) == 0x400) {
uVar6 = uVar5 & 0xff;
goto LAB_0001c458;
}
}
iVar3 = iVar3 + 1;
if (iVar3 == 100) break;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar6 = 0;
LAB_0001c458:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",0,4);
uVar6 = (uint)*(byte *)(param_1 + 0x4acd);
LAB_0001c5f0:
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
else {
uVar8 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar8 = uVar5 & 1;
}
iVar3 = 0;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) {
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb0400;
}
AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
RTMPusecDelay(1000);
iVar4 = 1;
while( true ) {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if (((uVar5 & 0x20000) == 0) || (iVar4 == 100)) break;
iVar4 = iVar4 + 1;
}
if ((uVar5 & 0x2ff00) == 0x400) {
uVar6 = uVar5 & 0xff;
goto LAB_0001c598;
}
}
iVar3 = iVar3 + 1;
if (iVar3 == 100) break;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar6 = 0;
LAB_0001c598:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",1,4);
uVar6 = (uint)*(byte *)(param_1 + 0x4acd);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
}
goto LAB_0001c5f0;
}
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar2 == '\x01') {
Status = Status & 0xfffffffe;
if (uVar8 != 0) {
Status = Status | 1;
}
goto LAB_0001c614;
}
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
LAB_0001c614:
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar5 = Status;
uVar6 = uVar6 & 0xe7;
uVar8 = uVar6 | 0x10;
if (cVar2 == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar9 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar9 = uVar5 & 1;
}
iVar3 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) break;
iVar3 = iVar3 + 1;
printk(&_LC15) //possible issue identified - semgrep
if (iVar3 == 100) goto LAB_0001c6ec;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar2 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar6 | 0xa0410;
}
*(char *)(param_1 + 0x4acd) = (char)uVar8;
if (iVar3 != 100) goto LAB_0001c70c;
LAB_0001c6ec:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",4);
LAB_0001c70c:
if (*(char *)(param_1 + 0xad) == '\x01') {
LAB_0001c8c4:
Status = Status & 0xfffffffe;
if (uVar9 != 0) {
Status = Status | 1;
}
goto LAB_0001c8d4;
}
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
uVar9 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar9 = uVar5 & 1;
}
iVar3 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) break;
iVar4 = iVar3 % 0x14;
iVar3 = iVar3 + 1;
if ((iVar4 == 0) && (cVar2 == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
}
printk(&_LC15) //possible issue identified - semgrep
if (iVar3 == 100) goto LAB_0001c868;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar2 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar6 | 0xa0410;
}
iVar4 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
if (*(char *)(param_1 + 0x16964) == '\x01') {
RTMPusecDelay(1000);
}
if ((iVar4 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar6 | 0x80410;
}
*(char *)(param_1 + 0x4acd) = (char)uVar8;
if (iVar3 != 100) goto LAB_0001c8b0;
LAB_0001c868:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",4);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
LAB_0001c8b0:
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar2 == '\x01') goto LAB_0001c8c4;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
else {
LAB_0001c8d4:
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar5 = Status;
if (cVar2 == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar5 & 1;
}
iVar3 = 0;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_0001c928:
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) != 0) {
LAB_0001c9b4:
iVar3 = iVar3 + 1;
if (iVar3 == 100) goto LAB_0001c9bc;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_0001c928;
}
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0300;
}
iVar4 = 1;
while( true ) {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if (((uVar5 & 0x20000) == 0) || (iVar4 == 100)) break;
iVar4 = iVar4 + 1;
}
if ((uVar5 & 0x2ff00) != 0x300) goto LAB_0001c9b4;
uVar8 = uVar5 & 0xff;
LAB_0001c9bc:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",0,3);
uVar8 = (uint)*(byte *)(param_1 + 0x4acc);
LAB_0001cb50:
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
else {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar5 & 1;
}
iVar3 = 0;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_0001ca2c:
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) != 0) {
LAB_0001caf0:
iVar3 = iVar3 + 1;
if (iVar3 == 100) goto LAB_0001caf8;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_0001ca2c;
}
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb0300;
}
AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
RTMPusecDelay(1000);
iVar4 = 1;
while( true ) {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if (((uVar5 & 0x20000) == 0) || (iVar4 == 100)) break;
iVar4 = iVar4 + 1;
}
if ((uVar5 & 0x2ff00) != 0x300) goto LAB_0001caf0;
uVar8 = uVar5 & 0xff;
LAB_0001caf8:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",1,3);
uVar8 = (uint)*(byte *)(param_1 + 0x4acc);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
}
goto LAB_0001cb50;
}
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar2 == '\x01') {
Status = Status & 0xfffffffe;
if (uVar6 != 0) {
Status = Status | 1;
}
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
else {
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar5 = Status;
if (cVar2 == '\0') {
uVar8 = uVar8 & 0xdf;
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar5 & 1;
}
iVar3 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) break;
iVar3 = iVar3 + 1;
printk(&_LC15) //possible issue identified - semgrep
if (iVar3 == 100) goto LAB_0001cc4c;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar2 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar8 | 0xa0300;
}
*(char *)(param_1 + 0x4acc) = (char)uVar8;
if (iVar3 != 100) goto LAB_0001cc6c;
LAB_0001cc4c:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",3);
LAB_0001cc6c:
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar5 & 1;
}
iVar3 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) break;
iVar4 = iVar3 % 0x14;
iVar3 = iVar3 + 1;
if ((iVar4 == 0) && (cVar2 == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
}
printk(&_LC15) //possible issue identified - semgrep
if (iVar3 == 100) goto LAB_0001cdc8;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar2 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar8 | 0xa0300;
}
iVar4 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
if (*(char *)(param_1 + 0x16964) == '\x01') {
RTMPusecDelay(1000);
}
if ((iVar4 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar8 | 0x80300;
}
*(char *)(param_1 + 0x4acc) = (char)uVar8;
if (iVar3 != 100) goto LAB_0001ce10;
LAB_0001cdc8:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",3);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
LAB_0001ce10:
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
if ((cVar2 == '\x01') && (Status = Status & 0xfffffffe, uVar6 != 0)) {
Status = Status | 1;
}
}
if (RTDebugLevel < 3) goto LAB_0001d990;
uVar1 = *(undefined1 *)(param_1 + 0x169ed);
pcVar7 = "!!!40MHz Lower LINK UP !!! Control Channel at Below. Central = %d \n";
}
else {
*(char *)(param_1 + 0x169ed) = param_3 + -2;
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x132c) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x132c) & 0xfe | 1;
}
uVar6 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar8 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar8 = uVar5 & 1;
}
iVar3 = 0;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) {
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0400;
}
iVar4 = 1;
while( true ) {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if (((uVar5 & 0x20000) == 0) || (iVar4 == 100)) break;
iVar4 = iVar4 + 1;
}
if ((uVar5 & 0x2ff00) == 0x400) {
uVar6 = uVar5 & 0xff;
goto LAB_0001cf78;
}
}
iVar3 = iVar3 + 1;
if (iVar3 == 100) break;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar6 = 0;
LAB_0001cf78:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",0,4);
uVar6 = (uint)*(byte *)(param_1 + 0x4acd);
LAB_0001d110:
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
else {
uVar8 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar8 = uVar5 & 1;
}
iVar3 = 0;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) {
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb0400;
}
AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
RTMPusecDelay(1000);
iVar4 = 1;
while( true ) {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if (((uVar5 & 0x20000) == 0) || (iVar4 == 100)) break;
iVar4 = iVar4 + 1;
}
if ((uVar5 & 0x2ff00) == 0x400) {
uVar6 = uVar5 & 0xff;
goto LAB_0001d0b8;
}
}
iVar3 = iVar3 + 1;
if (iVar3 == 100) break;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar6 = 0;
LAB_0001d0b8:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",1,4);
uVar6 = (uint)*(byte *)(param_1 + 0x4acd);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
}
goto LAB_0001d110;
}
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar2 == '\x01') {
Status = Status & 0xfffffffe;
if (uVar8 != 0) {
Status = Status | 1;
}
goto LAB_0001d134;
}
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
LAB_0001d134:
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar5 = Status;
uVar6 = uVar6 & 0xe7;
uVar8 = uVar6 | 0x10;
if (cVar2 == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar9 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar9 = uVar5 & 1;
}
iVar3 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) break;
iVar3 = iVar3 + 1;
printk(&_LC15) //possible issue identified - semgrep
if (iVar3 == 100) goto LAB_0001d20c;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar2 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar6 | 0xa0410;
}
*(char *)(param_1 + 0x4acd) = (char)uVar8;
if (iVar3 != 100) goto LAB_0001d22c;
LAB_0001d20c:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",4);
LAB_0001d22c:
if (*(char *)(param_1 + 0xad) == '\x01') {
LAB_0001d3e4:
Status = Status & 0xfffffffe;
if (uVar9 != 0) {
Status = Status | 1;
}
goto LAB_0001d3f4;
}
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
uVar9 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar9 = uVar5 & 1;
}
iVar3 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) break;
iVar4 = iVar3 % 0x14;
iVar3 = iVar3 + 1;
if ((iVar4 == 0) && (cVar2 == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
}
printk(&_LC15) //possible issue identified - semgrep
if (iVar3 == 100) goto LAB_0001d388;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar2 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar6 | 0xa0410;
}
iVar4 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
if (*(char *)(param_1 + 0x16964) == '\x01') {
RTMPusecDelay(1000);
}
if ((iVar4 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar6 | 0x80410;
}
*(char *)(param_1 + 0x4acd) = (char)uVar8;
if (iVar3 != 100) goto LAB_0001d3d0;
LAB_0001d388:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",4);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
LAB_0001d3d0:
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar2 == '\x01') goto LAB_0001d3e4;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
else {
LAB_0001d3f4:
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar5 = Status;
if (cVar2 == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar5 & 1;
}
iVar3 = 0;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_0001d448:
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) != 0) {
LAB_0001d4d4:
iVar3 = iVar3 + 1;
if (iVar3 == 100) goto LAB_0001d4dc;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_0001d448;
}
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0300;
}
iVar4 = 1;
while( true ) {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if (((uVar5 & 0x20000) == 0) || (iVar4 == 100)) break;
iVar4 = iVar4 + 1;
}
if ((uVar5 & 0x2ff00) != 0x300) goto LAB_0001d4d4;
uVar8 = uVar5 & 0xff;
LAB_0001d4dc:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",0,3);
uVar8 = (uint)*(byte *)(param_1 + 0x4acc);
LAB_0001d670:
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
else {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar5 & 1;
}
iVar3 = 0;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_0001d54c:
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) != 0) {
LAB_0001d610:
iVar3 = iVar3 + 1;
if (iVar3 == 100) goto LAB_0001d618;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_0001d54c;
}
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb0300;
}
AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
RTMPusecDelay(1000);
iVar4 = 1;
while( true ) {
uVar5 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if (((uVar5 & 0x20000) == 0) || (iVar4 == 100)) break;
iVar4 = iVar4 + 1;
}
if ((uVar5 & 0x2ff00) != 0x300) goto LAB_0001d610;
uVar8 = uVar5 & 0xff;
LAB_0001d618:
if ((int)(uVar5 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",1,3);
uVar8 = (uint)*(byte *)(param_1 + 0x4acc);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
}
goto LAB_0001d670;
}
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar2 == '\x01') {
Status = Status & 0xfffffffe;
if (uVar6 != 0) {
Status = Status | 1;
}
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
}
else {
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar5 = Status;
if (cVar2 == '\0') {
uVar8 = uVar8 & 0xdf;
bVar10 = (byte)uVar8 | 0x20;
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar5 & 1;
}
iVar3 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) break;
iVar3 = iVar3 + 1;
printk(&_LC15) //possible issue identified - semgrep
if (iVar3 == 100) goto LAB_0001d770;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar2 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar8 | 0xa0320;
}
*(byte *)(param_1 + 0x4acc) = bVar10;
if (iVar3 != 100) goto LAB_0001d790;
LAB_0001d770:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",3);
LAB_0001d790:
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar5 & 1;
}
iVar3 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar2 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) break;
iVar4 = iVar3 % 0x14;
iVar3 = iVar3 + 1;
if ((iVar4 == 0) && (cVar2 == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
}
printk(&_LC15) //possible issue identified - semgrep
if (iVar3 == 100) goto LAB_0001d8ec;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar2 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar8 | 0xa0320;
}
iVar4 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
if (*(char *)(param_1 + 0x16964) == '\x01') {
RTMPusecDelay(1000);
}
if ((iVar4 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar8 | 0x80320;
}
*(byte *)(param_1 + 0x4acc) = bVar10;
if (iVar3 != 100) goto LAB_0001d934;
LAB_0001d8ec:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",3);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
LAB_0001d934:
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
if ((cVar2 == '\x01') && (Status = Status & 0xfffffffe, uVar6 != 0)) {
Status = Status | 1;
}
}
if (RTDebugLevel < 3) goto LAB_0001d990;
uVar1 = *(undefined1 *)(param_1 + 0x169ed);
pcVar7 = "!!!40MHz Upper LINK UP !!! Control Channel at UpperCentral = %d \n";
}
printk(pcVar7,uVar1);
LAB_0001d990:
uVar1 = *(undefined1 *)(param_1 + 0x169ed);
AsicRxAntEvalTimeout[param_1 + 5] = (code)0x1;
AsicSwitchChannel(param_1,uVar1,0);
AsicLockChannel(param_1,*(undefined1 *)(param_1 + 0x169ed));
param_1 = param_2 * 0xa20 + param_1;
*(uint *)(param_1 + 0x5d350) = *(uint *)(param_1 + 0x5d350) & 0xffffff7f | 0x80;
return;
}