From 23efd22efbc7a43522d8200f5a3ea7af809ffd06 Mon Sep 17 00:00:00 2001 From: ANR2ME Date: Sat, 16 Jan 2021 20:55:40 +0700 Subject: [PATCH] Fix Stuck issue on some games (Dissidia 012, Full Auto 2, etc) when Failed to connect to Adhoc Server (faked success) --- Core/HLE/sceNetAdhoc.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Core/HLE/sceNetAdhoc.cpp b/Core/HLE/sceNetAdhoc.cpp index ebf72e35df..0b6e97b472 100644 --- a/Core/HLE/sceNetAdhoc.cpp +++ b/Core/HLE/sceNetAdhoc.cpp @@ -300,15 +300,16 @@ static void __AdhocctlNotify(u64 userdata, int cyclesLate) { CoreTiming::ScheduleEvent(usToCycles(500) - cyclesLate, adhocctlNotifyEvent, userdata); return; } - else + else if (req.opcode != OPCODE_LOGIN) result = ERROR_NET_ADHOCCTL_BUSY; } } else result = ERROR_NET_ADHOCCTL_WLAN_SWITCH_OFF; + u32 waitVal = __KernelGetWaitValue(threadID, error); __KernelResumeThreadFromWait(threadID, result); - DEBUG_LOG(SCENET, "Returning (WaitID: %d, error: %d) Result (%08x) of sceNetAdhocctl - State: %d", waitID, error, (int)result, adhocctlState); + DEBUG_LOG(SCENET, "Returning (WaitID: %d, error: %d) Result (%08x) of sceNetAdhocctl - Opcode: %d, State: %d", waitID, error, (int)result, waitVal, adhocctlState); // We are done with this request adhocctlRequests.erase(uid);