drm: fix leaked dma handles after removing drm_pci_free
After removing drm_pci_alloc/free, some instances where drm_pci_free() would have kfreed the dma handle were skipped. Ensure these handles are freed properly. Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://patchwork.freedesktop.org/patch/msgid/20210518212859.4148903-1-joseph.kogut@gmail.com
This commit is contained in:
parent
e0283ffaec
commit
5562f75c49
@ -685,6 +685,7 @@ static void drm_cleanup_buf_error(struct drm_device *dev,
|
|||||||
dmah->size,
|
dmah->size,
|
||||||
dmah->vaddr,
|
dmah->vaddr,
|
||||||
dmah->busaddr);
|
dmah->busaddr);
|
||||||
|
kfree(dmah);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
kfree(entry->seglist);
|
kfree(entry->seglist);
|
||||||
|
@ -71,6 +71,8 @@ static void drm_ati_free_pcigart_table(struct drm_device *dev,
|
|||||||
drm_dma_handle_t *dmah = gart_info->table_handle;
|
drm_dma_handle_t *dmah = gart_info->table_handle;
|
||||||
|
|
||||||
dma_free_coherent(dev->dev, dmah->size, dmah->vaddr, dmah->busaddr);
|
dma_free_coherent(dev->dev, dmah->size, dmah->vaddr, dmah->busaddr);
|
||||||
|
kfree(dmah);
|
||||||
|
|
||||||
gart_info->table_handle = NULL;
|
gart_info->table_handle = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user