mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2024-12-18 16:32:05 +00:00
thermosphère: fix deadlock
This commit is contained in:
parent
f1a241ffef
commit
67daf5a73e
1 changed files with 4 additions and 1 deletions
|
@ -159,8 +159,11 @@ TransportInterface *transportInterfaceCreate(
|
||||||
|
|
||||||
void transportInterfaceAcquire(TransportInterface *iface)
|
void transportInterfaceAcquire(TransportInterface *iface)
|
||||||
{
|
{
|
||||||
|
// Allow interrupts to be taken here if the caller allows it
|
||||||
|
recursiveSpinlockLock(&iface->lock);
|
||||||
|
|
||||||
// Get the lock, prevent the interrupt from being pending if there's incoming data
|
// Get the lock, prevent the interrupt from being pending if there's incoming data
|
||||||
u64 flags = recursiveSpinlockLockMaskIrq(&iface->lock);
|
u64 flags = maskIrq();
|
||||||
|
|
||||||
switch (iface->type) {
|
switch (iface->type) {
|
||||||
case TRANSPORT_INTERFACE_TYPE_UART: {
|
case TRANSPORT_INTERFACE_TYPE_UART: {
|
||||||
|
|
Loading…
Reference in a new issue