aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/kfifo.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2010-10-12 17:27:20 +0200
committerThomas Gleixner <tglx@linutronix.de>2010-10-12 17:27:28 +0200
commit37eca0d64a2dbeece25969ec0698e1ff72bdcf39 (patch)
tree54ba70f0428f586f4fe28d8b429b9f9e0799a17a /kernel/kfifo.c
parentlockup_detector: Make callback function static (diff)
parentMerge branch 'merge-powerpc' of git://git.secretlab.ca/git/linux-2.6 (diff)
downloadlinux-37eca0d64a2dbeece25969ec0698e1ff72bdcf39.tar.gz
linux-37eca0d64a2dbeece25969ec0698e1ff72bdcf39.zip
Merge branch 'linus' into core/locking
Reason: Pull in the semaphore related changes Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/kfifo.c')
-rw-r--r--kernel/kfifo.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/kernel/kfifo.c b/kernel/kfifo.c
index 4502604ecadf..01a0700e873f 100644
--- a/kernel/kfifo.c
+++ b/kernel/kfifo.c
@@ -365,8 +365,6 @@ static unsigned int setup_sgl(struct __kfifo *fifo, struct scatterlist *sgl,
n = setup_sgl_buf(sgl, fifo->data + off, nents, l);
n += setup_sgl_buf(sgl + n, fifo->data, nents - n, len - l);
- if (n)
- sg_mark_end(sgl + n - 1);
return n;
}
@@ -503,6 +501,15 @@ unsigned int __kfifo_out_r(struct __kfifo *fifo, void *buf,
}
EXPORT_SYMBOL(__kfifo_out_r);
+void __kfifo_skip_r(struct __kfifo *fifo, size_t recsize)
+{
+ unsigned int n;
+
+ n = __kfifo_peek_n(fifo, recsize);
+ fifo->out += n + recsize;
+}
+EXPORT_SYMBOL(__kfifo_skip_r);
+
int __kfifo_from_user_r(struct __kfifo *fifo, const void __user *from,
unsigned long len, unsigned int *copied, size_t recsize)
{