From 1dcfddf9154bcce3d6e004acee7dd503c27d0f0b Mon Sep 17 00:00:00 2001 From: Jeff Hartmann Date: Wed, 5 Apr 2000 18:48:23 +0000 Subject: Fixed reclaim Oops --- linux/mga_dma.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'linux/mga_dma.c') 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; } -- cgit v1.2.3