aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/common/saa7146/saa7146_video.c
diff options
context:
space:
mode:
authorAditya Pakki <pakki001@umn.edu>2019-12-15 20:21:33 +0100
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2020-01-08 14:28:59 +0100
commit1ec4c6efe23154b4ab44c1a34dbc0eb121eb614a (patch)
tree237b4b082f45004df93692eea6a5718b20ab4f9f /drivers/media/common/saa7146/saa7146_video.c
parentmedia: cx231xx: replace BUG_ON with recovery code (diff)
downloadlinux-dev-1ec4c6efe23154b4ab44c1a34dbc0eb121eb614a.tar.xz
linux-dev-1ec4c6efe23154b4ab44c1a34dbc0eb121eb614a.zip
media: saa7146: Avoid using BUG_ON as an assertion
In video_begin and video_end, saa7146_format_by_fourcc can return NULL and is checked via BUG_ON. However, by returning the error to the callers upstream, we can avoid the crash and handle it via recovery code. Signed-off-by: Aditya Pakki <pakki001@umn.edu> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'drivers/media/common/saa7146/saa7146_video.c')
-rw-r--r--drivers/media/common/saa7146/saa7146_video.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/media/common/saa7146/saa7146_video.c b/drivers/media/common/saa7146/saa7146_video.c
index d16122039b0c..ccd15b4d4920 100644
--- a/drivers/media/common/saa7146/saa7146_video.c
+++ b/drivers/media/common/saa7146/saa7146_video.c
@@ -345,7 +345,8 @@ static int video_begin(struct saa7146_fh *fh)
fmt = saa7146_format_by_fourcc(dev, vv->video_fmt.pixelformat);
/* we need to have a valid format set here */
- BUG_ON(NULL == fmt);
+ if (!fmt)
+ return -EINVAL;
if (0 != (fmt->flags & FORMAT_IS_PLANAR)) {
resource = RESOURCE_DMA1_HPS|RESOURCE_DMA2_CLP|RESOURCE_DMA3_BRS;
@@ -398,7 +399,8 @@ static int video_end(struct saa7146_fh *fh, struct file *file)
fmt = saa7146_format_by_fourcc(dev, vv->video_fmt.pixelformat);
/* we need to have a valid format set here */
- BUG_ON(NULL == fmt);
+ if (!fmt)
+ return -EINVAL;
if (0 != (fmt->flags & FORMAT_IS_PLANAR)) {
resource = RESOURCE_DMA1_HPS|RESOURCE_DMA2_CLP|RESOURCE_DMA3_BRS;