The timer is being initialised too late (in ->open()). If modprobe fails we get an uninitialised timer warning. 25-akpm/drivers/char/drm/drm_drv.h | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN drivers/char/drm/drm_drv.h~drm-timer-init-fix drivers/char/drm/drm_drv.h --- 25/drivers/char/drm/drm_drv.h~drm-timer-init-fix Mon May 5 14:48:48 2003 +++ 25-akpm/drivers/char/drm/drm_drv.h Mon May 5 14:49:08 2003 @@ -334,7 +334,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; @@ -590,6 +589,7 @@ static int __init drm_init( void ) dev = &(DRM(device)[i]); memset( (void *)dev, 0, sizeof(*dev) ); dev->count_lock = SPIN_LOCK_UNLOCKED; + init_timer( &dev->timer ); sema_init( &dev->struct_sem, 1 ); if ((DRM(minor)[i] = DRM(stub_register)(DRIVER_NAME, &DRM(fops),dev)) < 0) _