diff options
author | Jeff Hartmann <jhartmann@valinux.com> | 2000-04-05 18:48:23 +0000 |
---|---|---|
committer | Jeff Hartmann <jhartmann@valinux.com> | 2000-04-05 18:48:23 +0000 |
commit | 1dcfddf9154bcce3d6e004acee7dd503c27d0f0b (patch) | |
tree | acc9712c1dd5a6dfa2660b3f88c406198345c362 /linux/mga_dma.c | |
parent | ba1b1ae3806490cce16a9c8957b52cd74967f463 (diff) |
Fixed reclaim Oops
Diffstat (limited to 'linux/mga_dma.c')
-rw-r--r-- | linux/mga_dma.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/linux/mga_dma.c b/linux/mga_dma.c index 59cbad6b..371706f4 100644 --- a/linux/mga_dma.c +++ b/linux/mga_dma.c @@ -1016,6 +1016,7 @@ void mga_reclaim_buffers(drm_device_t *dev, pid_t pid) if (!dma) return; if(dev->dev_private == NULL) return; + if(dma->buflist == NULL) return; mga_flush_queue(dev); @@ -1023,10 +1024,10 @@ void mga_reclaim_buffers(drm_device_t *dev, pid_t pid) drm_buf_t *buf = dma->buflist[ i ]; drm_mga_buf_priv_t *buf_priv = buf->dev_private; - if (buf->pid == pid) { - if(buf_priv == NULL) return; - /* Only buffers that need to get reclaimed ever - * get set to free */ + /* Only buffers that need to get reclaimed ever + * get set to free + */ + if (buf->pid == pid && buf_priv) { if(buf_priv->my_freelist->age == MGA_BUF_USED) buf_priv->my_freelist->age = MGA_BUF_FREE; } |