media: gspca: do not resubmit URBs when streaming has stopped
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Tue, 26 Feb 2019 12:54:22 +0000 (07:54 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 31 May 2019 13:46:33 +0000 (06:46 -0700)
commit6d16d2e130e4e7de03fdb73fd35956708b16fef1
tree22e44b264ae2512ab2d0e6108f233a763dd43c8e
parentacf41fb8df4598650e0845fbb714f66dcc31ab15
media: gspca: do not resubmit URBs when streaming has stopped

[ Upstream commit e6f8bd59c28f758feea403a70d6c3ef28c50959f ]

When streaming is stopped all URBs are killed, but in fill_frame and in
bulk_irq this results in an attempt to resubmit the killed URB. That is
not what you want and causes spurious kernel messages.

So check if streaming has stopped before resubmitting.

Also check against gspca_dev->streaming rather than vb2_start_streaming_called()
since vb2_start_streaming_called() will return true when in stop_streaming,
but gspca_dev->streaming is set to false when stop_streaming is called.

Fixes: 6992effe5344 ("gspca: Kill all URBs before releasing any of them")

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/usb/gspca/gspca.c