undefined4 DO_RACFG_CMD_ATE_STOP(int param_1,undefined4 param_2,int param_3)
{
byte bVar1;
undefined1 uVar2;
int iVar3;
if (2 < RTDebugLevel) {
printk("RACFG_CMD_ATE_STOP\n");
}
*(undefined1 *)(param_1 + 0x76a51) = 0;
if (RTDebugLevel < 3) {
bVar1 = *(byte *)(param_3 + 9);
}
else {
printk("pAd->ate.bQAEnabled = %s\n","FALSE");
bVar1 = *(byte *)(param_3 + 9);
}
uVar2 = *(undefined1 *)(param_3 + 8);
*(undefined1 *)(param_3 + 9) = uVar2;
*(byte *)(param_3 + 8) = bVar1;
if (((CONCAT11(bVar1,uVar2) & 0xff) << 8 | (uint)bVar1) == 4) {
memcpy((void *)(param_1 + 0x76ac0),(void *)(param_3 + 0xc),4) //possible issue identified - semgrep
ResponseToGUI(param_3,param_2,2,0);
iVar3 = kill_pid(*(undefined4 *)(param_1 + 0x76ac0),0xf,1);
if ((iVar3 != 0) && (RTDebugLevel != 0)) {
printk("%s: unable to kill ate thread\n",*(undefined4 *)(param_1 + 4));
}
}
if ((*(char *)(param_1 + 0x76a0c) != -0x80) && (Set_ATE_Proc(param_1,"ATESTOP"), 2 < RTDebugLevel)
) {
printk("RACFG_CMD_AP_START is done !\n");
}
return 0;
}