Skip to content

Commit

Permalink
riscom8: fix SMP brokenness
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Jeff Garzik authored and Linus Torvalds committed Feb 6, 2008
1 parent 1c17d18 commit d9afa43
Show file tree
Hide file tree
Showing 2 changed files with 94 additions and 55 deletions.
2 changes: 1 addition & 1 deletion drivers/char/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ config N_HDLC

config RISCOM8
tristate "SDL RISCom/8 card support"
depends on SERIAL_NONSTANDARD && BROKEN_ON_SMP
depends on SERIAL_NONSTANDARD
help
This is a driver for the SDL Communications RISCom/8 multiport card,
which gives you many serial ports. You would need something like
Expand Down
Loading

0 comments on commit d9afa43

Please sign in to comment.