Hi Mauro, I posted this fix and haven't got any objections (apart from unused variables, which are removed in this version), but - please have a look at it before pulling. In mx3_camera.c::mx3_videobuf_queue(), which is the driver's .buf_queue() method I temporarily drop the spinlock and reenable interrupts to call a possible sleeping function, and then re-lock. Is this acceptable? If not - the IPU IDMAC DMA driver would have to be changed. If it is - please, pull. Also notice, this is a fix for 2.6.31, and I forgot to put the "Priority" tag in it, sorry. Please pull from http://linuxtv.org/hg/~gliakhovetski/v4l-dvb for the following changeset: 01/01: soc-camera: fix recursive locking in .buf_queue() http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=1d040b58987e mx1_camera.c | 6 +----- mx3_camera.c | 19 ++++++++++--------- pxa_camera.c | 6 +----- sh_mobile_ceu_camera.c | 5 +---- 4 files changed, 13 insertions(+), 23 deletions(-) Thanks, Guennadi --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html