diff options
author | Dave Airlie <airlied@linux.ie> | 2004-04-10 08:15:48 +0000 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2004-04-10 08:15:48 +0000 |
commit | e375a3dc10eb8945e05577df8b40072dfffaba81 (patch) | |
tree | dc50125a62407230a26972c87a5ca9794bd1764a /linux/i810_dma.c | |
parent | 23ec8875fce631e4554a72161937dca735c2d675 (diff) |
patch from Andrew Morton tree from Arjan van de Ven fixes some oopses seen
with 4G/4G split
Diffstat (limited to 'linux/i810_dma.c')
-rw-r--r-- | linux/i810_dma.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/linux/i810_dma.c b/linux/i810_dma.c index 6e7dc898..651b0808 100644 --- a/linux/i810_dma.c +++ b/linux/i810_dma.c @@ -244,7 +244,7 @@ int i810_dma_cleanup(drm_device_t *dev) * may not have been called from userspace and after dev_private * is freed, it's too late. */ - if (dev->irq_enabled) DRM(irq_uninstall)(dev); + if ( dev->irq_enabled ) DRM(irq_uninstall)(dev); #endif if (dev->dev_private) { @@ -851,11 +851,12 @@ static void i810_dma_dispatch_vertex(drm_device_t *dev, if (buf_priv->currently_mapped == I810_BUF_MAPPED) { unsigned int prim = (sarea_priv->vertex_prim & PR_MASK); - *(u32 *)buf_priv->virtual = (GFX_OP_PRIMITIVE | prim | - ((used/4)-2)); + DRM_PUT_USER_UNCHECKED((u32 *)buf_priv->virtual, + (GFX_OP_PRIMITIVE | prim | + ((used/4)-2))); if (used & 4) { - *(u32 *)((u32)buf_priv->virtual + used) = 0; + DRM_PUT_USER_UNCHECKED((u32 *)((u32)buf_priv->virtual + used), 0); used += 4; } |