diff options
Diffstat (limited to 'linux-core/i810_dma.c')
-rw-r--r-- | linux-core/i810_dma.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/linux-core/i810_dma.c b/linux-core/i810_dma.c index 30fda5b8..6ac4d2ee 100644 --- a/linux-core/i810_dma.c +++ b/linux-core/i810_dma.c @@ -714,17 +714,17 @@ void i810_reclaim_buffers(drm_device_t *dev, pid_t pid) if (!dma) return; if(dev->dev_private == NULL) return; - + if(dma->buflist == NULL) return; i810_flush_queue(dev); for (i = 0; i < dma->buf_count; i++) { drm_buf_t *buf = dma->buflist[ i ]; drm_i810_buf_priv_t *buf_priv = buf->dev_private; - - if (buf->pid == pid) { - /* Only buffers that need to get reclaimed ever - * get set to free */ - if(buf_priv == NULL) return; + + /* Only buffers that need to get reclaimed ever + * get set to free + */ + if (buf->pid == pid && buf_priv) { cmpxchg(buf_priv->in_use, I810_BUF_USED, I810_BUF_FREE); } |