summaryrefslogtreecommitdiff
path: root/libdde_linux26/lib/src/arch/l4/softirq.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdde_linux26/lib/src/arch/l4/softirq.c')
-rw-r--r--libdde_linux26/lib/src/arch/l4/softirq.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/libdde_linux26/lib/src/arch/l4/softirq.c b/libdde_linux26/lib/src/arch/l4/softirq.c
index be13422b..67e8f5aa 100644
--- a/libdde_linux26/lib/src/arch/l4/softirq.c
+++ b/libdde_linux26/lib/src/arch/l4/softirq.c
@@ -172,8 +172,6 @@ static void tasklet_hi_action(struct softirq_action *a)
}
}
-ddekit_lock_t cli_lock;
-
#define MAX_SOFTIRQ_RETRIES 10
/** Run softirq handlers
@@ -187,8 +185,7 @@ void __do_softirq(void)
/* reset softirq count */
set_softirq_pending(0);
- ddekit_lock_unlock(&cli_lock);
-// local_irq_enable();
+ local_irq_enable();
/* While we have a softirq pending... */
while (pending) {
@@ -200,8 +197,7 @@ void __do_softirq(void)
/* remove pending flag for last softirq */
pending >>= 1;
}
-// local_irq_disable();
- ddekit_lock_lock(&cli_lock);
+ local_irq_disable();
/* Somebody might have scheduled another softirq in between
* (e.g., an IRQ thread or another tasklet). */
@@ -214,14 +210,10 @@ void do_softirq(void)
{
unsigned long flags;
- if (cli_lock == NULL)
- ddekit_lock_init_unlocked(&cli_lock);
- ddekit_lock_lock(&cli_lock);
-// local_irq_save(flags);
+ local_irq_save(flags);
if (local_softirq_pending())
__do_softirq();
-// local_irq_restore(flags);
- ddekit_lock_unlock(&cli_lock);
+ local_irq_restore(flags);
}
/** Softirq thread function.