alistair23-linux/drivers/media/dvb-core
Soeren Moch 414abbd2cd [media] media: dmxdev: remove dvb_ringbuffer_flush() on writer side
In dvb_ringbuffer lock-less synchronizationof reader and writer threads is done
with separateread and write pointers. Sincedvb_ringbuffer_flush() modifies the
read pointer, this function must not be called from the writer thread.
This patch removes the dvb_ringbuffer_flush() calls in the dmxdev ringbuffer
write functions, this fixes Oopses "Unable to handle kernel paging request"
I could observe for the call chaindvb_demux_read ->dvb_dmxdev_buffer_read ->
dvb_ringbuffer_read_user -> __copy_to_user (the reader side of the ringbuffer).
The flush calls at the write side are not necessary anyway since ringbuffer_flush
is also called in dvb_dmxdev_buffer_read() when an error condition is set in the
ringbuffer.
This patch should also be applied to stable kernels.

Signed-off-by: Soeren Moch <smoch@web.de>
CC: <stable@vger.kernel.org>
Reviewed-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2013-06-19 11:48:09 -03:00
..
demux.h
dmxdev.c [media] media: dmxdev: remove dvb_ringbuffer_flush() on writer side 2013-06-19 11:48:09 -03:00
dmxdev.h
dvb-usb-ids.h [media] Add support for Crypto Redi PC50A device (rtl2832u + FC0012 tuner) 2013-06-08 21:59:59 -03:00
dvb_ca_en50221.c
dvb_ca_en50221.h
dvb_demux.c
dvb_demux.h
dvb_filter.c
dvb_filter.h
dvb_frontend.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-05-01 17:51:54 -07:00
dvb_frontend.h [media] tuner-core/simple: get_rf_strength can be tuner mode specific 2013-04-14 19:44:50 -03:00
dvb_math.c
dvb_math.h
dvb_net.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-05-01 17:51:54 -07:00
dvb_net.h
dvb_ringbuffer.c
dvb_ringbuffer.h
dvbdev.c
dvbdev.h
Kconfig
Makefile