undefined4 TXFRAME(undefined4 *param_1)
{
bool bVar1;
char cVar2;
undefined4 uVar3;
uint uVar4;
int iVar5;
undefined4 *puVar6;
int iVar7;
char local_30 [8];
local_30[0] = '\0';
local_30[1] = '\0';
local_30[2] = '\0';
local_30[3] = '\0';
local_30[4] = '\0';
local_30[5] = '\0';
local_30[6] = '\0';
local_30[7] = '\0';
if (2 < RTDebugLevel) {
printk("ATE : ===> %s(Count=%u)\n","TXFRAME",param_1[0x1da90]);
}
*(byte *)(param_1 + 0x1da83) = *(byte *)(param_1 + 0x1da83) | 1;
if (*(char *)((int)param_1 + 0x76a52) == '\0') {
snprintf(local_30,4,"%u") //possible issue identified - semgrep
if (2 < RTDebugLevel) {
printk("IPGstr=%s\n",local_30);
}
Set_ATE_IPG_Proc(param_1,local_30);
}
iVar5 = 0;
do {
uVar4 = 0;
if (*(char *)(param_1 + 0x3b) == '\0') {
uVar4 = *(uint *)(param_1[0x37] + 0x101c);
}
if ((uVar4 & 0x20000) == 0) {
if (*(char *)(param_1 + 0x3b) == '\0') {
*(undefined4 *)(param_1[0x37] + 0x101c) = 0xa1600;
}
*(undefined1 *)((int)param_1 + 0x4adf) = 0;
if (iVar5 != 100) goto LAB_000a6404;
break;
}
iVar5 = iVar5 + 1;
} while (iVar5 != 100);
if (RTDebugLevel != 0) {
printk("BBP write R%d fail\n",0x16);
}
LAB_000a6404:
if (param_1[0x12a5] == 0x28720200) {
if (((*(char *)(param_1 + 0x12f5) == '\x05') || ((param_1[0x12fd] & 0xf0) == 0x20)) ||
(*(char *)(param_1 + 0x12f5) == '\v')) {
BbpSoftReset(param_1);
cVar2 = *(char *)(param_1 + 0x3b) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0x3b) //possible issue identified - semgrep
}
}
else {
cVar2 = *(char *)(param_1 + 0x3b) //possible issue identified - semgrep
}
if (cVar2 == '\0') {
*(uint *)(param_1[0x37] + 0x1004) = *(uint *)(param_1[0x37] + 0x1004) & 0xffffffef;
}
RtmpDmaEnable(param_1,0);
if (*(char *)(param_1 + 0x3b) == '\0') {
param_1[0x261] = *(undefined4 *)(param_1[0x37] + 0x1000);
param_1[0x261] = *(undefined4 *)(param_1[0x37] + 0x23c);
}
else {
param_1[0x261] = 0;
}
uVar3 = param_1[0x261];
param_1[0x262] = uVar3;
param_1[0x260] = uVar3;
if (*(char *)(param_1 + 0x3b) == '\0') {
*(undefined4 *)(param_1[0x37] + 0x238) = uVar3;
}
param_1[0x1da91] = 0;
SetJapanFilter(param_1);
uVar4 = 0;
do {
bVar1 = (uint)param_1[0x1da90] <= uVar4;
uVar4 = uVar4 + 1;
if (bVar1) break;
iVar5 = param_1[0x260];
iVar7 = param_1[iVar5 * 8 + 99];
puVar6 = (undefined4 *)param_1[(iVar5 + 0xc) * 8 + 1];
if (iVar7 != 0) {
linux_pci_unmap_single
(*(undefined4 *)*param_1,*puVar6,
(*(byte *)((int)puVar6 + 7) & 0x3f) << 8 | (uint)*(byte *)((int)puVar6 + 6),0xff00)
;
RTMPFreeNdisPacket(param_1,iVar7);
}
iVar7 = param_1[iVar5 * 8 + 100];
param_1[iVar5 * 8 + 99] = 0;
if (iVar7 != 0) {
linux_pci_unmap_single
(*(undefined4 *)*param_1,puVar6[2],
(*(byte *)((int)puVar6 + 5) & 0x3f) << 8 | (uint)*(byte *)(puVar6 + 1),0xff00);
RTMPFreeNdisPacket(param_1,iVar7);
}
param_1[iVar5 * 8 + 100] = 0;
iVar5 = ATESetUpFrame(param_1,iVar5);
if (iVar5 != 0) {
return 1;
}
param_1[0x260] = param_1[0x260] + 1 & 0x3f;
} while (uVar4 != 0x3f);
ATESetUpFrame(param_1,param_1[0x260]);
RtmpDmaEnable(param_1,1);
if (*(char *)(param_1 + 0x3b) == '\0') {
*(uint *)(param_1[0x37] + 0x1004) = *(uint *)(param_1[0x37] + 0x1004) | 4;
}
if ((*(char *)((int)param_1 + 0x76a53) == '\0') && (*(char *)(param_1 + 0x3b) == '\0')) {
*(uint *)(param_1[0x37] + 0x1004) = *(uint *)(param_1[0x37] + 0x1004) & 0xfffffff7;
}
if (*(char *)((int)param_1 + 0x76a52) == '\x01') {
*(undefined1 *)(param_1 + 0x1dac0) = 1;
}
if (*(char *)(param_1 + 0x3b) == '\0') {
param_1[0x261] = *(undefined4 *)(param_1[0x37] + 0x1000);
param_1[0x261] = *(undefined4 *)(param_1[0x37] + 0x23c);
}
else {
param_1[0x261] = 0;
}
if (*(char *)(param_1 + 0x3b) == '\0') {
*(undefined4 *)(param_1[0x37] + 0x238) = param_1[0x260];
}
param_1[0x1d9dd] = param_1[0x1d9dd] + 1;
if (2 < RTDebugLevel) {
printk("ATE : <=== %s\n","TXFRAME");
}
return 0;
}