@@ -52,15 +52,13 @@ static int mga_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, "mgag200drmfb");
- ret = pci_enable_device(pdev);
+ ret = pcim_enable_device(pdev);
if (ret)
return ret;
dev = drm_dev_alloc(&driver, &pdev->dev);
- if (IS_ERR(dev)) {
- ret = PTR_ERR(dev);
- goto err_pci_disable_device;
- }
+ if (IS_ERR(dev))
+ return PTR_ERR(dev);
dev->pdev = pdev;
pci_set_drvdata(pdev, dev);
@@ -81,8 +79,6 @@ static int mga_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
mgag200_driver_unload(dev);
err_drm_dev_put:
drm_dev_put(dev);
-err_pci_disable_device:
- pci_disable_device(pdev);
return ret;
}
Using the managed function simplifies the error handling. After unloading the driver, the PCI device should now get disabled as well. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> --- drivers/gpu/drm/mgag200/mgag200_drv.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-)