]>
Commit | Line | Data |
---|---|---|
06e23a17 GKH |
1 | From foo@baz Thu May 24 11:09:34 CEST 2018 |
2 | From: Brad Love <brad@nextdimension.cc> | |
3 | Date: Thu, 4 Jan 2018 19:04:13 -0500 | |
4 | Subject: media: em28xx: USB bulk packet size fix | |
5 | ||
6 | From: Brad Love <brad@nextdimension.cc> | |
7 | ||
8 | [ Upstream commit c7c7e8d7803406daa21e96d00c357de8b77b6764 ] | |
9 | ||
10 | Hauppauge em28xx bulk devices exhibit continuity errors and corrupted | |
11 | packets, when run in VMWare virtual machines. Unknown if other | |
12 | manufacturers bulk models exhibit the same issue. KVM/Qemu is unaffected. | |
13 | ||
14 | According to documentation the maximum packet multiplier for em28xx in bulk | |
15 | transfer mode is 256 * 188 bytes. This changes the size of bulk transfers | |
16 | to maximum supported value and have a bonus beneficial alignment. | |
17 | ||
18 | Before: | |
19 | ||
20 | After: | |
21 | ||
22 | This sets up USB to expect just as many bytes as the em28xx is set to emit. | |
23 | ||
24 | Successful usage under load afterwards natively and in both VMWare | |
25 | and KVM/Qemu virtual machines. | |
26 | ||
27 | Signed-off-by: Brad Love <brad@nextdimension.cc> | |
28 | Reviewed-by: Michael Ira Krufky <mkrufky@linuxtv.org> | |
29 | Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> | |
30 | Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> | |
31 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
32 | --- | |
33 | drivers/media/usb/em28xx/em28xx.h | 2 +- | |
34 | 1 file changed, 1 insertion(+), 1 deletion(-) | |
35 | ||
36 | --- a/drivers/media/usb/em28xx/em28xx.h | |
37 | +++ b/drivers/media/usb/em28xx/em28xx.h | |
38 | @@ -191,7 +191,7 @@ | |
39 | USB 2.0 spec says bulk packet size is always 512 bytes | |
40 | */ | |
41 | #define EM28XX_BULK_PACKET_MULTIPLIER 384 | |
42 | -#define EM28XX_DVB_BULK_PACKET_MULTIPLIER 384 | |
43 | +#define EM28XX_DVB_BULK_PACKET_MULTIPLIER 94 | |
44 | ||
45 | #define EM28XX_INTERLACED_DEFAULT 1 | |
46 |