media: em28xx: USB bulk packet size fix
authorBrad Love <brad@nextdimension.cc>
Fri, 5 Jan 2018 00:04:13 +0000 (19:04 -0500)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Tue, 6 Mar 2018 09:33:22 +0000 (04:33 -0500)
commitc7c7e8d7803406daa21e96d00c357de8b77b6764
tree6fdb3361fa7ee63ecec0738bfe8a0b54b3cfc177
parent1b5f69f5b94489343d939700a50a0a841a16f97d
media: em28xx: USB bulk packet size fix

Hauppauge em28xx bulk devices exhibit continuity errors and corrupted
packets, when run in VMWare virtual machines. Unknown if other
manufacturers bulk models exhibit the same issue. KVM/Qemu is unaffected.

According to documentation the maximum packet multiplier for em28xx in bulk
transfer mode is 256 * 188 bytes. This changes the size of bulk transfers
to maximum supported value and have a bonus beneficial alignment.

Before:

After:

This sets up USB to expect just as many bytes as the em28xx is set to emit.

Successful usage under load afterwards natively and in both VMWare
and KVM/Qemu virtual machines.

Signed-off-by: Brad Love <brad@nextdimension.cc>
Reviewed-by: Michael Ira Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/usb/em28xx/em28xx.h