media: smiapp: Only some selection targets are settable
authorSakari Ailus <sakari.ailus@iki.fi>
Thu, 6 Nov 2014 20:49:45 +0000 (17:49 -0300)
committerJiri Slaby <jslaby@suse.cz>
Wed, 7 Jan 2015 15:20:13 +0000 (16:20 +0100)
commit b31eb901c4e5eeef4c83c43dfbc7fe0d4348cb21 upstream.

Setting a non-settable selection target caused BUG() to be called. The check
for valid selections only takes the selection target into account, but does
not tell whether it may be set, or only get. Fix the issue by simply
returning an error to the user.

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/media/i2c/smiapp/smiapp-core.c

index ae66d91bf7136c2e494432cea21d8359654f89a6..371ca22843ee31f0f33ec9674327146674084736 100644 (file)
@@ -2139,7 +2139,7 @@ static int smiapp_set_selection(struct v4l2_subdev *subdev,
                ret = smiapp_set_compose(subdev, fh, sel);
                break;
        default:
-               BUG();
+               ret = -EINVAL;
        }
 
        mutex_unlock(&sensor->mutex);