mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-12-23 04:41:12 +00:00
thermosphère: fix deadlock
This commit is contained in:
parent
c12a32c540
commit
7935c8b1ad
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