tree b8d6f8dddc98c79d9cf3b50be3ad0e2a7144fc93
parent da673e603bb78ea26beaef5720017827aa26dae3
author Lei Wen <leiwen@marvell.com> 1321970669 -0300
committer Mauro Carvalho Chehab <mchehab@redhat.com> 1325854855 -0200

[media] soc-camera: change order of removing device

As our general practice, we use stream off before we close
the video node. So that the drivers its stream off function
would be called before its remove function.

But for the case for ctrl+c, the program would be force closed.
We have no chance to call that vb2 stream off from user space,
but directly call the remove function in soc_camera.

In that common code of soc_camera:

                ici->ops->remove(icd);
                if (ici->ops->init_videobuf2)
                        vb2_queue_release(&icd->vb2_vidq);

It would first call the device remove function, then release vb2,
in which stream off function is called. Thus it create different
order for the driver.

This patch change the order to make driver see the same sequence
to make it happy.

Signed-off-by: Lei Wen <leiwen@marvell.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
