Commit c7c7e8d7 authored by Brad Love's avatar Brad Love Committed by Mauro Carvalho Chehab

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: default avatarBrad Love <brad@nextdimension.cc>
Reviewed-by: default avatarMichael Ira Krufky <mkrufky@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 1b5f69f5
...@@ -191,7 +191,7 @@ ...@@ -191,7 +191,7 @@
USB 2.0 spec says bulk packet size is always 512 bytes USB 2.0 spec says bulk packet size is always 512 bytes
*/ */
#define EM28XX_BULK_PACKET_MULTIPLIER 384 #define EM28XX_BULK_PACKET_MULTIPLIER 384
#define EM28XX_DVB_BULK_PACKET_MULTIPLIER 384 #define EM28XX_DVB_BULK_PACKET_MULTIPLIER 94
#define EM28XX_INTERLACED_DEFAULT 1 #define EM28XX_INTERLACED_DEFAULT 1
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment