if (rval)
                        return rval;
 
+               memset(format->reserved, 0, sizeof(format->reserved));
+               memset(format->format.reserved, 0, sizeof(format->format.reserved));
                return v4l2_subdev_call(sd, pad, get_fmt, subdev_fh->pad, format);
        }
 
                if (rval)
                        return rval;
 
+               memset(format->reserved, 0, sizeof(format->reserved));
+               memset(format->format.reserved, 0, sizeof(format->format.reserved));
                return v4l2_subdev_call(sd, pad, set_fmt, subdev_fh->pad, format);
        }
 
                if (rval)
                        return rval;
 
+               memset(crop->reserved, 0, sizeof(crop->reserved));
                memset(&sel, 0, sizeof(sel));
                sel.which = crop->which;
                sel.pad = crop->pad;
                struct v4l2_subdev_crop *crop = arg;
                struct v4l2_subdev_selection sel;
 
+               memset(crop->reserved, 0, sizeof(crop->reserved));
                rval = check_crop(sd, crop);
                if (rval)
                        return rval;
                if (code->pad >= sd->entity.num_pads)
                        return -EINVAL;
 
+               memset(code->reserved, 0, sizeof(code->reserved));
                return v4l2_subdev_call(sd, pad, enum_mbus_code, subdev_fh->pad,
                                        code);
        }
                if (fse->pad >= sd->entity.num_pads)
                        return -EINVAL;
 
+               memset(fse->reserved, 0, sizeof(fse->reserved));
                return v4l2_subdev_call(sd, pad, enum_frame_size, subdev_fh->pad,
                                        fse);
        }
                if (fi->pad >= sd->entity.num_pads)
                        return -EINVAL;
 
+               memset(fi->reserved, 0, sizeof(fi->reserved));
                return v4l2_subdev_call(sd, video, g_frame_interval, arg);
        }
 
                if (fi->pad >= sd->entity.num_pads)
                        return -EINVAL;
 
+               memset(fi->reserved, 0, sizeof(fi->reserved));
                return v4l2_subdev_call(sd, video, s_frame_interval, arg);
        }
 
                if (fie->pad >= sd->entity.num_pads)
                        return -EINVAL;
 
+               memset(fie->reserved, 0, sizeof(fie->reserved));
                return v4l2_subdev_call(sd, pad, enum_frame_interval, subdev_fh->pad,
                                        fie);
        }
                if (rval)
                        return rval;
 
+               memset(sel->reserved, 0, sizeof(sel->reserved));
                return v4l2_subdev_call(
                        sd, pad, get_selection, subdev_fh->pad, sel);
        }
                if (rval)
                        return rval;
 
+               memset(sel->reserved, 0, sizeof(sel->reserved));
                return v4l2_subdev_call(
                        sd, pad, set_selection, subdev_fh->pad, sel);
        }