| .. | .. |
|---|
| 109 | 109 | |
|---|
| 110 | 110 | ret = pci_request_regions(pdev, "mdpy-fb"); |
|---|
| 111 | 111 | if (ret < 0) |
|---|
| 112 | | - return ret; |
|---|
| 112 | + goto err_disable_dev; |
|---|
| 113 | 113 | |
|---|
| 114 | 114 | pci_read_config_dword(pdev, MDPY_FORMAT_OFFSET, &format); |
|---|
| 115 | 115 | pci_read_config_dword(pdev, MDPY_WIDTH_OFFSET, &width); |
|---|
| .. | .. |
|---|
| 191 | 191 | err_release_regions: |
|---|
| 192 | 192 | pci_release_regions(pdev); |
|---|
| 193 | 193 | |
|---|
| 194 | +err_disable_dev: |
|---|
| 195 | + pci_disable_device(pdev); |
|---|
| 196 | + |
|---|
| 194 | 197 | return ret; |
|---|
| 195 | 198 | } |
|---|
| 196 | 199 | |
|---|
| .. | .. |
|---|
| 199 | 202 | struct fb_info *info = pci_get_drvdata(pdev); |
|---|
| 200 | 203 | |
|---|
| 201 | 204 | unregister_framebuffer(info); |
|---|
| 205 | + iounmap(info->screen_base); |
|---|
| 202 | 206 | framebuffer_release(info); |
|---|
| 207 | + pci_release_regions(pdev); |
|---|
| 208 | + pci_disable_device(pdev); |
|---|
| 203 | 209 | } |
|---|
| 204 | 210 | |
|---|
| 205 | 211 | static struct pci_device_id mdpy_fb_pci_table[] = { |
|---|