forked from rpms/kernel
		
	Linux v3.4-rc2-174-gecca5c3
This commit is contained in:
		
							parent
							
								
									e6eb2f8053
								
							
						
					
					
						commit
						1ad219b123
					
				
							
								
								
									
										11
									
								
								kernel.spec
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								kernel.spec
									
									
									
									
									
								
							| @ -95,7 +95,7 @@ Summary: The Linux kernel | |||||||
| # The rc snapshot level | # The rc snapshot level | ||||||
| %define rcrev 2 | %define rcrev 2 | ||||||
| # The git snapshot level | # The git snapshot level | ||||||
| %define gitrev 1 | %define gitrev 2 | ||||||
| # Set rpm version accordingly | # Set rpm version accordingly | ||||||
| %define rpmversion 3.%{upstream_sublevel}.0 | %define rpmversion 3.%{upstream_sublevel}.0 | ||||||
| %endif | %endif | ||||||
| @ -736,9 +736,6 @@ Patch21260: x86-Avoid-invoking-RCU-when-CPU-is-idle.patch | |||||||
| #rhbz 804957 CVE-2012-1568 | #rhbz 804957 CVE-2012-1568 | ||||||
| Patch21306: shlib_base_randomize.patch | Patch21306: shlib_base_randomize.patch | ||||||
| 
 | 
 | ||||||
| #rhbz 806433 |  | ||||||
| Patch21360: uvcvideo-Fix-race-induced-crash-in-uvc_video_clock_update.patch |  | ||||||
| 
 |  | ||||||
| #rhbz 806676 807632 | #rhbz 806676 807632 | ||||||
| Patch21385: libata-disable-runtime-pm-for-hotpluggable-port.patch | Patch21385: libata-disable-runtime-pm-for-hotpluggable-port.patch | ||||||
| 
 | 
 | ||||||
| @ -1442,9 +1439,6 @@ ApplyPatch selinux-apply-different-permission-to-ptrace-child.patch | |||||||
| #Highbank clock functions | #Highbank clock functions | ||||||
| ApplyPatch highbank-export-clock-functions.patch  | ApplyPatch highbank-export-clock-functions.patch  | ||||||
| 
 | 
 | ||||||
| #rhbz 806433 |  | ||||||
| ApplyPatch uvcvideo-Fix-race-induced-crash-in-uvc_video_clock_update.patch |  | ||||||
| 
 |  | ||||||
| #rhbz 806676 807632 | #rhbz 806676 807632 | ||||||
| ApplyPatch libata-disable-runtime-pm-for-hotpluggable-port.patch | ApplyPatch libata-disable-runtime-pm-for-hotpluggable-port.patch | ||||||
| 
 | 
 | ||||||
| @ -2312,6 +2306,9 @@ fi | |||||||
| #                 ||----w | | #                 ||----w | | ||||||
| #                 ||     || | #                 ||     || | ||||||
| %changelog | %changelog | ||||||
|  | * Thu Apr 12 2012 Justin M. Forbes <jforbes@redhat.com> - 3.4.0-0.rc2.git2.1 | ||||||
|  | - Linux v3.4-rc2-174-gecca5c3 | ||||||
|  | 
 | ||||||
| * Thu Apr 12 2012 Dennis Gilmore <dennis@ausil.us> | * Thu Apr 12 2012 Dennis Gilmore <dennis@ausil.us> | ||||||
| - KALLSYMS_EXTRA_PASS=1 has to be passed in on the command line so do so only for arm | - KALLSYMS_EXTRA_PASS=1 has to be passed in on the command line so do so only for arm | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								sources
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								sources
									
									
									
									
									
								
							| @ -1,3 +1,3 @@ | |||||||
| 7133f5a2086a7d7ef97abac610c094f5  linux-3.3.tar.xz | 7133f5a2086a7d7ef97abac610c094f5  linux-3.3.tar.xz | ||||||
| cc3f9ca69749eb6a92d003598c45a04b  patch-3.4-rc2.xz | cc3f9ca69749eb6a92d003598c45a04b  patch-3.4-rc2.xz | ||||||
| 50f5336851ff8ad784e6caf45564c32a  patch-3.4-rc2-git1.xz | 53f2b39868825626da097b687cf7da58  patch-3.4-rc2-git2.xz | ||||||
|  | |||||||
| @ -1,113 +0,0 @@ | |||||||
| @@ -, +, @@ 
 |  | ||||||
|  drivers/media/video/uvc/uvc_video.c |   50 ++++++++++++++++++++++------------ |  | ||||||
|  1 files changed, 32 insertions(+), 18 deletions(-) |  | ||||||
| --- a/drivers/media/video/uvc/uvc_video.c	
 |  | ||||||
| +++ a/drivers/media/video/uvc/uvc_video.c	
 |  | ||||||
| @@ -468,22 +468,30 @@ uvc_video_clock_decode(struct uvc_streaming *stream, struct uvc_buffer *buf,
 |  | ||||||
|  	spin_unlock_irqrestore(&stream->clock.lock, flags); |  | ||||||
|  } |  | ||||||
|   |  | ||||||
| -static int uvc_video_clock_init(struct uvc_streaming *stream)
 |  | ||||||
| +static void uvc_video_clock_reset(struct uvc_streaming *stream)
 |  | ||||||
