Skip to content

Commit 7491482

Browse files
authored
Merge pull request #8243 from jarlamsa/interrupt_disable
mcr20a use core_util_critical_section functions
2 parents 17762b4 + 83a85d7 commit 7491482

File tree

2 files changed

+6
-12
lines changed

2 files changed

+6
-12
lines changed

components/802.15.4_RF/mcr20a-rf-driver/source/MCR20Drv.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444

4545
#if defined(MBED_CONF_NANOSTACK_CONFIGURATION) && DEVICE_SPI
4646

47-
#include "platform/arm_hal_interrupt.h"
47+
#include "platform/mbed_critical.h"
4848

4949
/*****************************************************************************
5050
* PRIVATE VARIABLES *
@@ -524,7 +524,7 @@ void MCR20Drv_IRQ_Disable
524524
void
525525
)
526526
{
527-
platform_enter_critical();
527+
core_util_critical_section_enter();
528528

529529
if( mPhyIrqDisableCnt == 0 )
530530
{
@@ -533,7 +533,7 @@ void
533533

534534
mPhyIrqDisableCnt++;
535535

536-
platform_exit_critical();
536+
core_util_critical_section_exit();
537537
}
538538

539539
/*---------------------------------------------------------------------------
@@ -547,7 +547,7 @@ void MCR20Drv_IRQ_Enable
547547
void
548548
)
549549
{
550-
platform_enter_critical();
550+
core_util_critical_section_enter();
551551

552552
if( mPhyIrqDisableCnt )
553553
{
@@ -559,7 +559,7 @@ void
559559
}
560560
}
561561

562-
platform_exit_critical();
562+
core_util_critical_section_exit();
563563
}
564564

565565
/*---------------------------------------------------------------------------

components/802.15.4_RF/mcr20a-rf-driver/source/NanostackRfPhyMcr20a.cpp

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1093,7 +1093,6 @@ static void rf_init_phy_mode(void)
10931093
*/
10941094
static void PHY_InterruptHandler(void)
10951095
{
1096-
/* Disable and clear transceiver(IRQ_B) interrupt */
10971096
MCR20Drv_IRQ_Disable();
10981097
irq_thread->signal_set(1);
10991098
}
@@ -1106,15 +1105,14 @@ static void PHY_InterruptThread(void)
11061105
continue;
11071106
}
11081107
handle_interrupt();
1108+
MCR20Drv_IRQ_Enable();
11091109
}
11101110
}
11111111

11121112
static void handle_interrupt(void)
11131113
{
11141114
uint8_t xcvseqCopy;
11151115

1116-
//MCR20Drv_IRQ_Clear();
1117-
11181116
/* Read transceiver interrupt status and control registers */
11191117
mStatusAndControlRegs[IRQSTS1] =
11201118
MCR20Drv_DirectAccessSPIMultiByteRead(IRQSTS2, &mStatusAndControlRegs[IRQSTS2], 7);
@@ -1158,7 +1156,6 @@ static void handle_interrupt(void)
11581156
MCR20Drv_DirectAccessSPIMultiByteWrite(IRQSTS1, mStatusAndControlRegs, 5);
11591157

11601158
rf_ack_wait_timer_interrupt();
1161-
MCR20Drv_IRQ_Enable();
11621159
return;
11631160
}
11641161
}
@@ -1182,7 +1179,6 @@ static void handle_interrupt(void)
11821179
{
11831180
rf_receive();
11841181
}
1185-
MCR20Drv_IRQ_Enable();
11861182
return;
11871183
}
11881184

@@ -1205,12 +1201,10 @@ static void handle_interrupt(void)
12051201
break;
12061202
}
12071203

1208-
MCR20Drv_IRQ_Enable();
12091204
return;
12101205
}
12111206
/* Other IRQ. Clear XCVR interrupt flags */
12121207
MCR20Drv_DirectAccessSPIMultiByteWrite(IRQSTS1, mStatusAndControlRegs, 3);
1213-
MCR20Drv_IRQ_Enable();
12141208
}
12151209

12161210
/*

0 commit comments

Comments
 (0)