summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad Love2018-01-05 01:04:13 +0100
committerMauro Carvalho Chehab2018-03-06 10:33:22 +0100
commitc7c7e8d7803406daa21e96d00c357de8b77b6764 (patch)
tree6fdb3361fa7ee63ecec0738bfe8a0b54b3cfc177
parentmedia: em28xx: Bulk transfer implementation fix (diff)
downloadkernel-qcow2-linux-c7c7e8d7803406daa21e96d00c357de8b77b6764.tar.gz
kernel-qcow2-linux-c7c7e8d7803406daa21e96d00c357de8b77b6764.tar.xz
kernel-qcow2-linux-c7c7e8d7803406daa21e96d00c357de8b77b6764.zip
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>
-rw-r--r--drivers/media/usb/em28xx/em28xx.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/usb/em28xx/em28xx.h b/drivers/media/usb/em28xx/em28xx.h
index c85292c9883b..7be8ac9a9fa0 100644
--- a/drivers/media/usb/em28xx/em28xx.h
+++ b/drivers/media/usb/em28xx/em28xx.h
@@ -191,7 +191,7 @@
USB 2.0 spec says bulk packet size is always 512 bytes
*/
#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