|  { |  | ||||||
|  	struct uvc_clock *clock = &stream->clock; |  | ||||||
|   |  | ||||||
| -	spin_lock_init(&clock->lock);
 |  | ||||||
|  	clock->head = 0; |  | ||||||
|  	clock->count = 0; |  | ||||||
| -	clock->size = 32;
 |  | ||||||
|  	clock->last_sof = -1; |  | ||||||
|  	clock->sof_offset = -1; |  | ||||||
| +}
 |  | ||||||
| +
 |  | ||||||
| +static int uvc_video_clock_init(struct uvc_streaming *stream)
 |  | ||||||
| +{
 |  | ||||||
| +	struct uvc_clock *clock = &stream->clock;
 |  | ||||||
| +
 |  | ||||||
| +	spin_lock_init(&clock->lock);
 |  | ||||||
| +	clock->size = 32;
 |  | ||||||
|   |  | ||||||
|  	clock->samples = kmalloc(clock->size * sizeof(*clock->samples), |  | ||||||
|  				 GFP_KERNEL); |  | ||||||
|  	if (clock->samples == NULL) |  | ||||||
|  		return -ENOMEM; |  | ||||||
|   |  | ||||||
| +	uvc_video_clock_reset(stream);
 |  | ||||||
| +
 |  | ||||||
|  	return 0; |  | ||||||
|  } |  | ||||||
|   |  | ||||||
| @@ -1424,8 +1432,6 @@ static void uvc_uninit_video(struct uvc_streaming *stream, int free_buffers)
 |  | ||||||
|   |  | ||||||
|  	if (free_buffers) |  | ||||||
|  		uvc_free_urb_buffers(stream); |  | ||||||
| -
 |  | ||||||
| -	uvc_video_clock_cleanup(stream);
 |  | ||||||
|  } |  | ||||||
|   |  | ||||||
|  /* |  | ||||||
| @@ -1555,10 +1561,6 @@ static int uvc_init_video(struct uvc_streaming *stream, gfp_t gfp_flags)
 |  | ||||||
|   |  | ||||||
|  	uvc_video_stats_start(stream); |  | ||||||
|   |  | ||||||
| -	ret = uvc_video_clock_init(stream);
 |  | ||||||
| -	if (ret < 0)
 |  | ||||||
| -		return ret;
 |  | ||||||
| -
 |  | ||||||
|  	if (intf->num_altsetting > 1) { |  | ||||||
|  		struct usb_host_endpoint *best_ep = NULL; |  | ||||||
|  		unsigned int best_psize = 3 * 1024; |  | ||||||
| @@ -1683,6 +1685,8 @@ int uvc_video_resume(struct uvc_streaming *stream, int reset)
 |  | ||||||
|   |  | ||||||
|  	stream->frozen = 0; |  | ||||||
|   |  | ||||||
| +	uvc_video_clock_reset(stream);
 |  | ||||||
| +
 |  | ||||||
|  	ret = uvc_commit_video(stream, &stream->ctrl); |  | ||||||
|  	if (ret < 0) { |  | ||||||
|  		uvc_queue_enable(&stream->queue, 0); |  | ||||||
| @@ -1819,25 +1823,35 @@ int uvc_video_enable(struct uvc_streaming *stream, int enable)
 |  | ||||||
|  		uvc_uninit_video(stream, 1); |  | ||||||
|  		usb_set_interface(stream->dev->udev, stream->intfnum, 0); |  | ||||||
|  		uvc_queue_enable(&stream->queue, 0); |  | ||||||
| +		uvc_video_clock_cleanup(stream);
 |  | ||||||
|  		return 0; |  | ||||||
|  	} |  | ||||||
|   |  | ||||||
| -	ret = uvc_queue_enable(&stream->queue, 1);
 |  | ||||||
| +	ret = uvc_video_clock_init(stream);
 |  | ||||||
|  	if (ret < 0) |  | ||||||
|  		return ret; |  | ||||||
|   |  | ||||||
| +	ret = uvc_queue_enable(&stream->queue, 1);
 |  | ||||||
| +	if (ret < 0)
 |  | ||||||
| +		goto error_queue;
 |  | ||||||
| +
 |  | ||||||
|  	/* Commit the streaming parameters. */ |  | ||||||
|  	ret = uvc_commit_video(stream, &stream->ctrl); |  | ||||||
| -	if (ret < 0) {
 |  | ||||||
| -		uvc_queue_enable(&stream->queue, 0);
 |  | ||||||
| -		return ret;
 |  | ||||||
| -	}
 |  | ||||||
| +	if (ret < 0)
 |  | ||||||
| +		goto error_commit;
 |  | ||||||
|   |  | ||||||
|  	ret = uvc_init_video(stream, GFP_KERNEL); |  | ||||||
| -	if (ret < 0) {
 |  | ||||||
| -		usb_set_interface(stream->dev->udev, stream->intfnum, 0);
 |  | ||||||
| -		uvc_queue_enable(&stream->queue, 0);
 |  | ||||||
| -	}
 |  | ||||||
| +	if (ret < 0)
 |  | ||||||
| +		goto error_video;
 |  | ||||||
| +
 |  | ||||||
| +	return 0;
 |  | ||||||
| +
 |  | ||||||
| +error_video:
 |  | ||||||
| +	usb_set_interface(stream->dev->udev, stream->intfnum, 0);
 |  | ||||||
| +error_commit:
 |  | ||||||
| +	uvc_queue_enable(&stream->queue, 0);
 |  | ||||||
| +error_queue:
 |  | ||||||
| +	uvc_video_clock_cleanup(stream);
 |  | ||||||
|   |  | ||||||
|  	return ret; |  | ||||||
|  } |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user