Calling schedule() holding spinlock with disables irqs is improper. As
spinlock protects list coredev->buffers, it can be unlocked untill wakeup.
This bug was introduced in 
a9349315f65cd6a16e8fab1f6cf0fd40f379c4db.
Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
 
         */
 
        prepare_to_wait(&coredev->buffer_mng_waitq, &wait, TASK_INTERRUPTIBLE);
-
-       if (list_empty(&coredev->buffers))
+       if (list_empty(&coredev->buffers)) {
+               spin_unlock_irqrestore(&coredev->bufferslock, flags);
                schedule();
+               spin_lock_irqsave(&coredev->bufferslock, flags);
+       }
 
        finish_wait(&coredev->buffer_mng_waitq, &wait);