leds: Fix trigger registration race

Fix a race during trigger registration where we could try and use a lock
before it was initialised.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>

+3 -2
+3 -2
drivers/leds/led-class.c
··· 110 if (rc) 111 goto err_out; 112 113 /* add to the list of leds */ 114 down_write(&leds_list_lock); 115 list_add_tail(&led_cdev->node, &leds_list); ··· 121 led_update_brightness(led_cdev); 122 123 #ifdef CONFIG_LEDS_TRIGGERS 124 - init_rwsem(&led_cdev->trigger_lock); 125 - 126 rc = device_create_file(led_cdev->dev, &dev_attr_trigger); 127 if (rc) 128 goto err_out_led_list;
··· 110 if (rc) 111 goto err_out; 112 113 + #ifdef CONFIG_LEDS_TRIGGERS 114 + init_rwsem(&led_cdev->trigger_lock); 115 + #endif 116 /* add to the list of leds */ 117 down_write(&leds_list_lock); 118 list_add_tail(&led_cdev->node, &leds_list); ··· 118 led_update_brightness(led_cdev); 119 120 #ifdef CONFIG_LEDS_TRIGGERS 121 rc = device_create_file(led_cdev->dev, &dev_attr_trigger); 122 if (rc) 123 goto err_out_led_list;