drm/radeon: Fix pci_map_page() error checking
0 is a valid DMA address from pci_map_page(), use pci_dma_mapping_error() instead to check for errors [airlied: fix warning + two other places with errors.] Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
1a72d65d62
commit
a30f6fb7ce
|
@ -152,7 +152,7 @@ int drm_ati_pcigart_init(struct drm_device *dev, struct drm_ati_pcigart_info *ga
|
|||
/* we need to support large memory configurations */
|
||||
entry->busaddr[i] = pci_map_page(dev->pdev, entry->pagelist[i],
|
||||
0, PAGE_SIZE, PCI_DMA_BIDIRECTIONAL);
|
||||
if (entry->busaddr[i] == 0) {
|
||||
if (pci_dma_mapping_error(dev->pdev, entry->busaddr[i])) {
|
||||
DRM_ERROR("unable to map PCIGART pages!\n");
|
||||
drm_ati_pcigart_cleanup(dev, gart_info);
|
||||
address = NULL;
|
||||
|
|
|
@ -200,7 +200,7 @@ int r600_page_table_init(struct drm_device *dev)
|
|||
entry->pagelist[i], 0,
|
||||
PAGE_SIZE,
|
||||
PCI_DMA_BIDIRECTIONAL);
|
||||
if (entry->busaddr[i] == 0) {
|
||||
if (pci_dma_mapping_error(dev->pdev, entry->busaddr[i])) {
|
||||
DRM_ERROR("unable to map PCIGART pages!\n");
|
||||
r600_page_table_cleanup(dev, gart_info);
|
||||
goto done;
|
||||
|
|
|
@ -347,7 +347,8 @@ int radeon_dummy_page_init(struct radeon_device *rdev)
|
|||
return -ENOMEM;
|
||||
rdev->dummy_page.addr = pci_map_page(rdev->pdev, rdev->dummy_page.page,
|
||||
0, PAGE_SIZE, PCI_DMA_BIDIRECTIONAL);
|
||||
if (!rdev->dummy_page.addr) {
|
||||
if (pci_dma_mapping_error(rdev->pdev, rdev->dummy_page.addr)) {
|
||||
dev_err(&rdev->pdev->dev, "Failed to DMA MAP the dummy page\n");
|
||||
__free_page(rdev->dummy_page.page);
|
||||
rdev->dummy_page.page = NULL;
|
||||
return -ENOMEM;
|
||||
|
|
Loading…
Reference in New Issue