u32 walign;
        int ret;
 
-       /* If requested format is not supported fallback to the default */
-       if (!rvin_format_from_pixel(pix->pixelformat)) {
-               vin_dbg(vin, "Format 0x%x not found, using default 0x%x\n",
-                       pix->pixelformat, RVIN_DEFAULT_FORMAT);
+       if (!rvin_format_from_pixel(pix->pixelformat) ||
+           (vin->info->model == RCAR_M1 &&
+            pix->pixelformat == V4L2_PIX_FMT_XBGR32))
                pix->pixelformat = RVIN_DEFAULT_FORMAT;
-       }
 
        /* Limit to source capabilities */
        ret = __rvin_try_format_source(vin, which, pix, source);
        pix->bytesperline = rvin_format_bytesperline(pix);
        pix->sizeimage = rvin_format_sizeimage(pix);
 
-       if (vin->info->model == RCAR_M1 &&
-           pix->pixelformat == V4L2_PIX_FMT_XBGR32) {
-               vin_err(vin, "pixel format XBGR32 not supported on M1\n");
-               return -EINVAL;
-       }
-
        vin_dbg(vin, "Format %ux%u bpl: %d size: %d\n",
                pix->width, pix->height, pix->bytesperline, pix->sizeimage);