linux/drivers/media/video/omap3isp
Laurent Pinchart 5b6c3ef0e4 [media] omap3isp: video: Avoid crashes when pipeline set stream operation fails
If streaming can't be enabled on the pipeline, the DMA buffers queue is
not emptied. If the buffers then get freed the queue will end up
referencing free memory. This is usually not an issue, as the DMA queue
will be reinitialized the next time streaming is enabled, before
enabling the hardware.

However, if the sensor connected at the pipeline input is free-running,
the CCDC will start generating interrupts as soon as it gets powered up,
before the streaming gets enabled on the hardware. This will make the
CCDC interrupt handler access freed memory, causing a crash.

Reinitialize the DMA buffers queue in isp_video_streamon() if the error
path to make sure this situation won't happen.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21 15:30:13 -03:00
..
cfa_coef_table.h [media] omap3isp: CCDC, preview engine and resizer 2011-03-22 04:53:51 -03:00
gamma_table.h [media] omap3isp: CCDC, preview engine and resizer 2011-03-22 04:53:51 -03:00
isp.c [media] omap3isp: Don't fail streamon when the sensor doesn't implement s_stream 2011-09-21 15:30:00 -03:00
isp.h [media] omap3isp: Move platform data definitions from isp.h to media/omap3isp.h 2011-09-11 09:49:27 -03:00
ispccdc.c [media] omap3isp: ccdc: Use generic frame sync event instead of private HS_VS event 2011-08-29 12:38:51 -03:00
ispccdc.h Fix common misspellings 2011-03-31 11:26:23 -03:00
ispccp2.c [media] omap3isp: Move platform data definitions from isp.h to media/omap3isp.h 2011-09-11 09:49:27 -03:00
ispccp2.h [media] OMAP3: ISP: Add regulator control for omap34xx 2011-07-27 17:56:06 -03:00
ispcsi2.c Fix common misspellings 2011-03-31 11:26:23 -03:00
ispcsi2.h [media] omap3isp: CCP2/CSI2 receivers 2011-03-22 04:53:50 -03:00
ispcsiphy.c [media] omap3isp: CCP2/CSI2 receivers 2011-03-22 04:53:50 -03:00
ispcsiphy.h [media] omap3isp: CCP2/CSI2 receivers 2011-03-22 04:53:50 -03:00
isph3a_aewb.c [media] omap3isp: Statistics 2011-03-22 04:53:52 -03:00
isph3a_af.c [media] omap3isp: Statistics 2011-03-22 04:53:52 -03:00
isph3a.h [media] omap3isp: Statistics 2011-03-22 04:53:52 -03:00
isphist.c [media] omap3isp: Statistics 2011-03-22 04:53:52 -03:00
isphist.h [media] omap3isp: Statistics 2011-03-22 04:53:52 -03:00
isppreview.c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2011-04-27 15:17:52 -07:00
isppreview.h Fix common misspellings 2011-03-31 11:26:23 -03:00
ispqueue.c [media] omap3isp: queue: fail QBUF if user buffer is too small 2011-09-11 09:49:27 -03:00
ispqueue.h Fix common misspellings 2011-03-31 11:26:23 -03:00
ispreg.h
ispresizer.c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2011-04-27 15:17:52 -07:00
ispresizer.h [media] omap3isp: CCDC, preview engine and resizer 2011-03-22 04:53:51 -03:00
ispstat.c [media] v4l2-event/ctrls/fh: allocate events per fh and per type instead of just per-fh 2011-07-27 17:53:31 -03:00
ispstat.h [media] omap3isp: stat: update struct ispstat_generic_config's comments 2011-04-17 07:43:46 -03:00
ispvideo.c [media] omap3isp: video: Avoid crashes when pipeline set stream operation fails 2011-09-21 15:30:13 -03:00
ispvideo.h [media] Stop using linux/version.h on the remaining video drivers 2011-07-27 17:53:16 -03:00
luma_enhance_table.h [media] omap3isp: CCDC, preview engine and resizer 2011-03-22 04:53:51 -03:00
Makefile [media] drivers/media: do not use EXTRA_CFLAGS 2011-09-03 18:50:59 -03:00
noise_filter_table.h [media] omap3isp: CCDC, preview engine and resizer 2011-03-22 04:53:51 -03:00