This change fixes a crash when running VCAP in de-interlace mode. The problem was noticed in the introduction of kernel 3.4. VCAP was improperly using the videobuf2 framework APIs. Since VCAP is already reliant on queue structure provided by videobuf2 framework, we created our own basic version of the qbuf and dqbuf calls that have some similarities to the videobuf2 framework. This addition was necessary since we are calling qbuf from a kernel work thread. Since moving to kernel 3.4 there has been a change in videobuf2 qbuf that dereferences the current process.s mm_struct, from a kernel work thread this struct is NULL, which was causing a crash. When we are de-interlacing a captured video we are cycling the buffers internally in the driver, which is why we needed to create our own q/dq buffer functionality. Change-Id: Id51b775ae7f0a58bbac8a581e07fa02417802a30 Signed-off-by: Terence Hampson <thampson@codeaurora.org>