mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			34 lines
		
	
	
	
		
			982 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
	
		
			982 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 45f7008ef38f9ac70ee4800d7d12bf23a9e2d31e Mon Sep 17 00:00:00 2001
 | |
| From: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
 | |
| Date: Mon, 11 Sep 2023 12:17:25 +0300
 | |
| Subject: [PATCH] media: i2c: imx477: Fix locking in imx477_init_controls()
 | |
| 
 | |
| The driver does not lock the imx477 mutex when calling
 | |
| imx477_set_framing_limits(), leading to:
 | |
| 
 | |
| WARNING: CPU: 3 PID: 426 at drivers/media/v4l2-core/v4l2-ctrls-api.c:934 __v4l2_ctrl_modify_range+0x1a0/0x210 [
 | |
| videodev]
 | |
| 
 | |
| Fix this by taking the lock.
 | |
| 
 | |
| Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
 | |
| ---
 | |
|  drivers/media/i2c/imx477.c | 4 ++++
 | |
|  1 file changed, 4 insertions(+)
 | |
| 
 | |
| --- a/drivers/media/i2c/imx477.c
 | |
| +++ b/drivers/media/i2c/imx477.c
 | |
| @@ -2069,9 +2069,13 @@ static int imx477_init_controls(struct i
 | |
|  
 | |
|  	imx477->sd.ctrl_handler = ctrl_hdlr;
 | |
|  
 | |
| +	mutex_lock(&imx477->mutex);
 | |
| +
 | |
|  	/* Setup exposure and frame/line length limits. */
 | |
|  	imx477_set_framing_limits(imx477);
 | |
|  
 | |
| +	mutex_unlock(&imx477->mutex);
 | |
| +
 | |
|  	return 0;
 | |
|  
 | |
|  error:
 |