Only register input devices after the device-specific data structures they access are fully initialized. Signed-off-by: Michał Kępień <kernel@xxxxxxxxxx> --- drivers/platform/x86/fujitsu-laptop.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/platform/x86/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c index b5f782807bfa..7f30a427a16c 100644 --- a/drivers/platform/x86/fujitsu-laptop.c +++ b/drivers/platform/x86/fujitsu-laptop.c @@ -399,10 +399,6 @@ static int acpi_fujitsu_bl_add(struct acpi_device *device) strcpy(acpi_device_class(device), ACPI_FUJITSU_CLASS); device->driver_data = priv; - ret = acpi_fujitsu_bl_input_setup(device); - if (ret) - return ret; - pr_info("ACPI: %s [%s]\n", acpi_device_name(device), acpi_device_bid(device)); @@ -410,6 +406,10 @@ static int acpi_fujitsu_bl_add(struct acpi_device *device) priv->max_brightness = FUJITSU_LCD_N_LEVELS; get_lcd_level(device); + ret = acpi_fujitsu_bl_input_setup(device); + if (ret) + return ret; + ret = fujitsu_backlight_register(device); if (ret) return ret; @@ -795,10 +795,6 @@ static int acpi_fujitsu_laptop_add(struct acpi_device *device) goto err_stop; } - ret = acpi_fujitsu_laptop_input_setup(device); - if (ret) - goto err_free_fifo; - pr_info("ACPI: %s [%s]\n", acpi_device_name(device), acpi_device_bid(device)); @@ -833,6 +829,10 @@ static int acpi_fujitsu_laptop_add(struct acpi_device *device) fujitsu_bl->bl_device->props.power = FB_BLANK_UNBLANK; } + ret = acpi_fujitsu_laptop_input_setup(device); + if (ret) + goto err_free_fifo; + ret = acpi_fujitsu_laptop_leds_register(device); if (ret) goto err_free_fifo; -- 2.16.1