aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/video/uvc/uvc_video.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/media/video/uvc/uvc_video.c b/drivers/media/video/uvc/uvc_video.c
index ee5e2338b41..5a2022c0152 100644
--- a/drivers/media/video/uvc/uvc_video.c
+++ b/drivers/media/video/uvc/uvc_video.c
@@ -138,6 +138,15 @@ static void uvc_fixup_video_ctrl(struct uvc_streaming *stream,
138 bandwidth /= 8; 138 bandwidth /= 8;
139 bandwidth += 12; 139 bandwidth += 12;
140 140
141 /* The bandwidth estimate is too low for many cameras. Don't use
142 * maximum packet sizes lower than 1024 bytes to try and work
143 * around the problem. According to measurements done on two
144 * different camera models, the value is high enough to get most
145 * resolutions working while not preventing two simultaneous
146 * VGA streams at 15 fps.
147 */
148 bandwidth = max_t(u32, bandwidth, 1024);
149
141 ctrl->dwMaxPayloadTransferSize = bandwidth; 150 ctrl->dwMaxPayloadTransferSize = bandwidth;
142 } 151 }
143} 152}