{
        struct v4l2_mbus_frame_desc fd;
        int i, ret;
+       int pad;
 
        for (i = 0; i < num_planes; i++)
                fd.entry[i].length = plane_fmt[i].sizeimage;
 
+       pad = sensor->entity.num_pads - 1;
        if (try)
-               ret = v4l2_subdev_call(sensor, pad, set_frame_desc, 0, &fd);
+               ret = v4l2_subdev_call(sensor, pad, set_frame_desc, pad, &fd);
        else
-               ret = v4l2_subdev_call(sensor, pad, get_frame_desc, 0, &fd);
+               ret = v4l2_subdev_call(sensor, pad, get_frame_desc, pad, &fd);
 
        if (ret < 0)
                return ret;
 
                                 "but s5p-csis module is not loaded!\n"))
                                return -EINVAL;
 
-                       ret = media_entity_create_link(&sensor->entity, 0,
+                       pad = sensor->entity.num_pads - 1;
+                       ret = media_entity_create_link(&sensor->entity, pad,
                                              &csis->entity, CSIS_PAD_SINK,
                                              MEDIA_LNK_FL_IMMUTABLE |
                                              MEDIA_LNK_FL_ENABLED);