Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

gma500: Fix lid related crash

We now set up the lid timer before we set up the backlight. On some
devices that causes a crash as we do a backlight change before or during
the setup.

As this fixes a crash on boot regression on some setups it ought to go
in ASAP, especially as all the user gets is a blank screen.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Tested-by: Mattia Dongili <malattia@linux.it>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Alan Cox and committed by
Linus Torvalds
f507598b 84a1caf1

+4 -8
+4 -8
drivers/gpu/drm/gma500/psb_device.c
··· 144 144 psb_backlight_device->props.max_brightness = 100; 145 145 backlight_update_status(psb_backlight_device); 146 146 dev_priv->backlight_device = psb_backlight_device; 147 + 148 + /* This must occur after the backlight is properly initialised */ 149 + psb_lid_timer_init(dev_priv); 150 + 147 151 return 0; 148 152 } 149 153 ··· 358 354 return 0; 359 355 } 360 356 361 - /* Not exactly an erratum more an irritation */ 362 - static void psb_chip_errata(struct drm_device *dev) 363 - { 364 - struct drm_psb_private *dev_priv = dev->dev_private; 365 - psb_lid_timer_init(dev_priv); 366 - } 367 - 368 357 static void psb_chip_teardown(struct drm_device *dev) 369 358 { 370 359 struct drm_psb_private *dev_priv = dev->dev_private; ··· 376 379 .sgx_offset = PSB_SGX_OFFSET, 377 380 .chip_setup = psb_chip_setup, 378 381 .chip_teardown = psb_chip_teardown, 379 - .errata = psb_chip_errata, 380 382 381 383 .crtc_helper = &psb_intel_helper_funcs, 382 384 .crtc_funcs = &psb_intel_crtc_funcs,