fbdev: sm712fb: set error code in probe
authorEvgeny Novikov <novikov@ispras.ru>
Mon, 6 Jul 2020 15:53:28 +0000 (18:53 +0300)
committerBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Fri, 10 Jul 2020 14:17:29 +0000 (16:17 +0200)
If smtcfb_pci_probe() does not detect a valid chip it cleans up
everything and returns 0. This can result in various bad things later.
The patch sets the error code on the corresponding path.

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/20200706155328.8396-1-novikov@ispras.ru
drivers/video/fbdev/sm712fb.c

index 8cd655d..bdbe9c6 100644 (file)
@@ -1616,7 +1616,7 @@ static int smtcfb_pci_probe(struct pci_dev *pdev,
        default:
                dev_err(&pdev->dev,
                        "No valid Silicon Motion display chip was detected!\n");
-
+               err = -ENODEV;
                goto failed_fb;
        }