hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/video/fbdev/pm2fb.c
....@@ -1529,8 +1529,10 @@
15291529 }
15301530
15311531 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
+ }
15341536 default_par = info->par;
15351537
15361538 switch (pdev->device) {
....@@ -1711,6 +1713,8 @@
17111713 release_mem_region(pm2fb_fix.mmio_start, pm2fb_fix.mmio_len);
17121714 err_exit_neither:
17131715 framebuffer_release(info);
1716
+ err_exit_disable:
1717
+ pci_disable_device(pdev);
17141718 return retval;
17151719 }
17161720
....@@ -1737,6 +1741,7 @@
17371741 fb_dealloc_cmap(&info->cmap);
17381742 kfree(info->pixmap.addr);
17391743 framebuffer_release(info);
1744
+ pci_disable_device(pdev);
17401745 }
17411746
17421747 static const struct pci_device_id pm2fb_id_table[] = {