aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/kfifo.c
diff options
context:
space:
mode:
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,
365 n = setup_sgl_buf(sgl, fifo->data + off, nents, l); 365 n = setup_sgl_buf(sgl, fifo->data + off, nents, l);
366 n += setup_sgl_buf(sgl + n, fifo->data, nents - n, len - l); 366 n += setup_sgl_buf(sgl + n, fifo->data, nents - n, len - l);
367 367
368 if (n)
369 sg_mark_end(sgl + n - 1);
370 return n; 368 return n;
371} 369}
372 370
@@ -503,6 +501,15 @@ unsigned int __kfifo_out_r(struct __kfifo *fifo, void *buf,
503} 501}
504EXPORT_SYMBOL(__kfifo_out_r); 502EXPORT_SYMBOL(__kfifo_out_r);
505 503
504void __kfifo_skip_r(struct __kfifo *fifo, size_t recsize)
505{
506 unsigned int n;
507
508 n = __kfifo_peek_n(fifo, recsize);
509 fifo->out += n + recsize;
510}
511EXPORT_SYMBOL(__kfifo_skip_r);
512
506int __kfifo_from_user_r(struct __kfifo *fifo, const void __user *from, 513int __kfifo_from_user_r(struct __kfifo *fifo, const void __user *from,
507 unsigned long len, unsigned int *copied, size_t recsize) 514 unsigned long len, unsigned int *copied, size_t recsize)
508{ 515{