forked from mirrors/linux
		
	leds: Fix potential leds-gpio oops
Call gpio_cansleep only after gpio_request succeeded avoiding an oops. Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
This commit is contained in:
		
							parent
							
								
									a9edadbf79
								
							
						
					
					
						commit
						d95cbe6158
					
				
					 1 changed files with 4 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -79,6 +79,10 @@ static int gpio_led_probe(struct platform_device *pdev)
 | 
			
		|||
		cur_led = &pdata->leds[i];
 | 
			
		||||
		led_dat = &leds_data[i];
 | 
			
		||||
 | 
			
		||||
		ret = gpio_request(cur_led->gpio, cur_led->name);
 | 
			
		||||
		if (ret < 0)
 | 
			
		||||
			goto err;
 | 
			
		||||
 | 
			
		||||
		led_dat->cdev.name = cur_led->name;
 | 
			
		||||
		led_dat->cdev.default_trigger = cur_led->default_trigger;
 | 
			
		||||
		led_dat->gpio = cur_led->gpio;
 | 
			
		||||
| 
						 | 
				
			
			@ -87,10 +91,6 @@ static int gpio_led_probe(struct platform_device *pdev)
 | 
			
		|||
		led_dat->cdev.brightness_set = gpio_led_set;
 | 
			
		||||
		led_dat->cdev.brightness = LED_OFF;
 | 
			
		||||
 | 
			
		||||
		ret = gpio_request(led_dat->gpio, led_dat->cdev.name);
 | 
			
		||||
		if (ret < 0)
 | 
			
		||||
			goto err;
 | 
			
		||||
 | 
			
		||||
		gpio_direction_output(led_dat->gpio, led_dat->active_low);
 | 
			
		||||
 | 
			
		||||
		INIT_WORK(&led_dat->work, gpio_led_work);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue