CVSROOT: /cvs Module name: src Changes by: [EMAIL PROTECTED] 2008/07/07 10:29:57
Modified files: sys/dev/pci/drm: drmP.h drm_drv.c drm_irq.c drm_lock.c Log message: The current drm_locked_task*() code sometimes tries to sleep in an interrupt handler. This is bad and wrong. So change it so that if we can't immediately grab the hardware lock, to just leave the task flagged so that we can run it when we release the lock. The linux implementation uses a similar scheme. Tested by guenther@, landry@ and [EMAIL PROTECTED] Also tested by many a while ago as part of a larger diff.