From b0fd3f85bf8cc8c2360683ff33552e5550f12011 Mon Sep 17 00:00:00 2001 From: Louie Lu Date: Tue, 22 Aug 2017 12:25:04 +0800 Subject: [PATCH] Remove sched_elect in serialchar_callback DO NOT USE sched_elect inside the irq. If a context switch is done inside the irq, it will make v7m-head.S `pop {pc}` to a undefined place. --- drivers/serial/serialchar.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/serial/serialchar.c b/drivers/serial/serialchar.c index 2b23733..a10a921 100644 --- a/drivers/serial/serialchar.c +++ b/drivers/serial/serialchar.c @@ -7,7 +7,6 @@ static void serialchar_callback(struct serial_info *serial) { sched_enqueue(serial->owner); - sched_elect(0); } static int serialchar_open(struct inode *inode, struct file *file)