diff options
Diffstat (limited to 'libpsn00b/psxcd/common.c')
| -rw-r--r-- | libpsn00b/psxcd/common.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libpsn00b/psxcd/common.c b/libpsn00b/psxcd/common.c index 438fcc1..e452b91 100644 --- a/libpsn00b/psxcd/common.c +++ b/libpsn00b/psxcd/common.c @@ -203,9 +203,11 @@ static void _cd_irq_handler(void) { /* Initialization */ int CdInit(void) { - EnterCriticalSection(); + int _exit = EnterCriticalSection(); + InterruptCallback(IRQ_CD, &_cd_irq_handler); - ExitCriticalSection(); + if (_exit) + ExitCriticalSection(); BUS_CD_CFG = 0x00020943; |
