@@ -258,7 +258,7 @@ static int stk1160_start_streaming(struct stk1160 *dev)
258258 stk1160_uninit_isoc (dev );
259259out_stop_hw :
260260 usb_set_interface (dev -> udev , 0 , 0 );
261- stk1160_clear_queue (dev );
261+ stk1160_clear_queue (dev , VB2_BUF_STATE_QUEUED );
262262
263263 mutex_unlock (& dev -> v4l_lock );
264264
@@ -306,7 +306,7 @@ static int stk1160_stop_streaming(struct stk1160 *dev)
306306
307307 stk1160_stop_hw (dev );
308308
309- stk1160_clear_queue (dev );
309+ stk1160_clear_queue (dev , VB2_BUF_STATE_ERROR );
310310
311311 stk1160_dbg ("streaming stopped\n" );
312312
@@ -745,7 +745,7 @@ static const struct video_device v4l_template = {
745745/********************************************************************/
746746
747747/* Must be called with both v4l_lock and vb_queue_lock hold */
748- void stk1160_clear_queue (struct stk1160 * dev )
748+ void stk1160_clear_queue (struct stk1160 * dev , enum vb2_buffer_state vb2_state )
749749{
750750 struct stk1160_buffer * buf ;
751751 unsigned long flags ;
@@ -756,7 +756,7 @@ void stk1160_clear_queue(struct stk1160 *dev)
756756 buf = list_first_entry (& dev -> avail_bufs ,
757757 struct stk1160_buffer , list );
758758 list_del (& buf -> list );
759- vb2_buffer_done (& buf -> vb .vb2_buf , VB2_BUF_STATE_ERROR );
759+ vb2_buffer_done (& buf -> vb .vb2_buf , vb2_state );
760760 stk1160_dbg ("buffer [%p/%d] aborted\n" ,
761761 buf , buf -> vb .vb2_buf .index );
762762 }
@@ -766,7 +766,7 @@ void stk1160_clear_queue(struct stk1160 *dev)
766766 buf = dev -> isoc_ctl .buf ;
767767 dev -> isoc_ctl .buf = NULL ;
768768
769- vb2_buffer_done (& buf -> vb .vb2_buf , VB2_BUF_STATE_ERROR );
769+ vb2_buffer_done (& buf -> vb .vb2_buf , vb2_state );
770770 stk1160_dbg ("buffer [%p/%d] aborted\n" ,
771771 buf , buf -> vb .vb2_buf .index );
772772 }
0 commit comments