diff options
author | Owain Gordon Ainsworth <oga@openbsd.org> | 2008-07-07 17:23:48 +0100 |
---|---|---|
committer | Robert Noland <rnoland@2hip.net> | 2008-07-16 21:37:39 -0400 |
commit | 74cf1f91be7f4139601624af0343e3d411190dec (patch) | |
tree | 05b856fe8ee275c8c153f89c5a85ef56d7ea580e /bsd-core/drm_drv.c | |
parent | 96580f660e5509dcf6c34de5630e3d36b156bcd5 (diff) |
BSD: change drm_locked_task*() to use the same scheme as linux.
The current code can sleep in an interrupt handler, that is bad. So
instead if we can't grab the lock, flag it and run the tasklet on
unlock.
Signed-off-by: Robert Noland <rnoland@2hip.net>
Diffstat (limited to 'bsd-core/drm_drv.c')
-rw-r--r-- | bsd-core/drm_drv.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/bsd-core/drm_drv.c b/bsd-core/drm_drv.c index 740a8b57..9bd6079f 100644 --- a/bsd-core/drm_drv.c +++ b/bsd-core/drm_drv.c @@ -206,6 +206,7 @@ int drm_attach(device_t nbdev, drm_pci_id_list_t *idlist) mtx_init(&dev->irq_lock, "drmirq", NULL, MTX_DEF); mtx_init(&dev->vbl_lock, "drmvbl", NULL, MTX_DEF); mtx_init(&dev->drw_lock, "drmdrw", NULL, MTX_DEF); + mtx_init(&dev->tsk_lock, "drmtsk", NULL, MTX_DEF); #endif id_entry = drm_find_description(pci_get_vendor(dev->device), |