diff options
author | David Howells <dhowells@redhat.com> | 2008-02-19 13:58:54 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-19 18:51:36 -0500 |
commit | 5efe92c68045817b97927b748f369d407c1d89ab (patch) | |
tree | c42dcc6799cac1f56dd8073b0205dc5ecb2beb4f /arch/mn10300/kernel/gdb-io-ttysm.c | |
parent | 2b79aac9038ee52fd8d89216b1a3ec9bd8285fac (diff) |
MN10300: Introduce barriers to replace removed volatiles in gdbstub
Introduce into the MN10300 gdbstub a couple of barrier() calls to replace the
removed volatility of the input/output index variables for the Rx ring buffer.
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/mn10300/kernel/gdb-io-ttysm.c')
-rw-r--r-- | arch/mn10300/kernel/gdb-io-ttysm.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/mn10300/kernel/gdb-io-ttysm.c b/arch/mn10300/kernel/gdb-io-ttysm.c index c5451592d403..e94c25e8ca05 100644 --- a/arch/mn10300/kernel/gdb-io-ttysm.c +++ b/arch/mn10300/kernel/gdb-io-ttysm.c | |||
@@ -196,6 +196,7 @@ int gdbstub_io_rx_char(unsigned char *_ch, int nonblock) | |||
196 | try_again: | 196 | try_again: |
197 | /* pull chars out of the buffer */ | 197 | /* pull chars out of the buffer */ |
198 | ix = gdbstub_rx_outp; | 198 | ix = gdbstub_rx_outp; |
199 | barrier(); | ||
199 | if (ix == gdbstub_rx_inp) { | 200 | if (ix == gdbstub_rx_inp) { |
200 | if (nonblock) | 201 | if (nonblock) |
201 | return -EAGAIN; | 202 | return -EAGAIN; |
@@ -207,6 +208,7 @@ try_again: | |||
207 | 208 | ||
208 | ch = gdbstub_rx_buffer[ix++]; | 209 | ch = gdbstub_rx_buffer[ix++]; |
209 | st = gdbstub_rx_buffer[ix++]; | 210 | st = gdbstub_rx_buffer[ix++]; |
211 | barrier(); | ||
210 | gdbstub_rx_outp = ix & (PAGE_SIZE - 1); | 212 | gdbstub_rx_outp = ix & (PAGE_SIZE - 1); |
211 | 213 | ||
212 | st &= SC01STR_RXF | SC01STR_RBF | SC01STR_FEF | SC01STR_PEF | | 214 | st &= SC01STR_RXF | SC01STR_RBF | SC01STR_FEF | SC01STR_PEF | |