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>
This commit is contained in:
committed by
Linus Torvalds
parent
2b79aac903
commit
5efe92c680
@@ -196,6 +196,7 @@ int gdbstub_io_rx_char(unsigned char *_ch, int nonblock)
|
|||||||
try_again:
|
try_again:
|
||||||
/* pull chars out of the buffer */
|
/* pull chars out of the buffer */
|
||||||
ix = gdbstub_rx_outp;
|
ix = gdbstub_rx_outp;
|
||||||
|
barrier();
|
||||||
if (ix == gdbstub_rx_inp) {
|
if (ix == gdbstub_rx_inp) {
|
||||||
if (nonblock)
|
if (nonblock)
|
||||||
return -EAGAIN;
|
return -EAGAIN;
|
||||||
@@ -207,6 +208,7 @@ try_again:
|
|||||||
|
|
||||||
ch = gdbstub_rx_buffer[ix++];
|
ch = gdbstub_rx_buffer[ix++];
|
||||||
st = gdbstub_rx_buffer[ix++];
|
st = gdbstub_rx_buffer[ix++];
|
||||||
|
barrier();
|
||||||
gdbstub_rx_outp = ix & (PAGE_SIZE - 1);
|
gdbstub_rx_outp = ix & (PAGE_SIZE - 1);
|
||||||
|
|
||||||
st &= SC01STR_RXF | SC01STR_RBF | SC01STR_FEF | SC01STR_PEF |
|
st &= SC01STR_RXF | SC01STR_RBF | SC01STR_FEF | SC01STR_PEF |
|
||||||
|
Reference in New Issue
Block a user