diff options
author | Frank Schaefer <fschaefer.oss@googlemail.com> | 2013-02-07 17:32:46 +0100 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-02-11 21:17:44 +0100 |
commit | 33f6984ecefb9b84f1b4d1d3b9022731bb8b62d0 (patch) | |
tree | 52b7d2df6ef5ea77c927aa6c3379ac5ebd63f491 /drivers/media/pci | |
parent | [media] stv0900: remove unnecessary null pointer check (diff) | |
download | linux-33f6984ecefb9b84f1b4d1d3b9022731bb8b62d0.tar.xz linux-33f6984ecefb9b84f1b4d1d3b9022731bb8b62d0.zip |
[media] em28xx: fix analog streaming with USB bulk transfers
With the conversion to videobuf2, some unnecessary calls of
em28xx_set_alternate() have been removed. It is now called at analog streaming
start only.
This has unveiled a bug that causes USB bulk transfers to fail with all urbs
having status -EVOERFLOW.
The reason is, that for bulk transfers usb_set_interface() needs to be called
even if the previous alt setting was the same (side note: bulk transfers seem
to work only with alt=0).
While it seems to be NOT necessary for isoc transfers, it's reasonable to just
call usb_set_interface() unconditionally in em28xx_set_alternate().
Also add a comment that explains the issue to prevent regressions in the future.
Cc: stable@vger.kernel.org # for 3.8
Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/pci')
0 files changed, 0 insertions, 0 deletions