summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/media/pci/solo6x10/solo6x10-disp.c2
-rw-r--r--drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c9
2 files changed, 7 insertions, 4 deletions
diff --git a/drivers/media/pci/solo6x10/solo6x10-disp.c b/drivers/media/pci/solo6x10/solo6x10-disp.c
index ed88ab4455a5..5ea9cac03968 100644
--- a/drivers/media/pci/solo6x10/solo6x10-disp.c
+++ b/drivers/media/pci/solo6x10/solo6x10-disp.c
@@ -216,6 +216,8 @@ int solo_set_motion_block(struct solo_dev *solo_dev, u8 ch,
int ret = 0;
buf = kzalloc(size, GFP_KERNEL);
+ if (buf == NULL)
+ return -ENOMEM;
for (y = 0; y < SOLO_MOTION_SZ; y++) {
for (x = 0; x < SOLO_MOTION_SZ; x++)
buf[x] = cpu_to_le16(thresholds[y * SOLO_MOTION_SZ + x]);
diff --git a/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c b/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c
index 2e07b497a37c..28023f9f1dc7 100644
--- a/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c
+++ b/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c
@@ -1137,11 +1137,13 @@ static int solo_s_ctrl(struct v4l2_ctrl *ctrl)
solo_enc->motion_enabled = ctrl->val > V4L2_DETECT_MD_MODE_DISABLED;
if (ctrl->val) {
if (solo_enc->motion_global)
- solo_set_motion_threshold(solo_dev, solo_enc->ch,
+ err = solo_set_motion_threshold(solo_dev, solo_enc->ch,
solo_enc->motion_thresh);
else
- solo_set_motion_block(solo_dev, solo_enc->ch,
+ err = solo_set_motion_block(solo_dev, solo_enc->ch,
solo_enc->md_thresholds->p_cur.p_u16);
+ if (err)
+ return err;
}
solo_motion_toggle(solo_enc, ctrl->val);
return 0;
@@ -1152,8 +1154,7 @@ static int solo_s_ctrl(struct v4l2_ctrl *ctrl)
break;
case V4L2_CID_OSD_TEXT:
strcpy(solo_enc->osd_text, ctrl->p_new.p_char);
- err = solo_osd_print(solo_enc);
- return err;
+ return solo_osd_print(solo_enc);
default:
return -EINVAL;
}