"media: vb2: add (un)prepare_streaming queue ops" causes vb2_queue->streaming to be set earlier ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Hans,

I just fixed a crash in the out of tree driver which is caused by:

a10b21532574 ("media: vb2: add (un)prepare_streaming queue ops")

I know that breaking out of tree code is fine / not our problem,
but I wonder if this maybe affects some in tree code too ?

The problem with the out of tree driver is that it
used vb2_queue->streaming inside the buf_queue() callback
to determine if the buffer was being pre-queued (from
vb2_start_streaming() calling __enqueue_in_driver()) before
the start_streaming queue-op is called.

Or if it was being queued after the start_streaming queue-op
has been called.

With vb2_queue->streaming now being set before the
 __enqueue_in_driver() calls in vb2_start_streaming() this
broke and it went down the route to see if there was
space available in the hw-queue which NULL pointer deref-ed
because the hw-queue had not been setup yet (more or less).

This is fixed now as far as the ipu6 driver is concerned,
but I wonder if we may not have in tree drivers making
similar assumptions about vb2_queue->streaming in their
buf_queue() callbacks ?

Regards,

Hans







[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux