diff options
Diffstat (limited to 'drivers/video/pvr2fb.c')
-rw-r--r-- | drivers/video/pvr2fb.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/video/pvr2fb.c b/drivers/video/pvr2fb.c index c7bc80921f16..a93618bc9d27 100644 --- a/drivers/video/pvr2fb.c +++ b/drivers/video/pvr2fb.c | |||
@@ -905,6 +905,15 @@ static int __init pvr2fb_dc_init(void) | |||
905 | 905 | ||
906 | static void pvr2fb_dc_exit(void) | 906 | static void pvr2fb_dc_exit(void) |
907 | { | 907 | { |
908 | if (fb_info->screen_base) { | ||
909 | iounmap(fb_info->screen_base); | ||
910 | fb_info->screen_base = NULL; | ||
911 | } | ||
912 | if (currentpar->mmio_base) { | ||
913 | iounmap((void *)currentpar->mmio_base); | ||
914 | currentpar->mmio_base = 0; | ||
915 | } | ||
916 | |||
908 | free_irq(HW_EVENT_VSYNC, 0); | 917 | free_irq(HW_EVENT_VSYNC, 0); |
909 | #ifdef CONFIG_SH_DMA | 918 | #ifdef CONFIG_SH_DMA |
910 | free_dma(pvr2dma); | 919 | free_dma(pvr2dma); |
@@ -946,6 +955,15 @@ static int __devinit pvr2fb_pci_probe(struct pci_dev *pdev, | |||
946 | 955 | ||
947 | static void __devexit pvr2fb_pci_remove(struct pci_dev *pdev) | 956 | static void __devexit pvr2fb_pci_remove(struct pci_dev *pdev) |
948 | { | 957 | { |
958 | if (fb_info->screen_base) { | ||
959 | iounmap(fb_info->screen_base); | ||
960 | fb_info->screen_base = NULL; | ||
961 | } | ||
962 | if (currentpar->mmio_base) { | ||
963 | iounmap((void *)currentpar->mmio_base); | ||
964 | currentpar->mmio_base = 0; | ||
965 | } | ||
966 | |||
949 | pci_release_regions(pdev); | 967 | pci_release_regions(pdev); |
950 | } | 968 | } |
951 | 969 | ||