[Kernel] Always reschedule on ArbitrateAddress (Fixes MK7)
This commit is contained in:
@@ -86,6 +86,8 @@ void Kernel::arbitrateAddress() {
|
|||||||
default:
|
default:
|
||||||
Helpers::panic("ArbitrateAddress: Unimplemented type %s", arbitrationTypeToString(type));
|
Helpers::panic("ArbitrateAddress: Unimplemented type %s", arbitrationTypeToString(type));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rescheduleThreads();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Signal up to "threadCount" threads waiting on the arbiter indicated by "waitingAddress"
|
// Signal up to "threadCount" threads waiting on the arbiter indicated by "waitingAddress"
|
||||||
@@ -104,9 +106,4 @@ void Kernel::signalArbiter(u32 waitingAddress, s32 threadCount) {
|
|||||||
if (count == threadCount && threadCount > 0) break;
|
if (count == threadCount && threadCount > 0) break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reschedule threads if we woke one up
|
|
||||||
if (count != 0) {
|
|
||||||
rescheduleThreads();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user