fbdev: sm712fb: handle ioremap() errors in probe
authorEvgeny Novikov <novikov@ispras.ru>
Mon, 13 Jul 2020 08:05:32 +0000 (11:05 +0300)
committerBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Tue, 8 Sep 2020 11:33:02 +0000 (13:33 +0200)
smtcfb_pci_probe() does not handle ioremap() errors for case 0x720. The
patch fixes that exactly like for case 0x710/2.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Evgeny Novikov <novikov@ispras.ru>
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Cc: Teddy Wang <teddy.wang@siliconmotion.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200713080532.15504-1-novikov@ispras.ru
drivers/video/fbdev/sm712fb.c

index bdbe9c6..0dbc6bf 100644 (file)
@@ -1604,6 +1604,14 @@ static int smtcfb_pci_probe(struct pci_dev *pdev,
                sfb->fb->fix.mmio_start = mmio_base;
                sfb->fb->fix.mmio_len = 0x00200000;
                sfb->dp_regs = ioremap(mmio_base, 0x00200000 + smem_size);
+               if (!sfb->dp_regs) {
+                       dev_err(&pdev->dev,
+                               "%s: unable to map memory mapped IO!\n",
+                               sfb->fb->fix.id);
+                       err = -ENOMEM;
+                       goto failed_fb;
+               }
+
                sfb->lfb = sfb->dp_regs + 0x00200000;
                sfb->mmio = (smtc_regbaseaddress =
                    sfb->dp_regs + 0x000c0000);