v4l2_fill_pix_format(pixfmt, &format.format);
 
+       /* Limit to Atmel ISC hardware capabilities */
+       if (pixfmt->width > ISC_MAX_SUPPORT_WIDTH)
+               pixfmt->width = ISC_MAX_SUPPORT_WIDTH;
+       if (pixfmt->height > ISC_MAX_SUPPORT_HEIGHT)
+               pixfmt->height = ISC_MAX_SUPPORT_HEIGHT;
+
        pixfmt->field = V4L2_FIELD_NONE;
        pixfmt->bytesperline = (pixfmt->width * isc->try_config.bpp) >> 3;
        pixfmt->sizeimage = pixfmt->bytesperline * pixfmt->height;
        if (ret < 0)
                return ret;
 
+       /* Limit to Atmel ISC hardware capabilities */
+       if (pixfmt->width > ISC_MAX_SUPPORT_WIDTH)
+               pixfmt->width = ISC_MAX_SUPPORT_WIDTH;
+       if (pixfmt->height > ISC_MAX_SUPPORT_HEIGHT)
+               pixfmt->height = ISC_MAX_SUPPORT_HEIGHT;
+
        isc->fmt = *f;
 
        if (isc->try_config.sd_format && isc->config.sd_format &&