u8 val;
        int ret;
 
-       if (!win)
-               return -EINVAL;
-
        switch (code) {
        case MEDIA_BUS_FMT_RGB565_2X8_BE:
                dev_dbg(&client->dev, "%s: Selected cfmt RGB565 BE", __func__);
        if (format->pad)
                return -EINVAL;
 
-       if (!priv->win) {
-               priv->win = ov2640_select_win(SVGA_WIDTH, SVGA_HEIGHT);
-               priv->cfmt_code = MEDIA_BUS_FMT_UYVY8_2X8;
-       }
 
        mf->width       = priv->win->width;
        mf->height      = priv->win->height;
        if (ret)
                goto err_clk;
 
+       priv->win = ov2640_select_win(SVGA_WIDTH, SVGA_HEIGHT);
+       priv->cfmt_code = MEDIA_BUS_FMT_UYVY8_2X8;
+
        v4l2_i2c_subdev_init(&priv->subdev, client, &ov2640_subdev_ops);
        priv->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE |
                              V4L2_SUBDEV_FL_HAS_EVENTS;