diff --git a/test/v4l2_device/v4l2_device_test.cpp b/test/v4l2_device/v4l2_device_test.cpp
index ee5a8e009bef2a5e..5bd80a6c68d796b6 100644
--- a/test/v4l2_device/v4l2_device_test.cpp
+++ b/test/v4l2_device/v4l2_device_test.cpp
@@ -54,7 +54,24 @@ int V4L2DeviceTest::init()
 	if (!capture_)
 		return TestFail;
 
-	return capture_->open();
+	media_->acquire();
+	if (media_->disableLinks())
+		return TestFail;
+	media_->release();
+
+	if (capture_->open())
+		return TestFail;
+
+	V4L2DeviceFormat format = {};
+	if (capture_->getFormat(&format))
+		return TestFail;
+
+	format.size.width = 640;
+	format.size.height = 480;
+	if (capture_->setFormat(&format))
+		return TestFail;
+
+	return TestPass;
 }
 
 void V4L2DeviceTest::cleanup()
