.. | .. |
---|
1529 | 1529 | } |
---|
1530 | 1530 | |
---|
1531 | 1531 | info = framebuffer_alloc(sizeof(struct pm2fb_par), &pdev->dev); |
---|
1532 | | - if (!info) |
---|
1533 | | - return -ENOMEM; |
---|
| 1532 | + if (!info) { |
---|
| 1533 | + err = -ENOMEM; |
---|
| 1534 | + goto err_exit_disable; |
---|
| 1535 | + } |
---|
1534 | 1536 | default_par = info->par; |
---|
1535 | 1537 | |
---|
1536 | 1538 | switch (pdev->device) { |
---|
.. | .. |
---|
1711 | 1713 | release_mem_region(pm2fb_fix.mmio_start, pm2fb_fix.mmio_len); |
---|
1712 | 1714 | err_exit_neither: |
---|
1713 | 1715 | framebuffer_release(info); |
---|
| 1716 | + err_exit_disable: |
---|
| 1717 | + pci_disable_device(pdev); |
---|
1714 | 1718 | return retval; |
---|
1715 | 1719 | } |
---|
1716 | 1720 | |
---|
.. | .. |
---|
1737 | 1741 | fb_dealloc_cmap(&info->cmap); |
---|
1738 | 1742 | kfree(info->pixmap.addr); |
---|
1739 | 1743 | framebuffer_release(info); |
---|
| 1744 | + pci_disable_device(pdev); |
---|
1740 | 1745 | } |
---|
1741 | 1746 | |
---|
1742 | 1747 | static const struct pci_device_id pm2fb_id_table[] = { |
---|