diff options
-rw-r--r-- | drivers/media/video/uvc/uvc_driver.c | 3 | ||||
-rw-r--r-- | drivers/media/video/uvc/uvc_video.c | 4 | ||||
-rw-r--r-- | drivers/media/video/uvc/uvcvideo.h | 3 |
3 files changed, 7 insertions, 3 deletions
diff --git a/drivers/media/video/uvc/uvc_driver.c b/drivers/media/video/uvc/uvc_driver.c index 307d3a6b7395..ab4a60102d08 100644 --- a/drivers/media/video/uvc/uvc_driver.c +++ b/drivers/media/video/uvc/uvc_driver.c | |||
@@ -46,6 +46,7 @@ | |||
46 | unsigned int uvc_no_drop_param; | 46 | unsigned int uvc_no_drop_param; |
47 | static unsigned int uvc_quirks_param; | 47 | static unsigned int uvc_quirks_param; |
48 | unsigned int uvc_trace_param; | 48 | unsigned int uvc_trace_param; |
49 | unsigned int uvc_timeout_param = UVC_CTRL_STREAMING_TIMEOUT; | ||
49 | 50 | ||
50 | /* ------------------------------------------------------------------------ | 51 | /* ------------------------------------------------------------------------ |
51 | * Video formats | 52 | * Video formats |
@@ -2195,6 +2196,8 @@ module_param_named(quirks, uvc_quirks_param, uint, S_IRUGO|S_IWUSR); | |||
2195 | MODULE_PARM_DESC(quirks, "Forced device quirks"); | 2196 | MODULE_PARM_DESC(quirks, "Forced device quirks"); |
2196 | module_param_named(trace, uvc_trace_param, uint, S_IRUGO|S_IWUSR); | 2197 | module_param_named(trace, uvc_trace_param, uint, S_IRUGO|S_IWUSR); |
2197 | MODULE_PARM_DESC(trace, "Trace level bitmask"); | 2198 | MODULE_PARM_DESC(trace, "Trace level bitmask"); |
2199 | module_param_named(timeout, uvc_timeout_param, uint, S_IRUGO|S_IWUSR); | ||
2200 | MODULE_PARM_DESC(timeout, "Streaming control requests timeout"); | ||
2198 | 2201 | ||
2199 | MODULE_AUTHOR(DRIVER_AUTHOR); | 2202 | MODULE_AUTHOR(DRIVER_AUTHOR); |
2200 | MODULE_DESCRIPTION(DRIVER_DESC); | 2203 | MODULE_DESCRIPTION(DRIVER_DESC); |
diff --git a/drivers/media/video/uvc/uvc_video.c b/drivers/media/video/uvc/uvc_video.c index 3369200a91d7..05139a4f14f6 100644 --- a/drivers/media/video/uvc/uvc_video.c +++ b/drivers/media/video/uvc/uvc_video.c | |||
@@ -135,7 +135,7 @@ static int uvc_get_video_ctrl(struct uvc_streaming *stream, | |||
135 | 135 | ||
136 | ret = __uvc_query_ctrl(stream->dev, query, 0, stream->intfnum, | 136 | ret = __uvc_query_ctrl(stream->dev, query, 0, stream->intfnum, |
137 | probe ? UVC_VS_PROBE_CONTROL : UVC_VS_COMMIT_CONTROL, data, | 137 | probe ? UVC_VS_PROBE_CONTROL : UVC_VS_COMMIT_CONTROL, data, |
138 | size, UVC_CTRL_STREAMING_TIMEOUT); | 138 | size, uvc_timeout_param); |
139 | 139 | ||
140 | if ((query == UVC_GET_MIN || query == UVC_GET_MAX) && ret == 2) { | 140 | if ((query == UVC_GET_MIN || query == UVC_GET_MAX) && ret == 2) { |
141 | /* Some cameras, mostly based on Bison Electronics chipsets, | 141 | /* Some cameras, mostly based on Bison Electronics chipsets, |
@@ -239,7 +239,7 @@ static int uvc_set_video_ctrl(struct uvc_streaming *stream, | |||
239 | 239 | ||
240 | ret = __uvc_query_ctrl(stream->dev, UVC_SET_CUR, 0, stream->intfnum, | 240 | ret = __uvc_query_ctrl(stream->dev, UVC_SET_CUR, 0, stream->intfnum, |
241 | probe ? UVC_VS_PROBE_CONTROL : UVC_VS_COMMIT_CONTROL, data, | 241 | probe ? UVC_VS_PROBE_CONTROL : UVC_VS_COMMIT_CONTROL, data, |
242 | size, UVC_CTRL_STREAMING_TIMEOUT); | 242 | size, uvc_timeout_param); |
243 | if (ret != size) { | 243 | if (ret != size) { |
244 | uvc_printk(KERN_ERR, "Failed to set UVC %s control : " | 244 | uvc_printk(KERN_ERR, "Failed to set UVC %s control : " |
245 | "%d (exp. %u).\n", probe ? "probe" : "commit", | 245 | "%d (exp. %u).\n", probe ? "probe" : "commit", |
diff --git a/drivers/media/video/uvc/uvcvideo.h b/drivers/media/video/uvc/uvcvideo.h index dae5f57523db..fb3342ae6d7c 100644 --- a/drivers/media/video/uvc/uvcvideo.h +++ b/drivers/media/video/uvc/uvcvideo.h | |||
@@ -148,7 +148,7 @@ struct uvc_xu_control { | |||
148 | #define UVC_MAX_STATUS_SIZE 16 | 148 | #define UVC_MAX_STATUS_SIZE 16 |
149 | 149 | ||
150 | #define UVC_CTRL_CONTROL_TIMEOUT 300 | 150 | #define UVC_CTRL_CONTROL_TIMEOUT 300 |
151 | #define UVC_CTRL_STREAMING_TIMEOUT 1000 | 151 | #define UVC_CTRL_STREAMING_TIMEOUT 3000 |
152 | 152 | ||
153 | /* Devices quirks */ | 153 | /* Devices quirks */ |
154 | #define UVC_QUIRK_STATUS_INTERVAL 0x00000001 | 154 | #define UVC_QUIRK_STATUS_INTERVAL 0x00000001 |
@@ -538,6 +538,7 @@ struct uvc_driver { | |||
538 | 538 | ||
539 | extern unsigned int uvc_no_drop_param; | 539 | extern unsigned int uvc_no_drop_param; |
540 | extern unsigned int uvc_trace_param; | 540 | extern unsigned int uvc_trace_param; |
541 | extern unsigned int uvc_timeout_param; | ||
541 | 542 | ||
542 | #define uvc_trace(flag, msg...) \ | 543 | #define uvc_trace(flag, msg...) \ |
543 | do { \ | 544 | do { \ |