--- linux-2.6.14/drivers/media/video/zoran_driver.c.old 2005-10-29 20:36:24.000000000 -0400 +++ linux-2.6.14/drivers/media/video/zoran_driver.c 2005-10-29 20:36:48.000000000 -0400 @@ -996,8 +996,6 @@ return -EINVAL; } - spin_lock_irqsave(&zr->spinlock, flags); - if (fh->jpg_buffers.active == ZORAN_FREE) { if (zr->jpg_buffers.active == ZORAN_FREE) { zr->jpg_buffers = fh->jpg_buffers; @@ -1016,6 +1014,8 @@ zr36057_enable_jpg(zr, mode); } + spin_lock_irqsave(&zr->spinlock, flags); + if (!res) { switch (zr->jpg_buffers.buffer[num].state) { case BUZ_STATE_DONE: