summaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/rtlx.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2007-04-25 16:08:57 +0200
committerRalf Baechle <ralf@linux-mips.org>2007-04-27 17:20:23 +0200
commit7f5a7716dc0b380fd3c85ca5a5841969555feaa7 (patch)
treeb5e64de8cd6d83dd04f83020a5369aac6dd909d2 /arch/mips/kernel/rtlx.c
parentLinux 2.6.21 (diff)
downloadlinux-7f5a7716dc0b380fd3c85ca5a5841969555feaa7.tar.xz
linux-7f5a7716dc0b380fd3c85ca5a5841969555feaa7.zip
[MIPS] Fix AP/SP to work in the reality of modern kernels.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/rtlx.c')
-rw-r--r--arch/mips/kernel/rtlx.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/mips/kernel/rtlx.c b/arch/mips/kernel/rtlx.c
index e6e3047151a6..bfc8ca168f83 100644
--- a/arch/mips/kernel/rtlx.c
+++ b/arch/mips/kernel/rtlx.c
@@ -289,7 +289,7 @@ unsigned int rtlx_write_poll(int index)
return write_spacefree(chan->rt_read, chan->rt_write, chan->buffer_size);
}
-ssize_t rtlx_read(int index, void __user *buff, size_t count, int user)
+ssize_t rtlx_read(int index, void __user *buff, size_t count)
{
size_t lx_write, fl = 0L;
struct rtlx_channel *lx;
@@ -331,9 +331,10 @@ out:
return count;
}
-ssize_t rtlx_write(int index, const void __user *buffer, size_t count, int user)
+ssize_t rtlx_write(int index, const void __user *buffer, size_t count)
{
struct rtlx_channel *rt;
+ unsigned long failed;
size_t rt_read;
size_t fl;
@@ -363,7 +364,7 @@ ssize_t rtlx_write(int index, const void __user *buffer, size_t count, int user)
}
out:
- count -= cailed;
+ count -= failed;
smp_wmb();
rt->rt_write = (rt->rt_write + count) % rt->buffer_size;