staging: sm7xxfb: reserve PCI resource
before starting to access any address inside the PCI region we should reserve the resource and release the resource when the module exits. Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
63b8ebe44a
commit
f30a746bec
|
@ -776,6 +776,12 @@ static int smtcfb_pci_probe(struct pci_dev *pdev,
|
|||
if (err)
|
||||
return err;
|
||||
|
||||
err = pci_request_region(pdev, 0, "sm7xxfb");
|
||||
if (err < 0) {
|
||||
dev_err(&pdev->dev, "cannot reserve framebuffer region\n");
|
||||
goto failed_regions;
|
||||
}
|
||||
|
||||
sprintf(smtcfb_fix.id, "sm%Xfb", ent->device);
|
||||
|
||||
sfb = smtc_alloc_fb_info(pdev);
|
||||
|
@ -905,6 +911,9 @@ failed_fb:
|
|||
smtc_free_fb_info(sfb);
|
||||
|
||||
failed_free:
|
||||
pci_release_region(pdev, 0);
|
||||
|
||||
failed_regions:
|
||||
pci_disable_device(pdev);
|
||||
|
||||
return err;
|
||||
|
@ -933,6 +942,7 @@ static void smtcfb_pci_remove(struct pci_dev *pdev)
|
|||
smtc_unmap_mmio(sfb);
|
||||
unregister_framebuffer(&sfb->fb);
|
||||
smtc_free_fb_info(sfb);
|
||||
pci_release_region(pdev, 0);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
|
|
Loading…
Reference in New Issue