V4L2 buffers were not explicitly freed before closing the device, causing VIDIOC_S_FMT to fail with EBUSY on restart. Added VIDIOC_REQBUFS(count=0) call in cleanup to free buffer queue synchronously before close().
This ensures subsequent opens can set format immediately without EBUSY errors, eliminating 100ms+ retry delays.