On 10/24/2007 12:36 AM, Jeff Garzik wrote:After analyzing the elements that save_flags/cli/sti/restore_flags were[...]
protecting, convert their usages to a global spinlock (the easiest and
most obvious next-step). There were some usages of flags being
intentionally cached, because the code already knew the state of
interrupts. These have been taken into account.
This allows us to remove CONFIG_BROKEN_ON_SMP. Completely untested.
Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx>
---
diff --git a/drivers/char/riscom8.c b/drivers/char/riscom8.c[...]
index b37e626..45d109c 100644
--- a/drivers/char/riscom8.c
+++ b/drivers/char/riscom8.c
@@ -82,6 +83,8 @@
static struct riscom_board * IRQ_to_board[16];
static struct tty_driver *riscom_driver;
+static spinlock_t riscom_lock = SPIN_LOCK_UNLOCKED;
This is deprecated (see linux/spinlock_types.h for details), use DEFINE_SPINLOCK
instead, otherwise seems OK.
Revieweved-by: Jiri Slaby <jirislaby@xxxxxxxxx>