riscom8: fix SMP brokenness
authorJeff Garzik <jeff@garzik.org>
Wed, 6 Feb 2008 09:36:11 +0000 (01:36 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 6 Feb 2008 18:41:00 +0000 (10:41 -0800)
commitd9afa43532adf8a31b93c4c7601fda3f423d8972
tree1f5cc6d5050af80b5015b536c8b4f4fe1b6dd3d5
parent1c17d18e3775485bf1e0ce79575eb637a94494a2
riscom8: fix SMP brokenness

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.

[akpm@linux-foundation.org: use DEFINE_SPINLOCK]
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/char/Kconfig
drivers/char/riscom8.c