Patch from: Martin Josefsson Hi, Here's a fix for an uninitialized timer in drm_drv.h, for some reason it initilizes the timer when the device is opened, not at init. It moves the initilization for the waitqueue to init aswell. char/drm/drm_drv.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/char/drm/drm_drv.h~drm-timer-init drivers/char/drm/drm_drv.h --- 25/drivers/char/drm/drm_drv.h~drm-timer-init 2003-02-15 14:42:07.000000000 -0800 +++ 25-akpm/drivers/char/drm/drm_drv.h 2003-02-15 14:42:07.000000000 -0800 @@ -323,8 +323,6 @@ static int DRM(setup)( drm_device_t *dev dev->last_context = 0; dev->last_switch = 0; dev->last_checked = 0; - init_timer( &dev->timer ); - init_waitqueue_head( &dev->context_wait ); dev->ctx_start = 0; dev->lck_start = 0; @@ -580,6 +578,8 @@ static int __init drm_init( void ) memset( (void *)dev, 0, sizeof(*dev) ); dev->count_lock = SPIN_LOCK_UNLOCKED; sema_init( &dev->struct_sem, 1 ); + init_timer( &dev->timer ); + init_waitqueue_head( &dev->context_wait ); if ((DRM(minor)[i] = DRM(stub_register)(DRIVER_NAME, &DRM(fops),dev)) < 0) return -EPERM; _